21 usage: %s <output-file> 23 This python script generates the glyph names tables defined in the 26 Its single argument is the name of the header file to be created. 30 import sys, string, struct, re, os.path
42 mac_standard_names = \
45 ".notdef",
".null",
"nonmarkingreturn",
"space",
"exclam",
46 "quotedbl",
"numbersign",
"dollar",
"percent",
"ampersand",
49 "quotesingle",
"parenleft",
"parenright",
"asterisk",
"plus",
50 "comma",
"hyphen",
"period",
"slash",
"zero",
53 "one",
"two",
"three",
"four",
"five",
54 "six",
"seven",
"eight",
"nine",
"colon",
57 "semicolon",
"less",
"equal",
"greater",
"question",
58 "at",
"A",
"B",
"C",
"D",
61 "E",
"F",
"G",
"H",
"I",
62 "J",
"K",
"L",
"M",
"N",
65 "O",
"P",
"Q",
"R", "S",
66 "T",
"U", "V", "W", "X",
69 "Y",
"Z",
"bracketleft",
"backslash",
"bracketright",
70 "asciicircum",
"underscore",
"grave",
"a",
"b",
73 "c",
"d",
"e",
"f",
"g",
74 "h",
"i",
"j",
"k",
"l",
77 "m",
"n",
"o",
"p",
"q",
78 "r", "s", "t", "
u", "v",
81 "w",
"x",
"y",
"z",
"braceleft",
82 "bar",
"braceright",
"asciitilde",
"Adieresis",
"Aring",
85 "Ccedilla",
"Eacute",
"Ntilde",
"Odieresis",
"Udieresis",
86 "aacute",
"agrave",
"acircumflex",
"adieresis",
"atilde",
89 "aring",
"ccedilla",
"eacute",
"egrave",
"ecircumflex",
90 "edieresis",
"iacute",
"igrave",
"icircumflex",
"idieresis",
93 "ntilde",
"oacute",
"ograve",
"ocircumflex",
"odieresis",
94 "otilde",
"uacute",
"ugrave",
"ucircumflex",
"udieresis",
97 "dagger",
"degree",
"cent",
"sterling",
"section",
98 "bullet",
"paragraph",
"germandbls",
"registered",
"copyright",
101 "trademark",
"acute",
"dieresis",
"notequal",
"AE",
102 "Oslash",
"infinity",
"plusminus",
"lessequal",
"greaterequal",
105 "yen",
"mu",
"partialdiff",
"summation",
"product",
106 "pi",
"integral",
"ordfeminine",
"ordmasculine",
"Omega",
109 "ae",
"oslash",
"questiondown",
"exclamdown",
"logicalnot",
110 "radical",
"florin",
"approxequal",
"Delta",
"guillemotleft",
113 "guillemotright",
"ellipsis",
"nonbreakingspace",
"Agrave",
"Atilde",
114 "Otilde",
"OE",
"oe",
"endash",
"emdash",
117 "quotedblleft",
"quotedblright",
"quoteleft",
"quoteright",
"divide",
118 "lozenge",
"ydieresis",
"Ydieresis",
"fraction",
"currency",
121 "guilsinglleft",
"guilsinglright",
"fi",
"fl",
"daggerdbl",
122 "periodcentered",
"quotesinglbase",
"quotedblbase",
"perthousand",
126 "Ecircumflex",
"Aacute",
"Edieresis",
"Egrave",
"Iacute",
127 "Icircumflex",
"Idieresis",
"Igrave",
"Oacute",
"Ocircumflex",
130 "apple",
"Ograve",
"Uacute",
"Ucircumflex",
"Ugrave",
131 "dotlessi",
"circumflex",
"tilde",
"macron",
"breve",
134 "dotaccent",
"ring",
"cedilla",
"hungarumlaut",
"ogonek",
135 "caron",
"Lslash",
"lslash",
"Scaron",
"scaron",
138 "Zcaron",
"zcaron",
"brokenbar",
"Eth",
"eth",
139 "Yacute",
"yacute",
"Thorn",
"thorn",
"minus",
142 "multiply",
"onesuperior",
"twosuperior",
"threesuperior",
"onehalf",
143 "onequarter",
"threequarters",
"franc",
"Gbreve",
"gbreve",
146 "Idotaccent",
"Scedilla",
"scedilla",
"Cacute",
"cacute",
147 "Ccaron",
"ccaron",
"dcroat" 156 sid_standard_names = \
159 ".notdef",
"space",
"exclam",
"quotedbl",
"numbersign",
160 "dollar",
"percent",
"ampersand",
"quoteright",
"parenleft",
163 "parenright",
"asterisk",
"plus",
"comma",
"hyphen",
164 "period",
"slash",
"zero",
"one",
"two",
167 "three",
"four",
"five",
"six",
"seven",
168 "eight",
"nine",
"colon",
"semicolon",
"less",
171 "equal",
"greater",
"question",
"at",
"A",
172 "B",
"C",
"D",
"E",
"F",
175 "G",
"H",
"I",
"J",
"K",
176 "L",
"M",
"N",
"O",
"P",
179 "Q",
"R", "S", "T", "
U", 180 "V",
"W",
"X",
"Y",
"Z",
183 "bracketleft",
"backslash",
"bracketright",
"asciicircum",
"underscore",
184 "quoteleft",
"a",
"b",
"c",
"d",
187 "e",
"f",
"g",
"h",
"i",
188 "j",
"k",
"l",
"m",
"n",
191 "o",
"p",
"q",
"r", "s",
192 "t",
"u", "v", "w", "x",
195 "y",
"z",
"braceleft",
"bar",
"braceright",
196 "asciitilde",
"exclamdown",
"cent",
"sterling",
"fraction",
199 "yen",
"florin",
"section",
"currency",
"quotesingle",
200 "quotedblleft",
"guillemotleft",
"guilsinglleft",
"guilsinglright",
"fi",
203 "fl",
"endash",
"dagger",
"daggerdbl",
"periodcentered",
204 "paragraph",
"bullet",
"quotesinglbase",
"quotedblbase",
"quotedblright",
207 "guillemotright",
"ellipsis",
"perthousand",
"questiondown",
"grave",
208 "acute",
"circumflex",
"tilde",
"macron",
"breve",
211 "dotaccent",
"dieresis",
"ring",
"cedilla",
"hungarumlaut",
212 "ogonek",
"caron",
"emdash",
"AE",
"ordfeminine",
215 "Lslash",
"Oslash",
"OE",
"ordmasculine",
"ae",
216 "dotlessi",
"lslash",
"oslash",
"oe",
"germandbls",
219 "onesuperior",
"logicalnot",
"mu",
"trademark",
"Eth",
220 "onehalf",
"plusminus",
"Thorn",
"onequarter",
"divide",
223 "brokenbar",
"degree",
"thorn",
"threequarters",
"twosuperior",
224 "registered",
"minus",
"eth",
"multiply",
"threesuperior",
227 "copyright",
"Aacute",
"Acircumflex",
"Adieresis",
"Agrave",
228 "Aring",
"Atilde",
"Ccedilla",
"Eacute",
"Ecircumflex",
231 "Edieresis",
"Egrave",
"Iacute",
"Icircumflex",
"Idieresis",
232 "Igrave",
"Ntilde",
"Oacute",
"Ocircumflex",
"Odieresis",
235 "Ograve",
"Otilde",
"Scaron",
"Uacute",
"Ucircumflex",
236 "Udieresis",
"Ugrave",
"Yacute",
"Ydieresis",
"Zcaron",
239 "aacute",
"acircumflex",
"adieresis",
"agrave",
"aring",
240 "atilde",
"ccedilla",
"eacute",
"ecircumflex",
"edieresis",
243 "egrave",
"iacute",
"icircumflex",
"idieresis",
"igrave",
244 "ntilde",
"oacute",
"ocircumflex",
"odieresis",
"ograve",
247 "otilde",
"scaron",
"uacute",
"ucircumflex",
"udieresis",
248 "ugrave",
"yacute",
"ydieresis",
"zcaron",
"exclamsmall",
251 "Hungarumlautsmall",
"dollaroldstyle",
"dollarsuperior",
"ampersandsmall",
253 "parenleftsuperior",
"parenrightsuperior",
"twodotenleader",
254 "onedotenleader",
"zerooldstyle",
257 "oneoldstyle",
"twooldstyle",
"threeoldstyle",
"fouroldstyle",
259 "sixoldstyle",
"sevenoldstyle",
"eightoldstyle",
"nineoldstyle",
263 "threequartersemdash",
"periodsuperior",
"questionsmall",
"asuperior",
265 "centsuperior",
"dsuperior",
"esuperior",
"isuperior",
"lsuperior",
268 "msuperior",
"nsuperior",
"osuperior",
"rsuperior",
"ssuperior",
269 "tsuperior",
"ff",
"ffi",
"ffl",
"parenleftinferior",
272 "parenrightinferior",
"Circumflexsmall",
"hyphensuperior",
"Gravesmall",
274 "Bsmall",
"Csmall",
"Dsmall",
"Esmall",
"Fsmall",
277 "Gsmall",
"Hsmall",
"Ismall",
"Jsmall",
"Ksmall",
278 "Lsmall",
"Msmall",
"Nsmall",
"Osmall",
"Psmall",
281 "Qsmall",
"Rsmall",
"Ssmall",
"Tsmall",
"Usmall",
282 "Vsmall",
"Wsmall",
"Xsmall",
"Ysmall",
"Zsmall",
285 "colonmonetary",
"onefitted",
"rupiah",
"Tildesmall",
"exclamdownsmall",
286 "centoldstyle",
"Lslashsmall",
"Scaronsmall",
"Zcaronsmall",
290 "Brevesmall",
"Caronsmall",
"Dotaccentsmall",
"Macronsmall",
"figuredash",
291 "hypheninferior",
"Ogoneksmall",
"Ringsmall",
"Cedillasmall",
295 "oneeighth",
"threeeighths",
"fiveeighths",
"seveneighths",
"onethird",
296 "twothirds",
"zerosuperior",
"foursuperior",
"fivesuperior",
300 "sevensuperior",
"eightsuperior",
"ninesuperior",
"zeroinferior",
302 "twoinferior",
"threeinferior",
"fourinferior",
"fiveinferior",
306 "seveninferior",
"eightinferior",
"nineinferior",
"centinferior",
308 "periodinferior",
"commainferior",
"Agravesmall",
"Aacutesmall",
312 "Atildesmall",
"Adieresissmall",
"Aringsmall",
"AEsmall",
"Ccedillasmall",
313 "Egravesmall",
"Eacutesmall",
"Ecircumflexsmall",
"Edieresissmall",
317 "Iacutesmall",
"Icircumflexsmall",
"Idieresissmall",
"Ethsmall",
319 "Ogravesmall",
"Oacutesmall",
"Ocircumflexsmall",
"Otildesmall",
323 "OEsmall",
"Oslashsmall",
"Ugravesmall",
"Uacutesmall",
325 "Udieresissmall",
"Yacutesmall",
"Thornsmall",
"Ydieresissmall",
329 "001.001",
"001.002",
"001.003",
"Black",
"Bold",
330 "Book",
"Light",
"Medium",
"Regular",
"Roman",
340 t1_standard_encoding = \
342 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
344 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
345 0, 0, 1, 2, 3, 4, 5, 6, 7, 8,
346 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
348 19, 20, 21, 22, 23, 24, 25, 26, 27, 28,
349 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
350 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
351 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
352 59, 60, 61, 62, 63, 64, 65, 66, 67, 68,
354 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
355 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
356 89, 90, 91, 92, 93, 94, 95, 0, 0, 0,
357 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
358 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
360 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361 0, 96, 97, 98, 99, 100, 101, 102, 103, 104,
362 105, 106, 107, 108, 109, 110, 0, 111, 112, 113,
363 114, 0, 115, 116, 117, 118, 119, 120, 121, 122,
364 0, 123, 0, 124, 125, 126, 127, 128, 129, 130,
366 131, 0, 132, 133, 0, 134, 135, 136, 137, 0,
367 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368 0, 0, 0, 0, 0, 138, 0, 139, 0, 0,
369 0, 0, 140, 141, 142, 143, 0, 0, 0, 0,
370 0, 144, 0, 0, 0, 145, 0, 0, 146, 147,
379 t1_expert_encoding = \
381 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
382 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
384 0, 0, 1, 229, 230, 0, 231, 232, 233, 234,
385 235, 236, 237, 238, 13, 14, 15, 99, 239, 240,
387 241, 242, 243, 244, 245, 246, 247, 248, 27, 28,
388 249, 250, 251, 252, 0, 253, 254, 255, 256, 257,
389 0, 0, 0, 258, 0, 0, 259, 260, 261, 262,
390 0, 0, 263, 264, 265, 0, 266, 109, 110, 267,
391 268, 269, 0, 270, 271, 272, 273, 274, 275, 276,
393 277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
394 287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
395 297, 298, 299, 300, 301, 302, 303, 0, 0, 0,
396 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
399 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400 0, 304, 305, 306, 0, 0, 307, 308, 309, 310,
401 311, 0, 312, 0, 0, 313, 0, 0, 314, 315,
402 0, 0, 316, 317, 318, 0, 0, 0, 158, 155,
403 163, 319, 320, 321, 322, 323, 324, 325, 0, 0,
405 326, 150, 164, 169, 327, 328, 329, 330, 331, 332,
406 333, 334, 335, 336, 337, 338, 339, 340, 341, 342,
407 343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
408 353, 354, 355, 356, 357, 358, 359, 360, 361, 362,
409 363, 364, 365, 366, 367, 368, 369, 370, 371, 372,
411 373, 374, 375, 376, 377, 378
420 adobe_glyph_list =
"""\ 438 Acircumflexacute;1EA4 439 Acircumflexdotbelow;1EAC 440 Acircumflexgrave;1EA6 441 Acircumflexhookabove;1EA8 442 Acircumflexsmall;F7E2 443 Acircumflextilde;1EAA 449 Adieresiscyrillic;04D2 500 Cheabkhasiancyrillic;04BC 502 Chedescenderabkhasiancyrillic;04BE 503 Chedescendercyrillic;04B6 504 Chedieresiscyrillic;04F4 506 Chekhakassiancyrillic;04CB 507 Cheverticalstrokecyrillic;04B8 522 Dcircumflexbelow;1E12 545 Dzeabkhasiancyrillic;04E0 557 Ecircumflexacute;1EBE 558 Ecircumflexbelow;1E18 559 Ecircumflexdotbelow;1EC6 560 Ecircumflexgrave;1EC0 561 Ecircumflexhookabove;1EC2 562 Ecircumflexsmall;F7EA 563 Ecircumflextilde;1EC4 578 Eiotifiedcyrillic;0464 587 Endescendercyrillic;04A2 597 Ereversedcyrillic;042D 599 Esdescendercyrillic;04AA 640 Ghemiddlehookcyrillic;0494 641 Ghestrokecyrillic;0492 642 Gheupturncyrillic;0490 659 Haabkhasiancyrillic;04A8 660 Hadescendercyrillic;04B2 661 Hardsigncyrillic;042A 675 Hungarumlautsmall;F6F8 687 Icircumflexsmall;F7EE 692 Idieresiscyrillic;04E4 721 Izhitsadblgravecyrillic;0476 733 Kabashkircyrillic;04A0 736 Kadescendercyrillic;049A 739 Kastrokecyrillic;049E 740 Kaverticalstrokecyrillic;049C 766 Lcircumflexbelow;1E3C 799 Ncircumflexbelow;1E4A 820 Obarreddieresiscyrillic;04EA 826 Ocircumflexacute;1ED0 827 Ocircumflexdotbelow;1ED8 828 Ocircumflexgrave;1ED2 829 Ocircumflexhookabove;1ED4 830 Ocircumflexsmall;F7F4 831 Ocircumflextilde;1ED6 836 Odieresiscyrillic;04E6 860 Omegaroundcyrillic;047A 861 Omegatitlocyrillic;047C 886 Pemiddlehookcyrillic;04A6 919 Rsmallinvertedsuperior;02B6 970 Schwadieresiscyrillic;04DA 976 Sdotbelowdotaccent;1E68 988 Softsigncyrillic;042C 997 Tcircumflexbelow;1E70 1002 Tedescendercyrillic;04AC 1031 Ucircumflexbelow;1E76 1032 Ucircumflexsmall;F7FB 1040 Udieresiscyrillic;04F0 1042 Udieresismacron;01D5 1055 Uhungarumlautcyrillic;04F2 1059 Umacroncyrillic;04EE 1060 Umacrondieresis;1E7A 1065 Upsilonacutehooksymbolgreek;03D3 1067 Upsilondieresis;03AB 1068 Upsilondieresishooksymbolgreek;03D4 1069 Upsilonhooksymbol;03D2 1074 Ustraightcyrillic;04AE 1075 Ustraightstrokecyrillic;04B0 1118 Yerudieresiscyrillic;04F8 1129 Yusbigiotifiedcyrillic;046C 1130 Yuslittlecyrillic;0466 1131 Yuslittleiotifiedcyrillic;0468 1143 Zedescendercyrillic;0498 1144 Zedieresiscyrillic;04DE 1147 Zhebrevecyrillic;04C1 1149 Zhedescendercyrillic;0496 1150 Zhedieresiscyrillic;04DC 1161 aamatragurmukhi;0A3E 1163 aavowelsignbengali;09BE 1164 aavowelsigndeva;093E 1165 aavowelsigngujarati;0ABE 1166 abbreviationmarkarmenian;055F 1167 abbreviationsigndeva;0970 1175 abrevehookabove;1EB3 1180 acircumflexacute;1EA5 1181 acircumflexdotbelow;1EAD 1182 acircumflexgrave;1EA7 1183 acircumflexhookabove;1EA9 1184 acircumflextilde;1EAB 1197 adieresiscyrillic;04D3 1198 adieresismacron;01DF 1462 aimatragurmukhi;0A48 1465 aininitialarabic;FECB 1466 ainmedialarabic;FECC 1468 aivowelsignbengali;09C8 1469 aivowelsigndeva;0948 1470 aivowelsigngujarati;0AC8 1472 akatakanahalfwidth;FF71 1476 alefdageshhebrew;FB30 1477 aleffinalarabic;FE8E 1478 alefhamzaabovearabic;0623 1479 alefhamzaabovefinalarabic;FE84 1480 alefhamzabelowarabic;0625 1481 alefhamzabelowfinalarabic;FE88 1483 aleflamedhebrew;FB4F 1484 alefmaddaabovearabic;0622 1485 alefmaddaabovefinalarabic;FE82 1486 alefmaksuraarabic;0649 1487 alefmaksurafinalarabic;FEF0 1488 alefmaksurainitialarabic;FEF3 1489 alefmaksuramedialarabic;FEF4 1490 alefpatahhebrew;FB2E 1491 alefqamatshebrew;FB2F 1499 ampersandmonospace;FF06 1506 anglebracketleft;3008 1507 anglebracketleftvertical;FE3F 1508 anglebracketright;3009 1509 anglebracketrightvertical;FE40 1515 anusvarabengali;0982 1517 anusvaragujarati;0A82 1521 apostrophearmenian;055A 1526 approxequalorimage;2252 1527 approximatelyequal;2245 1549 arrowheaddownmod;02C5 1550 arrowheadleftmod;02C2 1551 arrowheadrightmod;02C3 1556 arrowleftdblstroke;21CD 1557 arrowleftoverright;21C6 1560 arrowrightdblstroke;21CF 1561 arrowrightheavy;279E 1562 arrowrightoverleft;21C4 1563 arrowrightwhite;21E8 1569 arrowupdownbase;21A8 1571 arrowupleftofdown;21C5 1576 asciicircummonospace;FF3E 1578 asciitildemonospace;FF5E 1583 asmallkatakanahalfwidth;FF67 1585 asteriskaltonearabic;066D 1588 asteriskmonospace;FF0A 1592 asymptoticallyequal;2243 1603 aulengthmarkbengali;09D7 1604 aumatragurmukhi;0A4C 1605 auvowelsignbengali;09CC 1606 auvowelsigndeva;094C 1607 auvowelsigngujarati;0ACC 1611 ayinaltonehebrew;FB20 1616 backslashmonospace;FF3C 1629 beamedsixteenthnotes;266C 1634 behinitialarabic;FE91 1636 behmedialarabic;FE92 1637 behmeeminitialarabic;FC9F 1638 behmeemisolatedarabic;FC08 1639 behnoonfinalarabic;FC6D 1644 betasymbolgreek;03D0 1646 betdageshhebrew;FB31 1661 blackdownpointingtriangle;25BC 1662 blackleftpointingpointer;25C4 1663 blackleftpointingtriangle;25C0 1664 blacklenticularbracketleft;3010 1665 blacklenticularbracketleftvertical;FE3B 1666 blacklenticularbracketright;3011 1667 blacklenticularbracketrightvertical;FE3C 1668 blacklowerlefttriangle;25E3 1669 blacklowerrighttriangle;25E2 1671 blackrightpointingpointer;25BA 1672 blackrightpointingtriangle;25B6 1673 blacksmallsquare;25AA 1674 blacksmilingface;263B 1677 blackupperlefttriangle;25E4 1678 blackupperrighttriangle;25E5 1679 blackuppointingsmalltriangle;25B4 1680 blackuppointingtriangle;25B2 1694 braceleftmonospace;FF5B 1697 braceleftvertical;FE37 1701 bracerightmonospace;FF5D 1702 bracerightsmall;FE5C 1704 bracerightvertical;FE38 1708 bracketleftmonospace;FF3B 1713 bracketrightmonospace;FF3D 1718 breveinvertedbelowcmb;032F 1719 breveinvertedcmb;0311 1720 breveinverteddoublecmb;0361 1722 bridgeinvertedbelowcmb;033A 1741 candrabindubengali;0981 1743 candrabindudeva;0901 1744 candrabindugujarati;0A81 1775 cheabkhasiancyrillic;04BD 1778 chedescenderabkhasiancyrillic;04BF 1779 chedescendercyrillic;04B7 1780 chedieresiscyrillic;04F5 1782 chekhakassiancyrillic;04CC 1783 cheverticalstrokecyrillic;04B9 1785 chieuchacirclekorean;3277 1786 chieuchaparenkorean;3217 1787 chieuchcirclekorean;3269 1789 chieuchparenkorean;3209 1795 cieucacirclekorean;3276 1796 cieucaparenkorean;3216 1797 cieuccirclekorean;3268 1799 cieucparenkorean;3208 1800 cieucuparenkorean;321C 1805 circlepostalmark;3036 1806 circlewithlefthalfblack;25D0 1807 circlewithrighthalfblack;25D1 1809 circumflexbelowcmb;032D 1821 cmsquaredsquare;33A0 1828 colontriangularhalfmod;02D1 1829 colontriangularmod;02D0 1832 commaaboverightcmb;0315 1838 commareversedabovecmb;0314 1839 commareversedmod;02BD 1842 commaturnedabovecmb;0312 1846 contourintegral;222E 1883 cornerbracketleft;300C 1884 cornerbracketlefthalfwidth;FF62 1885 cornerbracketleftvertical;FE41 1886 cornerbracketright;300D 1887 cornerbracketrighthalfwidth;FF63 1888 cornerbracketrightvertical;FE42 1889 corporationsquare;337F 1908 dadinitialarabic;FEBF 1909 dadmedialarabic;FEC0 1921 daletdageshhebrew;FB33 1922 dalethatafpatah;05D3 05B2 1923 dalethatafpatahhebrew;05D3 05B2 1924 dalethatafsegol;05D3 05B1 1925 dalethatafsegolhebrew;05D3 05B1 1927 dalethiriq;05D3 05B4 1928 dalethiriqhebrew;05D3 05B4 1929 daletholam;05D3 05B9 1930 daletholamhebrew;05D3 05B9 1931 daletpatah;05D3 05B7 1932 daletpatahhebrew;05D3 05B7 1933 daletqamats;05D3 05B8 1934 daletqamatshebrew;05D3 05B8 1935 daletqubuts;05D3 05BB 1936 daletqubutshebrew;05D3 05BB 1937 daletsegol;05D3 05B6 1938 daletsegolhebrew;05D3 05B6 1939 daletsheva;05D3 05B0 1940 daletshevahebrew;05D3 05B0 1941 dalettsere;05D3 05B5 1942 dalettserehebrew;05D3 05B5 1946 dammatanaltonearabic;064C 1950 dargalefthebrew;05A7 1951 dasiapneumatacyrilliccmb;0485 1953 dblanglebracketleft;300A 1954 dblanglebracketleftvertical;FE3D 1955 dblanglebracketright;300B 1956 dblanglebracketrightvertical;FE3E 1957 dblarchinvertedbelowcmb;032B 1969 dblverticallineabovecmb;030E 1975 dcircumflexbelow;1E13 1982 ddalfinalarabic;FB89 1990 decimalseparatorarabic;066B 1991 decimalseparatorpersian;066B 2002 denominatorminusonenumeratorbengali;09F8 2010 dialytikatonoscmb;0344 2012 diamondsuitwhite;2662 2015 dieresisbelowcmb;0324 2038 dollarmonospace;FF04 2051 dotlessjstrokehook;0284 2055 doubleyodpatahhebrew;FB1F 2056 downtackbelowcmb;031E 2068 dzeabkhasiancyrillic;04E1 2078 ecandragujarati;0A8D 2079 ecandravowelsigndeva;0945 2080 ecandravowelsigngujarati;0AC5 2084 echyiwnarmenian;0587 2087 ecircumflexacute;1EBF 2088 ecircumflexbelow;1E19 2089 ecircumflexdotbelow;1EC7 2090 ecircumflexgrave;1EC1 2091 ecircumflexhookabove;1EC3 2092 ecircumflextilde;1EC5 2101 eematragurmukhi;0A47 2114 eightcircleinversesansserif;2791 2121 eighthackarabic;0668 2123 eighthnotebeamed;266B 2124 eightideographicparen;3227 2135 eiotifiedcyrillic;0465 2137 ekatakanahalfwidth;FF74 2138 ekonkargurmukhi;0A74 2147 ellipsisvertical;22EE 2155 emphasismarkarmenian;055B 2161 endescendercyrillic;04A3 2172 eopenreversedclosed;025E 2173 eopenreversedhook;025D 2185 ereversedcyrillic;044D 2187 esdescendercyrillic;04AB 2191 eshortvowelsigndeva;0946 2192 eshreversedloop;01AA 2193 eshsquatreversed;0285 2196 esmallkatakanahalfwidth;FF6A 2205 etnahtafoukhhebrew;0591 2206 etnahtafoukhlefthebrew;0591 2208 etnahtalefthebrew;0591 2212 evowelsignbengali;09C7 2214 evowelsigngujarati;0AC7 2219 exclamdownsmall;F7A1 2220 exclammonospace;FF01 2241 fehinitialarabic;FED3 2242 fehmedialarabic;FED4 2257 finalkafdageshhebrew;FB3A 2259 finalkafqamats;05DA 05B8 2260 finalkafqamatshebrew;05DA 05B8 2261 finalkafsheva;05DA 05B0 2262 finalkafshevahebrew;05DA 05B0 2270 finaltsadihebrew;05E5 2271 firsttonechinese;02C9 2278 fivecircleinversesansserif;278E 2285 fiveideographicparen;3224 2307 fourcircleinversesansserif;278D 2313 fourideographicparen;3223 2316 fournumeratorbengali;09F7 2327 fourthtonechinese;02CB 2337 gafinitialarabic;FB94 2338 gafmedialarabic;FB95 2344 gammalatinsmall;0263 2359 geometricallyequal;2251 2360 gereshaccenthebrew;059C 2362 gereshmuqdamhebrew;059D 2364 gershayimaccenthebrew;059E 2365 gershayimhebrew;05F4 2373 ghainfinalarabic;FECE 2374 ghaininitialarabic;FECF 2375 ghainmedialarabic;FED0 2376 ghemiddlehookcyrillic;0495 2377 ghestrokecyrillic;0493 2378 gheupturncyrillic;0491 2388 gimeldageshhebrew;FB32 2391 glottalinvertedstroke;01BE 2393 glottalstopinverted;0296 2395 glottalstopreversed;0295 2396 glottalstopreversedmod;02C1 2397 glottalstopreversedsuperior;02E4 2398 glottalstopstroke;02A1 2399 glottalstopstrokereversed;02A2 2417 greaterequalorless;22DB 2418 greatermonospace;FF1E 2419 greaterorequivalent;2273 2421 greateroverequal;2267 2434 haabkhasiancyrillic;04A9 2437 hadescendercyrillic;04B3 2443 hahinitialarabic;FEA3 2445 hahmedialarabic;FEA4 2448 hakatakanahalfwidth;FF8A 2451 hamzadammaarabic;0621 064F 2452 hamzadammatanarabic;0621 064C 2453 hamzafathaarabic;0621 064E 2454 hamzafathatanarabic;0621 064B 2456 hamzalowkasraarabic;0621 0650 2457 hamzalowkasratanarabic;0621 064D 2458 hamzasukunarabic;0621 0652 2460 hardsigncyrillic;044A 2461 harpoonleftbarbup;21BC 2462 harpoonrightbarbup;21C0 2468 hatafpatahhebrew;05B2 2469 hatafpatahnarrowhebrew;05B2 2470 hatafpatahquarterhebrew;05B2 2471 hatafpatahwidehebrew;05B2 2476 hatafqamatshebrew;05B3 2477 hatafqamatsnarrowhebrew;05B3 2478 hatafqamatsquarterhebrew;05B3 2479 hatafqamatswidehebrew;05B3 2484 hatafsegolhebrew;05B1 2485 hatafsegolnarrowhebrew;05B1 2486 hatafsegolquarterhebrew;05B1 2487 hatafsegolwidehebrew;05B1 2503 hehaltonearabic;06C1 2506 hehfinalaltonearabic;FBA7 2507 hehfinalalttwoarabic;FEEA 2509 hehhamzaabovefinalarabic;FBA5 2510 hehhamzaaboveisolatedarabic;FBA4 2511 hehinitialaltonearabic;FBA8 2512 hehinitialarabic;FEEB 2514 hehmedialaltonearabic;FBA9 2515 hehmedialarabic;FEEC 2516 heiseierasquare;337B 2518 hekatakanahalfwidth;FF8D 2519 hekutaarusquare;3336 2526 hieuhacirclekorean;327B 2527 hieuhaparenkorean;321B 2528 hieuhcirclekorean;326D 2530 hieuhparenkorean;320D 2533 hikatakanahalfwidth;FF8B 2539 hiriqnarrowhebrew;05B4 2540 hiriqquarterhebrew;05B4 2541 hiriqwidehebrew;05B4 2548 hokatakanahalfwidth;FF8E 2554 holamnarrowhebrew;05B9 2555 holamquarterhebrew;05B9 2556 holamwidehebrew;05B9 2560 hookpalatalizedbelowcmb;0321 2561 hookretroflexbelowcmb;0322 2574 hukatakanahalfwidth;FF8C 2576 hungarumlautcmb;030B 2580 hyphenmonospace;FF0D 2595 ideographearthcircle;328F 2596 ideographfirecircle;328B 2597 ideographicallianceparen;323F 2598 ideographiccallparen;323A 2599 ideographiccentrecircle;32A5 2600 ideographicclose;3006 2601 ideographiccomma;3001 2602 ideographiccommaleft;FF64 2603 ideographiccongratulationparen;3237 2604 ideographiccorrectcircle;32A3 2605 ideographicearthparen;322F 2606 ideographicenterpriseparen;323D 2607 ideographicexcellentcircle;329D 2608 ideographicfestivalparen;3240 2609 ideographicfinancialcircle;3296 2610 ideographicfinancialparen;3236 2611 ideographicfireparen;322B 2612 ideographichaveparen;3232 2613 ideographichighcircle;32A4 2614 ideographiciterationmark;3005 2615 ideographiclaborcircle;3298 2616 ideographiclaborparen;3238 2617 ideographicleftcircle;32A7 2618 ideographiclowcircle;32A6 2619 ideographicmedicinecircle;32A9 2620 ideographicmetalparen;322E 2621 ideographicmoonparen;322A 2622 ideographicnameparen;3234 2623 ideographicperiod;3002 2624 ideographicprintcircle;329E 2625 ideographicreachparen;3243 2626 ideographicrepresentparen;3239 2627 ideographicresourceparen;323E 2628 ideographicrightcircle;32A8 2629 ideographicsecretcircle;3299 2630 ideographicselfparen;3242 2631 ideographicsocietyparen;3233 2632 ideographicspace;3000 2633 ideographicspecialparen;3235 2634 ideographicstockparen;3231 2635 ideographicstudyparen;323B 2636 ideographicsunparen;3230 2637 ideographicsuperviseparen;323C 2638 ideographicwaterparen;322C 2639 ideographicwoodparen;322D 2640 ideographiczero;3007 2641 ideographmetalcircle;328E 2642 ideographmooncircle;328A 2643 ideographnamecircle;3294 2644 ideographsuncircle;3290 2645 ideographwatercircle;328C 2646 ideographwoodcircle;328D 2650 idieresiscyrillic;04E5 2652 iebrevecyrillic;04D7 2654 ieungacirclekorean;3275 2655 ieungaparenkorean;3215 2656 ieungcirclekorean;3267 2658 ieungparenkorean;3207 2669 iimatragurmukhi;0A40 2671 iishortcyrillic;0439 2672 iivowelsignbengali;09C0 2673 iivowelsigndeva;0940 2674 iivowelsigngujarati;0AC0 2677 ikatakanahalfwidth;FF72 2682 imacroncyrillic;04E3 2683 imageorapproximatelyequal;2253 2704 iotadieresistonos;0390 2711 ismallkatakanahalfwidth;FF68 2715 iterationhiragana;309D 2716 iterationkatakana;30FD 2721 ivowelsignbengali;09BF 2723 ivowelsigngujarati;0ABF 2724 izhitsacyrillic;0475 2725 izhitsadblgravecyrillic;0477 2740 jeemfinalarabic;FE9E 2741 jeeminitialarabic;FE9F 2742 jeemmedialarabic;FEA0 2755 kabashkircyrillic;04A1 2759 kadescendercyrillic;049B 2764 kafdageshhebrew;FB3B 2767 kafinitialarabic;FEDB 2768 kafmedialarabic;FEDC 2775 kakatakanahalfwidth;FF76 2777 kappasymbolgreek;03F0 2778 kapyeounmieumkorean;3171 2779 kapyeounphieuphkorean;3184 2780 kapyeounpieupkorean;3178 2781 kapyeounssangpieupkorean;3179 2783 kashidaautoarabic;0640 2784 kashidaautonosidebearingarabic;0640 2785 kasmallkatakana;30F5 2789 kastrokecyrillic;049F 2790 katahiraprolongmarkhalfwidth;FF70 2791 kaverticalstrokecyrillic;049D 2802 kekatakanahalfwidth;FF79 2804 kesmallkatakana;30F6 2812 khahfinalarabic;FEA6 2813 khahinitialarabic;FEA7 2814 khahmedialarabic;FEA8 2818 khieukhacirclekorean;3278 2819 khieukhaparenkorean;3218 2820 khieukhcirclekorean;326A 2822 khieukhparenkorean;320A 2833 kikatakanahalfwidth;FF77 2834 kiroguramusquare;3315 2835 kiromeetorusquare;3316 2837 kiyeokacirclekorean;326E 2838 kiyeokaparenkorean;320E 2839 kiyeokcirclekorean;3260 2841 kiyeokparenkorean;3200 2842 kiyeoksioskorean;3133 2848 kmsquaredsquare;33A2 2853 kokatakanahalfwidth;FF7A 2856 koreanstandardsymbol;327F 2865 kukatakanahalfwidth;FF78 2874 lakkhangyaothai;0E45 2875 lamaleffinalarabic;FEFC 2876 lamalefhamzaabovefinalarabic;FEF8 2877 lamalefhamzaaboveisolatedarabic;FEF7 2878 lamalefhamzabelowfinalarabic;FEFA 2879 lamalefhamzabelowisolatedarabic;FEF9 2880 lamalefisolatedarabic;FEFB 2881 lamalefmaddaabovefinalarabic;FEF6 2882 lamalefmaddaaboveisolatedarabic;FEF5 2888 lameddageshhebrew;FB3C 2890 lamedholam;05DC 05B9 2891 lamedholamdagesh;05DC 05B9 05BC 2892 lamedholamdageshhebrew;05DC 05B9 05BC 2893 lamedholamhebrew;05DC 05B9 2895 lamhahinitialarabic;FCCA 2896 laminitialarabic;FEDF 2897 lamjeeminitialarabic;FCC9 2898 lamkhahinitialarabic;FCCB 2899 lamlamhehisolatedarabic;FDF2 2900 lammedialarabic;FEE0 2901 lammeemhahinitialarabic;FD88 2902 lammeeminitialarabic;FCCC 2903 lammeemjeeminitialarabic;FEDF FEE4 FEA0 2904 lammeemkhahinitialarabic;FEDF FEE4 FEA8 2912 lcircumflexbelow;1E3D 2917 ldotbelowmacron;1E39 2918 leftangleabovecmb;031A 2919 lefttackbelowcmb;0318 2922 lessequalorgreater;22DA 2924 lessorequivalent;2272 2940 llvocalicbengali;09E1 2942 llvocalicvowelsignbengali;09E3 2943 llvocalicvowelsigndeva;0963 2950 logicalnotreversed;2310 2954 lowlinecenterline;FE4E 2964 lvocalicbengali;098C 2966 lvocalicvowelsignbengali;09E2 2967 lvocalicvowelsigndeva;0962 2975 macronmonospace;FFE3 2981 mahapakhlefthebrew;05A4 2983 maichattawalowleftthai;F895 2984 maichattawalowrightthai;F894 2985 maichattawathai;0E4B 2986 maichattawaupperleftthai;F893 2987 maieklowleftthai;F88C 2988 maieklowrightthai;F88B 2990 maiekupperleftthai;F88A 2991 maihanakatleftthai;F884 2993 maitaikhuleftthai;F889 2995 maitholowleftthai;F88F 2996 maitholowrightthai;F88E 2998 maithoupperleftthai;F88D 2999 maitrilowleftthai;F892 3000 maitrilowrightthai;F891 3002 maitriupperleftthai;F890 3005 makatakanahalfwidth;FF8F 3010 masoracirclehebrew;05AF 3019 meemfinalarabic;FEE2 3020 meeminitialarabic;FEE3 3021 meemmedialarabic;FEE4 3022 meemmeeminitialarabic;FCD1 3023 meemmeemisolatedarabic;FC48 3028 mekatakanahalfwidth;FF92 3031 memdageshhebrew;FB3E 3035 merkhakefulahebrew;05A6 3036 merkhakefulalefthebrew;05A6 3037 merkhalefthebrew;05A5 3040 middledotkatakanahalfwidth;FF65 3042 mieumacirclekorean;3272 3043 mieumaparenkorean;3212 3044 mieumcirclekorean;3264 3046 mieumpansioskorean;3170 3047 mieumparenkorean;3204 3048 mieumpieupkorean;316E 3049 mieumsioskorean;316F 3052 mikatakanahalfwidth;FF90 3059 miribaarusquare;334A 3065 mmsquaredsquare;339F 3069 mokatakanahalfwidth;FF93 3073 moverssquaredsquare;33A8 3089 mukatakanahalfwidth;FF91 3094 munahlefthebrew;05A3 3115 nakatakanahalfwidth;FF85 3123 ncircumflexbelow;1E4B 3129 nekatakanahalfwidth;FF88 3140 nieunacirclekorean;326F 3141 nieunaparenkorean;320F 3142 nieuncieuckorean;3135 3143 nieuncirclekorean;3261 3144 nieunhieuhkorean;3136 3146 nieunpansioskorean;3168 3147 nieunparenkorean;3201 3148 nieunsioskorean;3167 3149 nieuntikeutkorean;3166 3152 nikatakanahalfwidth;FF86 3153 nikhahitleftthai;F899 3159 ninecircleinversesansserif;2792 3165 nineideographicparen;3228 3181 nkatakanahalfwidth;FF9D 3193 nokatakanahalfwidth;FF89 3194 nonbreakingspace;00A0 3198 noonfinalarabic;FEE6 3199 noonghunnaarabic;06BA 3200 noonghunnafinalarabic;FB9F 3201 noonhehinitialarabic;FEE7 FEEC 3202 nooninitialarabic;FEE7 3203 noonjeeminitialarabic;FCD2 3204 noonjeemisolatedarabic;FC4B 3205 noonmedialarabic;FEE8 3206 noonmeeminitialarabic;FCD5 3207 noonmeemisolatedarabic;FC4E 3208 noonnoonfinalarabic;FC8D 3214 notgreaternorequal;2271 3215 notgreaternorless;2279 3218 notlessnorequal;2270 3232 nukatakanahalfwidth;FF87 3238 numbersignmonospace;FF03 3239 numbersignsmall;FE5F 3240 numeralsigngreek;0374 3241 numeralsignlowergreek;0375 3245 nundageshhebrew;FB40 3257 obarredcyrillic;04E9 3258 obarreddieresiscyrillic;04EB 3263 ocandragujarati;0A91 3264 ocandravowelsigndeva;0949 3265 ocandravowelsigngujarati;0AC9 3269 ocircumflexacute;1ED1 3270 ocircumflexdotbelow;1ED9 3271 ocircumflexgrave;1ED3 3272 ocircumflexhookabove;1ED5 3273 ocircumflextilde;1ED7 3279 odieresiscyrillic;04E7 3300 okatakanahalfwidth;FF75 3310 omegalatinclosed;0277 3311 omegaroundcyrillic;047B 3312 omegatitlocyrillic;047D 3322 onecircleinversesansserif;278A 3332 oneideographicparen;3220 3335 onenumeratorbengali;09F4 3348 oomatragurmukhi;0A4B 3357 oshortvowelsigndeva;094A 3362 osmallkatakanahalfwidth;FF6B 3371 overlinecenterline;FE4A 3374 overlinedblwavy;FE4C 3377 ovowelsignbengali;09CB 3379 ovowelsigngujarati;0ACB 3393 palatalizationcyrilliccmb;0484 3394 palochkacyrillic;04C0 3399 parenleftaltonearabic;FD3E 3402 parenleftinferior;208D 3403 parenleftmonospace;FF08 3405 parenleftsuperior;207D 3407 parenleftvertical;FE35 3409 parenrightaltonearabic;FD3F 3412 parenrightinferior;208E 3413 parenrightmonospace;FF09 3414 parenrightsmall;FE5A 3415 parenrightsuperior;207E 3417 parenrightvertical;FE36 3427 patahnarrowhebrew;05B7 3428 patahquarterhebrew;05B7 3429 patahwidehebrew;05B7 3439 pefinaldageshhebrew;FB43 3444 pehinitialarabic;FB58 3446 pehmedialarabic;FB59 3448 pemiddlehookcyrillic;04A7 3452 percentmonospace;FF05 3457 periodhalfwidth;FF61 3459 periodmonospace;FF0E 3462 perispomenigreekcmb;0342 3473 phieuphacirclekorean;327A 3474 phieuphaparenkorean;321A 3475 phieuphcirclekorean;326C 3477 phieuphparenkorean;320C 3486 pieupacirclekorean;3273 3487 pieupaparenkorean;3213 3488 pieupcieuckorean;3176 3489 pieupcirclekorean;3265 3490 pieupkiyeokkorean;3172 3492 pieupparenkorean;3205 3493 pieupsioskiyeokkorean;3174 3494 pieupsioskorean;3144 3495 pieupsiostikeutkorean;3175 3496 pieupthieuthkorean;3177 3497 pieuptikeutkorean;3173 3513 pointingindexdownwhite;261F 3514 pointingindexleftwhite;261C 3515 pointingindexrightwhite;261E 3516 pointingindexupwhite;261D 3536 psilipneumatacyrilliccmb;0486 3547 qafinitialarabic;FED7 3548 qafmedialarabic;FED8 3558 qamatsnarrowhebrew;05B8 3559 qamatsqatanhebrew;05B8 3560 qamatsqatannarrowhebrew;05B8 3561 qamatsqatanquarterhebrew;05B8 3562 qamatsqatanwidehebrew;05B8 3563 qamatsquarterhebrew;05B8 3564 qamatswidehebrew;05B8 3565 qarneyparahebrew;059F 3572 qofdageshhebrew;FB47 3573 qofhatafpatah;05E7 05B2 3574 qofhatafpatahhebrew;05E7 05B2 3575 qofhatafsegol;05E7 05B1 3576 qofhatafsegolhebrew;05E7 05B1 3579 qofhiriqhebrew;05E7 05B4 3581 qofholamhebrew;05E7 05B9 3583 qofpatahhebrew;05E7 05B7 3585 qofqamatshebrew;05E7 05B8 3587 qofqubutshebrew;05E7 05BB 3589 qofsegolhebrew;05E7 05B6 3591 qofshevahebrew;05E7 05B0 3593 qoftserehebrew;05E7 05B5 3601 qubutsnarrowhebrew;05BB 3602 qubutsquarterhebrew;05BB 3603 qubutswidehebrew;05BB 3606 questionarmenian;055E 3608 questiondownsmall;F7BF 3610 questionmonospace;FF1F 3615 quotedblmonospace;FF02 3617 quotedblprimereversed;301D 3620 quoteleftreversed;201B 3626 quotesinglemonospace;FF07 3635 radoverssquaredsquare;33AF 3643 rakatakanahalfwidth;FF97 3644 ralowerdiagonalbengali;09F1 3645 ramiddlediagonalbengali;09F0 3656 rdotbelowmacron;1E5D 3667 rehyehaleflamarabic;0631 FEF3 FE8E 0644 3669 rekatakanahalfwidth;FF9A 3671 reshdageshhebrew;FB48 3672 reshhatafpatah;05E8 05B2 3673 reshhatafpatahhebrew;05E8 05B2 3674 reshhatafsegol;05E8 05B1 3675 reshhatafsegolhebrew;05E8 05B1 3678 reshhiriqhebrew;05E8 05B4 3680 reshholamhebrew;05E8 05B9 3682 reshpatahhebrew;05E8 05B7 3683 reshqamats;05E8 05B8 3684 reshqamatshebrew;05E8 05B8 3685 reshqubuts;05E8 05BB 3686 reshqubutshebrew;05E8 05BB 3688 reshsegolhebrew;05E8 05B6 3690 reshshevahebrew;05E8 05B0 3692 reshtserehebrew;05E8 05B5 3695 reviamugrashhebrew;0597 3698 rfishhookreversed;027F 3704 rhookturnedsuperior;02B5 3707 rieulacirclekorean;3271 3708 rieulaparenkorean;3211 3709 rieulcirclekorean;3263 3710 rieulhieuhkorean;3140 3711 rieulkiyeokkorean;313A 3712 rieulkiyeoksioskorean;3169 3714 rieulmieumkorean;313B 3715 rieulpansioskorean;316C 3716 rieulparenkorean;3203 3717 rieulphieuphkorean;313F 3718 rieulpieupkorean;313C 3719 rieulpieupsioskorean;316B 3720 rieulsioskorean;313D 3721 rieulthieuthkorean;313E 3722 rieultikeutkorean;316A 3723 rieulyeorinhieuhkorean;316D 3725 righttackbelowcmb;0319 3729 rikatakanahalfwidth;FF98 3734 ringhalfleftarmenian;0559 3735 ringhalfleftbelowcmb;031C 3736 ringhalfleftcentered;02D3 3738 ringhalfrightbelowcmb;0339 3739 ringhalfrightcentered;02D2 3748 rokatakanahalfwidth;FF9B 3755 rrehfinalarabic;FB8D 3756 rrvocalicbengali;09E0 3758 rrvocalicgujarati;0AE0 3759 rrvocalicvowelsignbengali;09C4 3760 rrvocalicvowelsigndeva;0944 3761 rrvocalicvowelsigngujarati;0AC4 3765 rturnedsuperior;02B4 3768 rukatakanahalfwidth;FF99 3769 rupeemarkbengali;09F2 3770 rupeesignbengali;09F3 3773 rvocalicbengali;098B 3775 rvocalicgujarati;0A8B 3776 rvocalicvowelsignbengali;09C3 3777 rvocalicvowelsigndeva;0943 3778 rvocalicvowelsigngujarati;0AC3 3782 sacutedotaccent;1E65 3786 sadinitialarabic;FEBB 3787 sadmedialarabic;FEBC 3792 sakatakanahalfwidth;FF7B 3793 sallallahoualayhewasallamarabic;FDFA 3796 samekhdageshhebrew;FB41 3800 saraaimaimalaithai;0E44 3801 saraaimaimuanthai;0E43 3810 saraueeleftthai;F888 3818 scarondotaccent;1E67 3822 schwadieresiscyrillic;04DB 3829 sdotbelowdotaccent;1E69 3830 seagullbelowcmb;033C 3832 secondtonechinese;02CA 3835 seenfinalarabic;FEB2 3836 seeninitialarabic;FEB3 3837 seenmedialarabic;FEB4 3843 segolnarrowhebrew;05B6 3844 segolquarterhebrew;05B6 3846 segolwidehebrew;05B6 3850 sekatakanahalfwidth;FF7E 3852 semicolonarabic;061B 3853 semicolonmonospace;FF1B 3855 semivoicedmarkkana;309C 3856 semivoicedmarkkanahalfwidth;FF9F 3863 sevencircleinversesansserif;2790 3868 sevenhackarabic;0667 3870 sevenideographicparen;3226 3879 seventeencircle;2470 3881 seventeenperiod;2498 3888 shaddadammaarabic;FC61 3889 shaddadammatanarabic;FC5E 3890 shaddafathaarabic;FC60 3891 shaddafathatanarabic;0651 064B 3892 shaddakasraarabic;FC62 3893 shaddakasratanarabic;FC5F 3901 shalshelethebrew;0593 3905 sheenfinalarabic;FEB6 3906 sheeninitialarabic;FEB7 3907 sheenmedialarabic;FEB8 3917 shevanarrowhebrew;05B0 3918 shevaquarterhebrew;05B0 3919 shevawidehebrew;05B0 3924 shindageshhebrew;FB49 3925 shindageshshindot;FB2C 3926 shindageshshindothebrew;FB2C 3927 shindageshsindot;FB2D 3928 shindageshsindothebrew;FB2D 3932 shinshindothebrew;FB2A 3934 shinsindothebrew;FB2B 3939 sigmalunatesymbolgreek;03F2 3942 sikatakanahalfwidth;FF7C 3944 siluqlefthebrew;05BD 3947 siosacirclekorean;3274 3948 siosaparenkorean;3214 3949 sioscieuckorean;317E 3950 sioscirclekorean;3266 3951 sioskiyeokkorean;317A 3953 siosnieunkorean;317B 3954 siosparenkorean;3206 3955 siospieupkorean;317D 3956 siostikeutkorean;317C 3961 sixcircleinversesansserif;278F 3967 sixideographicparen;3225 3977 sixteencurrencydenominatorbengali;09F9 3989 softsigncyrillic;044C 3992 sokatakanahalfwidth;FF7F 3993 soliduslongoverlaycmb;0338 3994 solidusshortoverlaycmb;0337 4000 spacehackarabic;0020 4008 squarediagonalcrosshatchfill;25A9 4009 squarehorizontalfill;25A4 4012 squarekmcapital;33CE 4019 squareorthogonalcrosshatchfill;25A6 4020 squareupperlefttolowerrightfill;25A7 4021 squareupperrighttolowerleftfill;25A8 4022 squareverticalfill;25A5 4023 squarewhitewithsmallblack;25A3 4028 ssangcieuckorean;3149 4029 ssanghieuhkorean;3185 4030 ssangieungkorean;3180 4031 ssangkiyeokkorean;3132 4032 ssangnieunkorean;3165 4033 ssangpieupkorean;3143 4034 ssangsioskorean;3146 4035 ssangtikeutkorean;3138 4038 sterlingmonospace;FFE1 4039 strokelongoverlaycmb;0336 4040 strokeshortoverlaycmb;0335 4048 sukatakanahalfwidth;FF7D 4053 supersetnotequal;228B 4054 supersetorequal;2287 4056 syouwaerasquare;337C 4066 tahinitialarabic;FEC3 4068 tahmedialarabic;FEC4 4069 taisyouerasquare;337D 4071 takatakanahalfwidth;FF80 4077 tavdageshhebrew;FB4A 4085 tchehfinalarabic;FB7B 4086 tchehinitialarabic;FB7C 4087 tchehmedialarabic;FB7D 4088 tchehmeeminitialarabic;FB7C FEE4 4090 tcircumflexbelow;1E71 4096 tedescendercyrillic;04AD 4099 tehhahinitialarabic;FCA2 4100 tehhahisolatedarabic;FC0C 4101 tehinitialarabic;FE97 4103 tehjeeminitialarabic;FCA1 4104 tehjeemisolatedarabic;FC0B 4105 tehmarbutaarabic;0629 4106 tehmarbutafinalarabic;FE94 4107 tehmedialarabic;FE98 4108 tehmeeminitialarabic;FCA4 4109 tehmeemisolatedarabic;FC0E 4110 tehnoonfinalarabic;FC73 4112 tekatakanahalfwidth;FF83 4115 telishagedolahebrew;05A0 4116 telishaqetanahebrew;05A9 4118 tenideographicparen;3229 4125 tetdageshhebrew;FB38 4129 tevirlefthebrew;059B 4135 thalfinalarabic;FEAC 4136 thanthakhatlowleftthai;F898 4137 thanthakhatlowrightthai;F897 4138 thanthakhatthai;0E4C 4139 thanthakhatupperleftthai;F896 4141 thehfinalarabic;FE9A 4142 thehinitialarabic;FE9B 4143 thehmedialarabic;FE9C 4148 thetasymbolgreek;03D1 4149 thieuthacirclekorean;3279 4150 thieuthaparenkorean;3219 4151 thieuthcirclekorean;326B 4153 thieuthparenkorean;320B 4157 thonangmonthothai;0E11 4165 thousandcyrillic;0482 4166 thousandsseparatorarabic;066C 4167 thousandsseparatorpersian;066C 4172 threecircleinversesansserif;278C 4177 threehackarabic;0663 4179 threeideographicparen;3222 4182 threenumeratorbengali;09F6 4188 threequartersemdash;F6DE 4195 tikatakanahalfwidth;FF81 4196 tikeutacirclekorean;3270 4197 tikeutaparenkorean;3210 4198 tikeutcirclekorean;3262 4200 tikeutparenkorean;3202 4207 tildeoverlaycmb;0334 4208 tildeverticalcmb;033E 4211 tipehalefthebrew;0596 4213 titlocyrilliccmb;0483 4220 tokatakanahalfwidth;FF84 4221 tonebarextrahighmod;02E5 4222 tonebarextralowmod;02E9 4232 tortoiseshellbracketleft;3014 4233 tortoiseshellbracketleftsmall;FE5D 4234 tortoiseshellbracketleftvertical;FE39 4235 tortoiseshellbracketright;3015 4236 tortoiseshellbracketrightsmall;FE5E 4237 tortoiseshellbracketrightvertical;FE3A 4252 tsadidageshhebrew;FB46 4260 tserenarrowhebrew;05B5 4261 tserequarterhebrew;05B5 4262 tserewidehebrew;05B5 4270 ttehfinalarabic;FB67 4271 ttehinitialarabic;FB68 4272 ttehmedialarabic;FB69 4280 tukatakanahalfwidth;FF82 4281 tusmallhiragana;3063 4282 tusmallkatakana;30C3 4283 tusmallkatakanahalfwidth;FF6F 4296 twocircleinversesansserif;278B 4300 twodotleadervertical;FE30 4305 twoideographicparen;3221 4308 twonumeratorbengali;09F5 4327 ucircumflexbelow;1E77 4337 udieresiscyrillic;04F1 4339 udieresismacron;01D6 4353 uhungarumlautcyrillic;04F3 4356 ukatakanahalfwidth;FF73 4360 umacroncyrillic;04EF 4361 umacrondieresis;1E7B 4366 underscoremonospace;FF3F 4367 underscorevertical;FE33 4376 upsilondieresis;03CB 4377 upsilondieresistonos;03B0 4387 usmallkatakanahalfwidth;FF69 4388 ustraightcyrillic;04AF 4389 ustraightstrokecyrillic;04B1 4397 uumatragurmukhi;0A42 4398 uuvowelsignbengali;09C2 4399 uuvowelsigndeva;0942 4400 uuvowelsigngujarati;0AC2 4401 uvowelsignbengali;09C1 4403 uvowelsigngujarati;0AC1 4412 vavdageshhebrew;FB35 4423 vehinitialarabic;FB6C 4424 vehmedialarabic;FB6D 4428 verticallineabovecmb;030D 4429 verticallinebelowcmb;0329 4430 verticallinelowmod;02CC 4431 verticallinemod;02C8 4440 visargagujarati;0A83 4443 voicediterationhiragana;309E 4444 voicediterationkatakana;30FE 4446 voicedmarkkanahalfwidth;FF9E 4458 wakatakanahalfwidth;FF9C 4460 wasmallhiragana;308E 4461 wasmallkatakana;30EE 4464 wavyunderscorevertical;FE34 4467 wawhamzaabovearabic;0624 4468 wawhamzaabovefinalarabic;FE86 4483 whitecircleinverse;25D9 4484 whitecornerbracketleft;300E 4485 whitecornerbracketleftvertical;FE43 4486 whitecornerbracketright;300F 4487 whitecornerbracketrightvertical;FE44 4489 whitediamondcontainingblacksmalldiamond;25C8 4490 whitedownpointingsmalltriangle;25BF 4491 whitedownpointingtriangle;25BD 4492 whiteleftpointingsmalltriangle;25C3 4493 whiteleftpointingtriangle;25C1 4494 whitelenticularbracketleft;3016 4495 whitelenticularbracketright;3017 4496 whiterightpointingsmalltriangle;25B9 4497 whiterightpointingtriangle;25B7 4498 whitesmallsquare;25AB 4499 whitesmilingface;263A 4503 whitetortoiseshellbracketleft;3018 4504 whitetortoiseshellbracketright;3019 4505 whiteuppointingsmalltriangle;25B5 4506 whiteuppointingtriangle;25B3 4513 wokatakanahalfwidth;FF66 4543 yakatakanahalfwidth;FF94 4546 yasmallhiragana;3083 4547 yasmallkatakana;30E3 4548 yasmallkatakanahalfwidth;FF6C 4556 yehbarreearabic;06D2 4557 yehbarreefinalarabic;FBAF 4559 yehhamzaabovearabic;0626 4560 yehhamzaabovefinalarabic;FE8A 4561 yehhamzaaboveinitialarabic;FE8B 4562 yehhamzaabovemedialarabic;FE8C 4563 yehinitialarabic;FEF3 4564 yehmedialarabic;FEF4 4565 yehmeeminitialarabic;FCDD 4566 yehmeemisolatedarabic;FC58 4567 yehnoonfinalarabic;FC94 4568 yehthreedotsbelowarabic;06D1 4573 yeorinhieuhkorean;3186 4574 yerahbenyomohebrew;05AA 4575 yerahbenyomolefthebrew;05AA 4577 yerudieresiscyrillic;04F9 4579 yesieungpansioskorean;3183 4580 yesieungsioskorean;3182 4593 yoddageshhebrew;FB39 4596 yodyodpatahhebrew;FB1F 4600 yokatakanahalfwidth;FF96 4602 yosmallhiragana;3087 4603 yosmallkatakana;30E7 4604 yosmallkatakanahalfwidth;FF6E 4612 ypogegrammenigreekcmb;0345 4621 yukatakanahalfwidth;FF95 4624 yusbigiotifiedcyrillic;046D 4625 yuslittlecyrillic;0467 4626 yuslittleiotifiedcyrillic;0469 4627 yusmallhiragana;3085 4628 yusmallkatakana;30E5 4629 yusmallkatakanahalfwidth;FF6D 4641 zahinitialarabic;FEC7 4643 zahmedialarabic;FEC8 4645 zainfinalarabic;FEB0 4647 zaqefgadolhebrew;0595 4648 zaqefqatanhebrew;0594 4652 zayindageshhebrew;FB36 4663 zedescendercyrillic;0499 4664 zedieresiscyrillic;04DF 4680 zerowidthjoiner;FEFF 4681 zerowidthnonjoiner;200C 4686 zhebrevecyrillic;04C2 4688 zhedescendercyrillic;0497 4689 zhedieresiscyrillic;04DD 4915 for name
in name_list:
4917 index += len( name ) + 1
4924 "[" + repr( self.
total ) +
"] =\n" )
4928 for name
in self.
names:
4930 line += string.join( ( re.findall(
".", name ) ),
"','" )
4933 write( line +
" };\n\n\n" )
4937 write(
"#define " + macro_name +
" " + repr( len( sublist ) ) +
"\n\n" )
4939 write(
" /* Values are offsets into the `" +
4941 write(
" static const short " + table_name +
4942 "[" + macro_name +
"] =\n" )
4949 for name
in sublist:
4951 line +=
"%4d" % self.
indices[name]
4958 write( line +
"\n };\n\n\n" )
5043 return ord( self.
letter[0] ) - ord( other.letter[0] )
5046 if len( word ) == 0:
5053 if self.
children.has_key( letter ):
5059 child.add( word, value )
5066 for child
in children:
5067 self.
children[child.letter[0]] = child.optimize()
5072 if ( self.
value != 0 )
or (
not children )
or len( children ) > 1:
5077 self.
letter += child.letter
5078 self.
value = child.value
5085 line = margin +
"+-" 5086 if len( self.
letter ) == 0:
5087 line +=
"<NOLETTER>" 5092 line +=
" => " + repr( self.
value )
5094 write( line +
"\n" )
5098 for child
in self.
children.values():
5099 child.dump_debug( write, margin )
5103 if len( self.
letter ) > 0:
5104 index += len( self.
letter ) + 1
5114 index += 2 * len( children )
5115 for child
in children:
5116 index = child.locate( index )
5124 storage += struct.pack(
"B", 0 )
5126 for n
in range( l ):
5127 val = ord( self.
letter[n] )
5130 storage += struct.pack(
"B", val )
5136 count = len( children )
5139 storage += struct.pack(
"!BH", count + 128, self.
value )
5141 storage += struct.pack(
"B", count )
5143 for child
in children:
5144 storage += struct.pack(
"!H", child.index )
5146 for child
in children:
5147 storage = child.store( storage )
5153 """return the list of glyph names and their unicode values""" 5155 lines = string.split( adobe_glyph_list,
'\n' )
5161 fields = string.split( line,
';' )
5163 subfields = string.split( fields[1],
' ' )
5164 if len( subfields ) == 1:
5165 glyphs.append( fields[0] )
5166 values.append( fields[1] )
5168 return glyphs, values
5172 """filter `alist' by taking _out_ all glyph names that are in `filter'""" 5179 filtered_index = filter.index( name )
5181 extras.append( name )
5187 """dump a given encoding""" 5190 write(
" /* the following are indices into the SID name table */\n" )
5191 write(
" static const unsigned short " + encoding_name +
5192 "[" + repr( len( encoding_list ) ) +
"] =\n" )
5198 for value
in encoding_list:
5200 line +=
"%3d" % value
5207 write( line +
"\n };\n\n\n" )
5211 """dumps a given encoding""" 5213 write(
" static const unsigned char " + array_name +
5214 "[" + repr( len( the_array ) ) +
"L] =\n" )
5221 for value
in the_array:
5223 line +=
"%3d" % ord( value )
5231 if len( line ) > 1024:
5235 write( line +
"\n };\n\n\n" )
5239 """main program body""" 5241 if len( sys.argv ) != 2:
5242 print __doc__ % sys.argv[0]
5245 file =
open( sys.argv[1],
"w\n" )
5248 count_sid = len( sid_standard_names )
5259 mac_extras_count = len( mac_extras )
5260 base_list = mac_extras + sid_standard_names
5262 write(
"/***************************************************************************/\n" )
5265 write(
"/* %-71s*/\n" % os.path.basename( sys.argv[1] ) )
5268 write(
"/* PostScript glyph names. */\n" )
5270 write(
"/* Copyright 2005, 2008, 2011 by */\n" )
5271 write(
"/* David Turner, Robert Wilhelm, and Werner Lemberg. */\n" )
5273 write(
"/* This file is part of the FreeType project, and may only be used, */\n" )
5274 write(
"/* modified, and distributed under the terms of the FreeType project */\n" )
5275 write(
"/* license, LICENSE.TXT. By continuing to use, modify, or distribute */\n" )
5276 write(
"/* this file you indicate that you have read the license and */\n" )
5277 write(
"/* understand and accept it fully. */\n" )
5279 write(
"/***************************************************************************/\n" )
5282 write(
" /* This file has been generated automatically -- do not edit! */\n" )
5288 st =
StringTable( base_list,
"ft_standard_glyph_names" )
5291 st.dump_sublist( file,
"ft_mac_names",
5292 "FT_NUM_MAC_NAMES", mac_standard_names )
5293 st.dump_sublist( file,
"ft_sid_names",
5294 "FT_NUM_SID_NAMES", sid_standard_names )
5296 dump_encoding( file,
"t1_standard_encoding", t1_standard_encoding )
5297 dump_encoding( file,
"t1_expert_encoding", t1_expert_encoding )
5304 for g
in range( len( agl_glyphs ) ):
5305 dict.add( agl_glyphs[g], eval(
"0x" + agl_values[g] ) )
5307 dict = dict.optimize()
5308 dict_len = dict.locate( 0 )
5309 dict_array = dict.store(
"" )
5313 * This table is a compressed version of the Adobe Glyph List (AGL), 5314 * optimized for efficient searching. It has been generated by the 5315 * `glnames.py' python script located in the `src/tools' directory. 5317 * The lookup function to get the Unicode value for a given string 5318 * is defined below the table. 5321 #ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST 5325 dump_array( dict_array, write,
"ft_adobe_glyph_list" )
5331 * This function searches the compressed table efficiently. 5333 static unsigned long 5334 ft_get_adobe_glyph_index( const char* name, 5338 int count, min, max; 5339 const unsigned char* p = ft_adobe_glyph_list; 5342 if ( name == 0 || name >= limit ) 5354 int mid = ( min + max ) >> 1; 5355 const unsigned char* q = p + mid * 2; 5359 q = ft_adobe_glyph_list + ( ( (int)q[0] << 8 ) | q[1] ); 5377 /* assert (*p & 127) == c */ 5379 if ( name >= limit ) 5381 if ( (p[0] & 128) == 0 && 5383 return (unsigned long)( ( (int)p[2] << 8 ) | p[3] ); 5391 if ( c != (p[0] & 127) ) 5404 for ( ; count > 0; count--, p += 2 ) 5406 int offset = ( (int)p[0] << 8 ) | p[1]; 5407 const unsigned char* q = ft_adobe_glyph_list + offset; 5409 if ( c == ( q[0] & 127 ) ) 5425 #endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */ 5433 write(
"#ifdef TEST\n\n" )
5435 write(
"static const char* const the_names[] = {\n" )
5436 for name
in agl_glyphs:
5437 write(
' "' + name +
'",\n' )
5440 write(
"static const unsigned long the_values[] = {\n" )
5441 for val
in agl_values:
5442 write(
' 0x' + val +
',\n' )
5453 const char* const* names = the_names; 5454 const unsigned long* values = the_values; 5457 for ( ; *names; names++, values++ ) 5459 const char* name = *names; 5460 unsigned long reference = *values; 5461 unsigned long value; 5464 value = ft_get_adobe_glyph_index( name, name + strlen( name ) ); 5465 if ( value != reference ) 5468 fprintf( stderr, "name '%s' => %04x instead of %04x\\n", 5469 name, value, reference ); 5477 write(
"#endif /* TEST */\n" )
5479 write(
"\n/* END */\n")
def dump_array(the_array, write, array_name)
int write(int fd, const char *buf, int nbytes)
def __init__(self, letter, value)
def __init__(self, name_list, master_table_name)
def dump_debug(self, write, margin)
int open(const char *name, int flags, int mode)
def filter_glyph_names(alist, filter)
def add(self, word, value)
def dump_encoding(file, encoding_name, encoding_list)
def dump_sublist(self, file, table_name, macro_name, sublist)