17usage: %s <output-file>
19 This python script generates the glyph names tables defined in the
22 Its single argument is the name of the header file to be created.
40 ".notdef",
".null",
"nonmarkingreturn",
"space",
"exclam",
41 "quotedbl",
"numbersign",
"dollar",
"percent",
"ampersand",
44 "quotesingle",
"parenleft",
"parenright",
"asterisk",
"plus",
45 "comma",
"hyphen",
"period",
"slash",
"zero",
48 "one",
"two",
"three",
"four",
"five",
49 "six",
"seven",
"eight",
"nine",
"colon",
52 "semicolon",
"less",
"equal",
"greater",
"question",
53 "at",
"A",
"B",
"C",
"D",
56 "E",
"F",
"G",
"H",
"I",
57 "J",
"K",
"L",
"M",
"N",
60 "O",
"P",
"Q",
"R",
"S",
61 "T",
"U",
"V",
"W",
"X",
64 "Y",
"Z",
"bracketleft",
"backslash",
"bracketright",
65 "asciicircum",
"underscore",
"grave",
"a",
"b",
68 "c",
"d",
"e",
"f",
"g",
69 "h",
"i",
"j",
"k",
"l",
72 "m",
"n",
"o",
"p",
"q",
73 "r",
"s",
"t",
"u",
"v",
76 "w",
"x",
"y",
"z",
"braceleft",
77 "bar",
"braceright",
"asciitilde",
"Adieresis",
"Aring",
80 "Ccedilla",
"Eacute",
"Ntilde",
"Odieresis",
"Udieresis",
81 "aacute",
"agrave",
"acircumflex",
"adieresis",
"atilde",
84 "aring",
"ccedilla",
"eacute",
"egrave",
"ecircumflex",
85 "edieresis",
"iacute",
"igrave",
"icircumflex",
"idieresis",
88 "ntilde",
"oacute",
"ograve",
"ocircumflex",
"odieresis",
89 "otilde",
"uacute",
"ugrave",
"ucircumflex",
"udieresis",
92 "dagger",
"degree",
"cent",
"sterling",
"section",
93 "bullet",
"paragraph",
"germandbls",
"registered",
"copyright",
96 "trademark",
"acute",
"dieresis",
"notequal",
"AE",
97 "Oslash",
"infinity",
"plusminus",
"lessequal",
"greaterequal",
100 "yen",
"mu",
"partialdiff",
"summation",
"product",
101 "pi",
"integral",
"ordfeminine",
"ordmasculine",
"Omega",
104 "ae",
"oslash",
"questiondown",
"exclamdown",
"logicalnot",
105 "radical",
"florin",
"approxequal",
"Delta",
"guillemotleft",
108 "guillemotright",
"ellipsis",
"nonbreakingspace",
"Agrave",
"Atilde",
109 "Otilde",
"OE",
"oe",
"endash",
"emdash",
112 "quotedblleft",
"quotedblright",
"quoteleft",
"quoteright",
"divide",
113 "lozenge",
"ydieresis",
"Ydieresis",
"fraction",
"currency",
116 "guilsinglleft",
"guilsinglright",
"fi",
"fl",
"daggerdbl",
117 "periodcentered",
"quotesinglbase",
"quotedblbase",
"perthousand",
121 "Ecircumflex",
"Aacute",
"Edieresis",
"Egrave",
"Iacute",
122 "Icircumflex",
"Idieresis",
"Igrave",
"Oacute",
"Ocircumflex",
125 "apple",
"Ograve",
"Uacute",
"Ucircumflex",
"Ugrave",
126 "dotlessi",
"circumflex",
"tilde",
"macron",
"breve",
129 "dotaccent",
"ring",
"cedilla",
"hungarumlaut",
"ogonek",
130 "caron",
"Lslash",
"lslash",
"Scaron",
"scaron",
133 "Zcaron",
"zcaron",
"brokenbar",
"Eth",
"eth",
134 "Yacute",
"yacute",
"Thorn",
"thorn",
"minus",
137 "multiply",
"onesuperior",
"twosuperior",
"threesuperior",
"onehalf",
138 "onequarter",
"threequarters",
"franc",
"Gbreve",
"gbreve",
141 "Idotaccent",
"Scedilla",
"scedilla",
"Cacute",
"cacute",
142 "Ccaron",
"ccaron",
"dcroat"
150sid_standard_names = [
152 ".notdef",
"space",
"exclam",
"quotedbl",
"numbersign",
153 "dollar",
"percent",
"ampersand",
"quoteright",
"parenleft",
156 "parenright",
"asterisk",
"plus",
"comma",
"hyphen",
157 "period",
"slash",
"zero",
"one",
"two",
160 "three",
"four",
"five",
"six",
"seven",
161 "eight",
"nine",
"colon",
"semicolon",
"less",
164 "equal",
"greater",
"question",
"at",
"A",
165 "B",
"C",
"D",
"E",
"F",
168 "G",
"H",
"I",
"J",
"K",
169 "L",
"M",
"N",
"O",
"P",
172 "Q",
"R",
"S",
"T",
"U",
173 "V",
"W",
"X",
"Y",
"Z",
176 "bracketleft",
"backslash",
"bracketright",
"asciicircum",
"underscore",
177 "quoteleft",
"a",
"b",
"c",
"d",
180 "e",
"f",
"g",
"h",
"i",
181 "j",
"k",
"l",
"m",
"n",
184 "o",
"p",
"q",
"r",
"s",
185 "t",
"u",
"v",
"w",
"x",
188 "y",
"z",
"braceleft",
"bar",
"braceright",
189 "asciitilde",
"exclamdown",
"cent",
"sterling",
"fraction",
192 "yen",
"florin",
"section",
"currency",
"quotesingle",
193 "quotedblleft",
"guillemotleft",
"guilsinglleft",
"guilsinglright",
"fi",
196 "fl",
"endash",
"dagger",
"daggerdbl",
"periodcentered",
197 "paragraph",
"bullet",
"quotesinglbase",
"quotedblbase",
"quotedblright",
200 "guillemotright",
"ellipsis",
"perthousand",
"questiondown",
"grave",
201 "acute",
"circumflex",
"tilde",
"macron",
"breve",
204 "dotaccent",
"dieresis",
"ring",
"cedilla",
"hungarumlaut",
205 "ogonek",
"caron",
"emdash",
"AE",
"ordfeminine",
208 "Lslash",
"Oslash",
"OE",
"ordmasculine",
"ae",
209 "dotlessi",
"lslash",
"oslash",
"oe",
"germandbls",
212 "onesuperior",
"logicalnot",
"mu",
"trademark",
"Eth",
213 "onehalf",
"plusminus",
"Thorn",
"onequarter",
"divide",
216 "brokenbar",
"degree",
"thorn",
"threequarters",
"twosuperior",
217 "registered",
"minus",
"eth",
"multiply",
"threesuperior",
220 "copyright",
"Aacute",
"Acircumflex",
"Adieresis",
"Agrave",
221 "Aring",
"Atilde",
"Ccedilla",
"Eacute",
"Ecircumflex",
224 "Edieresis",
"Egrave",
"Iacute",
"Icircumflex",
"Idieresis",
225 "Igrave",
"Ntilde",
"Oacute",
"Ocircumflex",
"Odieresis",
228 "Ograve",
"Otilde",
"Scaron",
"Uacute",
"Ucircumflex",
229 "Udieresis",
"Ugrave",
"Yacute",
"Ydieresis",
"Zcaron",
232 "aacute",
"acircumflex",
"adieresis",
"agrave",
"aring",
233 "atilde",
"ccedilla",
"eacute",
"ecircumflex",
"edieresis",
236 "egrave",
"iacute",
"icircumflex",
"idieresis",
"igrave",
237 "ntilde",
"oacute",
"ocircumflex",
"odieresis",
"ograve",
240 "otilde",
"scaron",
"uacute",
"ucircumflex",
"udieresis",
241 "ugrave",
"yacute",
"ydieresis",
"zcaron",
"exclamsmall",
244 "Hungarumlautsmall",
"dollaroldstyle",
"dollarsuperior",
"ampersandsmall",
246 "parenleftsuperior",
"parenrightsuperior",
"twodotenleader",
247 "onedotenleader",
"zerooldstyle",
250 "oneoldstyle",
"twooldstyle",
"threeoldstyle",
"fouroldstyle",
252 "sixoldstyle",
"sevenoldstyle",
"eightoldstyle",
"nineoldstyle",
256 "threequartersemdash",
"periodsuperior",
"questionsmall",
"asuperior",
258 "centsuperior",
"dsuperior",
"esuperior",
"isuperior",
"lsuperior",
261 "msuperior",
"nsuperior",
"osuperior",
"rsuperior",
"ssuperior",
262 "tsuperior",
"ff",
"ffi",
"ffl",
"parenleftinferior",
265 "parenrightinferior",
"Circumflexsmall",
"hyphensuperior",
"Gravesmall",
267 "Bsmall",
"Csmall",
"Dsmall",
"Esmall",
"Fsmall",
270 "Gsmall",
"Hsmall",
"Ismall",
"Jsmall",
"Ksmall",
271 "Lsmall",
"Msmall",
"Nsmall",
"Osmall",
"Psmall",
274 "Qsmall",
"Rsmall",
"Ssmall",
"Tsmall",
"Usmall",
275 "Vsmall",
"Wsmall",
"Xsmall",
"Ysmall",
"Zsmall",
278 "colonmonetary",
"onefitted",
"rupiah",
"Tildesmall",
"exclamdownsmall",
279 "centoldstyle",
"Lslashsmall",
"Scaronsmall",
"Zcaronsmall",
283 "Brevesmall",
"Caronsmall",
"Dotaccentsmall",
"Macronsmall",
"figuredash",
284 "hypheninferior",
"Ogoneksmall",
"Ringsmall",
"Cedillasmall",
288 "oneeighth",
"threeeighths",
"fiveeighths",
"seveneighths",
"onethird",
289 "twothirds",
"zerosuperior",
"foursuperior",
"fivesuperior",
293 "sevensuperior",
"eightsuperior",
"ninesuperior",
"zeroinferior",
295 "twoinferior",
"threeinferior",
"fourinferior",
"fiveinferior",
299 "seveninferior",
"eightinferior",
"nineinferior",
"centinferior",
301 "periodinferior",
"commainferior",
"Agravesmall",
"Aacutesmall",
305 "Atildesmall",
"Adieresissmall",
"Aringsmall",
"AEsmall",
"Ccedillasmall",
306 "Egravesmall",
"Eacutesmall",
"Ecircumflexsmall",
"Edieresissmall",
310 "Iacutesmall",
"Icircumflexsmall",
"Idieresissmall",
"Ethsmall",
312 "Ogravesmall",
"Oacutesmall",
"Ocircumflexsmall",
"Otildesmall",
316 "OEsmall",
"Oslashsmall",
"Ugravesmall",
"Uacutesmall",
318 "Udieresissmall",
"Yacutesmall",
"Thornsmall",
"Ydieresissmall",
322 "001.001",
"001.002",
"001.003",
"Black",
"Bold",
323 "Book",
"Light",
"Medium",
"Regular",
"Roman",
332t1_standard_encoding = [
333 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
334 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
335 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
336 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
337 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
339 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
340 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
341 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
342 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
343 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
345 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
346 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
347 89, 90, 91, 92, 93, 94, 95, 0, 0, 0,
348 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
349 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
351 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
352 0, 96, 97, 98, 99, 100, 101, 102, 103, 104,
353 105, 106, 107, 108, 109, 110, 0, 111, 112, 113,
354 114, 0, 115, 116, 117, 118, 119, 120, 121, 122,
355 0, 123, 0, 124, 125, 126, 127, 128, 129, 130,
357 131, 0, 132, 133, 0, 134, 135, 136, 137, 0,
358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
359 0, 0, 0, 0, 0, 138, 0, 139, 0, 0,
360 0, 0, 140, 141, 142, 143, 0, 0, 0, 0,
361 0, 144, 0, 0, 0, 145, 0, 0, 146, 147,
369t1_expert_encoding = [
370 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
371 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
373 0, 0, 1, 229, 230, 0, 231, 232, 233, 234,
374 235, 236, 237, 238, 13, 14, 15, 99, 239, 240,
376 241, 242, 243, 244, 245, 246, 247, 248, 27, 28,
377 249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
378 0, 0, 0, 258, 0, 0, 259, 260, 261, 262,
379 0, 0, 263, 264, 265, 0, 266, 109, 110, 267,
380 268, 269, 0, 270, 271, 272, 273, 274, 275, 276,
382 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
383 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
384 297, 298, 299, 300, 301, 302, 303, 0, 0, 0,
385 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
386 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
388 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
389 0, 304, 305, 306, 0, 0, 307, 308, 309, 310,
390 311, 0, 312, 0, 0, 313, 0, 0, 314, 315,
391 0, 0, 316, 317, 318, 0, 0, 0, 158, 155,
392 163, 319, 320, 321, 322, 323, 324, 325, 0, 0,
394 326, 150, 164, 169, 327, 328, 329, 330, 331, 332,
395 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
396 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
397 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
398 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
400 373, 374, 375, 376, 377, 378
408adobe_glyph_list =
"""\
427Acircumflexdotbelow;1EAC
429Acircumflexhookabove;1EA8
437Adieresiscyrillic;04D2
488Cheabkhasiancyrillic;04BC
490Chedescenderabkhasiancyrillic;04BE
491Chedescendercyrillic;04B6
492Chedieresiscyrillic;04F4
494Chekhakassiancyrillic;04CB
495Cheverticalstrokecyrillic;04B8
533Dzeabkhasiancyrillic;04E0
547Ecircumflexdotbelow;1EC6
549Ecircumflexhookabove;1EC2
566Eiotifiedcyrillic;0464
575Endescendercyrillic;04A2
585Ereversedcyrillic;042D
587Esdescendercyrillic;04AA
628Ghemiddlehookcyrillic;0494
629Ghestrokecyrillic;0492
630Gheupturncyrillic;0490
647Haabkhasiancyrillic;04A8
648Hadescendercyrillic;04B2
663Hungarumlautsmall;F6F8
680Idieresiscyrillic;04E4
709Izhitsadblgravecyrillic;0476
721Kabashkircyrillic;04A0
724Kadescendercyrillic;049A
728Kaverticalstrokecyrillic;049C
808Obarreddieresiscyrillic;04EA
815Ocircumflexdotbelow;1ED8
817Ocircumflexhookabove;1ED4
824Odieresiscyrillic;04E6
848Omegaroundcyrillic;047A
849Omegatitlocyrillic;047C
874Pemiddlehookcyrillic;04A6
907Rsmallinvertedsuperior;02B6
958Schwadieresiscyrillic;04DA
964Sdotbelowdotaccent;1E68
990Tedescendercyrillic;04AC
1019Ucircumflexbelow;1E76
1020Ucircumflexsmall;F7FB
1028Udieresiscyrillic;04F0
1043Uhungarumlautcyrillic;04F2
1053Upsilonacutehooksymbolgreek;03D3
1056Upsilondieresishooksymbolgreek;03D4
1057Upsilonhooksymbol;03D2
1062Ustraightcyrillic;04AE
1063Ustraightstrokecyrillic;04B0
1106Yerudieresiscyrillic;04F8
1117Yusbigiotifiedcyrillic;046C
1118Yuslittlecyrillic;0466
1119Yuslittleiotifiedcyrillic;0468
1131Zedescendercyrillic;0498
1132Zedieresiscyrillic;04DE
1135Zhebrevecyrillic;04C1
1137Zhedescendercyrillic;0496
1138Zhedieresiscyrillic;04DC
1151aavowelsignbengali;09BE
1153aavowelsigngujarati;0ABE
1154abbreviationmarkarmenian;055F
1155abbreviationsigndeva;0970
1168acircumflexacute;1EA5
1169acircumflexdotbelow;1EAD
1170acircumflexgrave;1EA7
1171acircumflexhookabove;1EA9
1172acircumflextilde;1EAB
1185adieresiscyrillic;04D3
1453aininitialarabic;FECB
1456aivowelsignbengali;09C8
1458aivowelsigngujarati;0AC8
1460akatakanahalfwidth;FF71
1464alefdageshhebrew;FB30
1466alefhamzaabovearabic;0623
1467alefhamzaabovefinalarabic;FE84
1468alefhamzabelowarabic;0625
1469alefhamzabelowfinalarabic;FE88
1472alefmaddaabovearabic;0622
1473alefmaddaabovefinalarabic;FE82
1474alefmaksuraarabic;0649
1475alefmaksurafinalarabic;FEF0
1476alefmaksurainitialarabic;FEF3
1477alefmaksuramedialarabic;FEF4
1479alefqamatshebrew;FB2F
1487ampersandmonospace;FF06
1494anglebracketleft;3008
1495anglebracketleftvertical;FE3F
1496anglebracketright;3009
1497anglebracketrightvertical;FE40
1505anusvaragujarati;0A82
1509apostrophearmenian;055A
1514approxequalorimage;2252
1515approximatelyequal;2245
1537arrowheaddownmod;02C5
1538arrowheadleftmod;02C2
1539arrowheadrightmod;02C3
1544arrowleftdblstroke;21CD
1545arrowleftoverright;21C6
1548arrowrightdblstroke;21CF
1550arrowrightoverleft;21C4
1559arrowupleftofdown;21C5
1564asciicircummonospace;FF3E
1566asciitildemonospace;FF5E
1571asmallkatakanahalfwidth;FF67
1573asteriskaltonearabic;066D
1576asteriskmonospace;FF0A
1580asymptoticallyequal;2243
1591aulengthmarkbengali;09D7
1593auvowelsignbengali;09CC
1595auvowelsigngujarati;0ACC
1599ayinaltonehebrew;FB20
1604backslashmonospace;FF3C
1617beamedsixteenthnotes;266C
1622behinitialarabic;FE91
1625behmeeminitialarabic;FC9F
1626behmeemisolatedarabic;FC08
1627behnoonfinalarabic;FC6D
1649blackdownpointingtriangle;25BC
1650blackleftpointingpointer;25C4
1651blackleftpointingtriangle;25C0
1652blacklenticularbracketleft;3010
1653blacklenticularbracketleftvertical;FE3B
1654blacklenticularbracketright;3011
1655blacklenticularbracketrightvertical;FE3C
1656blacklowerlefttriangle;25E3
1657blacklowerrighttriangle;25E2
1659blackrightpointingpointer;25BA
1660blackrightpointingtriangle;25B6
1661blacksmallsquare;25AA
1662blacksmilingface;263B
1665blackupperlefttriangle;25E4
1666blackupperrighttriangle;25E5
1667blackuppointingsmalltriangle;25B4
1668blackuppointingtriangle;25B2
1682braceleftmonospace;FF5B
1685braceleftvertical;FE37
1689bracerightmonospace;FF5D
1692bracerightvertical;FE38
1696bracketleftmonospace;FF3B
1701bracketrightmonospace;FF3D
1706breveinvertedbelowcmb;032F
1707breveinvertedcmb;0311
1708breveinverteddoublecmb;0361
1710bridgeinvertedbelowcmb;033A
1729candrabindubengali;0981
1732candrabindugujarati;0A81
1763cheabkhasiancyrillic;04BD
1766chedescenderabkhasiancyrillic;04BF
1767chedescendercyrillic;04B7
1768chedieresiscyrillic;04F5
1770chekhakassiancyrillic;04CC
1771cheverticalstrokecyrillic;04B9
1773chieuchacirclekorean;3277
1774chieuchaparenkorean;3217
1775chieuchcirclekorean;3269
1777chieuchparenkorean;3209
1783cieucacirclekorean;3276
1784cieucaparenkorean;3216
1785cieuccirclekorean;3268
1787cieucparenkorean;3208
1788cieucuparenkorean;321C
1793circlepostalmark;3036
1794circlewithlefthalfblack;25D0
1795circlewithrighthalfblack;25D1
1797circumflexbelowcmb;032D
1816colontriangularhalfmod;02D1
1817colontriangularmod;02D0
1820commaaboverightcmb;0315
1826commareversedabovecmb;0314
1827commareversedmod;02BD
1830commaturnedabovecmb;0312
1871cornerbracketleft;300C
1872cornerbracketlefthalfwidth;FF62
1873cornerbracketleftvertical;FE41
1874cornerbracketright;300D
1875cornerbracketrighthalfwidth;FF63
1876cornerbracketrightvertical;FE42
1877corporationsquare;337F
1896dadinitialarabic;FEBF
1909daletdageshhebrew;FB33
1910dalethatafpatah;05D3 05B2
1911dalethatafpatahhebrew;05D3 05B2
1912dalethatafsegol;05D3 05B1
1913dalethatafsegolhebrew;05D3 05B1
1916dalethiriqhebrew;05D3 05B4
1918daletholamhebrew;05D3 05B9
1920daletpatahhebrew;05D3 05B7
1921daletqamats;05D3 05B8
1922daletqamatshebrew;05D3 05B8
1923daletqubuts;05D3 05BB
1924daletqubutshebrew;05D3 05BB
1926daletsegolhebrew;05D3 05B6
1928daletshevahebrew;05D3 05B0
1930dalettserehebrew;05D3 05B5
1934dammatanaltonearabic;064C
1939dasiapneumatacyrilliccmb;0485
1941dblanglebracketleft;300A
1942dblanglebracketleftvertical;FE3D
1943dblanglebracketright;300B
1944dblanglebracketrightvertical;FE3E
1945dblarchinvertedbelowcmb;032B
1957dblverticallineabovecmb;030E
1963dcircumflexbelow;1E13
1978decimalseparatorarabic;066B
1979decimalseparatorpersian;066B
1990denominatorminusonenumeratorbengali;09F8
1998dialytikatonoscmb;0344
2000diamondsuitwhite;2662
2003dieresisbelowcmb;0324
2039dotlessjstrokehook;0284
2043doubleyodpatahhebrew;FB1F
2044downtackbelowcmb;031E
2056dzeabkhasiancyrillic;04E1
2067ecandravowelsigndeva;0945
2068ecandravowelsigngujarati;0AC5
2075ecircumflexacute;1EBF
2076ecircumflexbelow;1E19
2077ecircumflexdotbelow;1EC7
2078ecircumflexgrave;1EC1
2079ecircumflexhookabove;1EC3
2080ecircumflextilde;1EC5
2102eightcircleinversesansserif;2791
2111eighthnotebeamed;266B
2112eightideographicparen;3227
2123eiotifiedcyrillic;0465
2125ekatakanahalfwidth;FF74
2135ellipsisvertical;22EE
2143emphasismarkarmenian;055B
2149endescendercyrillic;04A3
2160eopenreversedclosed;025E
2161eopenreversedhook;025D
2173ereversedcyrillic;044D
2175esdescendercyrillic;04AB
2179eshortvowelsigndeva;0946
2181eshsquatreversed;0285
2184esmallkatakanahalfwidth;FF6A
2193etnahtafoukhhebrew;0591
2194etnahtafoukhlefthebrew;0591
2196etnahtalefthebrew;0591
2200evowelsignbengali;09C7
2202evowelsigngujarati;0AC7
2229fehinitialarabic;FED3
2245finalkafdageshhebrew;FB3A
2247finalkafqamats;05DA 05B8
2248finalkafqamatshebrew;05DA 05B8
2249finalkafsheva;05DA 05B0
2250finalkafshevahebrew;05DA 05B0
2258finaltsadihebrew;05E5
2259firsttonechinese;02C9
2266fivecircleinversesansserif;278E
2273fiveideographicparen;3224
2295fourcircleinversesansserif;278D
2301fourideographicparen;3223
2304fournumeratorbengali;09F7
2315fourthtonechinese;02CB
2325gafinitialarabic;FB94
2347geometricallyequal;2251
2348gereshaccenthebrew;059C
2350gereshmuqdamhebrew;059D
2352gershayimaccenthebrew;059E
2361ghainfinalarabic;FECE
2362ghaininitialarabic;FECF
2363ghainmedialarabic;FED0
2364ghemiddlehookcyrillic;0495
2365ghestrokecyrillic;0493
2366gheupturncyrillic;0491
2376gimeldageshhebrew;FB32
2379glottalinvertedstroke;01BE
2381glottalstopinverted;0296
2383glottalstopreversed;0295
2384glottalstopreversedmod;02C1
2385glottalstopreversedsuperior;02E4
2386glottalstopstroke;02A1
2387glottalstopstrokereversed;02A2
2405greaterequalorless;22DB
2406greatermonospace;FF1E
2407greaterorequivalent;2273
2409greateroverequal;2267
2422haabkhasiancyrillic;04A9
2425hadescendercyrillic;04B3
2431hahinitialarabic;FEA3
2436hakatakanahalfwidth;FF8A
2439hamzadammaarabic;0621 064F
2440hamzadammatanarabic;0621 064C
2441hamzafathaarabic;0621 064E
2442hamzafathatanarabic;0621 064B
2444hamzalowkasraarabic;0621 0650
2445hamzalowkasratanarabic;0621 064D
2446hamzasukunarabic;0621 0652
2448hardsigncyrillic;044A
2449harpoonleftbarbup;21BC
2450harpoonrightbarbup;21C0
2456hatafpatahhebrew;05B2
2457hatafpatahnarrowhebrew;05B2
2458hatafpatahquarterhebrew;05B2
2459hatafpatahwidehebrew;05B2
2464hatafqamatshebrew;05B3
2465hatafqamatsnarrowhebrew;05B3
2466hatafqamatsquarterhebrew;05B3
2467hatafqamatswidehebrew;05B3
2472hatafsegolhebrew;05B1
2473hatafsegolnarrowhebrew;05B1
2474hatafsegolquarterhebrew;05B1
2475hatafsegolwidehebrew;05B1
2494hehfinalaltonearabic;FBA7
2495hehfinalalttwoarabic;FEEA
2497hehhamzaabovefinalarabic;FBA5
2498hehhamzaaboveisolatedarabic;FBA4
2499hehinitialaltonearabic;FBA8
2500hehinitialarabic;FEEB
2502hehmedialaltonearabic;FBA9
2506hekatakanahalfwidth;FF8D
2514hieuhacirclekorean;327B
2515hieuhaparenkorean;321B
2516hieuhcirclekorean;326D
2518hieuhparenkorean;320D
2521hikatakanahalfwidth;FF8B
2527hiriqnarrowhebrew;05B4
2528hiriqquarterhebrew;05B4
2536hokatakanahalfwidth;FF8E
2542holamnarrowhebrew;05B9
2543holamquarterhebrew;05B9
2548hookpalatalizedbelowcmb;0321
2549hookretroflexbelowcmb;0322
2562hukatakanahalfwidth;FF8C
2583ideographearthcircle;328F
2584ideographfirecircle;328B
2585ideographicallianceparen;323F
2586ideographiccallparen;323A
2587ideographiccentrecircle;32A5
2588ideographicclose;3006
2589ideographiccomma;3001
2590ideographiccommaleft;FF64
2591ideographiccongratulationparen;3237
2592ideographiccorrectcircle;32A3
2593ideographicearthparen;322F
2594ideographicenterpriseparen;323D
2595ideographicexcellentcircle;329D
2596ideographicfestivalparen;3240
2597ideographicfinancialcircle;3296
2598ideographicfinancialparen;3236
2599ideographicfireparen;322B
2600ideographichaveparen;3232
2601ideographichighcircle;32A4
2602ideographiciterationmark;3005
2603ideographiclaborcircle;3298
2604ideographiclaborparen;3238
2605ideographicleftcircle;32A7
2606ideographiclowcircle;32A6
2607ideographicmedicinecircle;32A9
2608ideographicmetalparen;322E
2609ideographicmoonparen;322A
2610ideographicnameparen;3234
2611ideographicperiod;3002
2612ideographicprintcircle;329E
2613ideographicreachparen;3243
2614ideographicrepresentparen;3239
2615ideographicresourceparen;323E
2616ideographicrightcircle;32A8
2617ideographicsecretcircle;3299
2618ideographicselfparen;3242
2619ideographicsocietyparen;3233
2620ideographicspace;3000
2621ideographicspecialparen;3235
2622ideographicstockparen;3231
2623ideographicstudyparen;323B
2624ideographicsunparen;3230
2625ideographicsuperviseparen;323C
2626ideographicwaterparen;322C
2627ideographicwoodparen;322D
2629ideographmetalcircle;328E
2630ideographmooncircle;328A
2631ideographnamecircle;3294
2632ideographsuncircle;3290
2633ideographwatercircle;328C
2634ideographwoodcircle;328D
2638idieresiscyrillic;04E5
2642ieungacirclekorean;3275
2643ieungaparenkorean;3215
2644ieungcirclekorean;3267
2646ieungparenkorean;3207
2660iivowelsignbengali;09C0
2662iivowelsigngujarati;0AC0
2665ikatakanahalfwidth;FF72
2671imageorapproximatelyequal;2253
2692iotadieresistonos;0390
2699ismallkatakanahalfwidth;FF68
2703iterationhiragana;309D
2704iterationkatakana;30FD
2709ivowelsignbengali;09BF
2711ivowelsigngujarati;0ABF
2713izhitsadblgravecyrillic;0477
2729jeeminitialarabic;FE9F
2730jeemmedialarabic;FEA0
2743kabashkircyrillic;04A1
2747kadescendercyrillic;049B
2755kafinitialarabic;FEDB
2763kakatakanahalfwidth;FF76
2765kappasymbolgreek;03F0
2766kapyeounmieumkorean;3171
2767kapyeounphieuphkorean;3184
2768kapyeounpieupkorean;3178
2769kapyeounssangpieupkorean;3179
2771kashidaautoarabic;0640
2772kashidaautonosidebearingarabic;0640
2777kastrokecyrillic;049F
2778katahiraprolongmarkhalfwidth;FF70
2779kaverticalstrokecyrillic;049D
2790kekatakanahalfwidth;FF79
2801khahinitialarabic;FEA7
2802khahmedialarabic;FEA8
2806khieukhacirclekorean;3278
2807khieukhaparenkorean;3218
2808khieukhcirclekorean;326A
2810khieukhparenkorean;320A
2821kikatakanahalfwidth;FF77
2822kiroguramusquare;3315
2823kiromeetorusquare;3316
2825kiyeokacirclekorean;326E
2826kiyeokaparenkorean;320E
2827kiyeokcirclekorean;3260
2829kiyeokparenkorean;3200
2830kiyeoksioskorean;3133
2841kokatakanahalfwidth;FF7A
2844koreanstandardsymbol;327F
2853kukatakanahalfwidth;FF78
2863lamaleffinalarabic;FEFC
2864lamalefhamzaabovefinalarabic;FEF8
2865lamalefhamzaaboveisolatedarabic;FEF7
2866lamalefhamzabelowfinalarabic;FEFA
2867lamalefhamzabelowisolatedarabic;FEF9
2868lamalefisolatedarabic;FEFB
2869lamalefmaddaabovefinalarabic;FEF6
2870lamalefmaddaaboveisolatedarabic;FEF5
2876lameddageshhebrew;FB3C
2879lamedholamdagesh;05DC 05B9 05BC
2880lamedholamdageshhebrew;05DC 05B9 05BC
2881lamedholamhebrew;05DC 05B9
2883lamhahinitialarabic;FCCA
2884laminitialarabic;FEDF
2885lamjeeminitialarabic;FCC9
2886lamkhahinitialarabic;FCCB
2887lamlamhehisolatedarabic;FDF2
2889lammeemhahinitialarabic;FD88
2890lammeeminitialarabic;FCCC
2891lammeemjeeminitialarabic;FEDF FEE4 FEA0
2892lammeemkhahinitialarabic;FEDF FEE4 FEA8
2900lcircumflexbelow;1E3D
2906leftangleabovecmb;031A
2907lefttackbelowcmb;0318
2910lessequalorgreater;22DA
2912lessorequivalent;2272
2928llvocalicbengali;09E1
2930llvocalicvowelsignbengali;09E3
2931llvocalicvowelsigndeva;0963
2938logicalnotreversed;2310
2942lowlinecenterline;FE4E
2954lvocalicvowelsignbengali;09E2
2955lvocalicvowelsigndeva;0962
2969mahapakhlefthebrew;05A4
2971maichattawalowleftthai;F895
2972maichattawalowrightthai;F894
2974maichattawaupperleftthai;F893
2975maieklowleftthai;F88C
2976maieklowrightthai;F88B
2978maiekupperleftthai;F88A
2979maihanakatleftthai;F884
2981maitaikhuleftthai;F889
2983maitholowleftthai;F88F
2984maitholowrightthai;F88E
2986maithoupperleftthai;F88D
2987maitrilowleftthai;F892
2988maitrilowrightthai;F891
2990maitriupperleftthai;F890
2993makatakanahalfwidth;FF8F
2998masoracirclehebrew;05AF
3008meeminitialarabic;FEE3
3009meemmedialarabic;FEE4
3010meemmeeminitialarabic;FCD1
3011meemmeemisolatedarabic;FC48
3016mekatakanahalfwidth;FF92
3023merkhakefulahebrew;05A6
3024merkhakefulalefthebrew;05A6
3025merkhalefthebrew;05A5
3028middledotkatakanahalfwidth;FF65
3030mieumacirclekorean;3272
3031mieumaparenkorean;3212
3032mieumcirclekorean;3264
3034mieumpansioskorean;3170
3035mieumparenkorean;3204
3036mieumpieupkorean;316E
3040mikatakanahalfwidth;FF90
3057mokatakanahalfwidth;FF93
3061moverssquaredsquare;33A8
3077mukatakanahalfwidth;FF91
3103nakatakanahalfwidth;FF85
3111ncircumflexbelow;1E4B
3117nekatakanahalfwidth;FF88
3128nieunacirclekorean;326F
3129nieunaparenkorean;320F
3130nieuncieuckorean;3135
3131nieuncirclekorean;3261
3132nieunhieuhkorean;3136
3134nieunpansioskorean;3168
3135nieunparenkorean;3201
3137nieuntikeutkorean;3166
3140nikatakanahalfwidth;FF86
3141nikhahitleftthai;F899
3147ninecircleinversesansserif;2792
3153nineideographicparen;3228
3169nkatakanahalfwidth;FF9D
3181nokatakanahalfwidth;FF89
3182nonbreakingspace;00A0
3187noonghunnaarabic;06BA
3188noonghunnafinalarabic;FB9F
3189noonhehinitialarabic;FEE7 FEEC
3190nooninitialarabic;FEE7
3191noonjeeminitialarabic;FCD2
3192noonjeemisolatedarabic;FC4B
3193noonmedialarabic;FEE8
3194noonmeeminitialarabic;FCD5
3195noonmeemisolatedarabic;FC4E
3196noonnoonfinalarabic;FC8D
3202notgreaternorequal;2271
3203notgreaternorless;2279
3220nukatakanahalfwidth;FF87
3226numbersignmonospace;FF03
3228numeralsigngreek;0374
3229numeralsignlowergreek;0375
3246obarreddieresiscyrillic;04EB
3252ocandravowelsigndeva;0949
3253ocandravowelsigngujarati;0AC9
3257ocircumflexacute;1ED1
3258ocircumflexdotbelow;1ED9
3259ocircumflexgrave;1ED3
3260ocircumflexhookabove;1ED5
3261ocircumflextilde;1ED7
3267odieresiscyrillic;04E7
3288okatakanahalfwidth;FF75
3298omegalatinclosed;0277
3299omegaroundcyrillic;047B
3300omegatitlocyrillic;047D
3310onecircleinversesansserif;278A
3320oneideographicparen;3220
3323onenumeratorbengali;09F4
3345oshortvowelsigndeva;094A
3350osmallkatakanahalfwidth;FF6B
3359overlinecenterline;FE4A
3365ovowelsignbengali;09CB
3367ovowelsigngujarati;0ACB
3381palatalizationcyrilliccmb;0484
3382palochkacyrillic;04C0
3387parenleftaltonearabic;FD3E
3390parenleftinferior;208D
3391parenleftmonospace;FF08
3393parenleftsuperior;207D
3395parenleftvertical;FE35
3397parenrightaltonearabic;FD3F
3400parenrightinferior;208E
3401parenrightmonospace;FF09
3403parenrightsuperior;207E
3405parenrightvertical;FE36
3415patahnarrowhebrew;05B7
3416patahquarterhebrew;05B7
3427pefinaldageshhebrew;FB43
3432pehinitialarabic;FB58
3436pemiddlehookcyrillic;04A7
3440percentmonospace;FF05
3450perispomenigreekcmb;0342
3461phieuphacirclekorean;327A
3462phieuphaparenkorean;321A
3463phieuphcirclekorean;326C
3465phieuphparenkorean;320C
3474pieupacirclekorean;3273
3475pieupaparenkorean;3213
3476pieupcieuckorean;3176
3477pieupcirclekorean;3265
3478pieupkiyeokkorean;3172
3480pieupparenkorean;3205
3481pieupsioskiyeokkorean;3174
3483pieupsiostikeutkorean;3175
3484pieupthieuthkorean;3177
3485pieuptikeutkorean;3173
3501pointingindexdownwhite;261F
3502pointingindexleftwhite;261C
3503pointingindexrightwhite;261E
3504pointingindexupwhite;261D
3524psilipneumatacyrilliccmb;0486
3535qafinitialarabic;FED7
3546qamatsnarrowhebrew;05B8
3547qamatsqatanhebrew;05B8
3548qamatsqatannarrowhebrew;05B8
3549qamatsqatanquarterhebrew;05B8
3550qamatsqatanwidehebrew;05B8
3551qamatsquarterhebrew;05B8
3552qamatswidehebrew;05B8
3553qarneyparahebrew;059F
3561qofhatafpatah;05E7 05B2
3562qofhatafpatahhebrew;05E7 05B2
3563qofhatafsegol;05E7 05B1
3564qofhatafsegolhebrew;05E7 05B1
3567qofhiriqhebrew;05E7 05B4
3569qofholamhebrew;05E7 05B9
3571qofpatahhebrew;05E7 05B7
3573qofqamatshebrew;05E7 05B8
3575qofqubutshebrew;05E7 05BB
3577qofsegolhebrew;05E7 05B6
3579qofshevahebrew;05E7 05B0
3581qoftserehebrew;05E7 05B5
3589qubutsnarrowhebrew;05BB
3590qubutsquarterhebrew;05BB
3591qubutswidehebrew;05BB
3594questionarmenian;055E
3596questiondownsmall;F7BF
3598questionmonospace;FF1F
3603quotedblmonospace;FF02
3605quotedblprimereversed;301D
3608quoteleftreversed;201B
3614quotesinglemonospace;FF07
3623radoverssquaredsquare;33AF
3631rakatakanahalfwidth;FF97
3632ralowerdiagonalbengali;09F1
3633ramiddlediagonalbengali;09F0
3655rehyehaleflamarabic;0631 FEF3 FE8E 0644
3657rekatakanahalfwidth;FF9A
3659reshdageshhebrew;FB48
3660reshhatafpatah;05E8 05B2
3661reshhatafpatahhebrew;05E8 05B2
3662reshhatafsegol;05E8 05B1
3663reshhatafsegolhebrew;05E8 05B1
3666reshhiriqhebrew;05E8 05B4
3668reshholamhebrew;05E8 05B9
3670reshpatahhebrew;05E8 05B7
3672reshqamatshebrew;05E8 05B8
3674reshqubutshebrew;05E8 05BB
3676reshsegolhebrew;05E8 05B6
3678reshshevahebrew;05E8 05B0
3680reshtserehebrew;05E8 05B5
3683reviamugrashhebrew;0597
3686rfishhookreversed;027F
3692rhookturnedsuperior;02B5
3695rieulacirclekorean;3271
3696rieulaparenkorean;3211
3697rieulcirclekorean;3263
3698rieulhieuhkorean;3140
3699rieulkiyeokkorean;313A
3700rieulkiyeoksioskorean;3169
3702rieulmieumkorean;313B
3703rieulpansioskorean;316C
3704rieulparenkorean;3203
3705rieulphieuphkorean;313F
3706rieulpieupkorean;313C
3707rieulpieupsioskorean;316B
3709rieulthieuthkorean;313E
3710rieultikeutkorean;316A
3711rieulyeorinhieuhkorean;316D
3713righttackbelowcmb;0319
3717rikatakanahalfwidth;FF98
3722ringhalfleftarmenian;0559
3723ringhalfleftbelowcmb;031C
3724ringhalfleftcentered;02D3
3726ringhalfrightbelowcmb;0339
3727ringhalfrightcentered;02D2
3736rokatakanahalfwidth;FF9B
3744rrvocalicbengali;09E0
3746rrvocalicgujarati;0AE0
3747rrvocalicvowelsignbengali;09C4
3748rrvocalicvowelsigndeva;0944
3749rrvocalicvowelsigngujarati;0AC4
3756rukatakanahalfwidth;FF99
3757rupeemarkbengali;09F2
3758rupeesignbengali;09F3
3763rvocalicgujarati;0A8B
3764rvocalicvowelsignbengali;09C3
3765rvocalicvowelsigndeva;0943
3766rvocalicvowelsigngujarati;0AC3
3774sadinitialarabic;FEBB
3780sakatakanahalfwidth;FF7B
3781sallallahoualayhewasallamarabic;FDFA
3784samekhdageshhebrew;FB41
3788saraaimaimalaithai;0E44
3789saraaimaimuanthai;0E43
3810schwadieresiscyrillic;04DB
3817sdotbelowdotaccent;1E69
3820secondtonechinese;02CA
3824seeninitialarabic;FEB3
3825seenmedialarabic;FEB4
3831segolnarrowhebrew;05B6
3832segolquarterhebrew;05B6
3838sekatakanahalfwidth;FF7E
3841semicolonmonospace;FF1B
3843semivoicedmarkkana;309C
3844semivoicedmarkkanahalfwidth;FF9F
3851sevencircleinversesansserif;2790
3858sevenideographicparen;3226
3876shaddadammaarabic;FC61
3877shaddadammatanarabic;FC5E
3878shaddafathaarabic;FC60
3879shaddafathatanarabic;0651 064B
3880shaddakasraarabic;FC62
3881shaddakasratanarabic;FC5F
3889shalshelethebrew;0593
3893sheenfinalarabic;FEB6
3894sheeninitialarabic;FEB7
3895sheenmedialarabic;FEB8
3905shevanarrowhebrew;05B0
3906shevaquarterhebrew;05B0
3912shindageshhebrew;FB49
3913shindageshshindot;FB2C
3914shindageshshindothebrew;FB2C
3915shindageshsindot;FB2D
3916shindageshsindothebrew;FB2D
3920shinshindothebrew;FB2A
3922shinsindothebrew;FB2B
3927sigmalunatesymbolgreek;03F2
3930sikatakanahalfwidth;FF7C
3935siosacirclekorean;3274
3936siosaparenkorean;3214
3938sioscirclekorean;3266
3939sioskiyeokkorean;317A
3944siostikeutkorean;317C
3949sixcircleinversesansserif;278F
3955sixideographicparen;3225
3965sixteencurrencydenominatorbengali;09F9
3977softsigncyrillic;044C
3980sokatakanahalfwidth;FF7F
3981soliduslongoverlaycmb;0338
3982solidusshortoverlaycmb;0337
3996squarediagonalcrosshatchfill;25A9
3997squarehorizontalfill;25A4
4007squareorthogonalcrosshatchfill;25A6
4008squareupperlefttolowerrightfill;25A7
4009squareupperrighttolowerleftfill;25A8
4010squareverticalfill;25A5
4011squarewhitewithsmallblack;25A3
4016ssangcieuckorean;3149
4017ssanghieuhkorean;3185
4018ssangieungkorean;3180
4019ssangkiyeokkorean;3132
4020ssangnieunkorean;3165
4021ssangpieupkorean;3143
4023ssangtikeutkorean;3138
4026sterlingmonospace;FFE1
4027strokelongoverlaycmb;0336
4028strokeshortoverlaycmb;0335
4036sukatakanahalfwidth;FF7D
4041supersetnotequal;228B
4054tahinitialarabic;FEC3
4057taisyouerasquare;337D
4059takatakanahalfwidth;FF80
4073tchehfinalarabic;FB7B
4074tchehinitialarabic;FB7C
4075tchehmedialarabic;FB7D
4076tchehmeeminitialarabic;FB7C FEE4
4078tcircumflexbelow;1E71
4084tedescendercyrillic;04AD
4087tehhahinitialarabic;FCA2
4088tehhahisolatedarabic;FC0C
4089tehinitialarabic;FE97
4091tehjeeminitialarabic;FCA1
4092tehjeemisolatedarabic;FC0B
4093tehmarbutaarabic;0629
4094tehmarbutafinalarabic;FE94
4096tehmeeminitialarabic;FCA4
4097tehmeemisolatedarabic;FC0E
4098tehnoonfinalarabic;FC73
4100tekatakanahalfwidth;FF83
4103telishagedolahebrew;05A0
4104telishaqetanahebrew;05A9
4106tenideographicparen;3229
4124thanthakhatlowleftthai;F898
4125thanthakhatlowrightthai;F897
4127thanthakhatupperleftthai;F896
4130thehinitialarabic;FE9B
4131thehmedialarabic;FE9C
4136thetasymbolgreek;03D1
4137thieuthacirclekorean;3279
4138thieuthaparenkorean;3219
4139thieuthcirclekorean;326B
4141thieuthparenkorean;320B
4145thonangmonthothai;0E11
4153thousandcyrillic;0482
4154thousandsseparatorarabic;066C
4155thousandsseparatorpersian;066C
4160threecircleinversesansserif;278C
4167threeideographicparen;3222
4170threenumeratorbengali;09F6
4176threequartersemdash;F6DE
4183tikatakanahalfwidth;FF81
4184tikeutacirclekorean;3270
4185tikeutaparenkorean;3210
4186tikeutcirclekorean;3262
4188tikeutparenkorean;3202
4196tildeverticalcmb;033E
4199tipehalefthebrew;0596
4201titlocyrilliccmb;0483
4208tokatakanahalfwidth;FF84
4209tonebarextrahighmod;02E5
4210tonebarextralowmod;02E9
4220tortoiseshellbracketleft;3014
4221tortoiseshellbracketleftsmall;FE5D
4222tortoiseshellbracketleftvertical;FE39
4223tortoiseshellbracketright;3015
4224tortoiseshellbracketrightsmall;FE5E
4225tortoiseshellbracketrightvertical;FE3A
4240tsadidageshhebrew;FB46
4248tserenarrowhebrew;05B5
4249tserequarterhebrew;05B5
4259ttehinitialarabic;FB68
4260ttehmedialarabic;FB69
4268tukatakanahalfwidth;FF82
4271tusmallkatakanahalfwidth;FF6F
4284twocircleinversesansserif;278B
4288twodotleadervertical;FE30
4293twoideographicparen;3221
4296twonumeratorbengali;09F5
4315ucircumflexbelow;1E77
4325udieresiscyrillic;04F1
4341uhungarumlautcyrillic;04F3
4344ukatakanahalfwidth;FF73
4354underscoremonospace;FF3F
4355underscorevertical;FE33
4365upsilondieresistonos;03B0
4375usmallkatakanahalfwidth;FF69
4376ustraightcyrillic;04AF
4377ustraightstrokecyrillic;04B1
4386uuvowelsignbengali;09C2
4388uuvowelsigngujarati;0AC2
4389uvowelsignbengali;09C1
4391uvowelsigngujarati;0AC1
4411vehinitialarabic;FB6C
4416verticallineabovecmb;030D
4417verticallinebelowcmb;0329
4418verticallinelowmod;02CC
4431voicediterationhiragana;309E
4432voicediterationkatakana;30FE
4434voicedmarkkanahalfwidth;FF9E
4446wakatakanahalfwidth;FF9C
4452wavyunderscorevertical;FE34
4455wawhamzaabovearabic;0624
4456wawhamzaabovefinalarabic;FE86
4471whitecircleinverse;25D9
4472whitecornerbracketleft;300E
4473whitecornerbracketleftvertical;FE43
4474whitecornerbracketright;300F
4475whitecornerbracketrightvertical;FE44
4477whitediamondcontainingblacksmalldiamond;25C8
4478whitedownpointingsmalltriangle;25BF
4479whitedownpointingtriangle;25BD
4480whiteleftpointingsmalltriangle;25C3
4481whiteleftpointingtriangle;25C1
4482whitelenticularbracketleft;3016
4483whitelenticularbracketright;3017
4484whiterightpointingsmalltriangle;25B9
4485whiterightpointingtriangle;25B7
4486whitesmallsquare;25AB
4487whitesmilingface;263A
4491whitetortoiseshellbracketleft;3018
4492whitetortoiseshellbracketright;3019
4493whiteuppointingsmalltriangle;25B5
4494whiteuppointingtriangle;25B3
4501wokatakanahalfwidth;FF66
4531yakatakanahalfwidth;FF94
4536yasmallkatakanahalfwidth;FF6C
4545yehbarreefinalarabic;FBAF
4547yehhamzaabovearabic;0626
4548yehhamzaabovefinalarabic;FE8A
4549yehhamzaaboveinitialarabic;FE8B
4550yehhamzaabovemedialarabic;FE8C
4551yehinitialarabic;FEF3
4553yehmeeminitialarabic;FCDD
4554yehmeemisolatedarabic;FC58
4555yehnoonfinalarabic;FC94
4556yehthreedotsbelowarabic;06D1
4561yeorinhieuhkorean;3186
4562yerahbenyomohebrew;05AA
4563yerahbenyomolefthebrew;05AA
4565yerudieresiscyrillic;04F9
4567yesieungpansioskorean;3183
4568yesieungsioskorean;3182
4584yodyodpatahhebrew;FB1F
4588yokatakanahalfwidth;FF96
4592yosmallkatakanahalfwidth;FF6E
4600ypogegrammenigreekcmb;0345
4609yukatakanahalfwidth;FF95
4612yusbigiotifiedcyrillic;046D
4613yuslittlecyrillic;0467
4614yuslittleiotifiedcyrillic;0469
4617yusmallkatakanahalfwidth;FF6D
4629zahinitialarabic;FEC7
4635zaqefgadolhebrew;0595
4636zaqefqatanhebrew;0594
4640zayindageshhebrew;FB36
4651zedescendercyrillic;0499
4652zedieresiscyrillic;04DF
4669zerowidthnonjoiner;200C
4674zhebrevecyrillic;04C2
4676zhedescendercyrillic;0497
4677zhedieresiscyrillic;04DD
4897 def __init__(self, name_list, master_table_name):
4898 self.
names = name_list
4903 for name
in name_list:
4905 index += len(name) + 1
4909 def dump(self, file):
4911 write(
"#ifndef DEFINE_PS_TABLES_DATA\n")
4912 write(
"#ifdef __cplusplus\n")
4913 write(
' extern "C"\n')
4919 "[" + repr(self.
total) +
"]\n")
4920 write(
"#ifdef DEFINE_PS_TABLES_DATA\n")
4925 for name
in self.
names:
4927 line +=
"','".join(list(name))
4932 write(
"#endif /* DEFINE_PS_TABLES_DATA */\n")
4935 def dump_sublist(self, file, table_name, macro_name, sublist):
4937 write(
"#define " + macro_name +
" " + repr(len(sublist)) +
"\n\n")
4939 write(
" /* Values are offsets into the `" +
4941 write(
"#ifndef DEFINE_PS_TABLES_DATA\n")
4942 write(
"#ifdef __cplusplus\n")
4943 write(
' extern "C"\n')
4948 write(
" const short " + table_name +
4949 "[" + macro_name +
"]\n")
4950 write(
"#ifdef DEFINE_PS_TABLES_DATA\n")
4958 for name
in sublist:
4960 line +=
"%4d" % self.
indices[name]
4970 write(
"#endif /* DEFINE_PS_TABLES_DATA */\n")
5050 def __init__(self, letter, value):
5055 def __cmp__(self, other):
5056 return ord(self.
letter[0]) - ord(other.letter[0])
5058 def __lt__(self, other):
5059 return self.
letter[0] < other.letter[0]
5061 def add(self, word, value):
5075 child.add(word, value)
5079 children = list(self.
children.values())
5082 for child
in children:
5083 self.
children[child.letter[0]] = child.optimize()
5088 if (self.
value != 0)
or (
not children)
or len(children) > 1:
5093 self.
letter += child.letter
5094 self.
value = child.value
5099 def dump_debug(self, write, margin):
5101 line = margin +
"+-"
5102 if len(self.
letter) == 0:
5103 line +=
"<NOLETTER>"
5108 line +=
" => " + repr(self.
value)
5114 for child
in self.
children.values():
5115 child.dump_debug(write, margin)
5117 def locate(self, index):
5120 index += len(self.
letter) + 1
5127 children = list(self.
children.values())
5130 index += 2 * len(children)
5131 for child
in children:
5132 index = child.locate(index)
5136 def store(self, storage):
5138 length = len(self.
letter)
5140 storage += struct.pack(
"B", 0)
5142 for n
in range(length):
5143 val = ord(self.
letter[n])
5146 storage += struct.pack(
"B", val)
5149 children = list(self.
children.values())
5152 count = len(children)
5155 storage += struct.pack(
"!BH", count + 128, self.
value)
5157 storage += struct.pack(
"B", count)
5159 for child
in children:
5160 storage += struct.pack(
"!H", child.index)
5162 for child
in children:
5163 storage = child.store(storage)
5169 """return the list of glyph names and their unicode values"""
5171 lines = adobe_glyph_list.split(
"\n")
5177 fields = line.split(
';')
5179 subfields = fields[1].split(
' ')
5180 if len(subfields) == 1:
5181 glyphs.append(fields[0])
5182 values.append(fields[1])
5184 return glyphs, values
5188 """filter `alist' by taking _out_ all glyph names that are in `filter'"""
5195 filtered_index = filter.index(name)
5203 """dump a given encoding"""
5206 write(
" /* the following are indices into the SID name table */\n")
5207 write(
"#ifndef DEFINE_PS_TABLES_DATA\n")
5208 write(
"#ifdef __cplusplus\n")
5209 write(
' extern "C"\n')
5214 write(
" const unsigned short " + encoding_name +
5215 "[" + repr(len(encoding_list)) +
"]\n")
5216 write(
"#ifdef DEFINE_PS_TABLES_DATA\n")
5223 for value
in encoding_list:
5225 line +=
"%3d" % value
5235 write(
"#endif /* DEFINE_PS_TABLES_DATA */\n")
5240 """dumps a given encoding"""
5242 write(
"#ifndef DEFINE_PS_TABLES_DATA\n")
5243 write(
"#ifdef __cplusplus\n")
5244 write(
' extern "C"\n')
5249 write(
" const unsigned char " + array_name +
5250 "[" + repr(len(the_array)) +
"L]\n")
5251 write(
"#ifdef DEFINE_PS_TABLES_DATA\n")
5259 for value
in the_array:
5261 line +=
"%3d" % value
5269 if len(line) > 1024:
5276 write(
"#endif /* DEFINE_PS_TABLES_DATA */\n")
5281 """main program body"""
5283 if len(sys.argv) != 2:
5284 print(__doc__ % sys.argv[0])
5287 file = open(sys.argv[1],
"w")
5290 count_sid = len(sid_standard_names)
5301 mac_extras_count = len(mac_extras)
5302 base_list = mac_extras + sid_standard_names
5306 write(
" * %-71s\n" % os.path.basename(sys.argv[1]))
5308 write(
" * PostScript glyph names.\n")
5310 write(
" * Copyright 2005-2022 by\n")
5311 write(
" * David Turner, Robert Wilhelm, and Werner Lemberg.\n")
5313 write(
" * This file is part of the FreeType project, and may only be "
5315 write(
" * modified, and distributed under the terms of the FreeType "
5317 write(
" * license, LICENSE.TXT. By continuing to use, modify, or "
5319 write(
" * this file you indicate that you have read the license and\n")
5320 write(
" * understand and accept it fully.\n")
5325 write(
" /* This file has been generated automatically -- do not edit! */"
5332 st =
StringTable(base_list,
"ft_standard_glyph_names")
5335 st.dump_sublist(file,
"ft_mac_names",
5336 "FT_NUM_MAC_NAMES", mac_standard_names)
5337 st.dump_sublist(file,
"ft_sid_names",
5338 "FT_NUM_SID_NAMES", sid_standard_names)
5340 dump_encoding(file,
"t1_standard_encoding", t1_standard_encoding)
5341 dump_encoding(file,
"t1_expert_encoding", t1_expert_encoding)
5348 for g
in range(len(agl_glyphs)):
5349 dictionary.add(agl_glyphs[g], eval(
"0x" + agl_values[g]))
5351 dictionary = dictionary.optimize()
5352 dict_len = dictionary.locate(0)
5353 dict_array = dictionary.store(b
"")
5357 * This table is a compressed version of the Adobe Glyph List (AGL),
5358 * optimized for efficient searching. It has been generated by the
5359 * `glnames.py' python script located in the `src/tools' directory.
5361 * The lookup function to get the Unicode value for a given string
5362 * is defined below the table.
5365#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
5369 dump_array(dict_array, write,
"ft_adobe_glyph_list")
5374#ifdef DEFINE_PS_TABLES
5376 * This function searches the compressed table efficiently.
5378 static unsigned long
5379 ft_get_adobe_glyph_index( const char* name,
5383 int count, min, max;
5384 const unsigned char* p = ft_adobe_glyph_list;
5387 if ( name == 0 || name >= limit )
5399 int mid = ( min + max ) >> 1;
5400 const unsigned char* q = p + mid * 2;
5404 q = ft_adobe_glyph_list + ( ( (int)q[0] << 8 ) | q[1] );
5422 /* assert (*p & 127) == c */
5424 if ( name >= limit )
5426 if ( (p[0] & 128) == 0 &&
5428 return (unsigned long)( ( (int)p[2] << 8 ) | p[3] );
5436 if ( c != (p[0] & 127) )
5449 for ( ; count > 0; count--, p += 2 )
5451 int offset = ( (int)p[0] << 8 ) | p[1];
5452 const unsigned char* q = ft_adobe_glyph_list + offset;
5454 if ( c == ( q[0] & 127 ) )
5469#endif /* DEFINE_PS_TABLES */
5471#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */
5479 write(
"#ifdef TEST\n\n")
5481 write(
"static const char* const the_names[] = {\n")
5482 for name
in agl_glyphs:
5483 write(
' "' + name +
'",\n')
5486 write(
"static const unsigned long the_values[] = {\n")
5487 for val
in agl_values:
5488 write(
' 0x' + val +
',\n')
5500const char* const* names = the_names;
5501const unsigned long* values = the_values;
5504for ( ; *names; names++, values++ )
5506 const char* name = *names;
5507 unsigned long reference = *values;
5508 unsigned long value;
5511 value = ft_get_adobe_glyph_index( name, name + strlen( name ) );
5512 if ( value != reference )
5515 fprintf( stderr, "name '%s' => %04x instead of %04x\\n",
5516 name, value, reference );
5524 write(
"#endif /* TEST */\n")
5526 write(
"\n/* END */\n")
dump_array(the_array, write, array_name)
dump_encoding(file, encoding_name, encoding_list)
filter_glyph_names(alist, filter)