| #!/usr/bin/env python |
| # |
| |
| # |
| # FreeType 2 glyph name builder |
| # |
| |
| |
| # Copyright 1996-2000 by |
| # David Turner, Robert Wilhelm, and Werner Lemberg. |
| # |
| # This file is part of the FreeType project, and may only be used, modified, |
| # and distributed under the terms of the FreeType project license, |
| # LICENSE.TXT. By continuing to use, modify, or distribute this file you |
| # indicate that you have read the license and understand and accept it |
| # fully. |
| |
| |
| """\ |
| |
| usage: %s <output-file> |
| |
| This very simple python script is used to generate the glyph names |
| tables defined in the PSNames module. |
| |
| Its single argument is the name of the header file to be created. |
| """ |
| |
| |
| import sys, string |
| |
| |
| # This table is used to name the glyph according to the Macintosh |
| # specification. It is used by the TrueType Postscript names table |
| # |
| # see http://fonts.apple.com/TTRefMan/RM06/Chap6post.html |
| # for the official list |
| # |
| mac_standard_names = \ |
| [ |
| # 0 |
| ".notdef", ".null", "nonmarkingreturn", "space", "exclam", |
| "quotedbl", "numbersign", "dollar", "percent", "ampersand", |
| |
| # 10 |
| "quotesingle", "parenleft", "parenright", "asterisk", "plus", |
| "comma", "hyphen", "period", "slash", "zero", |
| |
| # 20 |
| "one", "two", "three", "four", "five", |
| "six", "seven", "eight", "nine", "colon", |
| |
| # 30 |
| "semicolon", "less", "equal", "greater", "question", |
| "at", "A", "B", "C", "D", |
| |
| # 40 |
| "E", "F", "G", "H", "I", |
| "J", "K", "L", "M", "N", |
| |
| # 50 |
| "O", "P", "Q", "R", "S", |
| "T", "U", "V", "W", "X", |
| |
| # 60 |
| "Y", "Z", "bracketleft", "backslash", "bracketright", |
| "asciicircum", "underscore", "grave", "a", "b", |
| |
| # 70 |
| "c", "d", "e", "f", "g", |
| "h", "i", "j", "k", "l", |
| |
| # 80 |
| "m", "n", "o", "p", "q", |
| "r", "s", "t", "u", "v", |
| |
| # 90 |
| "w", "x", "y", "z", "braceleft", |
| "bar", "braceright", "asciitilde", "Adieresis", "Aring", |
| |
| # 100 |
| "Ccedilla", "Eacute", "Ntilde", "Odieresis", "Udieresis", |
| "aacute", "agrave", "acircumflex", "adieresis", "atilde", |
| |
| # 110 |
| "aring", "ccedilla", "eacute", "egrave", "ecircumflex", |
| "edieresis", "iacute", "igrave", "icircumflex", "idieresis", |
| |
| # 120 |
| "ntilde", "oacute", "ograve", "ocircumflex", "odieresis", |
| "otilde", "uacute", "ugrave", "ucircumflex", "udieresis", |
| |
| # 130 |
| "dagger", "degree", "cent", "sterling", "section", |
| "bullet", "paragraph", "germandbls", "registered", "copyright", |
| |
| # 140 |
| "trademark", "acute", "dieresis", "notequal", "AE", |
| "Oslash", "infinity", "plusminus", "lessequal", "greaterequal", |
| |
| # 150 |
| "yen", "mu", "partialdiff", "summation", "product", |
| "pi", "integral", "ordfeminine", "ordmasculine", "Omega", |
| |
| # 160 |
| "ae", "oslash", "questiondown", "exclamdown", "logicalnot", |
| "radical", "florin", "approxequal", "Delta", "guillemotleft", |
| |
| # 170 |
| "guillemotright", "ellipsis", "nonbreakingspace", "Agrave", "Atilde", |
| "Otilde", "OE", "oe", "endash", "emdash", |
| |
| # 180 |
| "quotedblleft", "quotedblright", "quoteleft", "quoteright", "divide", |
| "lozenge", "ydieresis", "Ydieresis", "fraction", "currency", |
| |
| # 190 |
| "guilsinglleft", "guilsinglright", "fi", "fl", "daggerdbl", |
| "periodcentered", "quotesinglbase", "quotedblbase", "perthousand", |
| "Acircumflex", |
| |
| # 200 |
| "Ecircumflex", "Aacute", "Edieresis", "Egrave", "Iacute", |
| "Icircumflex", "Idieresis", "Igrave", "Oacute", "Ocircumflex", |
| |
| # 210 |
| "apple", "Ograve", "Uacute", "Ucircumflex", "Ugrave", |
| "dotlessi", "circumflex", "tilde", "macron", "breve", |
| |
| # 220 |
| "dotaccent", "ring", "cedilla", "hungarumlaut", "ogonek", |
| "caron", "Lslash", "lslash", "Scaron", "scaron", |
| |
| # 230 |
| "Zcaron", "zcaron", "brokenbar", "Eth", "eth", |
| "Yacute", "yacute", "Thorn", "thorn", "minus", |
| |
| # 240 |
| "multiply", "onesuperior", "twosuperior", "threesuperior", "onehalf", |
| "onequarter", "threequarters", "franc", "Gbreve", "gbreve", |
| |
| # 250 |
| "Idotaccent", "Scedilla", "scedilla", "Cacute", "cacute", |
| "Ccaron", "ccaron", "dcroat" |
| ] |
| |
| |
| # the list of standard "SID" glyph names. For the official list, |
| # see Annex A of document at |
| # http://partners.adobe.com/asn/developer/pdfs/tn/5176.CFF.pdf |
| # |
| sid_standard_names = \ |
| [ |
| # 0 |
| ".notdef", "space", "exclam", "quotedbl", "numbersign", |
| "dollar", "percent", "ampersand", "quoteright", "parenleft", |
| |
| # 10 |
| "parenright", "asterisk", "plus", "comma", "hyphen", |
| "period", "slash", "zero", "one", "two", |
| |
| # 20 |
| "three", "four", "five", "six", "seven", |
| "eight", "nine", "colon", "semicolon", "less", |
| |
| # 30 |
| "equal", "greater", "question", "at", "A", |
| "B", "C", "D", "E", "F", |
| |
| # 40 |
| "G", "H", "I", "J", "K", |
| "L", "M", "N", "O", "P", |
| |
| # 50 |
| "Q", "R", "S", "T", "U", |
| "V", "W", "X", "Y", "Z", |
| |
| # 60 |
| "bracketleft", "backslash", "bracketright", "asciicircum", "underscore", |
| "quoteleft", "a", "b", "c", "d", |
| |
| # 70 |
| "e", "f", "g", "h", "i", |
| "j", "k", "l", "m", "n", |
| |
| # 80 |
| "o", "p", "q", "r", "s", |
| "t", "u", "v", "w", "x", |
| |
| # 90 |
| "y", "z", "braceleft", "bar", "braceright", |
| "asciitilde", "exclamdown", "cent", "sterling", "fraction", |
| |
| # 100 |
| "yen", "florin", "section", "currency", "quotesingle", |
| "quotedblleft", "guillemotleft", "guilsinglleft", "guilsinglright", "fi", |
| |
| # 110 |
| "fl", "endash", "dagger", "daggerdbl", "periodcentered", |
| "paragraph", "bullet", "quotesinglbase", "quotedblbase", "quotedblright", |
| |
| # 120 |
| "guillemotright", "ellipsis", "perthousand", "questiondown", "grave", |
| "acute", "circumflex", "tilde", "macron", "breve", |
| |
| # 130 |
| "dotaccent", "dieresis", "ring", "cedilla", "hungarumlaut", |
| "ogonek", "caron", "emdash", "AE", "ordfeminine", |
| |
| # 140 |
| "Lslash", "Oslash", "OE", "ordmasculine", "ae", |
| "dotlessi", "lslash", "oslash", "oe", "germandbls", |
| |
| # 150 |
| "onesuperior", "logicalnot", "mu", "trademark", "Eth", |
| "onehalf", "plusminus", "Thorn", "onequarter", "divide", |
| |
| # 160 |
| "brokenbar", "degree", "thorn", "threequarters", "twosuperior", |
| "registered", "minus", "eth", "multiply", "threesuperior", |
| |
| # 170 |
| "copyright", "Aacute", "Acircumflex", "Adieresis", "Agrave", |
| "Aring", "Atilde", "Ccedilla", "Eacute", "Ecircumflex", |
| |
| # 180 |
| "Edieresis", "Egrave", "Iacute", "Icircumflex", "Idieresis", |
| "Igrave", "Ntilde", "Oacute", "Ocircumflex", "Odieresis", |
| |
| # 190 |
| "Ograve", "Otilde", "Scaron", "Uacute", "Ucircumflex", |
| "Udieresis", "Ugrave", "Yacute", "Ydieresis", "Zcaron", |
| |
| # 200 |
| "aacute", "acircumflex", "adieresis", "agrave", "aring", |
| "atilde", "ccedilla", "eacute", "ecircumflex", "edieresis", |
| |
| # 210 |
| "egrave", "iacute", "icircumflex", "idieresis", "igrave", |
| "ntilde", "oacute", "ocircumflex", "odieresis", "ograve", |
| |
| # 220 |
| "otilde", "scaron", "uacute", "ucircumflex", "udieresis", |
| "ugrave", "yacute", "ydieresis", "zcaron", "exclamsmall", |
| |
| # 230 |
| "Hungarumlautsmall", "dollaroldstyle", "dollarsuperior", "ampersandsmall", |
| "Acutesmall", |
| "parenleftsuperior", "parenrightsuperior", "twodotenleader", |
| "onedotenleader", "zerooldstyle", |
| |
| # 240 |
| "oneoldstyle", "twooldstyle", "threeoldstyle", "fouroldstyle", |
| "fiveoldstyle", |
| "sixoldstyle", "sevenoldstyle", "eightoldstyle", "nineoldstyle", |
| "commasuperior", |
| |
| # 250 |
| "threequartersemdash", "periodsuperior", "questionsmall", "asuperior", |
| "bsuperior", |
| "centsuperior", "dsuperior", "esuperior", "isuperior", "lsuperior", |
| |
| # 260 |
| "msuperior", "nsuperior", "osuperior", "rsuperior", "ssuperior", |
| "tsuperior", "ff", "ffi", "ffl", "parenleftinferior", |
| |
| # 270 |
| "parenrightinferior", "Circumflexsmall", "hyphensuperior", "Gravesmall", |
| "Asmall", |
| "Bsmall", "Csmall", "Dsmall", "Esmall", "Fsmall", |
| |
| # 280 |
| "Gsmall", "Hsmall", "Ismall", "Jsmall", "Ksmall", |
| "Lsmall", "Msmall", "Nsmall", "Osmall", "Psmall", |
| |
| # 290 |
| "Qsmall", "Rsmall", "Ssmall", "Tsmall", "Usmall", |
| "Vsmall", "Wsmall", "Xsmall", "Ysmall", "Zsmall", |
| |
| # 300 |
| "colonmonetary", "onefitted", "rupiah", "Tildesmall", "exclamdownsmall", |
| "centoldstyle", "Lslashsmall", "Scaronsmall", "Zcaronsmall", |
| "Dieresissmall", |
| |
| # 310 |
| "Brevesmall", "Caronsmall", "Dotaccentsmall", "Macronsmall", "figuredash", |
| "hypheninferior", "Ogoneksmall", "Ringsmall", "Cedillasmall", |
| "questiondownsmall", |
| |
| # 320 |
| "oneeighth", "threeeighths", "fiveeighths", "seveneighths", "onethird", |
| "twothirds", "zerosuperior", "foursuperior", "fivesuperior", |
| "sixsuperior", |
| |
| # 330 |
| "sevensuperior", "eightsuperior", "ninesuperior", "zeroinferior", |
| "oneinferior", |
| "twoinferior", "threeinferior", "fourinferior", "fiveinferior", |
| "sixinferior", |
| |
| # 340 |
| "seveninferior", "eightinferior", "nineinferior", "centinferior", |
| "dollarinferior", |
| "periodinferior", "commainferior", "Agravesmall", "Aacutesmall", |
| "Acircumflexsmall", |
| |
| # 350 |
| "Atildesmall", "Adieresissmall", "Aringsmall", "AEsmall", "Ccedillasmall", |
| "Egravesmall", "Eacutesmall", "Ecircumflexsmall", "Edieresissmall", |
| "Igravesmall", |
| |
| # 360 |
| "Iacutesmall", "Icircumflexsmall", "Idieresissmall", "Ethsmall", |
| "Ntildesmall", |
| "Ogravesmall", "Oacutesmall", "Ocircumflexsmall", "Otildesmall", |
| "Odieresissmall", |
| |
| # 370 |
| "OEsmall", "Oslashsmall", "Ugravesmall", "Uacutesmall", |
| "Ucircumflexsmall", |
| "Udieresissmall", "Yacutesmall", "Thornsmall", "Ydieresissmall", |
| "001.000", |
| |
| # 380 |
| "001.001", "001.002", "001.003", "Black", "Bold", |
| "Book", "Light", "Medium", "Regular", "Roman", |
| |
| # 390 |
| "Semibold" |
| ] |
| |
| |
| # this table maps character code of the Adobe Standard Type 1 |
| # encoding to glyph indexes in the sid_standard_names table |
| # |
| t1_standard_encoding = \ |
| [ |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, |
| 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, |
| |
| 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, |
| 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, |
| 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, |
| 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, |
| 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, |
| |
| 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, |
| 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, |
| 89, 90, 91, 92, 93, 94, 95, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 96, 97, 98, 99, 100, 101, 102, 103, 104, |
| 105, 106, 107, 108, 109, 110, 0, 111, 112, 113, |
| 114, 0, 115, 116, 117, 118, 119, 120, 121, 122, |
| 0, 123, 0, 124, 125, 126, 127, 128, 129, 130, |
| |
| 131, 0, 132, 133, 0, 134, 135, 136, 137, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 138, 0, 139, 0, 0, |
| 0, 0, 140, 141, 142, 143, 0, 0, 0, 0, |
| 0, 144, 0, 0, 0, 145, 0, 0, 146, 147, |
| |
| 148, 149, 0, 0, 0, 0 |
| ] |
| |
| |
| # this table maps character code of the Adobe Expert Type 1 |
| # encoding to glyph indexes in the sid_standard_names table |
| # |
| t1_expert_encoding = \ |
| [ |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 1, 229, 230, 0, 231, 232, 233, 234, |
| 235, 236, 237, 238, 13, 14, 15, 99, 239, 240, |
| |
| 241, 242, 243, 244, 245, 246, 247, 248, 27, 28, |
| 249, 250, 251, 252, 0, 253, 254, 255, 256, 257, |
| 0, 0, 0, 258, 0, 0, 259, 260, 261, 262, |
| 0, 0, 263, 264, 265, 0, 266, 109, 110, 267, |
| 268, 269, 0, 270, 271, 272, 273, 274, 275, 276, |
| |
| 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, |
| 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, |
| 297, 298, 299, 300, 301, 302, 303, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| |
| 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
| 0, 304, 305, 306, 0, 0, 307, 308, 309, 310, |
| 311, 0, 312, 0, 0, 313, 0, 0, 314, 315, |
| 0, 0, 316, 317, 318, 0, 0, 0, 158, 155, |
| 163, 319, 320, 321, 322, 323, 324, 325, 0, 0, |
| |
| 326, 150, 164, 169, 327, 328, 329, 330, 331, 332, |
| 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, |
| 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, |
| 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, |
| 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, |
| |
| 373, 374, 375, 376, 377, 378 |
| ] |
| |
| |
| # This data has been taken literally from the file `glyphlist.txt', |
| # version 1.2, 22 Oct 1998. It is available from |
| # |
| # http://partners.adobe.com/asn/developer/typeforum/unicodegn.html |
| # |
| adobe_glyph_list = """\ |
| 0041;A;LATIN CAPITAL LETTER A |
| 00C6;AE;LATIN CAPITAL LETTER AE |
| 01FC;AEacute;LATIN CAPITAL LETTER AE WITH ACUTE |
| F7E6;AEsmall;LATIN SMALL CAPITAL LETTER AE |
| 00C1;Aacute;LATIN CAPITAL LETTER A WITH ACUTE |
| F7E1;Aacutesmall;LATIN SMALL CAPITAL LETTER A WITH ACUTE |
| 0102;Abreve;LATIN CAPITAL LETTER A WITH BREVE |
| 00C2;Acircumflex;LATIN CAPITAL LETTER A WITH CIRCUMFLEX |
| F7E2;Acircumflexsmall;LATIN SMALL CAPITAL LETTER A WITH CIRCUMFLEX |
| F6C9;Acute;CAPITAL ACUTE ACCENT |
| F7B4;Acutesmall;SMALL CAPITAL ACUTE ACCENT |
| 00C4;Adieresis;LATIN CAPITAL LETTER A WITH DIAERESIS |
| F7E4;Adieresissmall;LATIN SMALL CAPITAL LETTER A WITH DIAERESIS |
| 00C0;Agrave;LATIN CAPITAL LETTER A WITH GRAVE |
| F7E0;Agravesmall;LATIN SMALL CAPITAL LETTER A WITH GRAVE |
| 0391;Alpha;GREEK CAPITAL LETTER ALPHA |
| 0386;Alphatonos;GREEK CAPITAL LETTER ALPHA WITH TONOS |
| 0100;Amacron;LATIN CAPITAL LETTER A WITH MACRON |
| 0104;Aogonek;LATIN CAPITAL LETTER A WITH OGONEK |
| 00C5;Aring;LATIN CAPITAL LETTER A WITH RING ABOVE |
| 01FA;Aringacute;LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE |
| F7E5;Aringsmall;LATIN SMALL CAPITAL LETTER A WITH RING ABOVE |
| F761;Asmall;LATIN SMALL CAPITAL LETTER A |
| 00C3;Atilde;LATIN CAPITAL LETTER A WITH TILDE |
| F7E3;Atildesmall;LATIN SMALL CAPITAL LETTER A WITH TILDE |
| 0042;B;LATIN CAPITAL LETTER B |
| 0392;Beta;GREEK CAPITAL LETTER BETA |
| F6F4;Brevesmall;SMALL CAPITAL BREVE |
| F762;Bsmall;LATIN SMALL CAPITAL LETTER B |
| 0043;C;LATIN CAPITAL LETTER C |
| 0106;Cacute;LATIN CAPITAL LETTER C WITH ACUTE |
| F6CA;Caron;CAPITAL CARON |
| F6F5;Caronsmall;SMALL CAPITAL CARON |
| 010C;Ccaron;LATIN CAPITAL LETTER C WITH CARON |
| 00C7;Ccedilla;LATIN CAPITAL LETTER C WITH CEDILLA |
| F7E7;Ccedillasmall;LATIN SMALL CAPITAL LETTER C WITH CEDILLA |
| 0108;Ccircumflex;LATIN CAPITAL LETTER C WITH CIRCUMFLEX |
| 010A;Cdotaccent;LATIN CAPITAL LETTER C WITH DOT ABOVE |
| F7B8;Cedillasmall;SMALL CAPITAL CEDILLA |
| 03A7;Chi;GREEK CAPITAL LETTER CHI |
| F6F6;Circumflexsmall;SMALL CAPITAL MODIFIER LETTER CIRCUMFLEX ACCENT |
| F763;Csmall;LATIN SMALL CAPITAL LETTER C |
| 0044;D;LATIN CAPITAL LETTER D |
| 010E;Dcaron;LATIN CAPITAL LETTER D WITH CARON |
| 0110;Dcroat;LATIN CAPITAL LETTER D WITH STROKE |
| 2206;Delta;INCREMENT |
| 0394;Delta;GREEK CAPITAL LETTER DELTA;Duplicate |
| F6CB;Dieresis;CAPITAL DIAERESIS |
| F6CC;DieresisAcute;CAPITAL DIAERESIS ACUTE ACCENT |
| F6CD;DieresisGrave;CAPITAL DIAERESIS GRAVE ACCENT |
| F7A8;Dieresissmall;SMALL CAPITAL DIAERESIS |
| F6F7;Dotaccentsmall;SMALL CAPITAL DOT ABOVE |
| F764;Dsmall;LATIN SMALL CAPITAL LETTER D |
| 0045;E;LATIN CAPITAL LETTER E |
| 00C9;Eacute;LATIN CAPITAL LETTER E WITH ACUTE |
| F7E9;Eacutesmall;LATIN SMALL CAPITAL LETTER E WITH ACUTE |
| 0114;Ebreve;LATIN CAPITAL LETTER E WITH BREVE |
| 011A;Ecaron;LATIN CAPITAL LETTER E WITH CARON |
| 00CA;Ecircumflex;LATIN CAPITAL LETTER E WITH CIRCUMFLEX |
| F7EA;Ecircumflexsmall;LATIN SMALL CAPITAL LETTER E WITH CIRCUMFLEX |
| 00CB;Edieresis;LATIN CAPITAL LETTER E WITH DIAERESIS |
| F7EB;Edieresissmall;LATIN SMALL CAPITAL LETTER E WITH DIAERESIS |
| 0116;Edotaccent;LATIN CAPITAL LETTER E WITH DOT ABOVE |
| 00C8;Egrave;LATIN CAPITAL LETTER E WITH GRAVE |
| F7E8;Egravesmall;LATIN SMALL CAPITAL LETTER E WITH GRAVE |
| 0112;Emacron;LATIN CAPITAL LETTER E WITH MACRON |
| 014A;Eng;LATIN CAPITAL LETTER ENG |
| 0118;Eogonek;LATIN CAPITAL LETTER E WITH OGONEK |
| 0395;Epsilon;GREEK CAPITAL LETTER EPSILON |
| 0388;Epsilontonos;GREEK CAPITAL LETTER EPSILON WITH TONOS |
| F765;Esmall;LATIN SMALL CAPITAL LETTER E |
| 0397;Eta;GREEK CAPITAL LETTER ETA |
| 0389;Etatonos;GREEK CAPITAL LETTER ETA WITH TONOS |
| 00D0;Eth;LATIN CAPITAL LETTER ETH |
| F7F0;Ethsmall;LATIN SMALL CAPITAL LETTER ETH |
| 20AC;Euro;EURO SIGN |
| 0046;F;LATIN CAPITAL LETTER F |
| F766;Fsmall;LATIN SMALL CAPITAL LETTER F |
| 0047;G;LATIN CAPITAL LETTER G |
| 0393;Gamma;GREEK CAPITAL LETTER GAMMA |
| 011E;Gbreve;LATIN CAPITAL LETTER G WITH BREVE |
| 01E6;Gcaron;LATIN CAPITAL LETTER G WITH CARON |
| 011C;Gcircumflex;LATIN CAPITAL LETTER G WITH CIRCUMFLEX |
| 0122;Gcommaaccent;LATIN CAPITAL LETTER G WITH CEDILLA |
| 0120;Gdotaccent;LATIN CAPITAL LETTER G WITH DOT ABOVE |
| F6CE;Grave;CAPITAL GRAVE ACCENT |
| F760;Gravesmall;SMALL CAPITAL GRAVE ACCENT |
| F767;Gsmall;LATIN SMALL CAPITAL LETTER G |
| 0048;H;LATIN CAPITAL LETTER H |
| 25CF;H18533;BLACK CIRCLE |
| 25AA;H18543;BLACK SMALL SQUARE |
| 25AB;H18551;WHITE SMALL SQUARE |
| 25A1;H22073;WHITE SQUARE |
| 0126;Hbar;LATIN CAPITAL LETTER H WITH STROKE |
| 0124;Hcircumflex;LATIN CAPITAL LETTER H WITH CIRCUMFLEX |
| F768;Hsmall;LATIN SMALL CAPITAL LETTER H |
| F6CF;Hungarumlaut;CAPITAL DOUBLE ACUTE ACCENT |
| F6F8;Hungarumlautsmall;SMALL CAPITAL DOUBLE ACUTE ACCENT |
| 0049;I;LATIN CAPITAL LETTER I |
| 0132;IJ;LATIN CAPITAL LIGATURE IJ |
| 00CD;Iacute;LATIN CAPITAL LETTER I WITH ACUTE |
| F7ED;Iacutesmall;LATIN SMALL CAPITAL LETTER I WITH ACUTE |
| 012C;Ibreve;LATIN CAPITAL LETTER I WITH BREVE |
| 00CE;Icircumflex;LATIN CAPITAL LETTER I WITH CIRCUMFLEX |
| F7EE;Icircumflexsmall;LATIN SMALL CAPITAL LETTER I WITH CIRCUMFLEX |
| 00CF;Idieresis;LATIN CAPITAL LETTER I WITH DIAERESIS |
| F7EF;Idieresissmall;LATIN SMALL CAPITAL LETTER I WITH DIAERESIS |
| 0130;Idotaccent;LATIN CAPITAL LETTER I WITH DOT ABOVE |
| 2111;Ifraktur;BLACK-LETTER CAPITAL I |
| 00CC;Igrave;LATIN CAPITAL LETTER I WITH GRAVE |
| F7EC;Igravesmall;LATIN SMALL CAPITAL LETTER I WITH GRAVE |
| 012A;Imacron;LATIN CAPITAL LETTER I WITH MACRON |
| 012E;Iogonek;LATIN CAPITAL LETTER I WITH OGONEK |
| 0399;Iota;GREEK CAPITAL LETTER IOTA |
| 03AA;Iotadieresis;GREEK CAPITAL LETTER IOTA WITH DIALYTIKA |
| 038A;Iotatonos;GREEK CAPITAL LETTER IOTA WITH TONOS |
| F769;Ismall;LATIN SMALL CAPITAL LETTER I |
| 0128;Itilde;LATIN CAPITAL LETTER I WITH TILDE |
| 004A;J;LATIN CAPITAL LETTER J |
| 0134;Jcircumflex;LATIN CAPITAL LETTER J WITH CIRCUMFLEX |
| F76A;Jsmall;LATIN SMALL CAPITAL LETTER J |
| 004B;K;LATIN CAPITAL LETTER K |
| 039A;Kappa;GREEK CAPITAL LETTER KAPPA |
| 0136;Kcommaaccent;LATIN CAPITAL LETTER K WITH CEDILLA |
| F76B;Ksmall;LATIN SMALL CAPITAL LETTER K |
| 004C;L;LATIN CAPITAL LETTER L |
| F6BF;LL;LATIN CAPITAL LETTER LL |
| 0139;Lacute;LATIN CAPITAL LETTER L WITH ACUTE |
| 039B;Lambda;GREEK CAPITAL LETTER LAMDA |
| 013D;Lcaron;LATIN CAPITAL LETTER L WITH CARON |
| 013B;Lcommaaccent;LATIN CAPITAL LETTER L WITH CEDILLA |
| 013F;Ldot;LATIN CAPITAL LETTER L WITH MIDDLE DOT |
| 0141;Lslash;LATIN CAPITAL LETTER L WITH STROKE |
| F6F9;Lslashsmall;LATIN SMALL CAPITAL LETTER L WITH STROKE |
| F76C;Lsmall;LATIN SMALL CAPITAL LETTER L |
| 004D;M;LATIN CAPITAL LETTER M |
| F6D0;Macron;CAPITAL MACRON |
| F7AF;Macronsmall;SMALL CAPITAL MACRON |
| F76D;Msmall;LATIN SMALL CAPITAL LETTER M |
| 039C;Mu;GREEK CAPITAL LETTER MU |
| 004E;N;LATIN CAPITAL LETTER N |
| 0143;Nacute;LATIN CAPITAL LETTER N WITH ACUTE |
| 0147;Ncaron;LATIN CAPITAL LETTER N WITH CARON |
| 0145;Ncommaaccent;LATIN CAPITAL LETTER N WITH CEDILLA |
| F76E;Nsmall;LATIN SMALL CAPITAL LETTER N |
| 00D1;Ntilde;LATIN CAPITAL LETTER N WITH TILDE |
| F7F1;Ntildesmall;LATIN SMALL CAPITAL LETTER N WITH TILDE |
| 039D;Nu;GREEK CAPITAL LETTER NU |
| 004F;O;LATIN CAPITAL LETTER O |
| 0152;OE;LATIN CAPITAL LIGATURE OE |
| F6FA;OEsmall;LATIN SMALL CAPITAL LIGATURE OE |
| 00D3;Oacute;LATIN CAPITAL LETTER O WITH ACUTE |
| F7F3;Oacutesmall;LATIN SMALL CAPITAL LETTER O WITH ACUTE |
| 014E;Obreve;LATIN CAPITAL LETTER O WITH BREVE |
| 00D4;Ocircumflex;LATIN CAPITAL LETTER O WITH CIRCUMFLEX |
| F7F4;Ocircumflexsmall;LATIN SMALL CAPITAL LETTER O WITH CIRCUMFLEX |
| 00D6;Odieresis;LATIN CAPITAL LETTER O WITH DIAERESIS |
| F7F6;Odieresissmall;LATIN SMALL CAPITAL LETTER O WITH DIAERESIS |
| F6FB;Ogoneksmall;SMALL CAPITAL OGONEK |
| 00D2;Ograve;LATIN CAPITAL LETTER O WITH GRAVE |
| F7F2;Ogravesmall;LATIN SMALL CAPITAL LETTER O WITH GRAVE |
| 01A0;Ohorn;LATIN CAPITAL LETTER O WITH HORN |
| 0150;Ohungarumlaut;LATIN CAPITAL LETTER O WITH DOUBLE ACUTE |
| 014C;Omacron;LATIN CAPITAL LETTER O WITH MACRON |
| 2126;Omega;OHM SIGN |
| 03A9;Omega;GREEK CAPITAL LETTER OMEGA;Duplicate |
| 038F;Omegatonos;GREEK CAPITAL LETTER OMEGA WITH TONOS |
| 039F;Omicron;GREEK CAPITAL LETTER OMICRON |
| 038C;Omicrontonos;GREEK CAPITAL LETTER OMICRON WITH TONOS |
| 00D8;Oslash;LATIN CAPITAL LETTER O WITH STROKE |
| 01FE;Oslashacute;LATIN CAPITAL LETTER O WITH STROKE AND ACUTE |
| F7F8;Oslashsmall;LATIN SMALL CAPITAL LETTER O WITH STROKE |
| F76F;Osmall;LATIN SMALL CAPITAL LETTER O |
| 00D5;Otilde;LATIN CAPITAL LETTER O WITH TILDE |
| F7F5;Otildesmall;LATIN SMALL CAPITAL LETTER O WITH TILDE |
| 0050;P;LATIN CAPITAL LETTER P |
| 03A6;Phi;GREEK CAPITAL LETTER PHI |
| 03A0;Pi;GREEK CAPITAL LETTER PI |
| 03A8;Psi;GREEK CAPITAL LETTER PSI |
| F770;Psmall;LATIN SMALL CAPITAL LETTER P |
| 0051;Q;LATIN CAPITAL LETTER Q |
| F771;Qsmall;LATIN SMALL CAPITAL LETTER Q |
| 0052;R;LATIN CAPITAL LETTER R |
| 0154;Racute;LATIN CAPITAL LETTER R WITH ACUTE |
| 0158;Rcaron;LATIN CAPITAL LETTER R WITH CARON |
| 0156;Rcommaaccent;LATIN CAPITAL LETTER R WITH CEDILLA |
| 211C;Rfraktur;BLACK-LETTER CAPITAL R |
| 03A1;Rho;GREEK CAPITAL LETTER RHO |
| F6FC;Ringsmall;SMALL CAPITAL RING ABOVE |
| F772;Rsmall;LATIN SMALL CAPITAL LETTER R |
| 0053;S;LATIN CAPITAL LETTER S |
| 250C;SF010000;BOX DRAWINGS LIGHT DOWN AND RIGHT |
| 2514;SF020000;BOX DRAWINGS LIGHT UP AND RIGHT |
| 2510;SF030000;BOX DRAWINGS LIGHT DOWN AND LEFT |
| 2518;SF040000;BOX DRAWINGS LIGHT UP AND LEFT |
| 253C;SF050000;BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL |
| 252C;SF060000;BOX DRAWINGS LIGHT DOWN AND HORIZONTAL |
| 2534;SF070000;BOX DRAWINGS LIGHT UP AND HORIZONTAL |
| 251C;SF080000;BOX DRAWINGS LIGHT VERTICAL AND RIGHT |
| 2524;SF090000;BOX DRAWINGS LIGHT VERTICAL AND LEFT |
| 2500;SF100000;BOX DRAWINGS LIGHT HORIZONTAL |
| 2502;SF110000;BOX DRAWINGS LIGHT VERTICAL |
| 2561;SF190000;BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE |
| 2562;SF200000;BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE |
| 2556;SF210000;BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE |
| 2555;SF220000;BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE |
| 2563;SF230000;BOX DRAWINGS DOUBLE VERTICAL AND LEFT |
| 2551;SF240000;BOX DRAWINGS DOUBLE VERTICAL |
| 2557;SF250000;BOX DRAWINGS DOUBLE DOWN AND LEFT |
| 255D;SF260000;BOX DRAWINGS DOUBLE UP AND LEFT |
| 255C;SF270000;BOX DRAWINGS UP DOUBLE AND LEFT SINGLE |
| 255B;SF280000;BOX DRAWINGS UP SINGLE AND LEFT DOUBLE |
| 255E;SF360000;BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE |
| 255F;SF370000;BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE |
| 255A;SF380000;BOX DRAWINGS DOUBLE UP AND RIGHT |
| 2554;SF390000;BOX DRAWINGS DOUBLE DOWN AND RIGHT |
| 2569;SF400000;BOX DRAWINGS DOUBLE UP AND HORIZONTAL |
| 2566;SF410000;BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL |
| 2560;SF420000;BOX DRAWINGS DOUBLE VERTICAL AND RIGHT |
| 2550;SF430000;BOX DRAWINGS DOUBLE HORIZONTAL |
| 256C;SF440000;BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL |
| 2567;SF450000;BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE |
| 2568;SF460000;BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE |
| 2564;SF470000;BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE |
| 2565;SF480000;BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE |
| 2559;SF490000;BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE |
| 2558;SF500000;BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE |
| 2552;SF510000;BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE |
| 2553;SF520000;BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE |
| 256B;SF530000;BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE |
| 256A;SF540000;BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE |
| 015A;Sacute;LATIN CAPITAL LETTER S WITH ACUTE |
| 0160;Scaron;LATIN CAPITAL LETTER S WITH CARON |
| F6FD;Scaronsmall;LATIN SMALL CAPITAL LETTER S WITH CARON |
| 015E;Scedilla;LATIN CAPITAL LETTER S WITH CEDILLA |
| F6C1;Scedilla;LATIN CAPITAL LETTER S WITH CEDILLA;Duplicate |
| 015C;Scircumflex;LATIN CAPITAL LETTER S WITH CIRCUMFLEX |
| 0218;Scommaaccent;LATIN CAPITAL LETTER S WITH COMMA BELOW |
| 03A3;Sigma;GREEK CAPITAL LETTER SIGMA |
| F773;Ssmall;LATIN SMALL CAPITAL LETTER S |
| 0054;T;LATIN CAPITAL LETTER T |
| 03A4;Tau;GREEK CAPITAL LETTER TAU |
| 0166;Tbar;LATIN CAPITAL LETTER T WITH STROKE |
| 0164;Tcaron;LATIN CAPITAL LETTER T WITH CARON |
| 0162;Tcommaaccent;LATIN CAPITAL LETTER T WITH CEDILLA |
| 021A;Tcommaaccent;LATIN CAPITAL LETTER T WITH COMMA BELOW;Duplicate |
| 0398;Theta;GREEK CAPITAL LETTER THETA |
| 00DE;Thorn;LATIN CAPITAL LETTER THORN |
| F7FE;Thornsmall;LATIN SMALL CAPITAL LETTER THORN |
| F6FE;Tildesmall;SMALL CAPITAL SMALL TILDE |
| F774;Tsmall;LATIN SMALL CAPITAL LETTER T |
| 0055;U;LATIN CAPITAL LETTER U |
| 00DA;Uacute;LATIN CAPITAL LETTER U WITH ACUTE |
| F7FA;Uacutesmall;LATIN SMALL CAPITAL LETTER U WITH ACUTE |
| 016C;Ubreve;LATIN CAPITAL LETTER U WITH BREVE |
| 00DB;Ucircumflex;LATIN CAPITAL LETTER U WITH CIRCUMFLEX |
| F7FB;Ucircumflexsmall;LATIN SMALL CAPITAL LETTER U WITH CIRCUMFLEX |
| 00DC;Udieresis;LATIN CAPITAL LETTER U WITH DIAERESIS |
| F7FC;Udieresissmall;LATIN SMALL CAPITAL LETTER U WITH DIAERESIS |
| 00D9;Ugrave;LATIN CAPITAL LETTER U WITH GRAVE |
| F7F9;Ugravesmall;LATIN SMALL CAPITAL LETTER U WITH GRAVE |
| 01AF;Uhorn;LATIN CAPITAL LETTER U WITH HORN |
| 0170;Uhungarumlaut;LATIN CAPITAL LETTER U WITH DOUBLE ACUTE |
| 016A;Umacron;LATIN CAPITAL LETTER U WITH MACRON |
| 0172;Uogonek;LATIN CAPITAL LETTER U WITH OGONEK |
| 03A5;Upsilon;GREEK CAPITAL LETTER UPSILON |
| 03D2;Upsilon1;GREEK UPSILON WITH HOOK SYMBOL |
| 03AB;Upsilondieresis;GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA |
| 038E;Upsilontonos;GREEK CAPITAL LETTER UPSILON WITH TONOS |
| 016E;Uring;LATIN CAPITAL LETTER U WITH RING ABOVE |
| F775;Usmall;LATIN SMALL CAPITAL LETTER U |
| 0168;Utilde;LATIN CAPITAL LETTER U WITH TILDE |
| 0056;V;LATIN CAPITAL LETTER V |
| F776;Vsmall;LATIN SMALL CAPITAL LETTER V |
| 0057;W;LATIN CAPITAL LETTER W |
| 1E82;Wacute;LATIN CAPITAL LETTER W WITH ACUTE |
| 0174;Wcircumflex;LATIN CAPITAL LETTER W WITH CIRCUMFLEX |
| 1E84;Wdieresis;LATIN CAPITAL LETTER W WITH DIAERESIS |
| 1E80;Wgrave;LATIN CAPITAL LETTER W WITH GRAVE |
| F777;Wsmall;LATIN SMALL CAPITAL LETTER W |
| 0058;X;LATIN CAPITAL LETTER X |
| 039E;Xi;GREEK CAPITAL LETTER XI |
| F778;Xsmall;LATIN SMALL CAPITAL LETTER X |
| 0059;Y;LATIN CAPITAL LETTER Y |
| 00DD;Yacute;LATIN CAPITAL LETTER Y WITH ACUTE |
| F7FD;Yacutesmall;LATIN SMALL CAPITAL LETTER Y WITH ACUTE |
| 0176;Ycircumflex;LATIN CAPITAL LETTER Y WITH CIRCUMFLEX |
| 0178;Ydieresis;LATIN CAPITAL LETTER Y WITH DIAERESIS |
| F7FF;Ydieresissmall;LATIN SMALL CAPITAL LETTER Y WITH DIAERESIS |
| 1EF2;Ygrave;LATIN CAPITAL LETTER Y WITH GRAVE |
| F779;Ysmall;LATIN SMALL CAPITAL LETTER Y |
| 005A;Z;LATIN CAPITAL LETTER Z |
| 0179;Zacute;LATIN CAPITAL LETTER Z WITH ACUTE |
| 017D;Zcaron;LATIN CAPITAL LETTER Z WITH CARON |
| F6FF;Zcaronsmall;LATIN SMALL CAPITAL LETTER Z WITH CARON |
| 017B;Zdotaccent;LATIN CAPITAL LETTER Z WITH DOT ABOVE |
| 0396;Zeta;GREEK CAPITAL LETTER ZETA |
| F77A;Zsmall;LATIN SMALL CAPITAL LETTER Z |
| 0061;a;LATIN SMALL LETTER A |
| 00E1;aacute;LATIN SMALL LETTER A WITH ACUTE |
| 0103;abreve;LATIN SMALL LETTER A WITH BREVE |
| 00E2;acircumflex;LATIN SMALL LETTER A WITH CIRCUMFLEX |
| 00B4;acute;ACUTE ACCENT |
| 0301;acutecomb;COMBINING ACUTE ACCENT |
| 00E4;adieresis;LATIN SMALL LETTER A WITH DIAERESIS |
| 00E6;ae;LATIN SMALL LETTER AE |
| 01FD;aeacute;LATIN SMALL LETTER AE WITH ACUTE |
| 2015;afii00208;HORIZONTAL BAR |
| 0410;afii10017;CYRILLIC CAPITAL LETTER A |
| 0411;afii10018;CYRILLIC CAPITAL LETTER BE |
| 0412;afii10019;CYRILLIC CAPITAL LETTER VE |
| 0413;afii10020;CYRILLIC CAPITAL LETTER GHE |
| 0414;afii10021;CYRILLIC CAPITAL LETTER DE |
| 0415;afii10022;CYRILLIC CAPITAL LETTER IE |
| 0401;afii10023;CYRILLIC CAPITAL LETTER IO |
| 0416;afii10024;CYRILLIC CAPITAL LETTER ZHE |
| 0417;afii10025;CYRILLIC CAPITAL LETTER ZE |
| 0418;afii10026;CYRILLIC CAPITAL LETTER I |
| 0419;afii10027;CYRILLIC CAPITAL LETTER SHORT I |
| 041A;afii10028;CYRILLIC CAPITAL LETTER KA |
| 041B;afii10029;CYRILLIC CAPITAL LETTER EL |
| 041C;afii10030;CYRILLIC CAPITAL LETTER EM |
| 041D;afii10031;CYRILLIC CAPITAL LETTER EN |
| 041E;afii10032;CYRILLIC CAPITAL LETTER O |
| 041F;afii10033;CYRILLIC CAPITAL LETTER PE |
| 0420;afii10034;CYRILLIC CAPITAL LETTER ER |
| 0421;afii10035;CYRILLIC CAPITAL LETTER ES |
| 0422;afii10036;CYRILLIC CAPITAL LETTER TE |
| 0423;afii10037;CYRILLIC CAPITAL LETTER U |
| 0424;afii10038;CYRILLIC CAPITAL LETTER EF |
| 0425;afii10039;CYRILLIC CAPITAL LETTER HA |
| 0426;afii10040;CYRILLIC CAPITAL LETTER TSE |
| 0427;afii10041;CYRILLIC CAPITAL LETTER CHE |
| 0428;afii10042;CYRILLIC CAPITAL LETTER SHA |
| 0429;afii10043;CYRILLIC CAPITAL LETTER SHCHA |
| 042A;afii10044;CYRILLIC CAPITAL LETTER HARD SIGN |
| 042B;afii10045;CYRILLIC CAPITAL LETTER YERU |
| 042C;afii10046;CYRILLIC CAPITAL LETTER SOFT SIGN |
| 042D;afii10047;CYRILLIC CAPITAL LETTER E |
| 042E;afii10048;CYRILLIC CAPITAL LETTER YU |
| 042F;afii10049;CYRILLIC CAPITAL LETTER YA |
| 0490;afii10050;CYRILLIC CAPITAL LETTER GHE WITH UPTURN |
| 0402;afii10051;CYRILLIC CAPITAL LETTER DJE |
| 0403;afii10052;CYRILLIC CAPITAL LETTER GJE |
| 0404;afii10053;CYRILLIC CAPITAL LETTER UKRAINIAN IE |
| 0405;afii10054;CYRILLIC CAPITAL LETTER DZE |
| 0406;afii10055;CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I |
| 0407;afii10056;CYRILLIC CAPITAL LETTER YI |
| 0408;afii10057;CYRILLIC CAPITAL LETTER JE |
| 0409;afii10058;CYRILLIC CAPITAL LETTER LJE |
| 040A;afii10059;CYRILLIC CAPITAL LETTER NJE |
| 040B;afii10060;CYRILLIC CAPITAL LETTER TSHE |
| 040C;afii10061;CYRILLIC CAPITAL LETTER KJE |
| 040E;afii10062;CYRILLIC CAPITAL LETTER SHORT U |
| F6C4;afii10063;CYRILLIC SMALL LETTER GHE VARIANT |
| F6C5;afii10064;CYRILLIC SMALL LETTER BE VARIANT |
| 0430;afii10065;CYRILLIC SMALL LETTER A |
| 0431;afii10066;CYRILLIC SMALL LETTER BE |
| 0432;afii10067;CYRILLIC SMALL LETTER VE |
| 0433;afii10068;CYRILLIC SMALL LETTER GHE |
| 0434;afii10069;CYRILLIC SMALL LETTER DE |
| 0435;afii10070;CYRILLIC SMALL LETTER IE |
| 0451;afii10071;CYRILLIC SMALL LETTER IO |
| 0436;afii10072;CYRILLIC SMALL LETTER ZHE |
| 0437;afii10073;CYRILLIC SMALL LETTER ZE |
| 0438;afii10074;CYRILLIC SMALL LETTER I |
| 0439;afii10075;CYRILLIC SMALL LETTER SHORT I |
| 043A;afii10076;CYRILLIC SMALL LETTER KA |
| 043B;afii10077;CYRILLIC SMALL LETTER EL |
| 043C;afii10078;CYRILLIC SMALL LETTER EM |
| 043D;afii10079;CYRILLIC SMALL LETTER EN |
| 043E;afii10080;CYRILLIC SMALL LETTER O |
| 043F;afii10081;CYRILLIC SMALL LETTER PE |
| 0440;afii10082;CYRILLIC SMALL LETTER ER |
| 0441;afii10083;CYRILLIC SMALL LETTER ES |
| 0442;afii10084;CYRILLIC SMALL LETTER TE |
| 0443;afii10085;CYRILLIC SMALL LETTER U |
| 0444;afii10086;CYRILLIC SMALL LETTER EF |
| 0445;afii10087;CYRILLIC SMALL LETTER HA |
| 0446;afii10088;CYRILLIC SMALL LETTER TSE |
| 0447;afii10089;CYRILLIC SMALL LETTER CHE |
| 0448;afii10090;CYRILLIC SMALL LETTER SHA |
| 0449;afii10091;CYRILLIC SMALL LETTER SHCHA |
| 044A;afii10092;CYRILLIC SMALL LETTER HARD SIGN |
| 044B;afii10093;CYRILLIC SMALL LETTER YERU |
| 044C;afii10094;CYRILLIC SMALL LETTER SOFT SIGN |
| 044D;afii10095;CYRILLIC SMALL LETTER E |
| 044E;afii10096;CYRILLIC SMALL LETTER YU |
| 044F;afii10097;CYRILLIC SMALL LETTER YA |
| 0491;afii10098;CYRILLIC SMALL LETTER GHE WITH UPTURN |
| 0452;afii10099;CYRILLIC SMALL LETTER DJE |
| 0453;afii10100;CYRILLIC SMALL LETTER GJE |
| 0454;afii10101;CYRILLIC SMALL LETTER UKRAINIAN IE |
| 0455;afii10102;CYRILLIC SMALL LETTER DZE |
| 0456;afii10103;CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I |
| 0457;afii10104;CYRILLIC SMALL LETTER YI |
| 0458;afii10105;CYRILLIC SMALL LETTER JE |
| 0459;afii10106;CYRILLIC SMALL LETTER LJE |
| 045A;afii10107;CYRILLIC SMALL LETTER NJE |
| 045B;afii10108;CYRILLIC SMALL LETTER TSHE |
| 045C;afii10109;CYRILLIC SMALL LETTER KJE |
| 045E;afii10110;CYRILLIC SMALL LETTER SHORT U |
| 040F;afii10145;CYRILLIC CAPITAL LETTER DZHE |
| 0462;afii10146;CYRILLIC CAPITAL LETTER YAT |
| 0472;afii10147;CYRILLIC CAPITAL LETTER FITA |
| 0474;afii10148;CYRILLIC CAPITAL LETTER IZHITSA |
| F6C6;afii10192;CYRILLIC SMALL LETTER DE VARIANT |
| 045F;afii10193;CYRILLIC SMALL LETTER DZHE |
| 0463;afii10194;CYRILLIC SMALL LETTER YAT |
| 0473;afii10195;CYRILLIC SMALL LETTER FITA |
| 0475;afii10196;CYRILLIC SMALL LETTER IZHITSA |
| F6C7;afii10831;CYRILLIC SMALL LETTER PE VARIANT |
| F6C8;afii10832;CYRILLIC SMALL LETTER TE VARIANT |
| 04D9;afii10846;CYRILLIC SMALL LETTER SCHWA |
| 200E;afii299;LEFT-TO-RIGHT MARK |
| 200F;afii300;RIGHT-TO-LEFT MARK |
| 200D;afii301;ZERO WIDTH JOINER |
| 066A;afii57381;ARABIC PERCENT SIGN |
| 060C;afii57388;ARABIC COMMA |
| 0660;afii57392;ARABIC-INDIC DIGIT ZERO |
| 0661;afii57393;ARABIC-INDIC DIGIT ONE |
| 0662;afii57394;ARABIC-INDIC DIGIT TWO |
| 0663;afii57395;ARABIC-INDIC DIGIT THREE |
| 0664;afii57396;ARABIC-INDIC DIGIT FOUR |
| 0665;afii57397;ARABIC-INDIC DIGIT FIVE |
| 0666;afii57398;ARABIC-INDIC DIGIT SIX |
| 0667;afii57399;ARABIC-INDIC DIGIT SEVEN |
| 0668;afii57400;ARABIC-INDIC DIGIT EIGHT |
| 0669;afii57401;ARABIC-INDIC DIGIT NINE |
| 061B;afii57403;ARABIC SEMICOLON |
| 061F;afii57407;ARABIC QUESTION MARK |
| 0621;afii57409;ARABIC LETTER HAMZA |
| 0622;afii57410;ARABIC LETTER ALEF WITH MADDA ABOVE |
| 0623;afii57411;ARABIC LETTER ALEF WITH HAMZA ABOVE |
| 0624;afii57412;ARABIC LETTER WAW WITH HAMZA ABOVE |
| 0625;afii57413;ARABIC LETTER ALEF WITH HAMZA BELOW |
| 0626;afii57414;ARABIC LETTER YEH WITH HAMZA ABOVE |
| 0627;afii57415;ARABIC LETTER ALEF |
| 0628;afii57416;ARABIC LETTER BEH |
| 0629;afii57417;ARABIC LETTER TEH MARBUTA |
| 062A;afii57418;ARABIC LETTER TEH |
| 062B;afii57419;ARABIC LETTER THEH |
| 062C;afii57420;ARABIC LETTER JEEM |
| 062D;afii57421;ARABIC LETTER HAH |
| 062E;afii57422;ARABIC LETTER KHAH |
| 062F;afii57423;ARABIC LETTER DAL |
| 0630;afii57424;ARABIC LETTER THAL |
| 0631;afii57425;ARABIC LETTER REH |
| 0632;afii57426;ARABIC LETTER ZAIN |
| 0633;afii57427;ARABIC LETTER SEEN |
| 0634;afii57428;ARABIC LETTER SHEEN |
| 0635;afii57429;ARABIC LETTER SAD |
| 0636;afii57430;ARABIC LETTER DAD |
| 0637;afii57431;ARABIC LETTER TAH |
| 0638;afii57432;ARABIC LETTER ZAH |
| 0639;afii57433;ARABIC LETTER AIN |
| 063A;afii57434;ARABIC LETTER GHAIN |
| 0640;afii57440;ARABIC TATWEEL |
| 0641;afii57441;ARABIC LETTER FEH |
| 0642;afii57442;ARABIC LETTER QAF |
| 0643;afii57443;ARABIC LETTER KAF |
| 0644;afii57444;ARABIC LETTER LAM |
| 0645;afii57445;ARABIC LETTER MEEM |
| 0646;afii57446;ARABIC LETTER NOON |
| 0648;afii57448;ARABIC LETTER WAW |
| 0649;afii57449;ARABIC LETTER ALEF MAKSURA |
| 064A;afii57450;ARABIC LETTER YEH |
| 064B;afii57451;ARABIC FATHATAN |
| 064C;afii57452;ARABIC DAMMATAN |
| 064D;afii57453;ARABIC KASRATAN |
| 064E;afii57454;ARABIC FATHA |
| 064F;afii57455;ARABIC DAMMA |
| 0650;afii57456;ARABIC KASRA |
| 0651;afii57457;ARABIC SHADDA |
| 0652;afii57458;ARABIC SUKUN |
| 0647;afii57470;ARABIC LETTER HEH |
| 06A4;afii57505;ARABIC LETTER VEH |
| 067E;afii57506;ARABIC LETTER PEH |
| 0686;afii57507;ARABIC LETTER TCHEH |
| 0698;afii57508;ARABIC LETTER JEH |
| 06AF;afii57509;ARABIC LETTER GAF |
| 0679;afii57511;ARABIC LETTER TTEH |
| 0688;afii57512;ARABIC LETTER DDAL |
| 0691;afii57513;ARABIC LETTER RREH |
| 06BA;afii57514;ARABIC LETTER NOON GHUNNA |
| 06D2;afii57519;ARABIC LETTER YEH BARREE |
| 06D5;afii57534;ARABIC LETTER AE |
| 20AA;afii57636;NEW SHEQEL SIGN |
| 05BE;afii57645;HEBREW PUNCTUATION MAQAF |
| 05C3;afii57658;HEBREW PUNCTUATION SOF PASUQ |
| 05D0;afii57664;HEBREW LETTER ALEF |
| 05D1;afii57665;HEBREW LETTER BET |
| 05D2;afii57666;HEBREW LETTER GIMEL |
| 05D3;afii57667;HEBREW LETTER DALET |
| 05D4;afii57668;HEBREW LETTER HE |
| 05D5;afii57669;HEBREW LETTER VAV |
| 05D6;afii57670;HEBREW LETTER ZAYIN |
| 05D7;afii57671;HEBREW LETTER HET |
| 05D8;afii57672;HEBREW LETTER TET |
| 05D9;afii57673;HEBREW LETTER YOD |
| 05DA;afii57674;HEBREW LETTER FINAL KAF |
| 05DB;afii57675;HEBREW LETTER KAF |
| 05DC;afii57676;HEBREW LETTER LAMED |
| 05DD;afii57677;HEBREW LETTER FINAL MEM |
| 05DE;afii57678;HEBREW LETTER MEM |
| 05DF;afii57679;HEBREW LETTER FINAL NUN |
| 05E0;afii57680;HEBREW LETTER NUN |
| 05E1;afii57681;HEBREW LETTER SAMEKH |
| 05E2;afii57682;HEBREW LETTER AYIN |
| 05E3;afii57683;HEBREW LETTER FINAL PE |
| 05E4;afii57684;HEBREW LETTER PE |
| 05E5;afii57685;HEBREW LETTER FINAL TSADI |
| 05E6;afii57686;HEBREW LETTER TSADI |
| 05E7;afii57687;HEBREW LETTER QOF |
| 05E8;afii57688;HEBREW LETTER RESH |
| 05E9;afii57689;HEBREW LETTER SHIN |
| 05EA;afii57690;HEBREW LETTER TAV |
| FB2A;afii57694;HEBREW LETTER SHIN WITH SHIN DOT |
| FB2B;afii57695;HEBREW LETTER SHIN WITH SIN DOT |
| FB4B;afii57700;HEBREW LETTER VAV WITH HOLAM |
| FB1F;afii57705;HEBREW LIGATURE YIDDISH YOD YOD PATAH |
| 05F0;afii57716;HEBREW LIGATURE YIDDISH DOUBLE VAV |
| 05F1;afii57717;HEBREW LIGATURE YIDDISH VAV YOD |
| 05F2;afii57718;HEBREW LIGATURE YIDDISH DOUBLE YOD |
| FB35;afii57723;HEBREW LETTER VAV WITH DAGESH |
| 05B4;afii57793;HEBREW POINT HIRIQ |
| 05B5;afii57794;HEBREW POINT TSERE |
| 05B6;afii57795;HEBREW POINT SEGOL |
| 05BB;afii57796;HEBREW POINT QUBUTS |
| 05B8;afii57797;HEBREW POINT QAMATS |
| 05B7;afii57798;HEBREW POINT PATAH |
| 05B0;afii57799;HEBREW POINT SHEVA |
| 05B2;afii57800;HEBREW POINT HATAF PATAH |
| 05B1;afii57801;HEBREW POINT HATAF SEGOL |
| 05B3;afii57802;HEBREW POINT HATAF QAMATS |
| 05C2;afii57803;HEBREW POINT SIN DOT |
| 05C1;afii57804;HEBREW POINT SHIN DOT |
| 05B9;afii57806;HEBREW POINT HOLAM |
| 05BC;afii57807;HEBREW POINT DAGESH OR MAPIQ |
| 05BD;afii57839;HEBREW POINT METEG |
| 05BF;afii57841;HEBREW POINT RAFE |
| 05C0;afii57842;HEBREW PUNCTUATION PASEQ |
| 02BC;afii57929;MODIFIER LETTER APOSTROPHE |
| 2105;afii61248;CARE OF |
| 2113;afii61289;SCRIPT SMALL L |
| 2116;afii61352;NUMERO SIGN |
| 202C;afii61573;POP DIRECTIONAL FORMATTING |
| 202D;afii61574;LEFT-TO-RIGHT OVERRIDE |
| 202E;afii61575;RIGHT-TO-LEFT OVERRIDE |
| 200C;afii61664;ZERO WIDTH NON-JOINER |
| 066D;afii63167;ARABIC FIVE POINTED STAR |
| 02BD;afii64937;MODIFIER LETTER REVERSED COMMA |
| 00E0;agrave;LATIN SMALL LETTER A WITH GRAVE |
| 2135;aleph;ALEF SYMBOL |
| 03B1;alpha;GREEK SMALL LETTER ALPHA |
| 03AC;alphatonos;GREEK SMALL LETTER ALPHA WITH TONOS |
| 0101;amacron;LATIN SMALL LETTER A WITH MACRON |
| 0026;ampersand;AMPERSAND |
| F726;ampersandsmall;SMALL CAPITAL AMPERSAND |
| 2220;angle;ANGLE |
| 2329;angleleft;LEFT-POINTING ANGLE BRACKET |
| 232A;angleright;RIGHT-POINTING ANGLE BRACKET |
| 0387;anoteleia;GREEK ANO TELEIA |
| 0105;aogonek;LATIN SMALL LETTER A WITH OGONEK |
| 2248;approxequal;ALMOST EQUAL TO |
| 00E5;aring;LATIN SMALL LETTER A WITH RING ABOVE |
| 01FB;aringacute;LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE |
| 2194;arrowboth;LEFT RIGHT ARROW |
| 21D4;arrowdblboth;LEFT RIGHT DOUBLE ARROW |
| 21D3;arrowdbldown;DOWNWARDS DOUBLE ARROW |
| 21D0;arrowdblleft;LEFTWARDS DOUBLE ARROW |
| 21D2;arrowdblright;RIGHTWARDS DOUBLE ARROW |
| 21D1;arrowdblup;UPWARDS DOUBLE ARROW |
| 2193;arrowdown;DOWNWARDS ARROW |
| F8E7;arrowhorizex;HORIZONTAL ARROW EXTENDER |
| 2190;arrowleft;LEFTWARDS ARROW |
| 2192;arrowright;RIGHTWARDS ARROW |
| 2191;arrowup;UPWARDS ARROW |
| 2195;arrowupdn;UP DOWN ARROW |
| 21A8;arrowupdnbse;UP DOWN ARROW WITH BASE |
| F8E6;arrowvertex;VERTICAL ARROW EXTENDER |
| 005E;asciicircum;CIRCUMFLEX ACCENT |
| 007E;asciitilde;TILDE |
| 002A;asterisk;ASTERISK |
| 2217;asteriskmath;ASTERISK OPERATOR |
| F6E9;asuperior;SUPERSCRIPT LATIN SMALL LETTER A |
| 0040;at;COMMERCIAL AT |
| 00E3;atilde;LATIN SMALL LETTER A WITH TILDE |
| 0062;b;LATIN SMALL LETTER B |
| 005C;backslash;REVERSE SOLIDUS |
| 007C;bar;VERTICAL LINE |
| 03B2;beta;GREEK SMALL LETTER BETA |
| 2588;block;FULL BLOCK |
| F8F4;braceex;CURLY BRACKET EXTENDER |
| 007B;braceleft;LEFT CURLY BRACKET |
| F8F3;braceleftbt;LEFT CURLY BRACKET BOTTOM |
| F8F2;braceleftmid;LEFT CURLY BRACKET MID |
| F8F1;bracelefttp;LEFT CURLY BRACKET TOP |
| 007D;braceright;RIGHT CURLY BRACKET |
| F8FE;bracerightbt;RIGHT CURLY BRACKET BOTTOM |
| F8FD;bracerightmid;RIGHT CURLY BRACKET MID |
| F8FC;bracerighttp;RIGHT CURLY BRACKET TOP |
| 005B;bracketleft;LEFT SQUARE BRACKET |
| F8F0;bracketleftbt;LEFT SQUARE BRACKET BOTTOM |
| F8EF;bracketleftex;LEFT SQUARE BRACKET EXTENDER |
| F8EE;bracketlefttp;LEFT SQUARE BRACKET TOP |
| 005D;bracketright;RIGHT SQUARE BRACKET |
| F8FB;bracketrightbt;RIGHT SQUARE BRACKET BOTTOM |
| F8FA;bracketrightex;RIGHT SQUARE BRACKET EXTENDER |
| F8F9;bracketrighttp;RIGHT SQUARE BRACKET TOP |
| 02D8;breve;BREVE |
| 00A6;brokenbar;BROKEN BAR |
| F6EA;bsuperior;SUPERSCRIPT LATIN SMALL LETTER B |
| 2022;bullet;BULLET |
| 0063;c;LATIN SMALL LETTER C |
| 0107;cacute;LATIN SMALL LETTER C WITH ACUTE |
| 02C7;caron;CARON |
| 21B5;carriagereturn;DOWNWARDS ARROW WITH CORNER LEFTWARDS |
| 010D;ccaron;LATIN SMALL LETTER C WITH CARON |
| 00E7;ccedilla;LATIN SMALL LETTER C WITH CEDILLA |
| 0109;ccircumflex;LATIN SMALL LETTER C WITH CIRCUMFLEX |
| 010B;cdotaccent;LATIN SMALL LETTER C WITH DOT ABOVE |
| 00B8;cedilla;CEDILLA |
| 00A2;cent;CENT SIGN |
| F6DF;centinferior;SUBSCRIPT CENT SIGN |
| F7A2;centoldstyle;OLDSTYLE CENT SIGN |
| F6E0;centsuperior;SUPERSCRIPT CENT SIGN |
| 03C7;chi;GREEK SMALL LETTER CHI |
| 25CB;circle;WHITE CIRCLE |
| 2297;circlemultiply;CIRCLED TIMES |
| 2295;circleplus;CIRCLED PLUS |
| 02C6;circumflex;MODIFIER LETTER CIRCUMFLEX ACCENT |
| 2663;club;BLACK CLUB SUIT |
| 003A;colon;COLON |
| 20A1;colonmonetary;COLON SIGN |
| 002C;comma;COMMA |
| F6C3;commaaccent;COMMA BELOW |
| F6E1;commainferior;SUBSCRIPT COMMA |
| F6E2;commasuperior;SUPERSCRIPT COMMA |
| 2245;congruent;APPROXIMATELY EQUAL TO |
| 00A9;copyright;COPYRIGHT SIGN |
| F8E9;copyrightsans;COPYRIGHT SIGN SANS SERIF |
| F6D9;copyrightserif;COPYRIGHT SIGN SERIF |
| 00A4;currency;CURRENCY SIGN |
| F6D1;cyrBreve;CAPITAL CYRILLIC BREVE |
| F6D2;cyrFlex;CAPITAL CYRILLIC CIRCUMFLEX |
| F6D4;cyrbreve;CYRILLIC BREVE |
| F6D5;cyrflex;CYRILLIC CIRCUMFLEX |
| 0064;d;LATIN SMALL LETTER D |
| 2020;dagger;DAGGER |
| 2021;daggerdbl;DOUBLE DAGGER |
| F6D3;dblGrave;CAPITAL DOUBLE GRAVE ACCENT |
| F6D6;dblgrave;DOUBLE GRAVE ACCENT |
| 010F;dcaron;LATIN SMALL LETTER D WITH CARON |
| 0111;dcroat;LATIN SMALL LETTER D WITH STROKE |
| 00B0;degree;DEGREE SIGN |
| 03B4;delta;GREEK SMALL LETTER DELTA |
| 2666;diamond;BLACK DIAMOND SUIT |
| 00A8;dieresis;DIAERESIS |
| F6D7;dieresisacute;DIAERESIS ACUTE ACCENT |
| F6D8;dieresisgrave;DIAERESIS GRAVE ACCENT |
| 0385;dieresistonos;GREEK DIALYTIKA TONOS |
| 00F7;divide;DIVISION SIGN |
| 2593;dkshade;DARK SHADE |
| 2584;dnblock;LOWER HALF BLOCK |
| 0024;dollar;DOLLAR SIGN |
| F6E3;dollarinferior;SUBSCRIPT DOLLAR SIGN |
| F724;dollaroldstyle;OLDSTYLE DOLLAR SIGN |
| F6E4;dollarsuperior;SUPERSCRIPT DOLLAR SIGN |
| 20AB;dong;DONG SIGN |
| 02D9;dotaccent;DOT ABOVE |
| 0323;dotbelowcomb;COMBINING DOT BELOW |
| 0131;dotlessi;LATIN SMALL LETTER DOTLESS I |
| F6BE;dotlessj;LATIN SMALL LETTER DOTLESS J |
| 22C5;dotmath;DOT OPERATOR |
| F6EB;dsuperior;SUPERSCRIPT LATIN SMALL LETTER D |
| 0065;e;LATIN SMALL LETTER E |
| 00E9;eacute;LATIN SMALL LETTER E WITH ACUTE |
| 0115;ebreve;LATIN SMALL LETTER E WITH BREVE |
| 011B;ecaron;LATIN SMALL LETTER E WITH CARON |
| 00EA;ecircumflex;LATIN SMALL LETTER E WITH CIRCUMFLEX |
| 00EB;edieresis;LATIN SMALL LETTER E WITH DIAERESIS |
| 0117;edotaccent;LATIN SMALL LETTER E WITH DOT ABOVE |
| 00E8;egrave;LATIN SMALL LETTER E WITH GRAVE |
| 0038;eight;DIGIT EIGHT |
| 2088;eightinferior;SUBSCRIPT EIGHT |
| F738;eightoldstyle;OLDSTYLE DIGIT EIGHT |
| 2078;eightsuperior;SUPERSCRIPT EIGHT |
| 2208;element;ELEMENT OF |
| 2026;ellipsis;HORIZONTAL ELLIPSIS |
| 0113;emacron;LATIN SMALL LETTER E WITH MACRON |
| 2014;emdash;EM DASH |
| 2205;emptyset;EMPTY SET |
| 2013;endash;EN DASH |
| 014B;eng;LATIN SMALL LETTER ENG |
| 0119;eogonek;LATIN SMALL LETTER E WITH OGONEK |
| 03B5;epsilon;GREEK SMALL LETTER EPSILON |
| 03AD;epsilontonos;GREEK SMALL LETTER EPSILON WITH TONOS |
| 003D;equal;EQUALS SIGN |
| 2261;equivalence;IDENTICAL TO |
| 212E;estimated;ESTIMATED SYMBOL |
| F6EC;esuperior;SUPERSCRIPT LATIN SMALL LETTER E |
| 03B7;eta;GREEK SMALL LETTER ETA |
| 03AE;etatonos;GREEK SMALL LETTER ETA WITH TONOS |
| 00F0;eth;LATIN SMALL LETTER ETH |
| 0021;exclam;EXCLAMATION MARK |
| 203C;exclamdbl;DOUBLE EXCLAMATION MARK |
| 00A1;exclamdown;INVERTED EXCLAMATION MARK |
| F7A1;exclamdownsmall;SMALL CAPITAL INVERTED EXCLAMATION MARK |
| F721;exclamsmall;SMALL CAPITAL EXCLAMATION MARK |
| 2203;existential;THERE EXISTS |
| 0066;f;LATIN SMALL LETTER F |
| 2640;female;FEMALE SIGN |
| FB00;ff;LATIN SMALL LIGATURE FF |
| FB03;ffi;LATIN SMALL LIGATURE FFI |
| FB04;ffl;LATIN SMALL LIGATURE FFL |
| FB01;fi;LATIN SMALL LIGATURE FI |
| 2012;figuredash;FIGURE DASH |
| 25A0;filledbox;BLACK SQUARE |
| 25AC;filledrect;BLACK RECTANGLE |
| 0035;five;DIGIT FIVE |
| 215D;fiveeighths;VULGAR FRACTION FIVE EIGHTHS |
| 2085;fiveinferior;SUBSCRIPT FIVE |
| F735;fiveoldstyle;OLDSTYLE DIGIT FIVE |
| 2075;fivesuperior;SUPERSCRIPT FIVE |
| FB02;fl;LATIN SMALL LIGATURE FL |
| 0192;florin;LATIN SMALL LETTER F WITH HOOK |
| 0034;four;DIGIT FOUR |
| 2084;fourinferior;SUBSCRIPT FOUR |
| F734;fouroldstyle;OLDSTYLE DIGIT FOUR |
| 2074;foursuperior;SUPERSCRIPT FOUR |
| 2044;fraction;FRACTION SLASH |
| 2215;fraction;DIVISION SLASH;Duplicate |
| 20A3;franc;FRENCH FRANC SIGN |
| 0067;g;LATIN SMALL LETTER G |
| 03B3;gamma;GREEK SMALL LETTER GAMMA |
| 011F;gbreve;LATIN SMALL LETTER G WITH BREVE |
| 01E7;gcaron;LATIN SMALL LETTER G WITH CARON |
| 011D;gcircumflex;LATIN SMALL LETTER G WITH CIRCUMFLEX |
| 0123;gcommaaccent;LATIN SMALL LETTER G WITH CEDILLA |
| 0121;gdotaccent;LATIN SMALL LETTER G WITH DOT ABOVE |
| 00DF;germandbls;LATIN SMALL LETTER SHARP S |
| 2207;gradient;NABLA |
| 0060;grave;GRAVE ACCENT |
| 0300;gravecomb;COMBINING GRAVE ACCENT |
| 003E;greater;GREATER-THAN SIGN |
| 2265;greaterequal;GREATER-THAN OR EQUAL TO |
| 00AB;guillemotleft;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK |
| 00BB;guillemotright;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK |
| 2039;guilsinglleft;SINGLE LEFT-POINTING ANGLE QUOTATION MARK |
| 203A;guilsinglright;SINGLE RIGHT-POINTING ANGLE QUOTATION MARK |
| 0068;h;LATIN SMALL LETTER H |
| 0127;hbar;LATIN SMALL LETTER H WITH STROKE |
| 0125;hcircumflex;LATIN SMALL LETTER H WITH CIRCUMFLEX |
| 2665;heart;BLACK HEART SUIT |
| 0309;hookabovecomb;COMBINING HOOK ABOVE |
| 2302;house;HOUSE |
| 02DD;hungarumlaut;DOUBLE ACUTE ACCENT |
| 002D;hyphen;HYPHEN-MINUS |
| 00AD;hyphen;SOFT HYPHEN;Duplicate |
| F6E5;hypheninferior;SUBSCRIPT HYPHEN-MINUS |
| F6E6;hyphensuperior;SUPERSCRIPT HYPHEN-MINUS |
| 0069;i;LATIN SMALL LETTER I |
| 00ED;iacute;LATIN SMALL LETTER I WITH ACUTE |
| 012D;ibreve;LATIN SMALL LETTER I WITH BREVE |
| 00EE;icircumflex;LATIN SMALL LETTER I WITH CIRCUMFLEX |
| 00EF;idieresis;LATIN SMALL LETTER I WITH DIAERESIS |
| 00EC;igrave;LATIN SMALL LETTER I WITH GRAVE |
| 0133;ij;LATIN SMALL LIGATURE IJ |
| 012B;imacron;LATIN SMALL LETTER I WITH MACRON |
| 221E;infinity;INFINITY |
| 222B;integral;INTEGRAL |
| 2321;integralbt;BOTTOM HALF INTEGRAL |
| F8F5;integralex;INTEGRAL EXTENDER |
| 2320;integraltp;TOP HALF INTEGRAL |
| 2229;intersection;INTERSECTION |
| 25D8;invbullet;INVERSE BULLET |
| 25D9;invcircle;INVERSE WHITE CIRCLE |
| 263B;invsmileface;BLACK SMILING FACE |
| 012F;iogonek;LATIN SMALL LETTER I WITH OGONEK |
| 03B9;iota;GREEK SMALL LETTER IOTA |
| 03CA;iotadieresis;GREEK SMALL LETTER IOTA WITH DIALYTIKA |
| 0390;iotadieresistonos;GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS |
| 03AF;iotatonos;GREEK SMALL LETTER IOTA WITH TONOS |
| F6ED;isuperior;SUPERSCRIPT LATIN SMALL LETTER I |
| 0129;itilde;LATIN SMALL LETTER I WITH TILDE |
| 006A;j;LATIN SMALL LETTER J |
| 0135;jcircumflex;LATIN SMALL LETTER J WITH CIRCUMFLEX |
| 006B;k;LATIN SMALL LETTER K |
| 03BA;kappa;GREEK SMALL LETTER KAPPA |
| 0137;kcommaaccent;LATIN SMALL LETTER K WITH CEDILLA |
| 0138;kgreenlandic;LATIN SMALL LETTER KRA |
| 006C;l;LATIN SMALL LETTER L |
| 013A;lacute;LATIN SMALL LETTER L WITH ACUTE |
| 03BB;lambda;GREEK SMALL LETTER LAMDA |
| 013E;lcaron;LATIN SMALL LETTER L WITH CARON |
| 013C;lcommaaccent;LATIN SMALL LETTER L WITH CEDILLA |
| 0140;ldot;LATIN SMALL LETTER L WITH MIDDLE DOT |
| 003C;less;LESS-THAN SIGN |
| 2264;lessequal;LESS-THAN OR EQUAL TO |
| 258C;lfblock;LEFT HALF BLOCK |
| 20A4;lira;LIRA SIGN |
| F6C0;ll;LATIN SMALL LETTER LL |
| 2227;logicaland;LOGICAL AND |
| 00AC;logicalnot;NOT SIGN |
| 2228;logicalor;LOGICAL OR |
| 017F;longs;LATIN SMALL LETTER LONG S |
| 25CA;lozenge;LOZENGE |
| 0142;lslash;LATIN SMALL LETTER L WITH STROKE |
| F6EE;lsuperior;SUPERSCRIPT LATIN SMALL LETTER L |
| 2591;ltshade;LIGHT SHADE |
| 006D;m;LATIN SMALL LETTER M |
| 00AF;macron;MACRON |
| 02C9;macron;MODIFIER LETTER MACRON;Duplicate |
| 2642;male;MALE SIGN |
| 2212;minus;MINUS SIGN |
| 2032;minute;PRIME |
| F6EF;msuperior;SUPERSCRIPT LATIN SMALL LETTER M |
| 00B5;mu;MICRO SIGN |
| 03BC;mu;GREEK SMALL LETTER MU;Duplicate |
| 00D7;multiply;MULTIPLICATION SIGN |
| 266A;musicalnote;EIGHTH NOTE |
| 266B;musicalnotedbl;BEAMED EIGHTH NOTES |
| 006E;n;LATIN SMALL LETTER N |
| 0144;nacute;LATIN SMALL LETTER N WITH ACUTE |
| 0149;napostrophe;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE |
| 0148;ncaron;LATIN SMALL LETTER N WITH CARON |
| 0146;ncommaaccent;LATIN SMALL LETTER N WITH CEDILLA |
| 0039;nine;DIGIT NINE |
| 2089;nineinferior;SUBSCRIPT NINE |
| F739;nineoldstyle;OLDSTYLE DIGIT NINE |
| 2079;ninesuperior;SUPERSCRIPT NINE |
| 2209;notelement;NOT AN ELEMENT OF |
| 2260;notequal;NOT EQUAL TO |
| 2284;notsubset;NOT A SUBSET OF |
| 207F;nsuperior;SUPERSCRIPT LATIN SMALL LETTER N |
| 00F1;ntilde;LATIN SMALL LETTER N WITH TILDE |
| 03BD;nu;GREEK SMALL LETTER NU |
| 0023;numbersign;NUMBER SIGN |
| 006F;o;LATIN SMALL LETTER O |
| 00F3;oacute;LATIN SMALL LETTER O WITH ACUTE |
| 014F;obreve;LATIN SMALL LETTER O WITH BREVE |
| 00F4;ocircumflex;LATIN SMALL LETTER O WITH CIRCUMFLEX |
| 00F6;odieresis;LATIN SMALL LETTER O WITH DIAERESIS |
| 0153;oe;LATIN SMALL LIGATURE OE |
| 02DB;ogonek;OGONEK |
| 00F2;ograve;LATIN SMALL LETTER O WITH GRAVE |
| 01A1;ohorn;LATIN SMALL LETTER O WITH HORN |
| 0151;ohungarumlaut;LATIN SMALL LETTER O WITH DOUBLE ACUTE |
| 014D;omacron;LATIN SMALL LETTER O WITH MACRON |
| 03C9;omega;GREEK SMALL LETTER OMEGA |
| 03D6;omega1;GREEK PI SYMBOL |
| 03CE;omegatonos;GREEK SMALL LETTER OMEGA WITH TONOS |
| 03BF;omicron;GREEK SMALL LETTER OMICRON |
| 03CC;omicrontonos;GREEK SMALL LETTER OMICRON WITH TONOS |
| 0031;one;DIGIT ONE |
| 2024;onedotenleader;ONE DOT LEADER |
| 215B;oneeighth;VULGAR FRACTION ONE EIGHTH |
| F6DC;onefitted;PROPORTIONAL DIGIT ONE |
| 00BD;onehalf;VULGAR FRACTION ONE HALF |
| 2081;oneinferior;SUBSCRIPT ONE |
| F731;oneoldstyle;OLDSTYLE DIGIT ONE |
| 00BC;onequarter;VULGAR FRACTION ONE QUARTER |
| 00B9;onesuperior;SUPERSCRIPT ONE |
| 2153;onethird;VULGAR FRACTION ONE THIRD |
| 25E6;openbullet;WHITE BULLET |
| 00AA;ordfeminine;FEMININE ORDINAL INDICATOR |
| 00BA;ordmasculine;MASCULINE ORDINAL INDICATOR |
| 221F;orthogonal;RIGHT ANGLE |
| 00F8;oslash;LATIN SMALL LETTER O WITH STROKE |
| 01FF;oslashacute;LATIN SMALL LETTER O WITH STROKE AND ACUTE |
| F6F0;osuperior;SUPERSCRIPT LATIN SMALL LETTER O |
| 00F5;otilde;LATIN SMALL LETTER O WITH TILDE |
| 0070;p;LATIN SMALL LETTER P |
| 00B6;paragraph;PILCROW SIGN |
| 0028;parenleft;LEFT PARENTHESIS |
| F8ED;parenleftbt;LEFT PAREN BOTTOM |
| F8EC;parenleftex;LEFT PAREN EXTENDER |
| 208D;parenleftinferior;SUBSCRIPT LEFT PARENTHESIS |
| 207D;parenleftsuperior;SUPERSCRIPT LEFT PARENTHESIS |
| F8EB;parenlefttp;LEFT PAREN TOP |
| 0029;parenright;RIGHT PARENTHESIS |
| F8F8;parenrightbt;RIGHT PAREN BOTTOM |
| F8F7;parenrightex;RIGHT PAREN EXTENDER |
| 208E;parenrightinferior;SUBSCRIPT RIGHT PARENTHESIS |
| 207E;parenrightsuperior;SUPERSCRIPT RIGHT PARENTHESIS |
| F8F6;parenrighttp;RIGHT PAREN TOP |
| 2202;partialdiff;PARTIAL DIFFERENTIAL |
| 0025;percent;PERCENT SIGN |
| 002E;period;FULL STOP |
| 00B7;periodcentered;MIDDLE DOT |
| 2219;periodcentered;BULLET OPERATOR;Duplicate |
| F6E7;periodinferior;SUBSCRIPT FULL STOP |
| F6E8;periodsuperior;SUPERSCRIPT FULL STOP |
| 22A5;perpendicular;UP TACK |
| 2030;perthousand;PER MILLE SIGN |
| 20A7;peseta;PESETA SIGN |
| 03C6;phi;GREEK SMALL LETTER PHI |
| 03D5;phi1;GREEK PHI SYMBOL |
| 03C0;pi;GREEK SMALL LETTER PI |
| 002B;plus;PLUS SIGN |
| 00B1;plusminus;PLUS-MINUS SIGN |
| 211E;prescription;PRESCRIPTION TAKE |
| 220F;product;N-ARY PRODUCT |
| 2282;propersubset;SUBSET OF |
| 2283;propersuperset;SUPERSET OF |
| 221D;proportional;PROPORTIONAL TO |
| 03C8;psi;GREEK SMALL LETTER PSI |
| 0071;q;LATIN SMALL LETTER Q |
| 003F;question;QUESTION MARK |
| 00BF;questiondown;INVERTED QUESTION MARK |
| F7BF;questiondownsmall;SMALL CAPITAL INVERTED QUESTION MARK |
| F73F;questionsmall;SMALL CAPITAL QUESTION MARK |
| 0022;quotedbl;QUOTATION MARK |
| 201E;quotedblbase;DOUBLE LOW-9 QUOTATION MARK |
| 201C;quotedblleft;LEFT DOUBLE QUOTATION MARK |
| 201D;quotedblright;RIGHT DOUBLE QUOTATION MARK |
| 2018;quoteleft;LEFT SINGLE QUOTATION MARK |
| 201B;quotereversed;SINGLE HIGH-REVERSED-9 QUOTATION MARK |
| 2019;quoteright;RIGHT SINGLE QUOTATION MARK |
| 201A;quotesinglbase;SINGLE LOW-9 QUOTATION MARK |
| 0027;quotesingle;APOSTROPHE |
| 0072;r;LATIN SMALL LETTER R |
| 0155;racute;LATIN SMALL LETTER R WITH ACUTE |
| 221A;radical;SQUARE ROOT |
| F8E5;radicalex;RADICAL EXTENDER |
| 0159;rcaron;LATIN SMALL LETTER R WITH CARON |
| 0157;rcommaaccent;LATIN SMALL LETTER R WITH CEDILLA |
| 2286;reflexsubset;SUBSET OF OR EQUAL TO |
| 2287;reflexsuperset;SUPERSET OF OR EQUAL TO |
| 00AE;registered;REGISTERED SIGN |
| F8E8;registersans;REGISTERED SIGN SANS SERIF |
| F6DA;registerserif;REGISTERED SIGN SERIF |
| 2310;revlogicalnot;REVERSED NOT SIGN |
| 03C1;rho;GREEK SMALL LETTER RHO |
| 02DA;ring;RING ABOVE |
| F6F1;rsuperior;SUPERSCRIPT LATIN SMALL LETTER R |
| 2590;rtblock;RIGHT HALF BLOCK |
| F6DD;rupiah;RUPIAH SIGN |
| 0073;s;LATIN SMALL LETTER S |
| 015B;sacute;LATIN SMALL LETTER S WITH ACUTE |
| 0161;scaron;LATIN SMALL LETTER S WITH CARON |
| 015F;scedilla;LATIN SMALL LETTER S WITH CEDILLA |
| F6C2;scedilla;LATIN SMALL LETTER S WITH CEDILLA;Duplicate |
| 015D;scircumflex;LATIN SMALL LETTER S WITH CIRCUMFLEX |
| 0219;scommaaccent;LATIN SMALL LETTER S WITH COMMA BELOW |
| 2033;second;DOUBLE PRIME |
| 00A7;section;SECTION SIGN |
| 003B;semicolon;SEMICOLON |
| 0037;seven;DIGIT SEVEN |
| 215E;seveneighths;VULGAR FRACTION SEVEN EIGHTHS |
| 2087;seveninferior;SUBSCRIPT SEVEN |
| F737;sevenoldstyle;OLDSTYLE DIGIT SEVEN |
| 2077;sevensuperior;SUPERSCRIPT SEVEN |
| 2592;shade;MEDIUM SHADE |
| 03C3;sigma;GREEK SMALL LETTER SIGMA |
| 03C2;sigma1;GREEK SMALL LETTER FINAL SIGMA |
| 223C;similar;TILDE OPERATOR |
| 0036;six;DIGIT SIX |
| 2086;sixinferior;SUBSCRIPT SIX |
| F736;sixoldstyle;OLDSTYLE DIGIT SIX |
| 2076;sixsuperior;SUPERSCRIPT SIX |
| 002F;slash;SOLIDUS |
| 263A;smileface;WHITE SMILING FACE |
| 0020;space;SPACE |
| 00A0;space;NO-BREAK SPACE;Duplicate |
| 2660;spade;BLACK SPADE SUIT |
| F6F2;ssuperior;SUPERSCRIPT LATIN SMALL LETTER S |
| 00A3;sterling;POUND SIGN |
| 220B;suchthat;CONTAINS AS MEMBER |
| 2211;summation;N-ARY SUMMATION |
| 263C;sun;WHITE SUN WITH RAYS |
| 0074;t;LATIN SMALL LETTER T |
| 03C4;tau;GREEK SMALL LETTER TAU |
| 0167;tbar;LATIN SMALL LETTER T WITH STROKE |
| 0165;tcaron;LATIN SMALL LETTER T WITH CARON |
| 0163;tcommaaccent;LATIN SMALL LETTER T WITH CEDILLA |
| 021B;tcommaaccent;LATIN SMALL LETTER T WITH COMMA BELOW;Duplicate |
| 2234;therefore;THEREFORE |
| 03B8;theta;GREEK SMALL LETTER THETA |
| 03D1;theta1;GREEK THETA SYMBOL |
| 00FE;thorn;LATIN SMALL LETTER THORN |
| 0033;three;DIGIT THREE |
| 215C;threeeighths;VULGAR FRACTION THREE EIGHTHS |
| 2083;threeinferior;SUBSCRIPT THREE |
| F733;threeoldstyle;OLDSTYLE DIGIT THREE |
| 00BE;threequarters;VULGAR FRACTION THREE QUARTERS |
| F6DE;threequartersemdash;THREE QUARTERS EM DASH |
| 00B3;threesuperior;SUPERSCRIPT THREE |
| 02DC;tilde;SMALL TILDE |
| 0303;tildecomb;COMBINING TILDE |
| 0384;tonos;GREEK TONOS |
| 2122;trademark;TRADE MARK SIGN |
| F8EA;trademarksans;TRADE MARK SIGN SANS SERIF |
| F6DB;trademarkserif;TRADE MARK SIGN SERIF |
| 25BC;triagdn;BLACK DOWN-POINTING TRIANGLE |
| 25C4;triaglf;BLACK LEFT-POINTING POINTER |
| 25BA;triagrt;BLACK RIGHT-POINTING POINTER |
| 25B2;triagup;BLACK UP-POINTING TRIANGLE |
| F6F3;tsuperior;SUPERSCRIPT LATIN SMALL LETTER T |
| 0032;two;DIGIT TWO |
| 2025;twodotenleader;TWO DOT LEADER |
| 2082;twoinferior;SUBSCRIPT TWO |
| F732;twooldstyle;OLDSTYLE DIGIT TWO |
| 00B2;twosuperior;SUPERSCRIPT TWO |
| 2154;twothirds;VULGAR FRACTION TWO THIRDS |
| 0075;u;LATIN SMALL LETTER U |
| 00FA;uacute;LATIN SMALL LETTER U WITH ACUTE |
| 016D;ubreve;LATIN SMALL LETTER U WITH BREVE |
| 00FB;ucircumflex;LATIN SMALL LETTER U WITH CIRCUMFLEX |
| 00FC;udieresis;LATIN SMALL LETTER U WITH DIAERESIS |
| 00F9;ugrave;LATIN SMALL LETTER U WITH GRAVE |
| 01B0;uhorn;LATIN SMALL LETTER U WITH HORN |
| 0171;uhungarumlaut;LATIN SMALL LETTER U WITH DOUBLE ACUTE |
| 016B;umacron;LATIN SMALL LETTER U WITH MACRON |
| 005F;underscore;LOW LINE |
| 2017;underscoredbl;DOUBLE LOW LINE |
| 222A;union;UNION |
| 2200;universal;FOR ALL |
| 0173;uogonek;LATIN SMALL LETTER U WITH OGONEK |
| 2580;upblock;UPPER HALF BLOCK |
| 03C5;upsilon;GREEK SMALL LETTER UPSILON |
| 03CB;upsilondieresis;GREEK SMALL LETTER UPSILON WITH DIALYTIKA |
| 03B0;upsilondieresistonos;GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS |
| 03CD;upsilontonos;GREEK SMALL LETTER UPSILON WITH TONOS |
| 016F;uring;LATIN SMALL LETTER U WITH RING ABOVE |
| 0169;utilde;LATIN SMALL LETTER U WITH TILDE |
| 0076;v;LATIN SMALL LETTER V |
| 0077;w;LATIN SMALL LETTER W |
| 1E83;wacute;LATIN SMALL LETTER W WITH ACUTE |
| 0175;wcircumflex;LATIN SMALL LETTER W WITH CIRCUMFLEX |
| 1E85;wdieresis;LATIN SMALL LETTER W WITH DIAERESIS |
| 2118;weierstrass;SCRIPT CAPITAL P |
| 1E81;wgrave;LATIN SMALL LETTER W WITH GRAVE |
| 0078;x;LATIN SMALL LETTER X |
| 03BE;xi;GREEK SMALL LETTER XI |
| 0079;y;LATIN SMALL LETTER Y |
| 00FD;yacute;LATIN SMALL LETTER Y WITH ACUTE |
| 0177;ycircumflex;LATIN SMALL LETTER Y WITH CIRCUMFLEX |
| 00FF;ydieresis;LATIN SMALL LETTER Y WITH DIAERESIS |
| 00A5;yen;YEN SIGN |
| 1EF3;ygrave;LATIN SMALL LETTER Y WITH GRAVE |
| 007A;z;LATIN SMALL LETTER Z |
| 017A;zacute;LATIN SMALL LETTER Z WITH ACUTE |
| 017E;zcaron;LATIN SMALL LETTER Z WITH CARON |
| 017C;zdotaccent;LATIN SMALL LETTER Z WITH DOT ABOVE |
| 0030;zero;DIGIT ZERO |
| 2080;zeroinferior;SUBSCRIPT ZERO |
| F730;zerooldstyle;OLDSTYLE DIGIT ZERO |
| 2070;zerosuperior;SUPERSCRIPT ZERO |
| 03B6;zeta;GREEK SMALL LETTER ZETA |
| """ |
| |
| |
| t1_bias = 0 |
| glyph_list = [] |
| |
| |
| def adobe_glyph_names(): |
| """return the list of glyph names from the adobe list""" |
| |
| lines = string.split( adobe_glyph_list, '\n' ) |
| glyphs = [] |
| |
| for line in lines: |
| if line: |
| fields = string.split( line, ';' ) |
| # print fields[0] + ' - ' + fields[1] |
| glyphs.append( fields[1] ) |
| |
| return glyphs |
| |
| |
| def adobe_glyph_values(): |
| """return the list of glyph names and their unicode values""" |
| |
| lines = string.split( adobe_glyph_list, '\n' ) |
| glyphs = [] |
| values = [] |
| |
| for line in lines: |
| if line: |
| fields = string.split( line, ';' ) |
| # print fields[0] + ' - ' + fields[1] |
| glyphs.append( fields[1] ) |
| values.append( fields[0] ) |
| |
| return glyphs, values |
| |
| |
| def filter_glyph_names( alist, filter ): |
| """filter 'alist' by taking _out_ all glyph names that are in 'filter'""" |
| |
| count = 0 |
| extras = [] |
| |
| for name in alist: |
| try: |
| filtered_index = filter.index( name ) |
| except: |
| extras.append( name ) |
| |
| return extras |
| |
| |
| def dump_mac_indices( file, all_glyphs ): |
| write = file.write |
| |
| write( " static const unsigned short mac_standard_names[" + \ |
| repr( len( mac_standard_names ) + 1 ) + "] =\n" ) |
| write( " {\n" ) |
| |
| for name in mac_standard_names: |
| write( " " + repr( all_glyphs.index( name ) ) + ",\n" ) |
| |
| write( " 0\n" ) |
| write( " };\n" ) |
| write( "\n" ) |
| write( "\n" ) |
| |
| |
| def dump_glyph_list( file, base_list, adobe_list ): |
| write = file.write |
| |
| name_list = [] |
| |
| write( " static const char* const ps_glyph_names[] =\n" ) |
| write( " {\n" ) |
| |
| for name in base_list: |
| write( ' "' + name + '",\n' ) |
| name_list.append( name ) |
| |
| write( "\n" ) |
| write( "#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST\n" ) |
| write( "\n" ) |
| |
| for name in adobe_list: |
| write( ' "' + name + '",\n' ) |
| name_list.append( name ) |
| |
| write( "\n" ) |
| write( "#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */\n" ) |
| write( "\n" ) |
| write( " NULL\n" ) |
| write( " };\n" ) |
| write( "\n" ) |
| write( "\n" ) |
| |
| return name_list |
| |
| |
| def dump_unicode_values( file, sid_list, adobe_list ): |
| """build the glyph names to unicode values table""" |
| |
| write = file.write |
| |
| agl_names, agl_unicodes = adobe_glyph_values() |
| |
| write( "\n" ) |
| write( " static const unsigned short ps_names_to_unicode[" + \ |
| repr( len( sid_list ) + len( adobe_list ) + 1 ) + "] =\n" ) |
| write( " {\n" ) |
| |
| for name in sid_list: |
| try: |
| index = agl_names.index( name ) |
| write( " 0x" + agl_unicodes[index] + ",\n" ) |
| except: |
| write( " 0,\n" ) |
| |
| write( "\n" ) |
| write( "#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST\n" ) |
| write( "\n" ) |
| |
| for name in adobe_list: |
| try: |
| index = agl_names.index( name ) |
| write( " 0x" + agl_unicodes[index] + ",\n" ) |
| except: |
| write( " 0,\n" ) |
| |
| write( "\n" ) |
| write( "#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */\n" ) |
| write( " 0\n" ) |
| write( " };\n" ) |
| write( "\n" ) |
| write( "\n" ) |
| write( "\n" ) |
| |
| |
| def dump_encoding( file, encoding_name, encoding_list ): |
| """dumps a given encoding""" |
| |
| write = file.write |
| |
| write( " static const unsigned short " + encoding_name + "[" + \ |
| repr( len( encoding_list ) + 1 ) + "] =\n" ) |
| write( " {\n" ) |
| |
| for value in encoding_list: |
| write( " " + repr( value ) + ",\n" ) |
| write( " 0\n" ) |
| write( " };\n" ) |
| write( "\n" ) |
| write( "\n" ) |
| |
| |
| def main(): |
| """main program body""" |
| |
| if len( sys.argv ) != 2: |
| print __doc__ % sys.argv[0] |
| sys.exit( 1 ) |
| |
| file = open( sys.argv[1], "w\n" ) |
| write = file.write |
| |
| count_sid = len( sid_standard_names ) |
| |
| # 'mac_extras' contains the list of glyph names in the Macintosh standard |
| # encoding which are not in either the Adobe Glyph List or the SID |
| # Standard Names. |
| # |
| mac_extras = filter_glyph_names( mac_standard_names, adobe_glyph_names() ) |
| mac_extras = filter_glyph_names( mac_extras, sid_standard_names ) |
| |
| # 'base_list' contains the first names of our final glyph names table. |
| # It consists of the 'mac_extras' glyph names, followed by the SID |
| # Standard names. |
| # |
| mac_extras_count = len( mac_extras ) |
| t1_bias = mac_extras_count |
| base_list = mac_extras + sid_standard_names |
| |
| # 'adobe_list' contains the glyph names that are in the AGL, but not in |
| # the base_list; they will be placed after base_list glyph names in |
| # our final table. |
| # |
| adobe_list = filter_glyph_names( adobe_glyph_names(), base_list ) |
| adobe_count = len( adobe_list ) |
| |
| write( "/***************************************************************************/\n" ) |
| write( "/* */\n" ) |
| |
| write( "/* %-71s*/\n" % sys.argv[1] ) |
| |
| write( "/* */\n" ) |
| write( "/* PostScript glyph names (specification only). */\n" ) |
| write( "/* */\n" ) |
| write( "/* Copyright 2000-2001 by */\n" ) |
| write( "/* David Turner, Robert Wilhelm, and Werner Lemberg. */\n" ) |
| write( "/* */\n" ) |
| write( "/* This file is part of the FreeType project, and may only be used, */\n" ) |
| write( "/* modified, and distributed under the terms of the FreeType project */\n" ) |
| write( "/* license, LICENSE.TXT. By continuing to use, modify, or distribute */\n" ) |
| write( "/* this file you indicate that you have read the license and */\n" ) |
| write( "/* understand and accept it fully. */\n" ) |
| write( "/* */\n" ) |
| write( "/***************************************************************************/\n" ) |
| write( "\n" ) |
| write( "\n" ) |
| write( " /* this file has been generated automatically -- do not edit! */\n" ) |
| write( "\n" ) |
| write( "\n" ) |
| |
| # dump final glyph list (mac extras + sid standard names + AGL glyph names) |
| # |
| name_list = dump_glyph_list( file, base_list, adobe_list ) |
| |
| # dump t1_standard_list |
| write( " static const char* const * const sid_standard_names = " \ |
| + "ps_glyph_names + " + repr( t1_bias ) + ";\n" ) |
| write( "\n" ) |
| write( "\n" ) |
| |
| write( "#define NUM_SID_GLYPHS " + repr( len( sid_standard_names ) ) + "\n" ) |
| write( "\n" ) |
| write( "#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST\n" ) |
| write( "#define NUM_ADOBE_GLYPHS " + \ |
| repr( len( base_list ) + len( adobe_list ) - t1_bias ) + "\n" ) |
| write( "#else\n" ) |
| write( "#define NUM_ADOBE_GLYPHS " + \ |
| repr( len( base_list ) - t1_bias ) + "\n" ) |
| write( "#endif\n" ) |
| write( "\n" ) |
| write( "\n" ) |
| |
| # dump mac indices table |
| dump_mac_indices( file, name_list ) |
| |
| # dump unicode values table |
| dump_unicode_values( file, sid_standard_names, adobe_list ) |
| |
| dump_encoding( file, "t1_standard_encoding", t1_standard_encoding ) |
| dump_encoding( file, "t1_expert_encoding", t1_expert_encoding ) |
| |
| write( "/* END */\n" ) |
| |
| |
| # Now run the main routine |
| # |
| main() |
| |
| |
| # END |