|
2 | 2 |
|
3 | 3 | # https://markoskon.com/creating-font-subsets/
|
4 | 4 |
|
5 |
| -from fontTools.ttLib import TTFont |
6 |
| -from fontTools.subset import parse_unicodes, Subsetter |
7 | 5 | from fontTools.merge import Merger
|
8 |
| - |
| 6 | +from fontTools.subset import parse_unicodes, Subsetter |
| 7 | +from fontTools.ttLib import TTFont |
9 | 8 |
|
10 | 9 | unicode_ranges = [
|
11 | 10 | ("cyrillic", "U+0400-04FF"),
|
|
18 | 17 |
|
19 | 18 |
|
20 | 19 | class Font:
|
21 |
| - def __init__(self, font_file, font_name, merge_file=None): |
| 20 | + def __init__(self, font_name, font_file, merge_file=None): |
22 | 21 | self.font_file = font_file
|
23 | 22 | self.merge_file = merge_file
|
24 | 23 |
|
@@ -129,171 +128,43 @@ def generate(self):
|
129 | 128 | print("\n".join(css), end="", file=file)
|
130 | 129 |
|
131 | 130 |
|
132 |
| -def generate(font_file, font_name, merge_file=None): |
133 |
| - Font(font_file, font_name, merge_file).generate() |
| 131 | +def generate(font_name, font_file, merge_file=None): |
| 132 | + Font(font_name, font_file, merge_file).generate() |
134 | 133 |
|
135 | 134 |
|
136 | 135 | def main():
|
137 |
| - generate( |
138 |
| - "fonts/Nunito/static/Nunito-Regular.ttf", |
139 |
| - "nunito", |
140 |
| - merge_file="Whitespace-em1000.ttf", |
141 |
| - ) |
142 |
| - generate( |
143 |
| - "fonts/Nunito/static/Nunito-Italic.ttf", |
144 |
| - "nunito", |
145 |
| - merge_file="Whitespace-em1000.ttf", |
146 |
| - ) |
147 |
| - generate( |
148 |
| - "fonts/Nunito/static/Nunito-Bold.ttf", |
149 |
| - "nunito", |
150 |
| - merge_file="Whitespace-em1000.ttf", |
151 |
| - ) |
152 |
| - generate( |
153 |
| - "fonts/Nunito/static/Nunito-BoldItalic.ttf", |
154 |
| - "nunito", |
155 |
| - merge_file="Whitespace-em1000.ttf", |
156 |
| - ) |
157 |
| - generate( |
158 |
| - "fonts/OpenDyslexic/OpenDyslexic-Regular.ttf", |
159 |
| - "open-dyslexic", |
160 |
| - merge_file="Whitespace-em1000.ttf", |
161 |
| - ) |
162 |
| - generate( |
163 |
| - "fonts/OpenDyslexic/OpenDyslexic-Italic.ttf", |
164 |
| - "open-dyslexic", |
165 |
| - merge_file="Whitespace-em1000.ttf", |
166 |
| - ) |
167 |
| - generate( |
168 |
| - "fonts/OpenDyslexic/OpenDyslexic-Bold.ttf", |
169 |
| - "open-dyslexic", |
170 |
| - merge_file="Whitespace-em1000.ttf", |
171 |
| - ) |
172 |
| - generate( |
173 |
| - "fonts/OpenDyslexic/OpenDyslexic-BoldItalic.ttf", |
174 |
| - "open-dyslexic", |
175 |
| - merge_file="Whitespace-em1000.ttf", |
176 |
| - ) |
177 |
| - generate( |
178 |
| - "fonts/OpenSans/static/OpenSans-Regular.ttf", |
179 |
| - "open-sans", |
180 |
| - merge_file="Whitespace-em2048.ttf", |
181 |
| - ) |
182 |
| - generate( |
183 |
| - "fonts/OpenSans/static/OpenSans-Italic.ttf", |
184 |
| - "open-sans", |
185 |
| - merge_file="Whitespace-em2048.ttf", |
186 |
| - ) |
187 |
| - generate( |
188 |
| - "fonts/OpenSans/static/OpenSans-Bold.ttf", |
189 |
| - "open-sans", |
190 |
| - merge_file="Whitespace-em2048.ttf", |
191 |
| - ) |
192 |
| - generate( |
193 |
| - "fonts/OpenSans/static/OpenSans-BoldItalic.ttf", |
194 |
| - "open-sans", |
195 |
| - merge_file="Whitespace-em2048.ttf", |
196 |
| - ) |
197 |
| - generate( |
198 |
| - "fonts/Roboto/Roboto-Regular.ttf", |
199 |
| - "roboto", |
200 |
| - merge_file="Whitespace-em2048.ttf", |
201 |
| - ) |
202 |
| - generate( |
203 |
| - "fonts/Roboto/Roboto-Italic.ttf", |
204 |
| - "roboto", |
205 |
| - merge_file="Whitespace-em2048.ttf", |
206 |
| - ) |
207 |
| - generate( |
208 |
| - "fonts/Roboto/Roboto-Bold.ttf", |
209 |
| - "roboto", |
210 |
| - merge_file="Whitespace-em2048.ttf", |
211 |
| - ) |
212 |
| - generate( |
213 |
| - "fonts/Roboto/Roboto-BoldItalic.ttf", |
214 |
| - "roboto", |
215 |
| - merge_file="Whitespace-em2048.ttf", |
216 |
| - ) |
217 |
| - generate( |
218 |
| - "fonts/RobotoMono/static/RobotoMono-Regular.ttf", |
219 |
| - "roboto-mono", |
220 |
| - merge_file="Whitespace-em2048.ttf", |
221 |
| - ) |
222 |
| - generate( |
223 |
| - "fonts/RobotoMono/static/RobotoMono-Italic.ttf", |
224 |
| - "roboto-mono", |
225 |
| - merge_file="Whitespace-em2048.ttf", |
226 |
| - ) |
227 |
| - generate( |
228 |
| - "fonts/RobotoMono/static/RobotoMono-Bold.ttf", |
229 |
| - "roboto-mono", |
230 |
| - merge_file="Whitespace-em2048.ttf", |
231 |
| - ) |
232 |
| - generate( |
233 |
| - "fonts/RobotoMono/static/RobotoMono-BoldItalic.ttf", |
234 |
| - "roboto-mono", |
235 |
| - merge_file="Whitespace-em2048.ttf", |
236 |
| - ) |
237 |
| - generate( |
238 |
| - "fonts/Spectral/Spectral-Regular.ttf", |
239 |
| - "spectral", |
240 |
| - merge_file="Whitespace-em1000.ttf", |
241 |
| - ) |
242 |
| - generate( |
243 |
| - "fonts/Spectral/Spectral-Italic.ttf", |
244 |
| - "spectral", |
245 |
| - merge_file="Whitespace-em1000.ttf", |
246 |
| - ) |
247 |
| - generate( |
248 |
| - "fonts/Spectral/Spectral-Bold.ttf", |
249 |
| - "spectral", |
250 |
| - merge_file="Whitespace-em1000.ttf", |
251 |
| - ) |
252 |
| - generate( |
253 |
| - "fonts/Spectral/Spectral-BoldItalic.ttf", |
254 |
| - "spectral", |
255 |
| - merge_file="Whitespace-em1000.ttf", |
256 |
| - ) |
257 |
| - generate( |
258 |
| - "fonts/Ubuntu/Ubuntu-R.ttf", |
259 |
| - "ubuntu", |
260 |
| - merge_file="Whitespace-em1000.ttf", |
261 |
| - ) |
262 |
| - generate( |
263 |
| - "fonts/Ubuntu/Ubuntu-RI.ttf", |
264 |
| - "ubuntu", |
265 |
| - merge_file="Whitespace-em1000.ttf", |
266 |
| - ) |
267 |
| - generate( |
268 |
| - "fonts/Ubuntu/Ubuntu-B.ttf", |
269 |
| - "ubuntu", |
270 |
| - merge_file="Whitespace-em1000.ttf", |
271 |
| - ) |
272 |
| - generate( |
273 |
| - "fonts/Ubuntu/Ubuntu-BI.ttf", |
274 |
| - "ubuntu", |
275 |
| - merge_file="Whitespace-em1000.ttf", |
276 |
| - ) |
277 |
| - generate( |
278 |
| - "fonts/Ubuntu/UbuntuMono-R.ttf", |
279 |
| - "ubuntu-mono", |
280 |
| - merge_file="Whitespace-em1000.ttf", |
281 |
| - ) |
282 |
| - generate( |
283 |
| - "fonts/Ubuntu/UbuntuMono-RI.ttf", |
284 |
| - "ubuntu-mono", |
285 |
| - merge_file="Whitespace-em1000.ttf", |
286 |
| - ) |
287 |
| - generate( |
288 |
| - "fonts/Ubuntu/UbuntuMono-B.ttf", |
289 |
| - "ubuntu-mono", |
290 |
| - merge_file="Whitespace-em1000.ttf", |
291 |
| - ) |
292 |
| - generate( |
293 |
| - "fonts/Ubuntu/UbuntuMono-BI.ttf", |
294 |
| - "ubuntu-mono", |
295 |
| - merge_file="Whitespace-em1000.ttf", |
296 |
| - ) |
| 136 | + generate("nunito", "fonts/Nunito/static/Nunito-Regular.ttf", merge_file="Whitespace-em1000.ttf") |
| 137 | + generate("nunito", "fonts/Nunito/static/Nunito-Italic.ttf", merge_file="Whitespace-em1000.ttf") |
| 138 | + generate("nunito", "fonts/Nunito/static/Nunito-Bold.ttf", merge_file="Whitespace-em1000.ttf") |
| 139 | + generate("nunito", "fonts/Nunito/static/Nunito-BoldItalic.ttf", merge_file="Whitespace-em1000.ttf") |
| 140 | + generate("open-dyslexic", "fonts/OpenDyslexic/OpenDyslexic-Regular.ttf", merge_file="Whitespace-em1000.ttf") |
| 141 | + generate("open-dyslexic", "fonts/OpenDyslexic/OpenDyslexic-Italic.ttf", merge_file="Whitespace-em1000.ttf") |
| 142 | + generate("open-dyslexic", "fonts/OpenDyslexic/OpenDyslexic-Bold.ttf", merge_file="Whitespace-em1000.ttf") |
| 143 | + generate("open-dyslexic", "fonts/OpenDyslexic/OpenDyslexic-BoldItalic.ttf", merge_file="Whitespace-em1000.ttf") |
| 144 | + generate("open-sans", "fonts/OpenSans/static/OpenSans-Regular.ttf", merge_file="Whitespace-em2048.ttf") |
| 145 | + generate("open-sans", "fonts/OpenSans/static/OpenSans-Italic.ttf", merge_file="Whitespace-em2048.ttf") |
| 146 | + generate("open-sans", "fonts/OpenSans/static/OpenSans-Bold.ttf", merge_file="Whitespace-em2048.ttf") |
| 147 | + generate("open-sans", "fonts/OpenSans/static/OpenSans-BoldItalic.ttf", merge_file="Whitespace-em2048.ttf") |
| 148 | + generate("roboto", "fonts/Roboto/Roboto-Regular.ttf", merge_file="Whitespace-em2048.ttf") |
| 149 | + generate("roboto", "fonts/Roboto/Roboto-Italic.ttf", merge_file="Whitespace-em2048.ttf") |
| 150 | + generate("roboto", "fonts/Roboto/Roboto-Bold.ttf", merge_file="Whitespace-em2048.ttf") |
| 151 | + generate("roboto", "fonts/Roboto/Roboto-BoldItalic.ttf", merge_file="Whitespace-em2048.ttf") |
| 152 | + generate("roboto-mono", "fonts/RobotoMono/static/RobotoMono-Regular.ttf", merge_file="Whitespace-em2048.ttf") |
| 153 | + generate("roboto-mono", "fonts/RobotoMono/static/RobotoMono-Italic.ttf", merge_file="Whitespace-em2048.ttf") |
| 154 | + generate("roboto-mono", "fonts/RobotoMono/static/RobotoMono-Bold.ttf", merge_file="Whitespace-em2048.ttf") |
| 155 | + generate("roboto-mono", "fonts/RobotoMono/static/RobotoMono-BoldItalic.ttf", merge_file="Whitespace-em2048.ttf") |
| 156 | + generate("spectral", "fonts/Spectral/Spectral-Regular.ttf", merge_file="Whitespace-em1000.ttf") |
| 157 | + generate("spectral", "fonts/Spectral/Spectral-Italic.ttf", merge_file="Whitespace-em1000.ttf") |
| 158 | + generate("spectral", "fonts/Spectral/Spectral-Bold.ttf", merge_file="Whitespace-em1000.ttf") |
| 159 | + generate("spectral", "fonts/Spectral/Spectral-BoldItalic.ttf", merge_file="Whitespace-em1000.ttf") |
| 160 | + generate("ubuntu", "fonts/Ubuntu/Ubuntu-R.ttf", merge_file="Whitespace-em1000.ttf") |
| 161 | + generate("ubuntu", "fonts/Ubuntu/Ubuntu-RI.ttf", merge_file="Whitespace-em1000.ttf") |
| 162 | + generate("ubuntu", "fonts/Ubuntu/Ubuntu-B.ttf", merge_file="Whitespace-em1000.ttf") |
| 163 | + generate("ubuntu", "fonts/Ubuntu/Ubuntu-BI.ttf", merge_file="Whitespace-em1000.ttf") |
| 164 | + generate("ubuntu-mono", "fonts/Ubuntu/UbuntuMono-R.ttf", merge_file="Whitespace-em1000.ttf") |
| 165 | + generate("ubuntu-mono", "fonts/Ubuntu/UbuntuMono-RI.ttf", merge_file="Whitespace-em1000.ttf") |
| 166 | + generate("ubuntu-mono", "fonts/Ubuntu/UbuntuMono-B.ttf", merge_file="Whitespace-em1000.ttf") |
| 167 | + generate("ubuntu-mono", "fonts/Ubuntu/UbuntuMono-BI.ttf", merge_file="Whitespace-em1000.ttf") |
297 | 168 |
|
298 | 169 |
|
299 | 170 | if __name__ == "__main__":
|
|
0 commit comments