-
Notifications
You must be signed in to change notification settings - Fork 0
/
categories.py
197 lines (193 loc) · 5.51 KB
/
categories.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
"""
This is a categorized list of the fonts in the Noto default set. This
set matches the fonts selected from Google Fonts (if not, either this
list or the selection mechanism needs an update).
"""
FONTS_PER_CATEGORY = {
"Main": [
"Noto Sans",
],
"Special": [
"Noto Sans Symbols",
"Noto Sans Symbols 2",
"Noto Emoji",
"Noto Sans Math",
"Noto Music",
],
"Europe and Americas": [
"Noto Sans Armenian",
"Noto Sans Cherokee",
"Noto Sans Coptic",
"Noto Sans Deseret",
"Noto Sans Georgian",
"Noto Sans Osage",
],
"Africa and Middle East": [
"Noto Sans Adlam",
"Noto Sans Bassa Vah",
"Noto Sans Hebrew",
"Noto Sans Syriac",
"Noto Sans Samaritan",
"Noto Sans Mandaic",
"Noto Serif Yezidi",
"Noto Sans Ethiopic",
"Noto Sans Osmanya",
"Noto Sans Tifinagh",
"Noto Sans N Ko",
"Noto Sans Vai",
"Noto Sans Mende Kikakui",
"Noto Sans Medefaidrin",
],
"Asia": [
# south asia
"Noto Sans Arabic",
"Noto Sans Bengali",
"Noto Sans Chakma",
"Noto Sans Devanagari",
"Noto Sans Gujarati",
"Noto Sans Gunjala Gondi",
"Noto Sans Gurmukhi",
"Noto Sans Kannada",
"Noto Sans Lepcha",
"Noto Sans Limbu",
"Noto Sans Malayalam",
"Noto Sans Masaram Gondi",
"Noto Sans Meetei Mayek",
"Noto Sans Mro",
"Noto Sans Newa",
"Noto Sans Ol Chiki",
"Noto Sans Oriya",
"Noto Sans Saurashtra",
"Noto Sans Sinhala",
"Noto Sans Tamil",
"Noto Sans Telugu",
"Noto Sans Thaana",
"Noto Serif Tibetan",
"Noto Sans Wancho",
"Noto Sans Warang Citi",
# south east asia
"Noto Sans Balinese",
"Noto Sans Batak",
"Noto Sans Buginese",
"Noto Sans Buhid",
"Noto Sans Cham",
"Noto Sans Hanifi Rohingya",
"Noto Sans Hanunoo",
"Noto Sans Javanese",
"Noto Sans Kayah Li",
"Noto Sans Khmer",
"Noto Sans Lao",
"Noto Sans Myanmar",
"Noto Sans New Tai Lue",
"Noto Sans Pahawh Hmong",
"Noto Sans Pau Cin Hau",
"Noto Sans Rejang",
"Noto Sans Sundanese",
"Noto Sans Tagalog",
"Noto Sans Tagbanwa",
"Noto Sans Tai Le",
"Noto Sans Tai Tham",
"Noto Sans Tai Viet",
"Noto Sans Thai",
"Noto Sans Lisu",
# east asia
"Noto Sans Mongolian",
"Noto Sans Yi",
"Noto Sans Miao",
],
"China, Japan and Korea (CJK)": [
"Noto Sans JP",
"Noto Sans KR",
"Noto Sans SC",
"Noto Sans TC",
"Noto Sans HK",
],
"Ancient Europe and Americas": [
"Noto Sans Caucasian Albanian",
"Noto Sans Carian",
"Noto Sans Canadian Aboriginal",
"Noto Sans Cypriot",
"Noto Sans Glagolitic",
"Noto Sans Linear A",
"Noto Sans Linear B",
"Noto Sans Lycian",
"Noto Sans Lydian",
"Noto Sans Old Italic",
"Noto Sans Runic",
"Noto Sans Old Hungarian",
"Noto Sans Gothic",
"Noto Sans Elbasan",
"Noto Sans Ogham",
"Noto Sans Old Permic",
"Noto Sans Shavian",
"Noto Sans Duployan",
"Noto Sans Mayan Numerals",
"Noto Serif Nyiakeng Puachue Hmong",
"Noto Serif NP Hmong",
],
"Ancient Africa and Middle East": [
"Noto Sans Bamum",
"Noto Sans Old North Arabian",
"Noto Sans Old South Arabian",
"Noto Sans Phoenician",
"Noto Sans Imperial Aramaic",
"Noto Sans Manichaean",
"Noto Sans Inscriptional Parthian",
"Noto Sans Inscriptional Pahlavi",
"Noto Sans Psalter Pahlavi",
"Noto Sans Avestan",
"Noto Sans Elymaic",
"Noto Sans Nabataean",
"Noto Sans Palmyrene",
"Noto Sans Hatran",
],
"Ancient Asia": [
"Noto Sans Nushu",
"Noto Sans Bhaiksuki",
"Noto Sans Brahmi",
"Noto Sans Grantha",
"Noto Sans Kaithi",
"Noto Sans Kharoshthi",
"Noto Sans Khudawadi",
"Noto Sans Mahajani",
"Noto Sans Modi",
"Noto Sans Multani",
# "Noto Sans Nandinagari",
"Noto Sans Old Sogdian",
"Noto Sans Old Turkic",
"Noto Sans Phags Pa",
"Noto Sans Sharada",
"Noto Sans Siddham",
"Noto Sans Sogdian",
"Noto Sans Sora Sompeng",
"Noto Sans Soyombo",
"Noto Sans Syloti Nagri",
"Noto Sans Takri",
"Noto Sans Tirhuta",
"Noto Sans Zanabazar Square",
"Noto Serif Ahom",
"Noto Serif Dogra",
"Noto Sans Khojki",
"Noto Sans Marchen",
"Noto Serif Tangut",
"Noto Sans Indic Siyaq Numbers",
"Noto Nastaliq Urdu",
],
"Ancient Cuneiform and Hieroglyphs": [
"Noto Sans Cuneiform",
"Noto Sans Ugaritic",
"Noto Sans Old Persian",
"Noto Sans Egyptian Hieroglyphs",
"Noto Sans Meroitic",
"Noto Sans Anatolian Hieroglyphs",
],
}
# Sort the names, but keep order of categories intact
for category, names in FONTS_PER_CATEGORY.items():
names.sort()
# Create flat list
EXPECTED_FONTS = []
for category, names in FONTS_PER_CATEGORY.items():
for name in names:
assert name not in EXPECTED_FONTS, f"Duplicate found: {name}"
EXPECTED_FONTS.append(name)