fontist 0.4.0 → 1.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/macosx.yml +1 -1
- data/.github/workflows/ubuntu.yml +1 -1
- data/.gitignore +4 -2
- data/README.md +87 -25
- data/fontist.gemspec +1 -0
- data/lib/fontist.rb +30 -13
- data/lib/fontist/errors.rb +3 -1
- data/lib/fontist/font.rb +113 -0
- data/lib/fontist/font_formula.rb +123 -0
- data/lib/fontist/formula.rb +90 -0
- data/lib/fontist/formulas.rb +10 -5
- data/lib/fontist/formulas/andale_font.rb +80 -0
- data/lib/fontist/formulas/arial_black_font.rb +79 -0
- data/lib/fontist/formulas/cleartype_fonts.rb +227 -0
- data/lib/fontist/formulas/comic_font.rb +78 -0
- data/lib/fontist/formulas/courier_font.rb +68 -12
- data/lib/fontist/formulas/euphemia_font.rb +85 -0
- data/lib/fontist/formulas/georgia_font.rb +80 -0
- data/lib/fontist/formulas/impact_font.rb +78 -0
- data/lib/fontist/formulas/montserrat_font.rb +132 -0
- data/lib/fontist/formulas/ms_truetype_fonts.rb +125 -0
- data/lib/fontist/formulas/open_sans_fonts.rb +263 -0
- data/lib/fontist/formulas/overpass_font.rb +73 -0
- data/lib/fontist/formulas/source_fonts.rb +109 -0
- data/lib/fontist/formulas/stix_fonts.rb +108 -0
- data/lib/fontist/formulas/tahoma_font.rb +147 -0
- data/lib/fontist/formulas/webding_font.rb +78 -0
- data/lib/fontist/registry.rb +43 -0
- data/lib/fontist/{data/source.yml → system.yml} +5 -8
- data/lib/fontist/system_font.rb +19 -14
- data/lib/fontist/utils.rb +10 -0
- data/lib/fontist/utils/downloader.rb +79 -0
- data/lib/fontist/utils/dsl.rb +77 -0
- data/lib/fontist/utils/exe_extractor.rb +72 -0
- data/lib/fontist/utils/ui.rb +15 -0
- data/lib/fontist/utils/zip_extractor.rb +38 -0
- data/lib/fontist/version.rb +1 -1
- data/spec/fontist/font_formula_spec.rb +67 -0
- data/spec/fontist/font_spec.rb +113 -0
- data/spec/fontist/formula_spec.rb +67 -0
- data/spec/fontist/formulas/andale_font_spec.rb +29 -0
- data/spec/fontist/formulas/arial_black_font_spec.rb +29 -0
- data/spec/fontist/formulas/cleartype_fonts_spec.rb +38 -0
- data/spec/fontist/formulas/comic_font_spec.rb +29 -0
- data/spec/fontist/formulas/courier_font_spec.rb +18 -19
- data/spec/fontist/formulas/euphemia_font_spec.rb +29 -0
- data/spec/fontist/formulas/georgia_font_spec.rb +29 -0
- data/spec/fontist/formulas/impact_font_spec.rb +29 -0
- data/spec/fontist/formulas/montserrat_font_spec.rb +29 -0
- data/spec/fontist/formulas/ms_truetype_fonts_spec.rb +29 -0
- data/spec/fontist/formulas/open_sans_fonts_spec.rb +29 -0
- data/spec/fontist/formulas/overpass_font_spec.rb +29 -0
- data/spec/fontist/formulas/source_fonts_spec.rb +31 -0
- data/spec/fontist/formulas/stix_fonts_spec.rb +29 -0
- data/spec/fontist/formulas/tahoma_font_spec.rb +29 -0
- data/spec/fontist/formulas/webding_font_spec.rb +29 -0
- data/spec/fontist/registry_spec.rb +47 -0
- data/spec/fontist/system_font_spec.rb +12 -7
- data/spec/fontist/{downloader_spec.rb → utils/downloader_spec.rb} +6 -5
- data/spec/spec_helper.rb +4 -2
- data/spec/support/fontist_helper.rb +4 -2
- metadata +62 -27
- data/lib/fontist/data/formulas/courier.yml +0 -26
- data/lib/fontist/data/formulas/ms_system.yml +0 -68
- data/lib/fontist/data/formulas/ms_vista.yml +0 -118
- data/lib/fontist/data/formulas/source_font.yml +0 -163
- data/lib/fontist/downloader.rb +0 -70
- data/lib/fontist/finder.rb +0 -45
- data/lib/fontist/formula_finder.rb +0 -94
- data/lib/fontist/formulas/base.rb +0 -72
- data/lib/fontist/formulas/helpers/exe_extractor.rb +0 -45
- data/lib/fontist/formulas/helpers/zip_extractor.rb +0 -36
- data/lib/fontist/formulas/ms_system.rb +0 -29
- data/lib/fontist/formulas/ms_vista.rb +0 -42
- data/lib/fontist/formulas/source_font.rb +0 -25
- data/lib/fontist/installer.rb +0 -42
- data/lib/fontist/source.rb +0 -58
- data/spec/fontist/finder_spec.rb +0 -41
- data/spec/fontist/formula_finder_spec.rb +0 -54
- data/spec/fontist/formulas/ms_system_spec.rb +0 -31
- data/spec/fontist/formulas/ms_vista_spec.rb +0 -27
- data/spec/fontist/formulas/source_font_spec.rb +0 -18
- data/spec/fontist/installer_spec.rb +0 -48
- data/spec/fontist/source_spec.rb +0 -24
@@ -1,26 +0,0 @@
|
|
1
|
-
courier:
|
2
|
-
agreement: "yes"
|
3
|
-
|
4
|
-
fonts:
|
5
|
-
- name: Courier
|
6
|
-
styles:
|
7
|
-
- type: Regular
|
8
|
-
font: cour.ttf
|
9
|
-
|
10
|
-
- type: Bold
|
11
|
-
font: courbd.ttf
|
12
|
-
|
13
|
-
- type: Italic
|
14
|
-
font: couri.ttf
|
15
|
-
|
16
|
-
- type: Bold Italic
|
17
|
-
font: courbi.ttf
|
18
|
-
|
19
|
-
file_size: "1675184"
|
20
|
-
sha: "bb511d861655dde879ae552eb86b134d6fae67cb58502e6ff73ec5d9151f3384"
|
21
|
-
urls:
|
22
|
-
- https://nchc.dl.sourceforge.net/project/corefonts/the%20fonts/final/courie32.exe
|
23
|
-
- http://sft.if.usp.br/msttcorefonts/courie32.exe
|
24
|
-
|
25
|
-
licence: |
|
26
|
-
Details of the license goes here.
|
@@ -1,68 +0,0 @@
|
|
1
|
-
ms_system:
|
2
|
-
agreement: "yes"
|
3
|
-
|
4
|
-
fonts:
|
5
|
-
- name: Arial
|
6
|
-
styles:
|
7
|
-
- type: Regular
|
8
|
-
font: Arial.ttf
|
9
|
-
|
10
|
-
- type: Bold
|
11
|
-
font: ArialBd.ttf
|
12
|
-
|
13
|
-
- type: Italic
|
14
|
-
font: ArialBd.ttf
|
15
|
-
|
16
|
-
- type: Bold Italic
|
17
|
-
font: ArialBI.ttf
|
18
|
-
|
19
|
-
- name: Times New Roman
|
20
|
-
styles:
|
21
|
-
- type: Regular
|
22
|
-
font: Times.ttf
|
23
|
-
|
24
|
-
- type: Bold
|
25
|
-
font: TimesBd.ttf
|
26
|
-
|
27
|
-
- type: Italic
|
28
|
-
font: TimesI.ttf
|
29
|
-
|
30
|
-
- type: Bold Italic
|
31
|
-
font: TimesBI.ttf
|
32
|
-
|
33
|
-
- name: Verdana
|
34
|
-
styles:
|
35
|
-
- type: Regular
|
36
|
-
font: Verdana.ttf
|
37
|
-
|
38
|
-
- type: Bold
|
39
|
-
font: Verdanab.ttf
|
40
|
-
|
41
|
-
- type: Italic
|
42
|
-
font: Verdanai.ttf
|
43
|
-
|
44
|
-
- type: Bold Italic
|
45
|
-
font: Verdanaz.ttf
|
46
|
-
|
47
|
-
- name: Trebuchet
|
48
|
-
styles:
|
49
|
-
- type: Regular
|
50
|
-
font: trebuc.ttf
|
51
|
-
|
52
|
-
- type: Bold
|
53
|
-
font: trebucbd.ttf
|
54
|
-
|
55
|
-
- type: Italic
|
56
|
-
font: trebucit.ttf
|
57
|
-
|
58
|
-
- type: Bold Italic
|
59
|
-
font: trebucbi.ttf
|
60
|
-
|
61
|
-
file_size: "1675184"
|
62
|
-
sha: "464dd2cd5f09f489f9ac86ea7790b7b8548fc4e46d9f889b68d2cdce47e09ea8"
|
63
|
-
urls:
|
64
|
-
- https://download.microsoft.com/download/a/1/8/a180e21e-9c2b-4b54-9c32-bf7fd7429970/EUupdate.EXE
|
65
|
-
- https://nchc.dl.sourceforge.net/project/corefonts/the%20fonts/final/EUupdate.EXE
|
66
|
-
|
67
|
-
licence: |
|
68
|
-
Details license goes here
|
@@ -1,118 +0,0 @@
|
|
1
|
-
msvista:
|
2
|
-
agreement: "yes"
|
3
|
-
|
4
|
-
fonts:
|
5
|
-
- name: Cambria
|
6
|
-
styles:
|
7
|
-
- type: Regular
|
8
|
-
font: CAMBRIA.TTC
|
9
|
-
|
10
|
-
- type: Bold
|
11
|
-
font: CAMBRIAB.TTF
|
12
|
-
|
13
|
-
- type: Italic
|
14
|
-
font: CAMBRIAI.TTF
|
15
|
-
|
16
|
-
- type: Bold Italic
|
17
|
-
font: CAMBRIAZ.TTF
|
18
|
-
|
19
|
-
- name: Calibri
|
20
|
-
styles:
|
21
|
-
- type: Regular
|
22
|
-
font: CALIBRI.TTF
|
23
|
-
|
24
|
-
- type: Bold
|
25
|
-
font: CALIBRIB.TTF
|
26
|
-
|
27
|
-
- type: Italic
|
28
|
-
font: CALIBRII.TTF
|
29
|
-
|
30
|
-
- type: Bold Italic
|
31
|
-
font: CALIBRIZ.TTF
|
32
|
-
|
33
|
-
- name: Candara
|
34
|
-
styles:
|
35
|
-
- type: Regular
|
36
|
-
font: CANDARA.TTF
|
37
|
-
|
38
|
-
- type: Bold
|
39
|
-
font: CANDARAB.TTF
|
40
|
-
|
41
|
-
- type: Italic
|
42
|
-
font: CANDARAI.TTF
|
43
|
-
|
44
|
-
- type: Bold Italic
|
45
|
-
font: CANDARAZ.TTF
|
46
|
-
|
47
|
-
- name: Consola
|
48
|
-
styles:
|
49
|
-
- type: Regular
|
50
|
-
font: CONSOLA.TTF
|
51
|
-
|
52
|
-
- type: Bold
|
53
|
-
font: CONSOLAB.TTF
|
54
|
-
|
55
|
-
- type: Italic
|
56
|
-
font: CONSOLAI.TTF
|
57
|
-
|
58
|
-
- type: Bold Italic
|
59
|
-
font: CONSOLAZ.TTF
|
60
|
-
|
61
|
-
- name: Constantia
|
62
|
-
styles:
|
63
|
-
- type: Regular
|
64
|
-
font: CONSTAN.TTF
|
65
|
-
|
66
|
-
- type: Bold
|
67
|
-
font: CONSTANB.TTF
|
68
|
-
|
69
|
-
- type: Italic
|
70
|
-
font: CONSTANI.TTF
|
71
|
-
|
72
|
-
- type: Bold Italic
|
73
|
-
font: CONSTANZ.TTF
|
74
|
-
|
75
|
-
- name: Corbel
|
76
|
-
styles:
|
77
|
-
- type: Regular
|
78
|
-
font: CORBEL.TTF
|
79
|
-
|
80
|
-
- type: Bold
|
81
|
-
font: CORBELB.TTF
|
82
|
-
|
83
|
-
- type: Italic
|
84
|
-
font: CORBELI.TTF
|
85
|
-
|
86
|
-
- type: Bold Italic
|
87
|
-
font: CORBELZ.TTF
|
88
|
-
|
89
|
-
# Note: further work necessary
|
90
|
-
#
|
91
|
-
# The initial version is returing the ttc fonts as
|
92
|
-
# it is, but maybe in the upcoming releases we will need
|
93
|
-
# to extract/parse the ttc fonts if necessary.
|
94
|
-
#
|
95
|
-
- name: Meiryo
|
96
|
-
styles:
|
97
|
-
- type: Regular
|
98
|
-
font: MEIRYO.TTC
|
99
|
-
|
100
|
-
- type: Bold
|
101
|
-
font: MEIRYO.TTC
|
102
|
-
|
103
|
-
- name: Meiryo UI
|
104
|
-
styles:
|
105
|
-
- type: Regular
|
106
|
-
font: MEIRYO.TTC
|
107
|
-
|
108
|
-
- type: Bold
|
109
|
-
font: MEIRYO.TTC
|
110
|
-
|
111
|
-
file_size: "62914560"
|
112
|
-
sha: "249473568eba7a1e4f95498acba594e0f42e6581add4dead70c1dfb908a09423"
|
113
|
-
urls:
|
114
|
-
- "https://www.dropbox.com/s/dl/6lclhxpydwgkjzh/PowerPointViewer.exe?dl=1"
|
115
|
-
- "https://web.archive.org/web/20171225132744/http://download.microsoft.com/download/E/6/7/E675FFFC-2A6D-4AB0-B3EB-27C9F8C8F696/PowerPointViewer.exe"
|
116
|
-
|
117
|
-
license: |
|
118
|
-
Complete MS licence;
|
@@ -1,163 +0,0 @@
|
|
1
|
-
source_font:
|
2
|
-
agreement: ""
|
3
|
-
|
4
|
-
fonts:
|
5
|
-
- name: Source Code Pro
|
6
|
-
styles:
|
7
|
-
- type: Black
|
8
|
-
font: SourceCodePro-Black.ttf
|
9
|
-
|
10
|
-
- type: Black Italic
|
11
|
-
font: SourceCodePro-BlackIt.ttf
|
12
|
-
|
13
|
-
- type: Bold
|
14
|
-
font: SourceCodePro-Bold.ttf
|
15
|
-
|
16
|
-
- type: Bold Italic
|
17
|
-
font: SourceCodePro-BoldIt.ttf
|
18
|
-
|
19
|
-
- type: Extra Light
|
20
|
-
font: SourceCodePro-ExtraLight.ttf
|
21
|
-
|
22
|
-
- type: ExtraLightIt
|
23
|
-
font: SourceCodePro-ExtraLightIt.ttf
|
24
|
-
|
25
|
-
- type: Italic
|
26
|
-
font: SourceCodePro-It.ttf
|
27
|
-
|
28
|
-
- type: Light
|
29
|
-
font: SourceCodePro-Light.ttf
|
30
|
-
|
31
|
-
- type: Light Italic
|
32
|
-
font: SourceCodePro-LightIt.ttf
|
33
|
-
|
34
|
-
- type: Medium
|
35
|
-
font: SourceCodePro-Medium.ttf
|
36
|
-
|
37
|
-
- type: Medium Italic
|
38
|
-
font: SourceCodePro-MediumIt.ttf
|
39
|
-
|
40
|
-
- type: Regular
|
41
|
-
font: SourceCodePro-Regular.ttf
|
42
|
-
|
43
|
-
- type: Semibold
|
44
|
-
font: SourceCodePro-Semibold.ttf
|
45
|
-
|
46
|
-
- type: Semibold Italic
|
47
|
-
font: SourceCodePro-SemiboldIt.ttf
|
48
|
-
|
49
|
-
- name: Source Sans Pro
|
50
|
-
styles:
|
51
|
-
- type: Black
|
52
|
-
font: SourceSansPro-Black.ttf
|
53
|
-
|
54
|
-
- type: Black Italic
|
55
|
-
font: SourceSansPro-BlackIt.ttf
|
56
|
-
|
57
|
-
- type: Bold
|
58
|
-
font: SourceSansPro-Bold.ttf
|
59
|
-
|
60
|
-
- type: Bold Italic
|
61
|
-
font: SourceSansPro-BoldIt.ttf
|
62
|
-
|
63
|
-
- type: Extra Light
|
64
|
-
font: SourceSansPro-ExtraLight.ttf
|
65
|
-
|
66
|
-
- type: ExtraLightIt
|
67
|
-
font: SourceSansPro-ExtraLightIt.ttf
|
68
|
-
|
69
|
-
- type: Italic
|
70
|
-
font: SourceSansPro-It.ttf
|
71
|
-
|
72
|
-
- type: Light
|
73
|
-
font: SourceSansPro-Light.ttf
|
74
|
-
|
75
|
-
- type: Light Italic
|
76
|
-
font: SourceSansPro-LightIt.ttf
|
77
|
-
|
78
|
-
- type: Medium
|
79
|
-
font: SourceSansPro-Medium.ttf
|
80
|
-
|
81
|
-
- type: Medium Italic
|
82
|
-
font: SourceSansPro-MediumIt.ttf
|
83
|
-
|
84
|
-
- type: Regular
|
85
|
-
font: SourceSansPro-Regular.ttf
|
86
|
-
|
87
|
-
- type: Semibold
|
88
|
-
font: SourceSansPro-Semibold.ttf
|
89
|
-
|
90
|
-
- type: Semibold Italic
|
91
|
-
font: SourceSansPro-SemiboldIt.ttf
|
92
|
-
|
93
|
-
- name: Source Serif Pro
|
94
|
-
styles:
|
95
|
-
- type: Black
|
96
|
-
font: SourceSerifPro-Black.ttf
|
97
|
-
|
98
|
-
- type: Black Italic
|
99
|
-
font: SourceSerifPro-BlackIt.ttf
|
100
|
-
|
101
|
-
- type: Bold
|
102
|
-
font: SourceSerifPro-Bold.ttf
|
103
|
-
|
104
|
-
- type: Bold Italic
|
105
|
-
font: SourceSerifPro-BoldIt.ttf
|
106
|
-
|
107
|
-
- type: Extra Light
|
108
|
-
font: SourceSerifPro-ExtraLight.ttf
|
109
|
-
|
110
|
-
- type: ExtraLightIt
|
111
|
-
font: SourceSerifPro-ExtraLightIt.ttf
|
112
|
-
|
113
|
-
- type: Italic
|
114
|
-
font: SourceSerifPro-It.ttf
|
115
|
-
|
116
|
-
- type: Light
|
117
|
-
font: SourceSerifPro-Light.ttf
|
118
|
-
|
119
|
-
- type: Light Italic
|
120
|
-
font: SourceSerifPro-LightIt.ttf
|
121
|
-
|
122
|
-
- type: Medium
|
123
|
-
font: SourceSerifPro-Medium.ttf
|
124
|
-
|
125
|
-
- type: Medium Italic
|
126
|
-
font: SourceSerifPro-MediumIt.ttf
|
127
|
-
|
128
|
-
- type: Regular
|
129
|
-
font: SourceSerifPro-Regular.ttf
|
130
|
-
|
131
|
-
- type: Semibold
|
132
|
-
font: SourceSerifPro-Semibold.ttf
|
133
|
-
|
134
|
-
- type: Semibold Italic
|
135
|
-
font: SourceSerifPro-SemiboldIt.ttf
|
136
|
-
|
137
|
-
- name: Source Han Sans
|
138
|
-
styles:
|
139
|
-
- type: Regular
|
140
|
-
font: SourceHanSans-Regular.ttc
|
141
|
-
|
142
|
-
- type: Normal
|
143
|
-
font: SourceHanSans-Normal.ttc
|
144
|
-
|
145
|
-
- type: Bold
|
146
|
-
font: SourceHanSans-Bold.ttc
|
147
|
-
|
148
|
-
- type: ExtraLight
|
149
|
-
font: SourceHanSans-ExtraLight.ttc
|
150
|
-
|
151
|
-
- type: Heavy
|
152
|
-
font: SourceHanSans-Heavy.ttc
|
153
|
-
|
154
|
-
- type: Light
|
155
|
-
font: SourceHanSans-Light.ttc
|
156
|
-
|
157
|
-
- type: Medium
|
158
|
-
font: SourceHanSans-Medium.ttc
|
159
|
-
|
160
|
-
file_size: "101440249"
|
161
|
-
sha: "0107b5d4ba305cb4dff2ba19138407aa2153632a2c41592f74d20cd0d0261bfd"
|
162
|
-
urls:
|
163
|
-
- https://github.com/fontist/source-fonts/releases/download/v1.0/source-fonts-1.0.zip
|
data/lib/fontist/downloader.rb
DELETED
@@ -1,70 +0,0 @@
|
|
1
|
-
require "down"
|
2
|
-
require "digest"
|
3
|
-
|
4
|
-
module Fontist
|
5
|
-
class Downloader
|
6
|
-
def initialize(file, file_size: nil, sha: nil, progress: nil)
|
7
|
-
@sha = sha
|
8
|
-
@file = file
|
9
|
-
@progress = progress
|
10
|
-
@file_size = (file_size || default_file_size).to_i
|
11
|
-
end
|
12
|
-
|
13
|
-
def download
|
14
|
-
file = download_file
|
15
|
-
verify_file_checksum(file) || raise_invalid_file
|
16
|
-
end
|
17
|
-
|
18
|
-
def verify_file_checksum(file)
|
19
|
-
file if Digest::SHA256.file(file) === sha
|
20
|
-
end
|
21
|
-
|
22
|
-
def raise_invalid_file
|
23
|
-
raise(Fontist::Errors::TemparedFileError)
|
24
|
-
end
|
25
|
-
|
26
|
-
def self.download(file, options = {})
|
27
|
-
new(file, options).download
|
28
|
-
end
|
29
|
-
|
30
|
-
private
|
31
|
-
|
32
|
-
attr_reader :file, :sha, :file_size
|
33
|
-
|
34
|
-
def default_file_size
|
35
|
-
5 * byte_to_megabyte
|
36
|
-
end
|
37
|
-
|
38
|
-
def byte_to_megabyte
|
39
|
-
@byte_to_megabyte ||= 1024 * 1024
|
40
|
-
end
|
41
|
-
|
42
|
-
def download_path
|
43
|
-
options[:download_path] || Fontist.root_path.join("tmp")
|
44
|
-
end
|
45
|
-
|
46
|
-
def download_file
|
47
|
-
bar = ProgressBar.new(file_size / byte_to_megabyte)
|
48
|
-
|
49
|
-
Down.download(
|
50
|
-
@file,
|
51
|
-
progress_proc: -> (progress) {
|
52
|
-
bar.increment(progress / byte_to_megabyte) if @progress === true
|
53
|
-
}
|
54
|
-
)
|
55
|
-
end
|
56
|
-
end
|
57
|
-
|
58
|
-
class ProgressBar
|
59
|
-
def initialize(total)
|
60
|
-
@counter = 1
|
61
|
-
@total = total
|
62
|
-
end
|
63
|
-
|
64
|
-
def increment(progress)
|
65
|
-
complete = sprintf("%#.2f%%", ((@counter.to_f / @total.to_f) * 100))
|
66
|
-
print "\r\e[0KDownloads: #{@counter}MB/#{@total}MB (#{complete})"
|
67
|
-
@counter = progress
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|