Skip to content

Commit de2c2eb

Browse files
committed
feat: add the ability to use the system fonts, such as serif, etc
1 parent 5ef76d9 commit de2c2eb

10 files changed

+224
-216
lines changed

packages/keybr-themes/.editorconfig

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[lib/fonts/index.ts]
2+
max_line_length = 120
Binary file not shown.
Binary file not shown.
Binary file not shown.

packages/keybr-themes/generate.py

+37-166
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,9 @@
22

33
# https://markoskon.com/creating-font-subsets/
44

5-
from fontTools.ttLib import TTFont
6-
from fontTools.subset import parse_unicodes, Subsetter
75
from fontTools.merge import Merger
8-
6+
from fontTools.subset import parse_unicodes, Subsetter
7+
from fontTools.ttLib import TTFont
98

109
unicode_ranges = [
1110
("cyrillic", "U+0400-04FF"),
@@ -18,7 +17,7 @@
1817

1918

2019
class Font:
21-
def __init__(self, font_file, font_name, merge_file=None):
20+
def __init__(self, font_name, font_file, merge_file=None):
2221
self.font_file = font_file
2322
self.merge_file = merge_file
2423

@@ -129,171 +128,43 @@ def generate(self):
129128
print("\n".join(css), end="", file=file)
130129

131130

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()
134133

135134

136135
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")
297168

298169

299170
if __name__ == "__main__":

packages/keybr-themes/lib/fonts/index.less

+4
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@
3838
@import "ubuntu-mono-700.css";
3939
@import "ubuntu-mono-700italic.css";
4040

41+
@import "whitespace-em1000.css";
42+
@import "whitespace-em2000.css";
43+
@import "whitespace-em2048.css";
44+
4145
:where(html) {
4246
--default-font-family: "Open Sans", sans-serif;
4347
--header-font-family: "Open Sans", sans-serif;

0 commit comments

Comments
 (0)