1 
2 //          Copyright 2019 - 2021 Michael D. Parker
3 // Distributed under the Boost Software License, Version 1.0.
4 //    (See accompanying file LICENSE_1_0.txt or copy at
5 //          http://www.boost.org/LICENSE_1_0.txt)
6 
7 module bindbc.freetype.bind.ttnameid;
8 
9 enum {
10     TT_PLATFORM_APPLE_UNICODE = 0,
11     TT_PLATFORM_MACINTOSH = 1,
12     TT_PLATFORM_MICROSOFT = 3,
13     TT_PLATFORM_CUSTOM = 4,
14     TT_PLATFORM_ADOBE = 7,
15 }
16 
17 enum {
18     TT_APPLE_ID_DEFAULT = 0,
19     TT_APPLE_ID_UNICODE_1_1 = 1,
20     TT_APPLE_ID_UNICODE_2_0 = 3,
21     TT_APPLE_ID_UNICODE_32 = 4,
22     TT_APPLE_ID_VARIANT_SELECTOR = 5,
23 
24     // Added in Freetype 2.8
25     TT_APPLE_ID_FULL_UNICODE = 6,
26 }
27 
28 enum {
29     TT_MAC_ID_ROMAN = 0,
30     TT_MAC_ID_JAPANESE = 1,
31     TT_MAC_ID_TRADITIONAL_CHINESE = 2,
32     TT_MAC_ID_KOREAN = 3,
33     TT_MAC_ID_ARABIC = 4,
34     TT_MAC_ID_HEBREW = 5,
35     TT_MAC_ID_GREEK = 6,
36     TT_MAC_ID_RUSSIAN = 7,
37     TT_MAC_ID_RSYMBOL = 8,
38     TT_MAC_ID_DEVANAGARI = 9,
39     TT_MAC_ID_GURMUKHI = 10,
40     TT_MAC_ID_GUJARATI = 11,
41     TT_MAC_ID_ORIYA = 12,
42     TT_MAC_ID_BENGALI = 13,
43     TT_MAC_ID_TAMIL = 14,
44     TT_MAC_ID_TELUGU = 15,
45     TT_MAC_ID_KANNADA = 16,
46     TT_MAC_ID_MALAYALAM = 17,
47     TT_MAC_ID_SINHALESE = 18,
48     TT_MAC_ID_BURMESE = 19,
49     TT_MAC_ID_KHMER = 20,
50     TT_MAC_ID_THAI = 21,
51     TT_MAC_ID_LAOTIAN = 22,
52     TT_MAC_ID_GEORGIAN = 23,
53     TT_MAC_ID_ARMENIAN = 24,
54     TT_MAC_ID_MALDIVIAN = 25,
55     TT_MAC_ID_SIMPLIFIED_CHINESE = 25,
56     TT_MAC_ID_TIBETAN = 26,
57     TT_MAC_ID_MONGOLIAN = 27,
58     TT_MAC_ID_GEEZ = 28,
59     TT_MAC_ID_SLAVIC = 29,
60     TT_MAC_ID_VIETNAMESE = 30,
61     TT_MAC_ID_SINDHI = 31,
62     TT_MAC_ID_UNINTERP = 32,
63 }
64 
65 enum {
66     TT_ISO_ID_7BIT_ASCII = 0,
67     TT_ISO_ID_10646 = 1,
68     TT_ISO_ID_8859_1 = 2,
69 }
70 
71 enum {
72     TT_MS_ID_SYMBOL_CS = 0,
73     TT_MS_ID_UNICODE_CS = 1,
74     TT_MS_ID_SJIS = 2,
75     TT_MS_ID_PRC = 3,
76     TT_MS_ID_GB2313 = TT_MS_ID_PRC,
77     TT_MS_ID_BIG_5 = 4,
78     TT_MS_ID_WANSUNG = 5,
79     TT_MS_ID_JOHAB = 6,
80     TT_MS_ID_UCS_4 = 10,
81 }
82 
83 enum {
84     TT_ADOBE_ID_STANDARD = 0,
85     TT_ADOBE_ID_EXPERT = 1,
86     TT_ADOBE_ID_CUSTOM = 2,
87     TT_ADOBE_ID_LATIN_1 = 3,
88 }
89 
90 enum {
91     TT_MAC_LANGID_ENGLISH = 0,
92     TT_MAC_LANGID_FRENCH = 1,
93     TT_MAC_LANGID_GERMAN = 2,
94     TT_MAC_LANGID_ITALIAN = 3,
95     TT_MAC_LANGID_DUTCH = 4,
96     TT_MAC_LANGID_SWEDISH = 5,
97     TT_MAC_LANGID_SPANISH = 6,
98     TT_MAC_LANGID_DANISH = 7,
99     TT_MAC_LANGID_PORTUGUESE = 8,
100     TT_MAC_LANGID_NORWEGIAN = 9,
101     TT_MAC_LANGID_HEBREW = 10,
102     TT_MAC_LANGID_JAPANESE = 11,
103     TT_MAC_LANGID_ARABIC = 12,
104     TT_MAC_LANGID_FINNISH = 13,
105     TT_MAC_LANGID_GREEK = 14,
106     TT_MAC_LANGID_ICELANDIC = 15,
107     TT_MAC_LANGID_MALTESE = 16,
108     TT_MAC_LANGID_TURKISH = 17,
109     TT_MAC_LANGID_CROATIAN = 18,
110     TT_MAC_LANGID_CHINESE_TRADITIONAL = 19,
111     TT_MAC_LANGID_URDU = 20,
112     TT_MAC_LANGID_HINDI = 21,
113     TT_MAC_LANGID_THAI = 22,
114     TT_MAC_LANGID_KOREAN = 23,
115     TT_MAC_LANGID_LITHUANIAN = 24,
116     TT_MAC_LANGID_POLISH = 25,
117     TT_MAC_LANGID_HUNGARIAN = 26,
118     TT_MAC_LANGID_ESTONIAN = 27,
119     TT_MAC_LANGID_LETTISH = 28,
120     TT_MAC_LANGID_SAAMISK = 29,
121     TT_MAC_LANGID_FAEROESE = 30,
122     TT_MAC_LANGID_FARSI = 31,
123     TT_MAC_LANGID_RUSSIAN = 32,
124     TT_MAC_LANGID_CHINESE_SIMPLIFIED = 33,
125     TT_MAC_LANGID_FLEMISH = 34,
126     TT_MAC_LANGID_IRISH = 35,
127     TT_MAC_LANGID_ALBANIAN = 36,
128     TT_MAC_LANGID_ROMANIAN = 37,
129     TT_MAC_LANGID_CZECH = 38,
130     TT_MAC_LANGID_SLOVAK = 39,
131     TT_MAC_LANGID_SLOVENIAN = 40,
132     TT_MAC_LANGID_YIDDISH = 41,
133     TT_MAC_LANGID_SERBIAN = 42,
134     TT_MAC_LANGID_MACEDONIAN = 43,
135     TT_MAC_LANGID_BULGARIAN = 44,
136     TT_MAC_LANGID_UKRAINIAN = 45,
137     TT_MAC_LANGID_BYELORUSSIAN = 46,
138     TT_MAC_LANGID_UZBEK = 47,
139     TT_MAC_LANGID_KAZAKH = 48,
140     TT_MAC_LANGID_AZERBAIJANI = 49,
141     TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT = 49,
142     TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT = 50,
143     TT_MAC_LANGID_ARMENIAN = 51,
144     TT_MAC_LANGID_GEORGIAN = 52,
145     TT_MAC_LANGID_MOLDAVIAN = 53,
146     TT_MAC_LANGID_KIRGHIZ = 54,
147     TT_MAC_LANGID_TAJIKI = 55,
148     TT_MAC_LANGID_TURKMEN = 56,
149     TT_MAC_LANGID_MONGOLIAN = 57,
150     TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT = 57,
151     TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT = 58,
152     TT_MAC_LANGID_PASHTO = 59,
153     TT_MAC_LANGID_KURDISH = 60,
154     TT_MAC_LANGID_KASHMIRI = 61,
155     TT_MAC_LANGID_SINDHI = 62,
156     TT_MAC_LANGID_TIBETAN = 63,
157     TT_MAC_LANGID_NEPALI = 64,
158     TT_MAC_LANGID_SANSKRIT = 65,
159     TT_MAC_LANGID_MARATHI = 66,
160     TT_MAC_LANGID_BENGALI = 67,
161     TT_MAC_LANGID_ASSAMESE = 68,
162     TT_MAC_LANGID_GUJARATI = 69,
163     TT_MAC_LANGID_PUNJABI = 70,
164     TT_MAC_LANGID_ORIYA = 71,
165     TT_MAC_LANGID_MALAYALAM = 72,
166     TT_MAC_LANGID_KANNADA = 73,
167     TT_MAC_LANGID_TAMIL = 74,
168     TT_MAC_LANGID_TELUGU = 75,
169     TT_MAC_LANGID_SINHALESE = 76,
170     TT_MAC_LANGID_BURMESE = 77,
171     TT_MAC_LANGID_KHMER = 78,
172     TT_MAC_LANGID_LAO = 79,
173     TT_MAC_LANGID_VIETNAMESE = 80,
174     TT_MAC_LANGID_INDONESIAN = 81,
175     TT_MAC_LANGID_TAGALOG = 82,
176     TT_MAC_LANGID_MALAY_ROMAN_SCRIPT = 83,
177     TT_MAC_LANGID_MALAY_ARABIC_SCRIPT = 84,
178     TT_MAC_LANGID_AMHARIC = 85,
179     TT_MAC_LANGID_TIGRINYA = 86,
180     TT_MAC_LANGID_GALLA = 87,
181     TT_MAC_LANGID_SOMALI = 88,
182     TT_MAC_LANGID_SWAHILI = 89,
183     TT_MAC_LANGID_RUANDA = 90,
184     TT_MAC_LANGID_RUNDI = 91,
185     TT_MAC_LANGID_CHEWA = 92,
186     TT_MAC_LANGID_MALAGASY = 93,
187     TT_MAC_LANGID_ESPERANTO = 94,
188     TT_MAC_LANGID_WELSH = 128,
189     TT_MAC_LANGID_BASQUE = 129,
190     TT_MAC_LANGID_CATALAN = 130,
191     TT_MAC_LANGID_LATIN = 131,
192     TT_MAC_LANGID_QUECHUA = 132,
193     TT_MAC_LANGID_GUARANI = 133,
194     TT_MAC_LANGID_AYMARA = 134,
195     TT_MAC_LANGID_TATAR = 135,
196     TT_MAC_LANGID_UIGHUR = 136,
197     TT_MAC_LANGID_DZONGKHA = 137,
198     TT_MAC_LANGID_JAVANESE = 138,
199     TT_MAC_LANGID_SUNDANESE = 139,
200     TT_MAC_LANGID_GALICIAN = 140,
201     TT_MAC_LANGID_AFRIKAANS = 141,
202     TT_MAC_LANGID_BRETON = 142,
203     TT_MAC_LANGID_INUKTITUT = 143,
204     TT_MAC_LANGID_SCOTTISH_GAELIC = 144,
205     TT_MAC_LANGID_MANX_GAELIC = 145,
206     TT_MAC_LANGID_IRISH_GAELIC = 146,
207     TT_MAC_LANGID_TONGAN = 147,
208     TT_MAC_LANGID_GREEK_POLYTONIC = 148,
209     TT_MAC_LANGID_GREELANDIC = 149,
210     TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT = 150,
211 }
212 
213 enum {
214     TT_MS_LANGID_ARABIC_SAUDI_ARABIA = 0x0401,
215     TT_MS_LANGID_ARABIC_IRAQ = 0x0801,
216     TT_MS_LANGID_ARABIC_EGYPT = 0x0c01,
217     TT_MS_LANGID_ARABIC_LIBYA = 0x1001,
218     TT_MS_LANGID_ARABIC_ALGERIA = 0x1401,
219     TT_MS_LANGID_ARABIC_MOROCCO = 0x1801,
220     TT_MS_LANGID_ARABIC_TUNISIA = 0x1c01,
221     TT_MS_LANGID_ARABIC_OMAN = 0x2001,
222     TT_MS_LANGID_ARABIC_YEMEN = 0x2401,
223     TT_MS_LANGID_ARABIC_SYRIA = 0x2801,
224     TT_MS_LANGID_ARABIC_JORDAN = 0x2c01,
225     TT_MS_LANGID_ARABIC_LEBANON = 0x3001,
226     TT_MS_LANGID_ARABIC_KUWAIT = 0x3401,
227     TT_MS_LANGID_ARABIC_UAE = 0x3801,
228     TT_MS_LANGID_ARABIC_BAHRAIN = 0x3c01,
229     TT_MS_LANGID_ARABIC_QATAR = 0x4001,
230     TT_MS_LANGID_BULGARIAN_BULGARIA = 0x0402,
231     TT_MS_LANGID_CATALAN_CATALAN = 0x0403,
232     TT_MS_LANGID_CHINESE_TAIWAN = 0x0404,
233     TT_MS_LANGID_CHINESE_PRC = 0x0804,
234     TT_MS_LANGID_CHINESE_HONG_KONG = 0x0c04,
235     TT_MS_LANGID_CHINESE_SINGAPORE = 0x1004,
236     TT_MS_LANGID_CHINESE_MACAO = 0x1404,
237     TT_MS_LANGID_CZECH_CZECH_REPUBLIC = 0x0405,
238     TT_MS_LANGID_DANISH_DENMARK = 0x0406,
239     TT_MS_LANGID_GERMAN_GERMANY = 0x0407,
240     TT_MS_LANGID_GERMAN_SWITZERLAND = 0x0807,
241     TT_MS_LANGID_GERMAN_AUSTRIA = 0x0c07,
242     TT_MS_LANGID_GERMAN_LUXEMBOURG = 0x1007,
243     TT_MS_LANGID_GERMAN_LIECHTENSTEIN = 0x1407,
244     TT_MS_LANGID_GREEK_GREECE = 0x0408,
245     TT_MS_LANGID_ENGLISH_UNITED_STATES = 0x0409,
246     TT_MS_LANGID_ENGLISH_UNITED_KINGDOM = 0x0809,
247     TT_MS_LANGID_ENGLISH_AUSTRALIA = 0x0c09,
248     TT_MS_LANGID_ENGLISH_CANADA = 0x1009,
249     TT_MS_LANGID_ENGLISH_NEW_ZEALAND = 0x1409,
250     TT_MS_LANGID_ENGLISH_IRELAND = 0x1809,
251     TT_MS_LANGID_ENGLISH_SOUTH_AFRICA = 0x1c09,
252     TT_MS_LANGID_ENGLISH_JAMAICA = 0x2009,
253     TT_MS_LANGID_ENGLISH_CARIBBEAN = 0x2409,
254     TT_MS_LANGID_ENGLISH_BELIZE = 0x2809,
255     TT_MS_LANGID_ENGLISH_TRINIDAD = 0x2c09,
256     TT_MS_LANGID_ENGLISH_ZIMBABWE = 0x3009,
257     TT_MS_LANGID_ENGLISH_PHILIPPINES = 0x3409,
258     TT_MS_LANGID_ENGLISH_INDIA = 0x4009,
259     TT_MS_LANGID_ENGLISH_MALAYSIA = 0x4409,
260     TT_MS_LANGID_ENGLISH_SINGAPORE = 0x4809,
261     TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT = 0x040a,
262     TT_MS_LANGID_SPANISH_MEXICO = 0x080a,
263     TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT = 0x0c0a,
264     TT_MS_LANGID_SPANISH_GUATEMALA = 0x100a,
265     TT_MS_LANGID_SPANISH_COSTA_RICA = 0x140a,
266     TT_MS_LANGID_SPANISH_PANAMA = 0x180a,
267     TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC = 0x1c0a,
268     TT_MS_LANGID_SPANISH_VENEZUELA = 0x200a,
269     TT_MS_LANGID_SPANISH_COLOMBIA = 0x240a,
270     TT_MS_LANGID_SPANISH_PERU = 0x280a,
271     TT_MS_LANGID_SPANISH_ARGENTINA = 0x2c0a,
272     TT_MS_LANGID_SPANISH_ECUADOR = 0x300a,
273     TT_MS_LANGID_SPANISH_CHILE = 0x340a,
274     TT_MS_LANGID_SPANISH_URUGUAY = 0x380a,
275     TT_MS_LANGID_SPANISH_PARAGUAY = 0x3c0a,
276     TT_MS_LANGID_SPANISH_BOLIVIA = 0x400a,
277     TT_MS_LANGID_SPANISH_EL_SALVADOR = 0x440a,
278     TT_MS_LANGID_SPANISH_HONDURAS = 0x480a,
279     TT_MS_LANGID_SPANISH_NICARAGUA = 0x4c0a,
280     TT_MS_LANGID_SPANISH_PUERTO_RICO = 0x500a,
281     TT_MS_LANGID_SPANISH_UNITED_STATES = 0x540a,
282     TT_MS_LANGID_FINNISH_FINLAND = 0x040b,
283     TT_MS_LANGID_FRENCH_FRANCE = 0x040c,
284     TT_MS_LANGID_FRENCH_BELGIUM = 0x080c,
285     TT_MS_LANGID_FRENCH_CANADA = 0x0c0c,
286     TT_MS_LANGID_FRENCH_SWITZERLAND = 0x100c,
287     TT_MS_LANGID_FRENCH_LUXEMBOURG = 0x140c,
288     TT_MS_LANGID_FRENCH_MONACO = 0x180c,
289     TT_MS_LANGID_HEBREW_ISRAEL = 0x040d,
290     TT_MS_LANGID_HUNGARIAN_HUNGARY = 0x040e,
291     TT_MS_LANGID_ICELANDIC_ICELAND = 0x040f,
292     TT_MS_LANGID_ITALIAN_ITALY = 0x0410,
293     TT_MS_LANGID_ITALIAN_SWITZERLAND = 0x0810,
294     TT_MS_LANGID_JAPANESE_JAPAN = 0x0411,
295     TT_MS_LANGID_KOREAN_KOREA = 0x0412,
296     TT_MS_LANGID_DUTCH_NETHERLANDS = 0x0413,
297     TT_MS_LANGID_DUTCH_BELGIUM = 0x0813,
298     TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL = 0x0414,
299     TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK = 0x0814,
300     TT_MS_LANGID_POLISH_POLAND = 0x0415,
301     TT_MS_LANGID_PORTUGUESE_BRAZIL = 0x0416,
302     TT_MS_LANGID_PORTUGUESE_PORTUGAL = 0x0816,
303     TT_MS_LANGID_ROMANSH_SWITZERLAND = 0x0417,
304     TT_MS_LANGID_ROMANIAN_ROMANIA = 0x0418,
305     TT_MS_LANGID_RUSSIAN_RUSSIA = 0x0419,
306     TT_MS_LANGID_CROATIAN_CROATIA = 0x041a,
307     TT_MS_LANGID_SERBIAN_SERBIA_LATIN = 0x081a,
308     TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC = 0x0c1a,
309     TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA = 0x101a,
310     TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA = 0x141a,
311     TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN = 0x1c1a,
312     TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC = 0x201a,
313     TT_MS_LANGID_SLOVAK_SLOVAKIA = 0x041b,
314     TT_MS_LANGID_ALBANIAN_ALBANIA = 0x041c,
315     TT_MS_LANGID_SWEDISH_SWEDEN = 0x041d,
316     TT_MS_LANGID_SWEDISH_FINLAND = 0x081d,
317     TT_MS_LANGID_THAI_THAILAND = 0x041e,
318     TT_MS_LANGID_TURKISH_TURKEY = 0x041f,
319     TT_MS_LANGID_URDU_PAKISTAN = 0x0420,
320     TT_MS_LANGID_INDONESIAN_INDONESIA = 0x0421,
321     TT_MS_LANGID_UKRAINIAN_UKRAINE = 0x0422,
322     TT_MS_LANGID_BELARUSIAN_BELARUS = 0x0423,
323     TT_MS_LANGID_SLOVENIAN_SLOVENIA = 0x0424,
324     TT_MS_LANGID_ESTONIAN_ESTONIA = 0x0425,
325     TT_MS_LANGID_LATVIAN_LATVIA = 0x0426,
326     TT_MS_LANGID_LITHUANIAN_LITHUANIA = 0x0427,
327     TT_MS_LANGID_TAJIK_TAJIKISTAN = 0x0428,
328     TT_MS_LANGID_VIETNAMESE_VIET_NAM = 0x042a,
329     TT_MS_LANGID_ARMENIAN_ARMENIA = 0x042b,
330     TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN = 0x042c,
331     TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC = 0x082c,
332     TT_MS_LANGID_BASQUE_BASQUE = 0x042d,
333     TT_MS_LANGID_UPPER_SORBIAN_GERMANY = 0x042e,
334     TT_MS_LANGID_LOWER_SORBIAN_GERMANY = 0x082e,
335     TT_MS_LANGID_MACEDONIAN_MACEDONIA = 0x042f,
336     TT_MS_LANGID_SETSWANA_SOUTH_AFRICA = 0x0432,
337     TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA = 0x0434,
338     TT_MS_LANGID_ISIZULU_SOUTH_AFRICA = 0x0435,
339     TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA = 0x0436,
340     TT_MS_LANGID_GEORGIAN_GEORGIA = 0x0437,
341     TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS = 0x0438,
342     TT_MS_LANGID_HINDI_INDIA = 0x0439,
343     TT_MS_LANGID_MALTESE_MALTA = 0x043a,
344     TT_MS_LANGID_SAMI_NORTHERN_NORWAY = 0x043b,
345     TT_MS_LANGID_SAMI_NORTHERN_SWEDEN = 0x083b,
346     TT_MS_LANGID_SAMI_NORTHERN_FINLAND = 0x0C3b,
347     TT_MS_LANGID_SAMI_LULE_NORWAY = 0x103b,
348     TT_MS_LANGID_SAMI_LULE_SWEDEN = 0x143b,
349     TT_MS_LANGID_SAMI_SOUTHERN_NORWAY = 0x183b,
350     TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN = 0x1C3b,
351     TT_MS_LANGID_SAMI_SKOLT_FINLAND = 0x203b,
352     TT_MS_LANGID_SAMI_INARI_FINLAND = 0x243b,
353     TT_MS_LANGID_IRISH_IRELAND = 0x083c,
354     TT_MS_LANGID_MALAY_MALAYSIA = 0x043e,
355     TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM = 0x083e,
356     TT_MS_LANGID_KAZAKH_KAZAKHSTAN = 0x043f,
357     TT_MS_LANGID_KYRGYZ_KYRGYZSTAN  = 0x0440,
358     TT_MS_LANGID_KISWAHILI_KENYA = 0x0441,
359     TT_MS_LANGID_TURKMEN_TURKMENISTAN = 0x0442,
360     TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN = 0x0443,
361     TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC = 0x0843,
362     TT_MS_LANGID_TATAR_RUSSIA = 0x0444,
363     TT_MS_LANGID_BENGALI_INDIA = 0x0445,
364     TT_MS_LANGID_BENGALI_BANGLADESH = 0x0845,
365     TT_MS_LANGID_PUNJABI_INDIA = 0x0446,
366     TT_MS_LANGID_GUJARATI_INDIA = 0x0447,
367     TT_MS_LANGID_ODIA_INDIA = 0x0448,
368     TT_MS_LANGID_TAMIL_INDIA = 0x0449,
369     TT_MS_LANGID_TELUGU_INDIA = 0x044a,
370     TT_MS_LANGID_KANNADA_INDIA = 0x044b,
371     TT_MS_LANGID_MALAYALAM_INDIA = 0x044c,
372     TT_MS_LANGID_ASSAMESE_INDIA = 0x044d,
373     TT_MS_LANGID_MARATHI_INDIA = 0x044e,
374     TT_MS_LANGID_SANSKRIT_INDIA = 0x044f,
375     TT_MS_LANGID_MONGOLIAN_MONGOLIA = 0x0450,
376     TT_MS_LANGID_MONGOLIAN_PRC = 0x0850,
377     TT_MS_LANGID_TIBETAN_PRC = 0x0451,
378     TT_MS_LANGID_WELSH_UNITED_KINGDOM = 0x0452,
379     TT_MS_LANGID_KHMER_CAMBODIA = 0x0453,
380     TT_MS_LANGID_LAO_LAOS = 0x0454,
381     TT_MS_LANGID_GALICIAN_GALICIAN = 0x0456,
382     TT_MS_LANGID_GALICIAN_SPAIN = TT_MS_LANGID_GALICIAN_GALICIAN,
383     TT_MS_LANGID_KONKANI_INDIA = 0x0457,
384     TT_MS_LANGID_SYRIAC_SYRIA = 0x045a,
385     TT_MS_LANGID_SINHALA_SRI_LANKA = 0x045b,
386     TT_MS_LANGID_INUKTITUT_CANADA = 0x045d,
387     TT_MS_LANGID_INUKTITUT_CANADA_LATIN = 0x085d,
388     TT_MS_LANGID_AMHARIC_ETHIOPIA = 0x045e,
389     TT_MS_LANGID_TAMAZIGHT_ALGERIA = 0x085f,
390     TT_MS_LANGID_NEPALI_NEPAL = 0x0461,
391     TT_MS_LANGID_FRISIAN_NETHERLANDS = 0x0462,
392     TT_MS_LANGID_PASHTO_AFGHANISTAN = 0x0463,
393     TT_MS_LANGID_FILIPINO_PHILIPPINES = 0x0464,
394     TT_MS_LANGID_HAUSA_NIGERIA = 0x0468,
395     TT_MS_LANGID_YORUBA_NIGERIA = 0x046a,
396     TT_MS_LANGID_QUECHUA_BOLIVIA = 0x046b,
397     TT_MS_LANGID_QUECHUA_ECUADOR = 0x086b,
398     TT_MS_LANGID_QUECHUA_PERU = 0x0c6b,
399     TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA = 0x046c,
400     TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG = 0x046e,
401     TT_MS_LANGID_GREENLANDIC_GREENLAND = 0x046f,
402     TT_MS_LANGID_IGBO_NIGERIA = 0x0470,
403     TT_MS_LANGID_YI_PRC = 0x0478,
404     TT_MS_LANGID_MAPUDUNGUN_CHILE = 0x047A,
405     TT_MS_LANGID_MOHAWK_MOHAWK = 0x047C,
406     TT_MS_LANGID_BRETON_FRANCE = 0x047E,
407     TT_MS_LANGID_UIGHUR_PRC = 0x0480,
408     TT_MS_LANGID_MAORI_NEW_ZEALAND = 0x0481,
409     TT_MS_LANGID_OCCITAN_FRANCE = 0x0482,
410     TT_MS_LANGID_CORSICAN_FRANCE = 0x0483,
411     TT_MS_LANGID_ALSATIAN_FRANCE = 0x0484,
412     TT_MS_LANGID_YAKUT_RUSSIA = 0x0485,
413     TT_MS_LANGID_KICHE_GUATEMALA = 0x0486,
414     TT_MS_LANGID_KINYARWANDA_RWANDA = 0x0487,
415     TT_MS_LANGID_WOLOF_SENEGAL = 0x0488,
416     TT_MS_LANGID_DARI_AFGHANISTAN = 0x048C,
417 
418     TT_MS_LANGID_ARABIC_GENERAL = 0x0001,
419     TT_MS_LANGID_CATALAN_SPAIN = TT_MS_LANGID_CATALAN_CATALAN,
420     TT_MS_LANGID_CHINESE_GENERAL = 0x0004,
421     TT_MS_LANGID_CHINESE_MACAU = TT_MS_LANGID_CHINESE_MACAO,
422     TT_MS_LANGID_GERMAN_LIECHTENSTEI = TT_MS_LANGID_GERMAN_LIECHTENSTEIN,
423     TT_MS_LANGID_ENGLISH_GENERAL = 0x0009,
424     TT_MS_LANGID_ENGLISH_INDONESIA = 0x3809,
425     TT_MS_LANGID_ENGLISH_HONG_KONG = 0x3c09,
426     TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT = TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT,
427     TT_MS_LANGID_SPANISH_LATIN_AMERICA = 0xE40aU,
428     TT_MS_LANGID_FRENCH_WEST_INDIES = 0x1c0c,
429     TT_MS_LANGID_FRENCH_REUNION = 0x200c,
430     TT_MS_LANGID_FRENCH_CONGO = 0x240c,
431     TT_MS_LANGID_FRENCH_ZAIRE = TT_MS_LANGID_FRENCH_CONGO,
432     TT_MS_LANGID_FRENCH_SENEGAL = 0x280c,
433     TT_MS_LANGID_FRENCH_CAMEROON = 0x2c0c,
434     TT_MS_LANGID_FRENCH_COTE_D_IVOIRE = 0x300c,
435     TT_MS_LANGID_FRENCH_MALI = 0x340c,
436     TT_MS_LANGID_FRENCH_MOROCCO = 0x380c,
437     TT_MS_LANGID_FRENCH_HAITI = 0x3c0c,
438     TT_MS_LANGID_FRENCH_NORTH_AFRICA = 0xE40cU,
439     TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA = TT_MS_LANGID_KOREAN_KOREA,
440     TT_MS_LANGID_KOREAN_JOHAB_KOREA = 0x812,
441     TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND = TT_MS_LANGID_ROMANSH_SWITZERLAND,
442     TT_MS_LANGID_MOLDAVIAN_MOLDAVIA = 0x0818,
443     TT_MS_LANGID_RUSSIAN_MOLDAVIA = 0x0819,
444     TT_MS_LANGID_URDU_INDIA = 0x0820,
445     TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA = 0x0827,
446     TT_MS_LANGID_SLOVENE_SLOVENIA = TT_MS_LANGID_SLOVENIAN_SLOVENIA,
447     TT_MS_LANGID_FARSI_IRAN = 0x0429,
448     TT_MS_LANGID_BASQUE_SPAIN = TT_MS_LANGID_BASQUE_BASQUE,
449     TT_MS_LANGID_SORBIAN_GERMANY = TT_MS_LANGID_UPPER_SORBIAN_GERMANY,
450     TT_MS_LANGID_SUTU_SOUTH_AFRICA = 0x0430,
451     TT_MS_LANGID_TSONGA_SOUTH_AFRICA = 0x0431,
452     TT_MS_LANGID_TSWANA_SOUTH_AFRICA = TT_MS_LANGID_SETSWANA_SOUTH_AFRICA,
453     TT_MS_LANGID_VENDA_SOUTH_AFRICA = 0x0433,
454     TT_MS_LANGID_XHOSA_SOUTH_AFRICA = TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA,
455     TT_MS_LANGID_ZULU_SOUTH_AFRICA = TT_MS_LANGID_ISIZULU_SOUTH_AFRICA,
456     TT_MS_LANGID_SAAMI_LAPONIA = 0x043b,
457     TT_MS_LANGID_IRISH_GAELIC_IRELAND = 0x043c,
458     TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM = 0x083c,
459     TT_MS_LANGID_YIDDISH_GERMANY = 0x043d,
460     TT_MS_LANGID_KAZAK_KAZAKSTAN = TT_MS_LANGID_KAZAKH_KAZAKHSTAN,
461     TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC = TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN,
462     TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN  = TT_MS_LANGID_KYRGYZ_KYRGYZSTAN,
463     TT_MS_LANGID_SWAHILI_KENYA = TT_MS_LANGID_KISWAHILI_KENYA,
464     TT_MS_LANGID_TATAR_TATARSTAN = TT_MS_LANGID_TATAR_RUSSIA,
465     TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN = 0x0846,
466     TT_MS_LANGID_ORIYA_INDIA = TT_MS_LANGID_ODIA_INDIA,
467     TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN = TT_MS_LANGID_MONGOLIAN_PRC,
468     TT_MS_LANGID_TIBETAN_CHINA = TT_MS_LANGID_TIBETAN_PRC,
469     TT_MS_LANGID_DZONGHKA_BHUTAN = 0x0851,
470     TT_MS_LANGID_TIBETAN_BHUTAN = TT_MS_LANGID_DZONGHKA_BHUTAN,
471     TT_MS_LANGID_WELSH_WALES = TT_MS_LANGID_WELSH_UNITED_KINGDOM,
472     TT_MS_LANGID_BURMESE_MYANMAR = 0x0455,
473     TT_MS_LANGID_MANIPURI_INDIA = 0x0458,
474     TT_MS_LANGID_SINDHI_INDIA = 0x0459,
475     TT_MS_LANGID_SINDHI_PAKISTAN = 0x0859,
476     TT_MS_LANGID_SINHALESE_SRI_LANKA = TT_MS_LANGID_SINHALA_SRI_LANKA,
477     TT_MS_LANGID_CHEROKEE_UNITED_STATES = 0x045c,
478     TT_MS_LANGID_TAMAZIGHT_MOROCCO = 0x045f,
479     TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN = TT_MS_LANGID_TAMAZIGHT_ALGERIA,
480     TT_MS_LANGID_KASHMIRI_PAKISTAN = 0x0460,
481     TT_MS_LANGID_KASHMIRI_SASIA = 0x0860,
482     TT_MS_LANGID_KASHMIRI_INDIA = TT_MS_LANGID_KASHMIRI_SASIA,
483     TT_MS_LANGID_NEPALI_INDIA = 0x0861,
484     TT_MS_LANGID_DHIVEHI_MALDIVES = 0x0465,
485     TT_MS_LANGID_DIVEHI_MALDIVES = TT_MS_LANGID_DHIVEHI_MALDIVES,
486     TT_MS_LANGID_EDO_NIGERIA = 0x0466,
487     TT_MS_LANGID_FULFULDE_NIGERIA = 0x0467,
488     TT_MS_LANGID_IBIBIO_NIGERIA = 0x0469,
489     TT_MS_LANGID_SEPEDI_SOUTH_AFRICA = TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA,
490     TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA = TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA,
491     TT_MS_LANGID_KANURI_NIGERIA = 0x0471,
492     TT_MS_LANGID_OROMO_ETHIOPIA = 0x0472,
493     TT_MS_LANGID_TIGRIGNA_ETHIOPIA = 0x0473,
494     TT_MS_LANGID_TIGRIGNA_ERYTHREA = 0x0873,
495     TT_MS_LANGID_TIGRIGNA_ERYTREA = TT_MS_LANGID_TIGRIGNA_ERYTHREA,
496     TT_MS_LANGID_GUARANI_PARAGUAY = 0x0474,
497     TT_MS_LANGID_HAWAIIAN_UNITED_STATES = 0x0475,
498     TT_MS_LANGID_LATIN = 0x0476,
499     TT_MS_LANGID_SOMALI_SOMALIA = 0x0477,
500     TT_MS_LANGID_YI_CHINA = TT_MS_LANGID_YI_PRC,
501     TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES = 0x0479,
502     TT_MS_LANGID_UIGHUR_CHINA = TT_MS_LANGID_UIGHUR_PRC,
503 }
504 
505 enum {
506     TT_NAME_ID_COPYRIGHT = 0,
507     TT_NAME_ID_FONT_FAMILY = 1,
508     TT_NAME_ID_FONT_SUBFAMILY = 2,
509     TT_NAME_ID_UNIQUE_ID = 3,
510     TT_NAME_ID_FULL_NAME = 4,
511     TT_NAME_ID_VERSION_STRING = 5,
512     TT_NAME_ID_PS_NAME = 6,
513     TT_NAME_ID_TRADEMARK = 7,
514     TT_NAME_ID_MANUFACTURER = 8,
515     TT_NAME_ID_DESIGNER = 9,
516     TT_NAME_ID_DESCRIPTION = 10,
517     TT_NAME_ID_VENDOR_URL = 11,
518     TT_NAME_ID_DESIGNER_URL = 12,
519     TT_NAME_ID_LICENSE = 13,
520     TT_NAME_ID_LICENSE_URL = 14,
521     TT_NAME_ID_TYPOGRAPHIC_FAMILY = 16,
522     TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY = 17,
523     TT_NAME_ID_MAC_FULL_NAME = 18,
524     TT_NAME_ID_SAMPLE_TEXT = 19,
525     TT_NAME_ID_CID_FINDFONT_NAME = 20,
526     TT_NAME_ID_WWS_FAMILY = 21,
527     TT_NAME_ID_WWS_SUBFAMILY = 22,
528 
529     // Added in Freetype 2.8
530     TT_NAME_ID_LIGHT_BACKGROUND = 23,
531     TT_NAME_ID_DARK_BACKGROUND = 24,
532     TT_NAME_ID_VARIATIONS_PREFIX = 25,
533     TT_NAME_ID_PREFERRED_FAMILY = TT_NAME_ID_TYPOGRAPHIC_FAMILY,
534     TT_NAME_ID_PREFERRED_SUBFAMILY = TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY,
535 }
536 
537 enum {
538     TT_UCR_BASIC_LATIN = 1 <<  0,
539     TT_UCR_LATIN1_SUPPLEMENT = 1 <<  1,
540     TT_UCR_LATIN_EXTENDED_A = 1 <<  2,
541     TT_UCR_LATIN_EXTENDED_B = 1 <<  3,
542     TT_UCR_IPA_EXTENSIONS = 1 <<  4,
543     TT_UCR_SPACING_MODIFIER = 1 <<  5,
544     TT_UCR_COMBINING_DIACRITICAL_MARKS = 1 <<  6,
545     TT_UCR_GREEK = 1 <<  7,
546     TT_UCR_COPTIC = 1 <<  8,
547     TT_UCR_CYRILLIC = 1 <<  9,
548     TT_UCR_ARMENIAN = 1 << 10,
549     TT_UCR_HEBREW = 1 << 11,
550     TT_UCR_VAI = 1 << 12,
551     TT_UCR_ARABIC = 1 << 13,
552     TT_UCR_NKO = 1 << 14,
553     TT_UCR_DEVANAGARI = 1 << 15,
554     TT_UCR_BENGALI = 1 << 16,
555     TT_UCR_GURMUKHI = 1 << 17,
556     TT_UCR_GUJARATI = 1 << 18,
557     TT_UCR_ORIYA = 1 << 19,
558     TT_UCR_TAMIL = 1 << 20,
559     TT_UCR_TELUGU = 1 << 21,
560     TT_UCR_KANNADA = 1 << 22,
561     TT_UCR_MALAYALAM = 1 << 23,
562     TT_UCR_THAI = 1 << 24,
563     TT_UCR_LAO = 1 << 25,
564     TT_UCR_GEORGIAN = 1 << 26,
565     TT_UCR_BALINESE = 1 << 27,
566     TT_UCR_HANGUL_JAMO = 1 << 28,
567     TT_UCR_LATIN_EXTENDED_ADDITIONAL = 1 << 29,
568     TT_UCR_GREEK_EXTENDED = 1 << 30,
569     TT_UCR_SUPERSCRIPTS_SUBSCRIPTS = 1 <<  0,
570     TT_UCR_CURRENCY_SYMBOLS = 1 <<  1,
571     TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB = 1 <<  2,
572     TT_UCR_LETTERLIKE_SYMBOLS = 1 <<  3,
573     TT_UCR_NUMBER_FORMS = 1 <<  4,
574     TT_UCR_ARROWS = 1 <<  5,
575     TT_UCR_MATHEMATICAL_OPERATORS = 1 <<  6,
576     TT_UCR_MISCELLANEOUS_TECHNICAL = 1 <<  7,
577     TT_UCR_CONTROL_PICTURES = 1 <<  8,
578     TT_UCR_OCR = 1 <<  9,
579     TT_UCR_ENCLOSED_ALPHANUMERICS = 1 << 10,
580     TT_UCR_BOX_DRAWING = 1 << 11,
581     TT_UCR_BLOCK_ELEMENTS = 1 << 12,
582     TT_UCR_GEOMETRIC_SHAPES = 1 << 13,
583     TT_UCR_MISCELLANEOUS_SYMBOLS = 1 << 14,
584     TT_UCR_DINGBATS = 1 << 15,
585     TT_UCR_CJK_SYMBOLS = 1 << 16,
586     TT_UCR_HIRAGANA = 1 << 17,
587     TT_UCR_KATAKANA = 1 << 18,
588     TT_UCR_BOPOMOFO = 1 << 19,
589     TT_UCR_HANGUL_COMPATIBILITY_JAMO = 1 << 20,
590     TT_UCR_CJK_MISC = 1 << 21,
591     TT_UCR_ENCLOSED_CJK_LETTERS_MONTHS = 1 << 22,
592     TT_UCR_CJK_COMPATIBILITY = 1 << 23,
593     TT_UCR_HANGUL = 1 << 24,
594     TT_UCR_SURROGATES = 1 << 25,
595     TT_UCR_NON_PLANE_0 = TT_UCR_SURROGATES,
596     TT_UCR_PHOENICIAN = 1 << 26,
597     TT_UCR_CJK_UNIFIED_IDEOGRAPHS = 1 << 27,
598     TT_UCR_PRIVATE_USE = 1 << 28,
599     TT_UCR_CJK_COMPATIBILITY_IDEOGRAPHS = 1 << 29,
600     TT_UCR_ALPHABETIC_PRESENTATION_FORMS = 1 << 30,
601     TT_UCR_ARABIC_PRESENTATION_FORMS_A = 1 << 31,
602     TT_UCR_COMBINING_HALF_MARKS = 1 <<  0,
603     TT_UCR_CJK_COMPATIBILITY_FORMS = 1 <<  1,
604     TT_UCR_SMALL_FORM_VARIANTS = 1 <<  2,
605     TT_UCR_ARABIC_PRESENTATION_FORMS_B = 1 <<  3,
606     TT_UCR_HALFWIDTH_FULLWIDTH_FORMS = 1 <<  4,
607     TT_UCR_SPECIALS = 1 <<  5,
608     TT_UCR_TIBETAN = 1 <<  6,
609     TT_UCR_SYRIAC = 1 <<  7,
610     TT_UCR_THAANA = 1 <<  8,
611     TT_UCR_SINHALA = 1 <<  9,
612     TT_UCR_MYANMAR = 1 << 10,
613     TT_UCR_ETHIOPIC = 1 << 11,
614     TT_UCR_CHEROKEE = 1 << 12,
615     TT_UCR_CANADIAN_ABORIGINAL_SYLLABICS = 1 << 13,
616     TT_UCR_OGHAM = 1 << 14,
617     TT_UCR_RUNIC = 1 << 15,
618     TT_UCR_KHMER = 1 << 16,
619     TT_UCR_MONGOLIAN = 1 << 17,
620     TT_UCR_BRAILLE = 1 << 18,
621     TT_UCR_YI = 1 << 19,
622     TT_UCR_PHILIPPINE = 1 << 20,
623     TT_UCR_OLD_ITALIC = 1 << 21,
624     TT_UCR_GOTHIC = 1 << 22,
625     TT_UCR_DESERET = 1 << 23,
626     TT_UCR_MUSICAL_SYMBOLS = 1 << 24,
627     TT_UCR_MATH_ALPHANUMERIC_SYMBOLS = 1 << 25,
628     TT_UCR_PRIVATE_USE_SUPPLEMENTARY = 1 << 26,
629     TT_UCR_VARIATION_SELECTORS = 1 << 27,
630     TT_UCR_TAGS = 1 << 28,
631     TT_UCR_LIMBU = 1 << 29,
632     TT_UCR_TAI_LE = 1 << 30,
633     TT_UCR_NEW_TAI_LUE = 1 << 31,
634     TT_UCR_BUGINESE = 1 <<  0,
635     TT_UCR_GLAGOLITIC = 1 <<  1,
636     TT_UCR_TIFINAGH = 1 <<  2,
637     TT_UCR_YIJING = 1 <<  3,
638     TT_UCR_SYLOTI_NAGRI = 1 <<  4,
639     TT_UCR_LINEAR_B = 1 <<  5,
640     TT_UCR_ANCIENT_GREEK_NUMBERS = 1 <<  6,
641     TT_UCR_UGARITIC = 1 <<  7,
642     TT_UCR_OLD_PERSIAN = 1 <<  8,
643     TT_UCR_SHAVIAN = 1 <<  9,
644     TT_UCR_OSMANYA = 1 << 10,
645     TT_UCR_CYPRIOT_SYLLABARY = 1 << 11,
646     TT_UCR_KHAROSHTHI = 1 << 12,
647     TT_UCR_TAI_XUAN_JING = 1 << 13,
648     TT_UCR_CUNEIFORM = 1 << 14,
649     TT_UCR_COUNTING_ROD_NUMERALS = 1 << 15,
650     TT_UCR_SUNDANESE = 1 << 16,
651     TT_UCR_LEPCHA = 1 << 17,
652     TT_UCR_OL_CHIKI = 1 << 18,
653     TT_UCR_SAURASHTRA = 1 << 19,
654     TT_UCR_KAYAH_LI = 1 << 20,
655     TT_UCR_REJANG = 1 << 21,
656     TT_UCR_CHAM = 1 << 22,
657     TT_UCR_ANCIENT_SYMBOLS = 1 << 23,
658     TT_UCR_PHAISTOS_DISC = 1 << 24,
659     TT_UCR_OLD_ANATOLIAN = 1 << 25,
660     TT_UCR_GAME_TILES = 1 << 26,
661 
662     TT_UCR_COMBINING_DIACRITICS = TT_UCR_COMBINING_DIACRITICAL_MARKS,
663     TT_UCR_COMBINING_DIACRITICS_SYMB = TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB,
664     TT_UCR_ARABIC_PRESENTATIONS_A = TT_UCR_ARABIC_PRESENTATION_FORMS_A,
665     TT_UCR_ARABIC_PRESENTATIONS_B = TT_UCR_ARABIC_PRESENTATION_FORMS_B,
666 }