Introduce src dir.
[librarian.git] / src / librarian / font-optimizer / ext / Font-TTF / lib / Font / TTF / PSNames.pm
diff --git a/src/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/PSNames.pm b/src/librarian/font-optimizer/ext/Font-TTF/lib/Font/TTF/PSNames.pm
new file mode 100644 (file)
index 0000000..cb4c73b
--- /dev/null
@@ -0,0 +1,4447 @@
+package Font::TTF::PSNames;
+
+=head1 NAME
+
+Font::TTF::PSNames - Utilities for Postscript glyph name processing
+
+=head1 SYNOPSIS
+
+  use Font::TTF::PSNames qw(parse lookup);
+  $name = lookup($uni);
+  $uni = parse($name);
+
+=head1 METHODS
+
+=cut
+
+use strict;
+use vars qw(%names %agl @EXPORT_OK @ISA);
+require Exporter;
+@ISA = qw( Exporter );
+@EXPORT_OK = qw( parse lookup);
+
+# Adobe Glyph List for New Fonts       
+# from http://partners.adobe.com/asn/tech/type/aglfn13.txt
+
+%names = (
+    '0020' => 'space',
+    '0021' => 'exclam',
+    '0022' => 'quotedbl',
+    '0023' => 'numbersign',
+    '0024' => 'dollar',
+    '0025' => 'percent',
+    '0026' => 'ampersand',
+    '0027' => 'quotesingle',
+    '0028' => 'parenleft',
+    '0029' => 'parenright',
+    '002A' => 'asterisk',
+    '002B' => 'plus',
+    '002C' => 'comma',
+    '002D' => 'hyphen',
+    '002E' => 'period',
+    '002F' => 'slash',
+    '0030' => 'zero',
+    '0031' => 'one',
+    '0032' => 'two',
+    '0033' => 'three',
+    '0034' => 'four',
+    '0035' => 'five',
+    '0036' => 'six',
+    '0037' => 'seven',
+    '0038' => 'eight',
+    '0039' => 'nine',
+    '003A' => 'colon',
+    '003B' => 'semicolon',
+    '003C' => 'less',
+    '003D' => 'equal',
+    '003E' => 'greater',
+    '003F' => 'question',
+    '0040' => 'at',
+    '0041' => 'A',
+    '0042' => 'B',
+    '0043' => 'C',
+    '0044' => 'D',
+    '0045' => 'E',
+    '0046' => 'F',
+    '0047' => 'G',
+    '0048' => 'H',
+    '0049' => 'I',
+    '004A' => 'J',
+    '004B' => 'K',
+    '004C' => 'L',
+    '004D' => 'M',
+    '004E' => 'N',
+    '004F' => 'O',
+    '0050' => 'P',
+    '0051' => 'Q',
+    '0052' => 'R',
+    '0053' => 'S',
+    '0054' => 'T',
+    '0055' => 'U',
+    '0056' => 'V',
+    '0057' => 'W',
+    '0058' => 'X',
+    '0059' => 'Y',
+    '005A' => 'Z',
+    '005B' => 'bracketleft',
+    '005C' => 'backslash',
+    '005D' => 'bracketright',
+    '005E' => 'asciicircum',
+    '005F' => 'underscore',
+    '0060' => 'grave',
+    '0061' => 'a',
+    '0062' => 'b',
+    '0063' => 'c',
+    '0064' => 'd',
+    '0065' => 'e',
+    '0066' => 'f',
+    '0067' => 'g',
+    '0068' => 'h',
+    '0069' => 'i',
+    '006A' => 'j',
+    '006B' => 'k',
+    '006C' => 'l',
+    '006D' => 'm',
+    '006E' => 'n',
+    '006F' => 'o',
+    '0070' => 'p',
+    '0071' => 'q',
+    '0072' => 'r',
+    '0073' => 's',
+    '0074' => 't',
+    '0075' => 'u',
+    '0076' => 'v',
+    '0077' => 'w',
+    '0078' => 'x',
+    '0079' => 'y',
+    '007A' => 'z',
+    '007B' => 'braceleft',
+    '007C' => 'bar',
+    '007D' => 'braceright',
+    '007E' => 'asciitilde',
+#    '00A0' => 'space',
+    '00A1' => 'exclamdown',
+    '00A2' => 'cent',
+    '00A3' => 'sterling',
+    '00A4' => 'currency',
+    '00A5' => 'yen',
+    '00A6' => 'brokenbar',
+    '00A7' => 'section',
+    '00A8' => 'dieresis',
+    '00A9' => 'copyright',
+    '00AA' => 'ordfeminine',
+    '00AB' => 'guillemotleft',
+    '00AC' => 'logicalnot',
+#    '00AD' => 'hyphen',
+    '00AE' => 'registered',
+    '00AF' => 'macron',
+    '00B0' => 'degree',
+    '00B1' => 'plusminus',
+    '00B2' => 'twosuperior',
+    '00B3' => 'threesuperior',
+    '00B4' => 'acute',
+    '00B5' => 'mu',
+    '00B6' => 'paragraph',
+    '00B7' => 'periodcentered',
+    '00B8' => 'cedilla',
+    '00B9' => 'onesuperior',
+    '00BA' => 'ordmasculine',
+    '00BB' => 'guillemotright',
+    '00BC' => 'onequarter',
+    '00BD' => 'onehalf',
+    '00BE' => 'threequarters',
+    '00BF' => 'questiondown',
+    '00C0' => 'Agrave',
+    '00C1' => 'Aacute',
+    '00C2' => 'Acircumflex',
+    '00C3' => 'Atilde',
+    '00C4' => 'Adieresis',
+    '00C5' => 'Aring',
+    '00C6' => 'AE',
+    '00C7' => 'Ccedilla',
+    '00C8' => 'Egrave',
+    '00C9' => 'Eacute',
+    '00CA' => 'Ecircumflex',
+    '00CB' => 'Edieresis',
+    '00CC' => 'Igrave',
+    '00CD' => 'Iacute',
+    '00CE' => 'Icircumflex',
+    '00CF' => 'Idieresis',
+    '00D0' => 'Eth',
+    '00D1' => 'Ntilde',
+    '00D2' => 'Ograve',
+    '00D3' => 'Oacute',
+    '00D4' => 'Ocircumflex',
+    '00D5' => 'Otilde',
+    '00D6' => 'Odieresis',
+    '00D7' => 'multiply',
+    '00D8' => 'Oslash',
+    '00D9' => 'Ugrave',
+    '00DA' => 'Uacute',
+    '00DB' => 'Ucircumflex',
+    '00DC' => 'Udieresis',
+    '00DD' => 'Yacute',
+    '00DE' => 'Thorn',
+    '00DF' => 'germandbls',
+    '00E0' => 'agrave',
+    '00E1' => 'aacute',
+    '00E2' => 'acircumflex',
+    '00E3' => 'atilde',
+    '00E4' => 'adieresis',
+    '00E5' => 'aring',
+    '00E6' => 'ae',
+    '00E7' => 'ccedilla',
+    '00E8' => 'egrave',
+    '00E9' => 'eacute',
+    '00EA' => 'ecircumflex',
+    '00EB' => 'edieresis',
+    '00EC' => 'igrave',
+    '00ED' => 'iacute',
+    '00EE' => 'icircumflex',
+    '00EF' => 'idieresis',
+    '00F0' => 'eth',
+    '00F1' => 'ntilde',
+    '00F2' => 'ograve',
+    '00F3' => 'oacute',
+    '00F4' => 'ocircumflex',
+    '00F5' => 'otilde',
+    '00F6' => 'odieresis',
+    '00F7' => 'divide',
+    '00F8' => 'oslash',
+    '00F9' => 'ugrave',
+    '00FA' => 'uacute',
+    '00FB' => 'ucircumflex',
+    '00FC' => 'udieresis',
+    '00FD' => 'yacute',
+    '00FE' => 'thorn',
+    '00FF' => 'ydieresis',
+    '0100' => 'Amacron',
+    '0101' => 'amacron',
+    '0102' => 'Abreve',
+    '0103' => 'abreve',
+    '0104' => 'Aogonek',
+    '0105' => 'aogonek',
+    '0106' => 'Cacute',
+    '0107' => 'cacute',
+    '0108' => 'Ccircumflex',
+    '0109' => 'ccircumflex',
+    '010A' => 'Cdotaccent',
+    '010B' => 'cdotaccent',
+    '010C' => 'Ccaron',
+    '010D' => 'ccaron',
+    '010E' => 'Dcaron',
+    '010F' => 'dcaron',
+    '0110' => 'Dcroat',
+    '0111' => 'dcroat',
+    '0112' => 'Emacron',
+    '0113' => 'emacron',
+    '0114' => 'Ebreve',
+    '0115' => 'ebreve',
+    '0116' => 'Edotaccent',
+    '0117' => 'edotaccent',
+    '0118' => 'Eogonek',
+    '0119' => 'eogonek',
+    '011A' => 'Ecaron',
+    '011B' => 'ecaron',
+    '011C' => 'Gcircumflex',
+    '011D' => 'gcircumflex',
+    '011E' => 'Gbreve',
+    '011F' => 'gbreve',
+    '0120' => 'Gdotaccent',
+    '0121' => 'gdotaccent',
+    '0122' => 'Gcommaaccent',
+    '0123' => 'gcommaaccent',
+    '0124' => 'Hcircumflex',
+    '0125' => 'hcircumflex',
+    '0126' => 'Hbar',
+    '0127' => 'hbar',
+    '0128' => 'Itilde',
+    '0129' => 'itilde',
+    '012A' => 'Imacron',
+    '012B' => 'imacron',
+    '012C' => 'Ibreve',
+    '012D' => 'ibreve',
+    '012E' => 'Iogonek',
+    '012F' => 'iogonek',
+    '0130' => 'Idotaccent',
+    '0131' => 'dotlessi',
+    '0132' => 'IJ',
+    '0133' => 'ij',
+    '0134' => 'Jcircumflex',
+    '0135' => 'jcircumflex',
+    '0136' => 'Kcommaaccent',
+    '0137' => 'kcommaaccent',
+    '0138' => 'kgreenlandic',
+    '0139' => 'Lacute',
+    '013A' => 'lacute',
+    '013B' => 'Lcommaaccent',
+    '013C' => 'lcommaaccent',
+    '013D' => 'Lcaron',
+    '013E' => 'lcaron',
+    '013F' => 'Ldot',
+    '0140' => 'ldot',
+    '0141' => 'Lslash',
+    '0142' => 'lslash',
+    '0143' => 'Nacute',
+    '0144' => 'nacute',
+    '0145' => 'Ncommaaccent',
+    '0146' => 'ncommaaccent',
+    '0147' => 'Ncaron',
+    '0148' => 'ncaron',
+    '0149' => 'napostrophe',
+    '014A' => 'Eng',
+    '014B' => 'eng',
+    '014C' => 'Omacron',
+    '014D' => 'omacron',
+    '014E' => 'Obreve',
+    '014F' => 'obreve',
+    '0150' => 'Ohungarumlaut',
+    '0151' => 'ohungarumlaut',
+    '0152' => 'OE',
+    '0153' => 'oe',
+    '0154' => 'Racute',
+    '0155' => 'racute',
+    '0156' => 'Rcommaaccent',
+    '0157' => 'rcommaaccent',
+    '0158' => 'Rcaron',
+    '0159' => 'rcaron',
+    '015A' => 'Sacute',
+    '015B' => 'sacute',
+    '015C' => 'Scircumflex',
+    '015D' => 'scircumflex',
+    '015E' => 'Scedilla',
+    '015F' => 'scedilla',
+    '0160' => 'Scaron',
+    '0161' => 'scaron',
+    '0162' => 'Tcommaaccent',
+    '0163' => 'tcommaaccent',
+    '0164' => 'Tcaron',
+    '0165' => 'tcaron',
+    '0166' => 'Tbar',
+    '0167' => 'tbar',
+    '0168' => 'Utilde',
+    '0169' => 'utilde',
+    '016A' => 'Umacron',
+    '016B' => 'umacron',
+    '016C' => 'Ubreve',
+    '016D' => 'ubreve',
+    '016E' => 'Uring',
+    '016F' => 'uring',
+    '0170' => 'Uhungarumlaut',
+    '0171' => 'uhungarumlaut',
+    '0172' => 'Uogonek',
+    '0173' => 'uogonek',
+    '0174' => 'Wcircumflex',
+    '0175' => 'wcircumflex',
+    '0176' => 'Ycircumflex',
+    '0177' => 'ycircumflex',
+    '0178' => 'Ydieresis',
+    '0179' => 'Zacute',
+    '017A' => 'zacute',
+    '017B' => 'Zdotaccent',
+    '017C' => 'zdotaccent',
+    '017D' => 'Zcaron',
+    '017E' => 'zcaron',
+    '017F' => 'longs',
+    '0192' => 'florin',
+    '01A0' => 'Ohorn',
+    '01A1' => 'ohorn',
+    '01AF' => 'Uhorn',
+    '01B0' => 'uhorn',
+    '01E6' => 'Gcaron',
+    '01E7' => 'gcaron',
+    '01FA' => 'Aringacute',
+    '01FB' => 'aringacute',
+    '01FC' => 'AEacute',
+    '01FD' => 'aeacute',
+    '01FE' => 'Oslashacute',
+    '01FF' => 'oslashacute',
+    '0218' => 'Scommaaccent',
+    '0219' => 'scommaaccent',
+#    '021A' => 'Tcommaaccent',
+#    '021B' => 'tcommaaccent',
+    '02BC' => 'afii57929',
+    '02BD' => 'afii64937',
+    '02C6' => 'circumflex',
+    '02C7' => 'caron',
+#    '02C9' => 'macron',
+    '02D8' => 'breve',
+    '02D9' => 'dotaccent',
+    '02DA' => 'ring',
+    '02DB' => 'ogonek',
+    '02DC' => 'tilde',
+    '02DD' => 'hungarumlaut',
+    '0300' => 'gravecomb',
+    '0301' => 'acutecomb',
+    '0303' => 'tildecomb',
+    '0309' => 'hookabovecomb',
+    '0323' => 'dotbelowcomb',
+    '0384' => 'tonos',
+    '0385' => 'dieresistonos',
+    '0386' => 'Alphatonos',
+    '0387' => 'anoteleia',
+    '0388' => 'Epsilontonos',
+    '0389' => 'Etatonos',
+    '038A' => 'Iotatonos',
+    '038C' => 'Omicrontonos',
+    '038E' => 'Upsilontonos',
+    '038F' => 'Omegatonos',
+    '0390' => 'iotadieresistonos',
+    '0391' => 'Alpha',
+    '0392' => 'Beta',
+    '0393' => 'Gamma',
+#    '0394' => 'Delta',
+    '0395' => 'Epsilon',
+    '0396' => 'Zeta',
+    '0397' => 'Eta',
+    '0398' => 'Theta',
+    '0399' => 'Iota',
+    '039A' => 'Kappa',
+    '039B' => 'Lambda',
+    '039C' => 'Mu',
+    '039D' => 'Nu',
+    '039E' => 'Xi',
+    '039F' => 'Omicron',
+    '03A0' => 'Pi',
+    '03A1' => 'Rho',
+    '03A3' => 'Sigma',
+    '03A4' => 'Tau',
+    '03A5' => 'Upsilon',
+    '03A6' => 'Phi',
+    '03A7' => 'Chi',
+    '03A8' => 'Psi',
+#    '03A9' => 'Omega',
+    '03AA' => 'Iotadieresis',
+    '03AB' => 'Upsilondieresis',
+    '03AC' => 'alphatonos',
+    '03AD' => 'epsilontonos',
+    '03AE' => 'etatonos',
+    '03AF' => 'iotatonos',
+    '03B0' => 'upsilondieresistonos',
+    '03B1' => 'alpha',
+    '03B2' => 'beta',
+    '03B3' => 'gamma',
+    '03B4' => 'delta',
+    '03B5' => 'epsilon',
+    '03B6' => 'zeta',
+    '03B7' => 'eta',
+    '03B8' => 'theta',
+    '03B9' => 'iota',
+    '03BA' => 'kappa',
+    '03BB' => 'lambda',
+#    '03BC' => 'mu',
+    '03BD' => 'nu',
+    '03BE' => 'xi',
+    '03BF' => 'omicron',
+    '03C0' => 'pi',
+    '03C1' => 'rho',
+    '03C2' => 'sigma1',
+    '03C3' => 'sigma',
+    '03C4' => 'tau',
+    '03C5' => 'upsilon',
+    '03C6' => 'phi',
+    '03C7' => 'chi',
+    '03C8' => 'psi',
+    '03C9' => 'omega',
+    '03CA' => 'iotadieresis',
+    '03CB' => 'upsilondieresis',
+    '03CC' => 'omicrontonos',
+    '03CD' => 'upsilontonos',
+    '03CE' => 'omegatonos',
+    '03D1' => 'theta1',
+    '03D2' => 'Upsilon1',
+    '03D5' => 'phi1',
+    '03D6' => 'omega1',
+    '0401' => 'afii10023',
+    '0402' => 'afii10051',
+    '0403' => 'afii10052',
+    '0404' => 'afii10053',
+    '0405' => 'afii10054',
+    '0406' => 'afii10055',
+    '0407' => 'afii10056',
+    '0408' => 'afii10057',
+    '0409' => 'afii10058',
+    '040A' => 'afii10059',
+    '040B' => 'afii10060',
+    '040C' => 'afii10061',
+    '040E' => 'afii10062',
+    '040F' => 'afii10145',
+    '0410' => 'afii10017',
+    '0411' => 'afii10018',
+    '0412' => 'afii10019',
+    '0413' => 'afii10020',
+    '0414' => 'afii10021',
+    '0415' => 'afii10022',
+    '0416' => 'afii10024',
+    '0417' => 'afii10025',
+    '0418' => 'afii10026',
+    '0419' => 'afii10027',
+    '041A' => 'afii10028',
+    '041B' => 'afii10029',
+    '041C' => 'afii10030',
+    '041D' => 'afii10031',
+    '041E' => 'afii10032',
+    '041F' => 'afii10033',
+    '0420' => 'afii10034',
+    '0421' => 'afii10035',
+    '0422' => 'afii10036',
+    '0423' => 'afii10037',
+    '0424' => 'afii10038',
+    '0425' => 'afii10039',
+    '0426' => 'afii10040',
+    '0427' => 'afii10041',
+    '0428' => 'afii10042',
+    '0429' => 'afii10043',
+    '042A' => 'afii10044',
+    '042B' => 'afii10045',
+    '042C' => 'afii10046',
+    '042D' => 'afii10047',
+    '042E' => 'afii10048',
+    '042F' => 'afii10049',
+    '0430' => 'afii10065',
+    '0431' => 'afii10066',
+    '0432' => 'afii10067',
+    '0433' => 'afii10068',
+    '0434' => 'afii10069',
+    '0435' => 'afii10070',
+    '0436' => 'afii10072',
+    '0437' => 'afii10073',
+    '0438' => 'afii10074',
+    '0439' => 'afii10075',
+    '043A' => 'afii10076',
+    '043B' => 'afii10077',
+    '043C' => 'afii10078',
+    '043D' => 'afii10079',
+    '043E' => 'afii10080',
+    '043F' => 'afii10081',
+    '0440' => 'afii10082',
+    '0441' => 'afii10083',
+    '0442' => 'afii10084',
+    '0443' => 'afii10085',
+    '0444' => 'afii10086',
+    '0445' => 'afii10087',
+    '0446' => 'afii10088',
+    '0447' => 'afii10089',
+    '0448' => 'afii10090',
+    '0449' => 'afii10091',
+    '044A' => 'afii10092',
+    '044B' => 'afii10093',
+    '044C' => 'afii10094',
+    '044D' => 'afii10095',
+    '044E' => 'afii10096',
+    '044F' => 'afii10097',
+    '0451' => 'afii10071',
+    '0452' => 'afii10099',
+    '0453' => 'afii10100',
+    '0454' => 'afii10101',
+    '0455' => 'afii10102',
+    '0456' => 'afii10103',
+    '0457' => 'afii10104',
+    '0458' => 'afii10105',
+    '0459' => 'afii10106',
+    '045A' => 'afii10107',
+    '045B' => 'afii10108',
+    '045C' => 'afii10109',
+    '045E' => 'afii10110',
+    '045F' => 'afii10193',
+    '0462' => 'afii10146',
+    '0463' => 'afii10194',
+    '0472' => 'afii10147',
+    '0473' => 'afii10195',
+    '0474' => 'afii10148',
+    '0475' => 'afii10196',
+    '0490' => 'afii10050',
+    '0491' => 'afii10098',
+    '04D9' => 'afii10846',
+    '05B0' => 'afii57799',
+    '05B1' => 'afii57801',
+    '05B2' => 'afii57800',
+    '05B3' => 'afii57802',
+    '05B4' => 'afii57793',
+    '05B5' => 'afii57794',
+    '05B6' => 'afii57795',
+    '05B7' => 'afii57798',
+    '05B8' => 'afii57797',
+    '05B9' => 'afii57806',
+    '05BB' => 'afii57796',
+    '05BC' => 'afii57807',
+    '05BD' => 'afii57839',
+    '05BE' => 'afii57645',
+    '05BF' => 'afii57841',
+    '05C0' => 'afii57842',
+    '05C1' => 'afii57804',
+    '05C2' => 'afii57803',
+    '05C3' => 'afii57658',
+    '05D0' => 'afii57664',
+    '05D1' => 'afii57665',
+    '05D2' => 'afii57666',
+    '05D3' => 'afii57667',
+    '05D4' => 'afii57668',
+    '05D5' => 'afii57669',
+    '05D6' => 'afii57670',
+    '05D7' => 'afii57671',
+    '05D8' => 'afii57672',
+    '05D9' => 'afii57673',
+    '05DA' => 'afii57674',
+    '05DB' => 'afii57675',
+    '05DC' => 'afii57676',
+    '05DD' => 'afii57677',
+    '05DE' => 'afii57678',
+    '05DF' => 'afii57679',
+    '05E0' => 'afii57680',
+    '05E1' => 'afii57681',
+    '05E2' => 'afii57682',
+    '05E3' => 'afii57683',
+    '05E4' => 'afii57684',
+    '05E5' => 'afii57685',
+    '05E6' => 'afii57686',
+    '05E7' => 'afii57687',
+    '05E8' => 'afii57688',
+    '05E9' => 'afii57689',
+    '05EA' => 'afii57690',
+    '05F0' => 'afii57716',
+    '05F1' => 'afii57717',
+    '05F2' => 'afii57718',
+    '060C' => 'afii57388',
+    '061B' => 'afii57403',
+    '061F' => 'afii57407',
+    '0621' => 'afii57409',
+    '0622' => 'afii57410',
+    '0623' => 'afii57411',
+    '0624' => 'afii57412',
+    '0625' => 'afii57413',
+    '0626' => 'afii57414',
+    '0627' => 'afii57415',
+    '0628' => 'afii57416',
+    '0629' => 'afii57417',
+    '062A' => 'afii57418',
+    '062B' => 'afii57419',
+    '062C' => 'afii57420',
+    '062D' => 'afii57421',
+    '062E' => 'afii57422',
+    '062F' => 'afii57423',
+    '0630' => 'afii57424',
+    '0631' => 'afii57425',
+    '0632' => 'afii57426',
+    '0633' => 'afii57427',
+    '0634' => 'afii57428',
+    '0635' => 'afii57429',
+    '0636' => 'afii57430',
+    '0637' => 'afii57431',
+    '0638' => 'afii57432',
+    '0639' => 'afii57433',
+    '063A' => 'afii57434',
+    '0640' => 'afii57440',
+    '0641' => 'afii57441',
+    '0642' => 'afii57442',
+    '0643' => 'afii57443',
+    '0644' => 'afii57444',
+    '0645' => 'afii57445',
+    '0646' => 'afii57446',
+    '0647' => 'afii57470',
+    '0648' => 'afii57448',
+    '0649' => 'afii57449',
+    '064A' => 'afii57450',
+    '064B' => 'afii57451',
+    '064C' => 'afii57452',
+    '064D' => 'afii57453',
+    '064E' => 'afii57454',
+    '064F' => 'afii57455',
+    '0650' => 'afii57456',
+    '0651' => 'afii57457',
+    '0652' => 'afii57458',
+    '0660' => 'afii57392',
+    '0661' => 'afii57393',
+    '0662' => 'afii57394',
+    '0663' => 'afii57395',
+    '0664' => 'afii57396',
+    '0665' => 'afii57397',
+    '0666' => 'afii57398',
+    '0667' => 'afii57399',
+    '0668' => 'afii57400',
+    '0669' => 'afii57401',
+    '066A' => 'afii57381',
+    '066D' => 'afii63167',
+    '0679' => 'afii57511',
+    '067E' => 'afii57506',
+    '0686' => 'afii57507',
+    '0688' => 'afii57512',
+    '0691' => 'afii57513',
+    '0698' => 'afii57508',
+    '06A4' => 'afii57505',
+    '06AF' => 'afii57509',
+    '06BA' => 'afii57514',
+    '06D2' => 'afii57519',
+    '06D5' => 'afii57534',
+    '1E80' => 'Wgrave',
+    '1E81' => 'wgrave',
+    '1E82' => 'Wacute',
+    '1E83' => 'wacute',
+    '1E84' => 'Wdieresis',
+    '1E85' => 'wdieresis',
+    '1EF2' => 'Ygrave',
+    '1EF3' => 'ygrave',
+    '200C' => 'afii61664',
+    '200D' => 'afii301',
+    '200E' => 'afii299',
+    '200F' => 'afii300',
+    '2012' => 'figuredash',
+    '2013' => 'endash',
+    '2014' => 'emdash',
+    '2015' => 'afii00208',
+    '2017' => 'underscoredbl',
+    '2018' => 'quoteleft',
+    '2019' => 'quoteright',
+    '201A' => 'quotesinglbase',
+    '201B' => 'quotereversed',
+    '201C' => 'quotedblleft',
+    '201D' => 'quotedblright',
+    '201E' => 'quotedblbase',
+    '2020' => 'dagger',
+    '2021' => 'daggerdbl',
+    '2022' => 'bullet',
+    '2024' => 'onedotenleader',
+    '2025' => 'twodotenleader',
+    '2026' => 'ellipsis',
+    '202C' => 'afii61573',
+    '202D' => 'afii61574',
+    '202E' => 'afii61575',
+    '2030' => 'perthousand',
+    '2032' => 'minute',
+    '2033' => 'second',
+    '2039' => 'guilsinglleft',
+    '203A' => 'guilsinglright',
+    '203C' => 'exclamdbl',
+    '2044' => 'fraction',
+#    '2070' => 'zerosuperior',
+#    '2074' => 'foursuperior',
+#    '2075' => 'fivesuperior',
+#    '2076' => 'sixsuperior',
+#    '2077' => 'sevensuperior',
+#    '2078' => 'eightsuperior',
+#    '2079' => 'ninesuperior',
+#    '207D' => 'parenleftsuperior',
+#    '207E' => 'parenrightsuperior',
+#    '207F' => 'nsuperior',
+#    '2080' => 'zeroinferior',
+#    '2081' => 'oneinferior',
+#    '2082' => 'twoinferior',
+#    '2083' => 'threeinferior',
+#    '2084' => 'fourinferior',
+#    '2085' => 'fiveinferior',
+#    '2086' => 'sixinferior',
+#    '2087' => 'seveninferior',
+#    '2088' => 'eightinferior',
+#    '2089' => 'nineinferior',
+#    '208D' => 'parenleftinferior',
+#    '208E' => 'parenrightinferior',
+    '20A1' => 'colonmonetary',
+    '20A3' => 'franc',
+    '20A4' => 'lira',
+    '20A7' => 'peseta',
+    '20AA' => 'afii57636',
+    '20AB' => 'dong',
+    '20AC' => 'Euro',
+    '2105' => 'afii61248',
+    '2111' => 'Ifraktur',
+    '2113' => 'afii61289',
+    '2116' => 'afii61352',
+    '2118' => 'weierstrass',
+    '211C' => 'Rfraktur',
+    '211E' => 'prescription',
+    '2122' => 'trademark',
+    '2126' => 'Omega',
+    '212E' => 'estimated',
+    '2135' => 'aleph',
+    '2153' => 'onethird',
+    '2154' => 'twothirds',
+    '215B' => 'oneeighth',
+    '215C' => 'threeeighths',
+    '215D' => 'fiveeighths',
+    '215E' => 'seveneighths',
+    '2190' => 'arrowleft',
+    '2191' => 'arrowup',
+    '2192' => 'arrowright',
+    '2193' => 'arrowdown',
+    '2194' => 'arrowboth',
+    '2195' => 'arrowupdn',
+    '21A8' => 'arrowupdnbse',
+    '21B5' => 'carriagereturn',
+    '21D0' => 'arrowdblleft',
+    '21D1' => 'arrowdblup',
+    '21D2' => 'arrowdblright',
+    '21D3' => 'arrowdbldown',
+    '21D4' => 'arrowdblboth',
+    '2200' => 'universal',
+    '2202' => 'partialdiff',
+    '2203' => 'existential',
+    '2205' => 'emptyset',
+    '2206' => 'Delta',
+    '2207' => 'gradient',
+    '2208' => 'element',
+    '2209' => 'notelement',
+    '220B' => 'suchthat',
+    '220F' => 'product',
+    '2211' => 'summation',
+    '2212' => 'minus',
+#    '2215' => 'fraction',
+    '2217' => 'asteriskmath',
+#    '2219' => 'periodcentered',
+    '221A' => 'radical',
+    '221D' => 'proportional',
+    '221E' => 'infinity',
+    '221F' => 'orthogonal',
+    '2220' => 'angle',
+    '2227' => 'logicaland',
+    '2228' => 'logicalor',
+    '2229' => 'intersection',
+    '222A' => 'union',
+    '222B' => 'integral',
+    '2234' => 'therefore',
+    '223C' => 'similar',
+    '2245' => 'congruent',
+    '2248' => 'approxequal',
+    '2260' => 'notequal',
+    '2261' => 'equivalence',
+    '2264' => 'lessequal',
+    '2265' => 'greaterequal',
+    '2282' => 'propersubset',
+    '2283' => 'propersuperset',
+    '2284' => 'notsubset',
+    '2286' => 'reflexsubset',
+    '2287' => 'reflexsuperset',
+    '2295' => 'circleplus',
+    '2297' => 'circlemultiply',
+    '22A5' => 'perpendicular',
+    '22C5' => 'dotmath',
+    '2302' => 'house',
+    '2310' => 'revlogicalnot',
+    '2320' => 'integraltp',
+    '2321' => 'integralbt',
+    '2329' => 'angleleft',
+    '232A' => 'angleright',
+    '2500' => 'SF100000',
+    '2502' => 'SF110000',
+    '250C' => 'SF010000',
+    '2510' => 'SF030000',
+    '2514' => 'SF020000',
+    '2518' => 'SF040000',
+    '251C' => 'SF080000',
+    '2524' => 'SF090000',
+    '252C' => 'SF060000',
+    '2534' => 'SF070000',
+    '253C' => 'SF050000',
+    '2550' => 'SF430000',
+    '2551' => 'SF240000',
+    '2552' => 'SF510000',
+    '2553' => 'SF520000',
+    '2554' => 'SF390000',
+    '2555' => 'SF220000',
+    '2556' => 'SF210000',
+    '2557' => 'SF250000',
+    '2558' => 'SF500000',
+    '2559' => 'SF490000',
+    '255A' => 'SF380000',
+    '255B' => 'SF280000',
+    '255C' => 'SF270000',
+    '255D' => 'SF260000',
+    '255E' => 'SF360000',
+    '255F' => 'SF370000',
+    '2560' => 'SF420000',
+    '2561' => 'SF190000',
+    '2562' => 'SF200000',
+    '2563' => 'SF230000',
+    '2564' => 'SF470000',
+    '2565' => 'SF480000',
+    '2566' => 'SF410000',
+    '2567' => 'SF450000',
+    '2568' => 'SF460000',
+    '2569' => 'SF400000',
+    '256A' => 'SF540000',
+    '256B' => 'SF530000',
+    '256C' => 'SF440000',
+    '2580' => 'upblock',
+    '2584' => 'dnblock',
+    '2588' => 'block',
+    '258C' => 'lfblock',
+    '2590' => 'rtblock',
+    '2591' => 'ltshade',
+    '2592' => 'shade',
+    '2593' => 'dkshade',
+    '25A0' => 'filledbox',
+    '25A1' => 'H22073',
+    '25AA' => 'H18543',
+    '25AB' => 'H18551',
+    '25AC' => 'filledrect',
+    '25B2' => 'triagup',
+    '25BA' => 'triagrt',
+    '25BC' => 'triagdn',
+    '25C4' => 'triaglf',
+    '25CA' => 'lozenge',
+    '25CB' => 'circle',
+    '25CF' => 'H18533',
+    '25D8' => 'invbullet',
+    '25D9' => 'invcircle',
+    '25E6' => 'openbullet',
+    '263A' => 'smileface',
+    '263B' => 'invsmileface',
+    '263C' => 'sun',
+    '2640' => 'female',
+    '2642' => 'male',
+    '2660' => 'spade',
+    '2663' => 'club',
+    '2665' => 'heart',
+    '2666' => 'diamond',
+    '266A' => 'musicalnote',
+    '266B' => 'musicalnotedbl',
+    'FB00' => 'ff',
+    'FB01' => 'fi',
+    'FB02' => 'fl',
+    'FB03' => 'ffi',
+    'FB04' => 'ffl',
+    'FB1F' => 'afii57705',
+    'FB2A' => 'afii57694',
+    'FB2B' => 'afii57695',
+    'FB35' => 'afii57723',
+    'FB4B' => 'afii57700',
+);
+
+# Adobe Glyph List 2.0 (sans those in glyph list for *new* fonts) -- thus
+# these are all historic names that could occur in fonts
+# from http://partners.adobe.com/asn/tech/type/glyphlist.txt
+
+%agl = (
+       'AEmacron' => "\x{01E2}",
+       'AEsmall' => "\x{F7E6}",
+       'Aacutesmall' => "\x{F7E1}",
+       'Abreveacute' => "\x{1EAE}",
+       'Abrevecyrillic' => "\x{04D0}",
+       'Abrevedotbelow' => "\x{1EB6}",
+       'Abrevegrave' => "\x{1EB0}",
+       'Abrevehookabove' => "\x{1EB2}",
+       'Abrevetilde' => "\x{1EB4}",
+       'Acaron' => "\x{01CD}",
+       'Acircle' => "\x{24B6}",
+       'Acircumflexacute' => "\x{1EA4}",
+       'Acircumflexdotbelow' => "\x{1EAC}",
+       'Acircumflexgrave' => "\x{1EA6}",
+       'Acircumflexhookabove' => "\x{1EA8}",
+       'Acircumflexsmall' => "\x{F7E2}",
+       'Acircumflextilde' => "\x{1EAA}",
+       'Acute' => "\x{F6C9}",
+       'Acutesmall' => "\x{F7B4}",
+       'Acyrillic' => "\x{0410}",
+       'Adblgrave' => "\x{0200}",
+       'Adieresiscyrillic' => "\x{04D2}",
+       'Adieresismacron' => "\x{01DE}",
+       'Adieresissmall' => "\x{F7E4}",
+       'Adotbelow' => "\x{1EA0}",
+       'Adotmacron' => "\x{01E0}",
+       'Agravesmall' => "\x{F7E0}",
+       'Ahookabove' => "\x{1EA2}",
+       'Aiecyrillic' => "\x{04D4}",
+       'Ainvertedbreve' => "\x{0202}",
+       'Amonospace' => "\x{FF21}",
+       'Aringbelow' => "\x{1E00}",
+       'Aringsmall' => "\x{F7E5}",
+       'Asmall' => "\x{F761}",
+       'Atildesmall' => "\x{F7E3}",
+       'Aybarmenian' => "\x{0531}",
+       'Bcircle' => "\x{24B7}",
+       'Bdotaccent' => "\x{1E02}",
+       'Bdotbelow' => "\x{1E04}",
+       'Becyrillic' => "\x{0411}",
+       'Benarmenian' => "\x{0532}",
+       'Bhook' => "\x{0181}",
+       'Blinebelow' => "\x{1E06}",
+       'Bmonospace' => "\x{FF22}",
+       'Brevesmall' => "\x{F6F4}",
+       'Bsmall' => "\x{F762}",
+       'Btopbar' => "\x{0182}",
+       'Caarmenian' => "\x{053E}",
+       'Caron' => "\x{F6CA}",
+       'Caronsmall' => "\x{F6F5}",
+       'Ccedillaacute' => "\x{1E08}",
+       'Ccedillasmall' => "\x{F7E7}",
+       'Ccircle' => "\x{24B8}",
+       'Cdot' => "\x{010A}",
+       'Cedillasmall' => "\x{F7B8}",
+       'Chaarmenian' => "\x{0549}",
+       'Cheabkhasiancyrillic' => "\x{04BC}",
+       'Checyrillic' => "\x{0427}",
+       'Chedescenderabkhasiancyrillic' => "\x{04BE}",
+       'Chedescendercyrillic' => "\x{04B6}",
+       'Chedieresiscyrillic' => "\x{04F4}",
+       'Cheharmenian' => "\x{0543}",
+       'Chekhakassiancyrillic' => "\x{04CB}",
+       'Cheverticalstrokecyrillic' => "\x{04B8}",
+       'Chook' => "\x{0187}",
+       'Circumflexsmall' => "\x{F6F6}",
+       'Cmonospace' => "\x{FF23}",
+       'Coarmenian' => "\x{0551}",
+       'Csmall' => "\x{F763}",
+       'DZ' => "\x{01F1}",
+       'DZcaron' => "\x{01C4}",
+       'Daarmenian' => "\x{0534}",
+       'Dafrican' => "\x{0189}",
+       'Dcedilla' => "\x{1E10}",
+       'Dcircle' => "\x{24B9}",
+       'Dcircumflexbelow' => "\x{1E12}",
+       'Ddotaccent' => "\x{1E0A}",
+       'Ddotbelow' => "\x{1E0C}",
+       'Decyrillic' => "\x{0414}",
+       'Deicoptic' => "\x{03EE}",
+       'Deltagreek' => "\x{0394}",
+       'Dhook' => "\x{018A}",
+       'Dieresis' => "\x{F6CB}",
+       'DieresisAcute' => "\x{F6CC}",
+       'DieresisGrave' => "\x{F6CD}",
+       'Dieresissmall' => "\x{F7A8}",
+       'Digammagreek' => "\x{03DC}",
+       'Djecyrillic' => "\x{0402}",
+       'Dlinebelow' => "\x{1E0E}",
+       'Dmonospace' => "\x{FF24}",
+       'Dotaccentsmall' => "\x{F6F7}",
+       'Dslash' => "\x{0110}",
+       'Dsmall' => "\x{F764}",
+       'Dtopbar' => "\x{018B}",
+       'Dz' => "\x{01F2}",
+       'Dzcaron' => "\x{01C5}",
+       'Dzeabkhasiancyrillic' => "\x{04E0}",
+       'Dzecyrillic' => "\x{0405}",
+       'Dzhecyrillic' => "\x{040F}",
+       'Eacutesmall' => "\x{F7E9}",
+       'Ecedillabreve' => "\x{1E1C}",
+       'Echarmenian' => "\x{0535}",
+       'Ecircle' => "\x{24BA}",
+       'Ecircumflexacute' => "\x{1EBE}",
+       'Ecircumflexbelow' => "\x{1E18}",
+       'Ecircumflexdotbelow' => "\x{1EC6}",
+       'Ecircumflexgrave' => "\x{1EC0}",
+       'Ecircumflexhookabove' => "\x{1EC2}",
+       'Ecircumflexsmall' => "\x{F7EA}",
+       'Ecircumflextilde' => "\x{1EC4}",
+       'Ecyrillic' => "\x{0404}",
+       'Edblgrave' => "\x{0204}",
+       'Edieresissmall' => "\x{F7EB}",
+       'Edot' => "\x{0116}",
+       'Edotbelow' => "\x{1EB8}",
+       'Efcyrillic' => "\x{0424}",
+       'Egravesmall' => "\x{F7E8}",
+       'Eharmenian' => "\x{0537}",
+       'Ehookabove' => "\x{1EBA}",
+       'Eightroman' => "\x{2167}",
+       'Einvertedbreve' => "\x{0206}",
+       'Eiotifiedcyrillic' => "\x{0464}",
+       'Elcyrillic' => "\x{041B}",
+       'Elevenroman' => "\x{216A}",
+       'Emacronacute' => "\x{1E16}",
+       'Emacrongrave' => "\x{1E14}",
+       'Emcyrillic' => "\x{041C}",
+       'Emonospace' => "\x{FF25}",
+       'Encyrillic' => "\x{041D}",
+       'Endescendercyrillic' => "\x{04A2}",
+       'Enghecyrillic' => "\x{04A4}",
+       'Enhookcyrillic' => "\x{04C7}",
+       'Eopen' => "\x{0190}",
+       'Ercyrillic' => "\x{0420}",
+       'Ereversed' => "\x{018E}",
+       'Ereversedcyrillic' => "\x{042D}",
+       'Escyrillic' => "\x{0421}",
+       'Esdescendercyrillic' => "\x{04AA}",
+       'Esh' => "\x{01A9}",
+       'Esmall' => "\x{F765}",
+       'Etarmenian' => "\x{0538}",
+       'Ethsmall' => "\x{F7F0}",
+       'Etilde' => "\x{1EBC}",
+       'Etildebelow' => "\x{1E1A}",
+       'Ezh' => "\x{01B7}",
+       'Ezhcaron' => "\x{01EE}",
+       'Ezhreversed' => "\x{01B8}",
+       'Fcircle' => "\x{24BB}",
+       'Fdotaccent' => "\x{1E1E}",
+       'Feharmenian' => "\x{0556}",
+       'Feicoptic' => "\x{03E4}",
+       'Fhook' => "\x{0191}",
+       'Fitacyrillic' => "\x{0472}",
+       'Fiveroman' => "\x{2164}",
+       'Fmonospace' => "\x{FF26}",
+       'Fourroman' => "\x{2163}",
+       'Fsmall' => "\x{F766}",
+       'GBsquare' => "\x{3387}",
+       'Gacute' => "\x{01F4}",
+       'Gammaafrican' => "\x{0194}",
+       'Gangiacoptic' => "\x{03EA}",
+       'Gcedilla' => "\x{0122}",
+       'Gcircle' => "\x{24BC}",
+       'Gdot' => "\x{0120}",
+       'Gecyrillic' => "\x{0413}",
+       'Ghadarmenian' => "\x{0542}",
+       'Ghemiddlehookcyrillic' => "\x{0494}",
+       'Ghestrokecyrillic' => "\x{0492}",
+       'Gheupturncyrillic' => "\x{0490}",
+       'Ghook' => "\x{0193}",
+       'Gimarmenian' => "\x{0533}",
+       'Gjecyrillic' => "\x{0403}",
+       'Gmacron' => "\x{1E20}",
+       'Gmonospace' => "\x{FF27}",
+       'Grave' => "\x{F6CE}",
+       'Gravesmall' => "\x{F760}",
+       'Gsmall' => "\x{F767}",
+       'Gsmallhook' => "\x{029B}",
+       'Gstroke' => "\x{01E4}",
+       'HPsquare' => "\x{33CB}",
+       'Haabkhasiancyrillic' => "\x{04A8}",
+       'Hadescendercyrillic' => "\x{04B2}",
+       'Hardsigncyrillic' => "\x{042A}",
+       'Hbrevebelow' => "\x{1E2A}",
+       'Hcedilla' => "\x{1E28}",
+       'Hcircle' => "\x{24BD}",
+       'Hdieresis' => "\x{1E26}",
+       'Hdotaccent' => "\x{1E22}",
+       'Hdotbelow' => "\x{1E24}",
+       'Hmonospace' => "\x{FF28}",
+       'Hoarmenian' => "\x{0540}",
+       'Horicoptic' => "\x{03E8}",
+       'Hsmall' => "\x{F768}",
+       'Hungarumlaut' => "\x{F6CF}",
+       'Hungarumlautsmall' => "\x{F6F8}",
+       'Hzsquare' => "\x{3390}",
+       'IAcyrillic' => "\x{042F}",
+       'IUcyrillic' => "\x{042E}",
+       'Iacutesmall' => "\x{F7ED}",
+       'Icaron' => "\x{01CF}",
+       'Icircle' => "\x{24BE}",
+       'Icircumflexsmall' => "\x{F7EE}",
+       'Icyrillic' => "\x{0406}",
+       'Idblgrave' => "\x{0208}",
+       'Idieresisacute' => "\x{1E2E}",
+       'Idieresiscyrillic' => "\x{04E4}",
+       'Idieresissmall' => "\x{F7EF}",
+       'Idot' => "\x{0130}",
+       'Idotbelow' => "\x{1ECA}",
+       'Iebrevecyrillic' => "\x{04D6}",
+       'Iecyrillic' => "\x{0415}",
+       'Igravesmall' => "\x{F7EC}",
+       'Ihookabove' => "\x{1EC8}",
+       'Iicyrillic' => "\x{0418}",
+       'Iinvertedbreve' => "\x{020A}",
+       'Iishortcyrillic' => "\x{0419}",
+       'Imacroncyrillic' => "\x{04E2}",
+       'Imonospace' => "\x{FF29}",
+       'Iniarmenian' => "\x{053B}",
+       'Iocyrillic' => "\x{0401}",
+       'Iotaafrican' => "\x{0196}",
+       'Ismall' => "\x{F769}",
+       'Istroke' => "\x{0197}",
+       'Itildebelow' => "\x{1E2C}",
+       'Izhitsacyrillic' => "\x{0474}",
+       'Izhitsadblgravecyrillic' => "\x{0476}",
+       'Jaarmenian' => "\x{0541}",
+       'Jcircle' => "\x{24BF}",
+       'Jecyrillic' => "\x{0408}",
+       'Jheharmenian' => "\x{054B}",
+       'Jmonospace' => "\x{FF2A}",
+       'Jsmall' => "\x{F76A}",
+       'KBsquare' => "\x{3385}",
+       'KKsquare' => "\x{33CD}",
+       'Kabashkircyrillic' => "\x{04A0}",
+       'Kacute' => "\x{1E30}",
+       'Kacyrillic' => "\x{041A}",
+       'Kadescendercyrillic' => "\x{049A}",
+       'Kahookcyrillic' => "\x{04C3}",
+       'Kastrokecyrillic' => "\x{049E}",
+       'Kaverticalstrokecyrillic' => "\x{049C}",
+       'Kcaron' => "\x{01E8}",
+       'Kcedilla' => "\x{0136}",
+       'Kcircle' => "\x{24C0}",
+       'Kdotbelow' => "\x{1E32}",
+       'Keharmenian' => "\x{0554}",
+       'Kenarmenian' => "\x{053F}",
+       'Khacyrillic' => "\x{0425}",
+       'Kheicoptic' => "\x{03E6}",
+       'Khook' => "\x{0198}",
+       'Kjecyrillic' => "\x{040C}",
+       'Klinebelow' => "\x{1E34}",
+       'Kmonospace' => "\x{FF2B}",
+       'Koppacyrillic' => "\x{0480}",
+       'Koppagreek' => "\x{03DE}",
+       'Ksicyrillic' => "\x{046E}",
+       'Ksmall' => "\x{F76B}",
+       'LJ' => "\x{01C7}",
+       'LL' => "\x{F6BF}",
+       'Lcedilla' => "\x{013B}",
+       'Lcircle' => "\x{24C1}",
+       'Lcircumflexbelow' => "\x{1E3C}",
+       'Ldotaccent' => "\x{013F}",
+       'Ldotbelow' => "\x{1E36}",
+       'Ldotbelowmacron' => "\x{1E38}",
+       'Liwnarmenian' => "\x{053C}",
+       'Lj' => "\x{01C8}",
+       'Ljecyrillic' => "\x{0409}",
+       'Llinebelow' => "\x{1E3A}",
+       'Lmonospace' => "\x{FF2C}",
+       'Lslashsmall' => "\x{F6F9}",
+       'Lsmall' => "\x{F76C}",
+       'MBsquare' => "\x{3386}",
+       'Macron' => "\x{F6D0}",
+       'Macronsmall' => "\x{F7AF}",
+       'Macute' => "\x{1E3E}",
+       'Mcircle' => "\x{24C2}",
+       'Mdotaccent' => "\x{1E40}",
+       'Mdotbelow' => "\x{1E42}",
+       'Menarmenian' => "\x{0544}",
+       'Mmonospace' => "\x{FF2D}",
+       'Msmall' => "\x{F76D}",
+       'Mturned' => "\x{019C}",
+       'NJ' => "\x{01CA}",
+       'Ncedilla' => "\x{0145}",
+       'Ncircle' => "\x{24C3}",
+       'Ncircumflexbelow' => "\x{1E4A}",
+       'Ndotaccent' => "\x{1E44}",
+       'Ndotbelow' => "\x{1E46}",
+       'Nhookleft' => "\x{019D}",
+       'Nineroman' => "\x{2168}",
+       'Nj' => "\x{01CB}",
+       'Njecyrillic' => "\x{040A}",
+       'Nlinebelow' => "\x{1E48}",
+       'Nmonospace' => "\x{FF2E}",
+       'Nowarmenian' => "\x{0546}",
+       'Nsmall' => "\x{F76E}",
+       'Ntildesmall' => "\x{F7F1}",
+       'OEsmall' => "\x{F6FA}",
+       'Oacutesmall' => "\x{F7F3}",
+       'Obarredcyrillic' => "\x{04E8}",
+       'Obarreddieresiscyrillic' => "\x{04EA}",
+       'Ocaron' => "\x{01D1}",
+       'Ocenteredtilde' => "\x{019F}",
+       'Ocircle' => "\x{24C4}",
+       'Ocircumflexacute' => "\x{1ED0}",
+       'Ocircumflexdotbelow' => "\x{1ED8}",
+       'Ocircumflexgrave' => "\x{1ED2}",
+       'Ocircumflexhookabove' => "\x{1ED4}",
+       'Ocircumflexsmall' => "\x{F7F4}",
+       'Ocircumflextilde' => "\x{1ED6}",
+       'Ocyrillic' => "\x{041E}",
+       'Odblacute' => "\x{0150}",
+       'Odblgrave' => "\x{020C}",
+       'Odieresiscyrillic' => "\x{04E6}",
+       'Odieresissmall' => "\x{F7F6}",
+       'Odotbelow' => "\x{1ECC}",
+       'Ogoneksmall' => "\x{F6FB}",
+       'Ogravesmall' => "\x{F7F2}",
+       'Oharmenian' => "\x{0555}",
+       'Ohm' => "\x{2126}",
+       'Ohookabove' => "\x{1ECE}",
+       'Ohornacute' => "\x{1EDA}",
+       'Ohorndotbelow' => "\x{1EE2}",
+       'Ohorngrave' => "\x{1EDC}",
+       'Ohornhookabove' => "\x{1EDE}",
+       'Ohorntilde' => "\x{1EE0}",
+       'Oi' => "\x{01A2}",
+       'Oinvertedbreve' => "\x{020E}",
+       'Omacronacute' => "\x{1E52}",
+       'Omacrongrave' => "\x{1E50}",
+       'Omegacyrillic' => "\x{0460}",
+       'Omegagreek' => "\x{03A9}",
+       'Omegaroundcyrillic' => "\x{047A}",
+       'Omegatitlocyrillic' => "\x{047C}",
+       'Omonospace' => "\x{FF2F}",
+       'Oneroman' => "\x{2160}",
+       'Oogonek' => "\x{01EA}",
+       'Oogonekmacron' => "\x{01EC}",
+       'Oopen' => "\x{0186}",
+       'Oslashsmall' => "\x{F7F8}",
+       'Osmall' => "\x{F76F}",
+       'Ostrokeacute' => "\x{01FE}",
+       'Otcyrillic' => "\x{047E}",
+       'Otildeacute' => "\x{1E4C}",
+       'Otildedieresis' => "\x{1E4E}",
+       'Otildesmall' => "\x{F7F5}",
+       'Pacute' => "\x{1E54}",
+       'Pcircle' => "\x{24C5}",
+       'Pdotaccent' => "\x{1E56}",
+       'Pecyrillic' => "\x{041F}",
+       'Peharmenian' => "\x{054A}",
+       'Pemiddlehookcyrillic' => "\x{04A6}",
+       'Phook' => "\x{01A4}",
+       'Piwrarmenian' => "\x{0553}",
+       'Pmonospace' => "\x{FF30}",
+       'Psicyrillic' => "\x{0470}",
+       'Psmall' => "\x{F770}",
+       'Qcircle' => "\x{24C6}",
+       'Qmonospace' => "\x{FF31}",
+       'Qsmall' => "\x{F771}",
+       'Raarmenian' => "\x{054C}",
+       'Rcedilla' => "\x{0156}",
+       'Rcircle' => "\x{24C7}",
+       'Rdblgrave' => "\x{0210}",
+       'Rdotaccent' => "\x{1E58}",
+       'Rdotbelow' => "\x{1E5A}",
+       'Rdotbelowmacron' => "\x{1E5C}",
+       'Reharmenian' => "\x{0550}",
+       'Ringsmall' => "\x{F6FC}",
+       'Rinvertedbreve' => "\x{0212}",
+       'Rlinebelow' => "\x{1E5E}",
+       'Rmonospace' => "\x{FF32}",
+       'Rsmall' => "\x{F772}",
+       'Rsmallinverted' => "\x{0281}",
+       'Rsmallinvertedsuperior' => "\x{02B6}",
+       'Sacutedotaccent' => "\x{1E64}",
+       'Sampigreek' => "\x{03E0}",
+       'Scarondotaccent' => "\x{1E66}",
+       'Scaronsmall' => "\x{F6FD}",
+       'Schwa' => "\x{018F}",
+       'Schwacyrillic' => "\x{04D8}",
+       'Schwadieresiscyrillic' => "\x{04DA}",
+       'Scircle' => "\x{24C8}",
+       'Sdotaccent' => "\x{1E60}",
+       'Sdotbelow' => "\x{1E62}",
+       'Sdotbelowdotaccent' => "\x{1E68}",
+       'Seharmenian' => "\x{054D}",
+       'Sevenroman' => "\x{2166}",
+       'Shaarmenian' => "\x{0547}",
+       'Shacyrillic' => "\x{0428}",
+       'Shchacyrillic' => "\x{0429}",
+       'Sheicoptic' => "\x{03E2}",
+       'Shhacyrillic' => "\x{04BA}",
+       'Shimacoptic' => "\x{03EC}",
+       'Sixroman' => "\x{2165}",
+       'Smonospace' => "\x{FF33}",
+       'Softsigncyrillic' => "\x{042C}",
+       'Ssmall' => "\x{F773}",
+       'Stigmagreek' => "\x{03DA}",
+       'Tcedilla' => "\x{0162}",
+       'Tcircle' => "\x{24C9}",
+       'Tcircumflexbelow' => "\x{1E70}",
+       'Tdotaccent' => "\x{1E6A}",
+       'Tdotbelow' => "\x{1E6C}",
+       'Tecyrillic' => "\x{0422}",
+       'Tedescendercyrillic' => "\x{04AC}",
+       'Tenroman' => "\x{2169}",
+       'Tetsecyrillic' => "\x{04B4}",
+       'Thook' => "\x{01AC}",
+       'Thornsmall' => "\x{F7FE}",
+       'Threeroman' => "\x{2162}",
+       'Tildesmall' => "\x{F6FE}",
+       'Tiwnarmenian' => "\x{054F}",
+       'Tlinebelow' => "\x{1E6E}",
+       'Tmonospace' => "\x{FF34}",
+       'Toarmenian' => "\x{0539}",
+       'Tonefive' => "\x{01BC}",
+       'Tonesix' => "\x{0184}",
+       'Tonetwo' => "\x{01A7}",
+       'Tretroflexhook' => "\x{01AE}",
+       'Tsecyrillic' => "\x{0426}",
+       'Tshecyrillic' => "\x{040B}",
+       'Tsmall' => "\x{F774}",
+       'Twelveroman' => "\x{216B}",
+       'Tworoman' => "\x{2161}",
+       'Uacutesmall' => "\x{F7FA}",
+       'Ucaron' => "\x{01D3}",
+       'Ucircle' => "\x{24CA}",
+       'Ucircumflexbelow' => "\x{1E76}",
+       'Ucircumflexsmall' => "\x{F7FB}",
+       'Ucyrillic' => "\x{0423}",
+       'Udblacute' => "\x{0170}",
+       'Udblgrave' => "\x{0214}",
+       'Udieresisacute' => "\x{01D7}",
+       'Udieresisbelow' => "\x{1E72}",
+       'Udieresiscaron' => "\x{01D9}",
+       'Udieresiscyrillic' => "\x{04F0}",
+       'Udieresisgrave' => "\x{01DB}",
+       'Udieresismacron' => "\x{01D5}",
+       'Udieresissmall' => "\x{F7FC}",
+       'Udotbelow' => "\x{1EE4}",
+       'Ugravesmall' => "\x{F7F9}",
+       'Uhookabove' => "\x{1EE6}",
+       'Uhornacute' => "\x{1EE8}",
+       'Uhorndotbelow' => "\x{1EF0}",
+       'Uhorngrave' => "\x{1EEA}",
+       'Uhornhookabove' => "\x{1EEC}",
+       'Uhorntilde' => "\x{1EEE}",
+       'Uhungarumlautcyrillic' => "\x{04F2}",
+       'Uinvertedbreve' => "\x{0216}",
+       'Ukcyrillic' => "\x{0478}",
+       'Umacroncyrillic' => "\x{04EE}",
+       'Umacrondieresis' => "\x{1E7A}",
+       'Umonospace' => "\x{FF35}",
+       'Upsilonacutehooksymbolgreek' => "\x{03D3}",
+       'Upsilonafrican' => "\x{01B1}",
+       'Upsilondieresishooksymbolgreek' => "\x{03D4}",
+       'Upsilonhooksymbol' => "\x{03D2}",
+       'Ushortcyrillic' => "\x{040E}",
+       'Usmall' => "\x{F775}",
+       'Ustraightcyrillic' => "\x{04AE}",
+       'Ustraightstrokecyrillic' => "\x{04B0}",
+       'Utildeacute' => "\x{1E78}",
+       'Utildebelow' => "\x{1E74}",
+       'Vcircle' => "\x{24CB}",
+       'Vdotbelow' => "\x{1E7E}",
+       'Vecyrillic' => "\x{0412}",
+       'Vewarmenian' => "\x{054E}",
+       'Vhook' => "\x{01B2}",
+       'Vmonospace' => "\x{FF36}",
+       'Voarmenian' => "\x{0548}",
+       'Vsmall' => "\x{F776}",
+       'Vtilde' => "\x{1E7C}",
+       'Wcircle' => "\x{24CC}",
+       'Wdotaccent' => "\x{1E86}",
+       'Wdotbelow' => "\x{1E88}",
+       'Wmonospace' => "\x{FF37}",
+       'Wsmall' => "\x{F777}",
+       'Xcircle' => "\x{24CD}",
+       'Xdieresis' => "\x{1E8C}",
+       'Xdotaccent' => "\x{1E8A}",
+       'Xeharmenian' => "\x{053D}",
+       'Xmonospace' => "\x{FF38}",
+       'Xsmall' => "\x{F778}",
+       'Yacutesmall' => "\x{F7FD}",
+       'Yatcyrillic' => "\x{0462}",
+       'Ycircle' => "\x{24CE}",
+       'Ydieresissmall' => "\x{F7FF}",
+       'Ydotaccent' => "\x{1E8E}",
+       'Ydotbelow' => "\x{1EF4}",
+       'Yericyrillic' => "\x{042B}",
+       'Yerudieresiscyrillic' => "\x{04F8}",
+       'Yhook' => "\x{01B3}",
+       'Yhookabove' => "\x{1EF6}",
+       'Yiarmenian' => "\x{0545}",
+       'Yicyrillic' => "\x{0407}",
+       'Yiwnarmenian' => "\x{0552}",
+       'Ymonospace' => "\x{FF39}",
+       'Ysmall' => "\x{F779}",
+       'Ytilde' => "\x{1EF8}",
+       'Yusbigcyrillic' => "\x{046A}",
+       'Yusbigiotifiedcyrillic' => "\x{046C}",
+       'Yuslittlecyrillic' => "\x{0466}",
+       'Yuslittleiotifiedcyrillic' => "\x{0468}",
+       'Zaarmenian' => "\x{0536}",
+       'Zcaronsmall' => "\x{F6FF}",
+       'Zcircle' => "\x{24CF}",
+       'Zcircumflex' => "\x{1E90}",
+       'Zdot' => "\x{017B}",
+       'Zdotbelow' => "\x{1E92}",
+       'Zecyrillic' => "\x{0417}",
+       'Zedescendercyrillic' => "\x{0498}",
+       'Zedieresiscyrillic' => "\x{04DE}",
+       'Zhearmenian' => "\x{053A}",
+       'Zhebrevecyrillic' => "\x{04C1}",
+       'Zhecyrillic' => "\x{0416}",
+       'Zhedescendercyrillic' => "\x{0496}",
+       'Zhedieresiscyrillic' => "\x{04DC}",
+       'Zlinebelow' => "\x{1E94}",
+       'Zmonospace' => "\x{FF3A}",
+       'Zsmall' => "\x{F77A}",
+       'Zstroke' => "\x{01B5}",
+       'aabengali' => "\x{0986}",
+       'aadeva' => "\x{0906}",
+       'aagujarati' => "\x{0A86}",
+       'aagurmukhi' => "\x{0A06}",
+       'aamatragurmukhi' => "\x{0A3E}",
+       'aarusquare' => "\x{3303}",
+       'aavowelsignbengali' => "\x{09BE}",
+       'aavowelsigndeva' => "\x{093E}",
+       'aavowelsigngujarati' => "\x{0ABE}",
+       'abbreviationmarkarmenian' => "\x{055F}",
+       'abbreviationsigndeva' => "\x{0970}",
+       'abengali' => "\x{0985}",
+       'abopomofo' => "\x{311A}",
+       'abreveacute' => "\x{1EAF}",
+       'abrevecyrillic' => "\x{04D1}",
+       'abrevedotbelow' => "\x{1EB7}",
+       'abrevegrave' => "\x{1EB1}",
+       'abrevehookabove' => "\x{1EB3}",
+       'abrevetilde' => "\x{1EB5}",
+       'acaron' => "\x{01CE}",
+       'acircle' => "\x{24D0}",
+       'acircumflexacute' => "\x{1EA5}",
+       'acircumflexdotbelow' => "\x{1EAD}",
+       'acircumflexgrave' => "\x{1EA7}",
+       'acircumflexhookabove' => "\x{1EA9}",
+       'acircumflextilde' => "\x{1EAB}",
+       'acutebelowcmb' => "\x{0317}",
+       'acutecmb' => "\x{0301}",
+       'acutedeva' => "\x{0954}",
+       'acutelowmod' => "\x{02CF}",
+       'acutetonecmb' => "\x{0341}",
+       'acyrillic' => "\x{0430}",
+       'adblgrave' => "\x{0201}",
+       'addakgurmukhi' => "\x{0A71}",
+       'adeva' => "\x{0905}",
+       'adieresiscyrillic' => "\x{04D3}",
+       'adieresismacron' => "\x{01DF}",
+       'adotbelow' => "\x{1EA1}",
+       'adotmacron' => "\x{01E1}",
+       'aekorean' => "\x{3150}",
+       'aemacron' => "\x{01E3}",
+       'afii08941' => "\x{20A4}",
+       'afii10063' => "\x{F6C4}",
+       'afii10064' => "\x{F6C5}",
+       'afii10192' => "\x{F6C6}",
+       'afii10831' => "\x{F6C7}",
+       'afii10832' => "\x{F6C8}",
+       'agujarati' => "\x{0A85}",
+       'agurmukhi' => "\x{0A05}",
+       'ahiragana' => "\x{3042}",
+       'ahookabove' => "\x{1EA3}",
+       'aibengali' => "\x{0990}",
+       'aibopomofo' => "\x{311E}",
+       'aideva' => "\x{0910}",
+       'aiecyrillic' => "\x{04D5}",
+       'aigujarati' => "\x{0A90}",
+       'aigurmukhi' => "\x{0A10}",
+       'aimatragurmukhi' => "\x{0A48}",
+       'ainarabic' => "\x{0639}",
+       'ainfinalarabic' => "\x{FECA}",
+       'aininitialarabic' => "\x{FECB}",
+       'ainmedialarabic' => "\x{FECC}",
+       'ainvertedbreve' => "\x{0203}",
+       'aivowelsignbengali' => "\x{09C8}",
+       'aivowelsigndeva' => "\x{0948}",
+       'aivowelsigngujarati' => "\x{0AC8}",
+       'akatakana' => "\x{30A2}",
+       'akatakanahalfwidth' => "\x{FF71}",
+       'akorean' => "\x{314F}",
+       'alef' => "\x{05D0}",
+       'alefarabic' => "\x{0627}",
+       'alefdageshhebrew' => "\x{FB30}",
+       'aleffinalarabic' => "\x{FE8E}",
+       'alefhamzaabovearabic' => "\x{0623}",
+       'alefhamzaabovefinalarabic' => "\x{FE84}",
+       'alefhamzabelowarabic' => "\x{0625}",
+       'alefhamzabelowfinalarabic' => "\x{FE88}",
+       'alefhebrew' => "\x{05D0}",
+       'aleflamedhebrew' => "\x{FB4F}",
+       'alefmaddaabovearabic' => "\x{0622}",
+       'alefmaddaabovefinalarabic' => "\x{FE82}",
+       'alefmaksuraarabic' => "\x{0649}",
+       'alefmaksurafinalarabic' => "\x{FEF0}",
+       'alefmaksurainitialarabic' => "\x{FEF3}",
+       'alefmaksuramedialarabic' => "\x{FEF4}",
+       'alefpatahhebrew' => "\x{FB2E}",
+       'alefqamatshebrew' => "\x{FB2F}",
+       'allequal' => "\x{224C}",
+       'amonospace' => "\x{FF41}",
+       'ampersandmonospace' => "\x{FF06}",
+       'ampersandsmall' => "\x{F726}",
+       'amsquare' => "\x{33C2}",
+       'anbopomofo' => "\x{3122}",
+       'angbopomofo' => "\x{3124}",
+       'angkhankhuthai' => "\x{0E5A}",
+       'anglebracketleft' => "\x{3008}",
+       'anglebracketleftvertical' => "\x{FE3F}",
+       'anglebracketright' => "\x{3009}",
+       'anglebracketrightvertical' => "\x{FE40}",
+       'angstrom' => "\x{212B}",
+       'anudattadeva' => "\x{0952}",
+       'anusvarabengali' => "\x{0982}",
+       'anusvaradeva' => "\x{0902}",
+       'anusvaragujarati' => "\x{0A82}",
+       'apaatosquare' => "\x{3300}",
+       'aparen' => "\x{249C}",
+       'apostrophearmenian' => "\x{055A}",
+       'apostrophemod' => "\x{02BC}",
+       'apple' => "\x{F8FF}",
+       'approaches' => "\x{2250}",
+       'approxequalorimage' => "\x{2252}",
+       'approximatelyequal' => "\x{2245}",
+       'araeaekorean' => "\x{318E}",
+       'araeakorean' => "\x{318D}",
+       'arc' => "\x{2312}",
+       'arighthalfring' => "\x{1E9A}",
+       'aringbelow' => "\x{1E01}",
+       'arrowdashdown' => "\x{21E3}",
+       'arrowdashleft' => "\x{21E0}",
+       'arrowdashright' => "\x{21E2}",
+       'arrowdashup' => "\x{21E1}",
+       'arrowdownleft' => "\x{2199}",
+       'arrowdownright' => "\x{2198}",
+       'arrowdownwhite' => "\x{21E9}",
+       'arrowheaddownmod' => "\x{02C5}",
+       'arrowheadleftmod' => "\x{02C2}",
+       'arrowheadrightmod' => "\x{02C3}",
+       'arrowheadupmod' => "\x{02C4}",
+       'arrowhorizex' => "\x{F8E7}",
+       'arrowleftdbl' => "\x{21D0}",
+       'arrowleftdblstroke' => "\x{21CD}",
+       'arrowleftoverright' => "\x{21C6}",
+       'arrowleftwhite' => "\x{21E6}",
+       'arrowrightdblstroke' => "\x{21CF}",
+       'arrowrightheavy' => "\x{279E}",
+       'arrowrightoverleft' => "\x{21C4}",
+       'arrowrightwhite' => "\x{21E8}",
+       'arrowtableft' => "\x{21E4}",
+       'arrowtabright' => "\x{21E5}",
+       'arrowupdownbase' => "\x{21A8}",
+       'arrowupleft' => "\x{2196}",
+       'arrowupleftofdown' => "\x{21C5}",
+       'arrowupright' => "\x{2197}",
+       'arrowupwhite' => "\x{21E7}",
+       'arrowvertex' => "\x{F8E6}",
+       'asciicircummonospace' => "\x{FF3E}",
+       'asciitildemonospace' => "\x{FF5E}",
+       'ascript' => "\x{0251}",
+       'ascriptturned' => "\x{0252}",
+       'asmallhiragana' => "\x{3041}",
+       'asmallkatakana' => "\x{30A1}",
+       'asmallkatakanahalfwidth' => "\x{FF67}",
+       'asteriskaltonearabic' => "\x{066D}",
+       'asteriskarabic' => "\x{066D}",
+       'asteriskmonospace' => "\x{FF0A}",
+       'asterisksmall' => "\x{FE61}",
+       'asterism' => "\x{2042}",
+       'asuperior' => "\x{F6E9}",
+       'asymptoticallyequal' => "\x{2243}",
+       'atmonospace' => "\x{FF20}",
+       'atsmall' => "\x{FE6B}",
+       'aturned' => "\x{0250}",
+       'aubengali' => "\x{0994}",
+       'aubopomofo' => "\x{3120}",
+       'audeva' => "\x{0914}",
+       'augujarati' => "\x{0A94}",
+       'augurmukhi' => "\x{0A14}",
+       'aulengthmarkbengali' => "\x{09D7}",
+       'aumatragurmukhi' => "\x{0A4C}",
+       'auvowelsignbengali' => "\x{09CC}",
+       'auvowelsigndeva' => "\x{094C}",
+       'auvowelsigngujarati' => "\x{0ACC}",
+       'avagrahadeva' => "\x{093D}",
+       'aybarmenian' => "\x{0561}",
+       'ayin' => "\x{05E2}",
+       'ayinaltonehebrew' => "\x{FB20}",
+       'ayinhebrew' => "\x{05E2}",
+       'babengali' => "\x{09AC}",
+       'backslashmonospace' => "\x{FF3C}",
+       'badeva' => "\x{092C}",
+       'bagujarati' => "\x{0AAC}",
+       'bagurmukhi' => "\x{0A2C}",
+       'bahiragana' => "\x{3070}",
+       'bahtthai' => "\x{0E3F}",
+       'bakatakana' => "\x{30D0}",
+       'barmonospace' => "\x{FF5C}",
+       'bbopomofo' => "\x{3105}",
+       'bcircle' => "\x{24D1}",
+       'bdotaccent' => "\x{1E03}",
+       'bdotbelow' => "\x{1E05}",
+       'beamedsixteenthnotes' => "\x{266C}",
+       'because' => "\x{2235}",
+       'becyrillic' => "\x{0431}",
+       'beharabic' => "\x{0628}",
+       'behfinalarabic' => "\x{FE90}",
+       'behinitialarabic' => "\x{FE91}",
+       'behiragana' => "\x{3079}",
+       'behmedialarabic' => "\x{FE92}",
+       'behmeeminitialarabic' => "\x{FC9F}",
+       'behmeemisolatedarabic' => "\x{FC08}",
+       'behnoonfinalarabic' => "\x{FC6D}",
+       'bekatakana' => "\x{30D9}",
+       'benarmenian' => "\x{0562}",
+       'bet' => "\x{05D1}",
+       'betasymbolgreek' => "\x{03D0}",
+       'betdagesh' => "\x{FB31}",
+       'betdageshhebrew' => "\x{FB31}",
+       'bethebrew' => "\x{05D1}",
+       'betrafehebrew' => "\x{FB4C}",
+       'bhabengali' => "\x{09AD}",
+       'bhadeva' => "\x{092D}",
+       'bhagujarati' => "\x{0AAD}",
+       'bhagurmukhi' => "\x{0A2D}",
+       'bhook' => "\x{0253}",
+       'bihiragana' => "\x{3073}",
+       'bikatakana' => "\x{30D3}",
+       'bilabialclick' => "\x{0298}",
+       'bindigurmukhi' => "\x{0A02}",
+       'birusquare' => "\x{3331}",
+       'blackcircle' => "\x{25CF}",
+       'blackdiamond' => "\x{25C6}",
+       'blackdownpointingtriangle' => "\x{25BC}",
+       'blackleftpointingpointer' => "\x{25C4}",
+       'blackleftpointingtriangle' => "\x{25C0}",
+       'blacklenticularbracketleft' => "\x{3010}",
+       'blacklenticularbracketleftvertical' => "\x{FE3B}",
+       'blacklenticularbracketright' => "\x{3011}",
+       'blacklenticularbracketrightvertical' => "\x{FE3C}",
+       'blacklowerlefttriangle' => "\x{25E3}",
+       'blacklowerrighttriangle' => "\x{25E2}",
+       'blackrectangle' => "\x{25AC}",
+       'blackrightpointingpointer' => "\x{25BA}",
+       'blackrightpointingtriangle' => "\x{25B6}",
+       'blacksmallsquare' => "\x{25AA}",
+       'blacksmilingface' => "\x{263B}",
+       'blacksquare' => "\x{25A0}",
+       'blackstar' => "\x{2605}",
+       'blackupperlefttriangle' => "\x{25E4}",
+       'blackupperrighttriangle' => "\x{25E5}",
+       'blackuppointingsmalltriangle' => "\x{25B4}",
+       'blackuppointingtriangle' => "\x{25B2}",
+       'blank' => "\x{2423}",
+       'blinebelow' => "\x{1E07}",
+       'bmonospace' => "\x{FF42}",
+       'bobaimaithai' => "\x{0E1A}",
+       'bohiragana' => "\x{307C}",
+       'bokatakana' => "\x{30DC}",
+       'bparen' => "\x{249D}",
+       'bqsquare' => "\x{33C3}",
+       'braceex' => "\x{F8F4}",
+       'braceleftbt' => "\x{F8F3}",
+       'braceleftmid' => "\x{F8F2}",
+       'braceleftmonospace' => "\x{FF5B}",
+       'braceleftsmall' => "\x{FE5B}",
+       'bracelefttp' => "\x{F8F1}",
+       'braceleftvertical' => "\x{FE37}",
+       'bracerightbt' => "\x{F8FE}",
+       'bracerightmid' => "\x{F8FD}",
+       'bracerightmonospace' => "\x{FF5D}",
+       'bracerightsmall' => "\x{FE5C}",
+       'bracerighttp' => "\x{F8FC}",
+       'bracerightvertical' => "\x{FE38}",
+       'bracketleftbt' => "\x{F8F0}",
+       'bracketleftex' => "\x{F8EF}",
+       'bracketleftmonospace' => "\x{FF3B}",
+       'bracketlefttp' => "\x{F8EE}",
+       'bracketrightbt' => "\x{F8FB}",
+       'bracketrightex' => "\x{F8FA}",
+       'bracketrightmonospace' => "\x{FF3D}",
+       'bracketrighttp' => "\x{F8F9}",
+       'brevebelowcmb' => "\x{032E}",
+       'brevecmb' => "\x{0306}",
+       'breveinvertedbelowcmb' => "\x{032F}",
+       'breveinvertedcmb' => "\x{0311}",
+       'breveinverteddoublecmb' => "\x{0361}",
+       'bridgebelowcmb' => "\x{032A}",
+       'bridgeinvertedbelowcmb' => "\x{033A}",
+       'bstroke' => "\x{0180}",
+       'bsuperior' => "\x{F6EA}",
+       'btopbar' => "\x{0183}",
+       'buhiragana' => "\x{3076}",
+       'bukatakana' => "\x{30D6}",
+       'bulletinverse' => "\x{25D8}",
+       'bulletoperator' => "\x{2219}",
+       'bullseye' => "\x{25CE}",
+       'caarmenian' => "\x{056E}",
+       'cabengali' => "\x{099A}",
+       'cadeva' => "\x{091A}",
+       'cagujarati' => "\x{0A9A}",
+       'cagurmukhi' => "\x{0A1A}",
+       'calsquare' => "\x{3388}",
+       'candrabindubengali' => "\x{0981}",
+       'candrabinducmb' => "\x{0310}",
+       'candrabindudeva' => "\x{0901}",
+       'candrabindugujarati' => "\x{0A81}",
+       'capslock' => "\x{21EA}",
+       'careof' => "\x{2105}",
+       'caronbelowcmb' => "\x{032C}",
+       'caroncmb' => "\x{030C}",
+       'cbopomofo' => "\x{3118}",
+       'ccedillaacute' => "\x{1E09}",
+       'ccircle' => "\x{24D2}",
+       'ccurl' => "\x{0255}",
+       'cdot' => "\x{010B}",
+       'cdsquare' => "\x{33C5}",
+       'cedillacmb' => "\x{0327}",
+       'centigrade' => "\x{2103}",
+       'centinferior' => "\x{F6DF}",
+       'centmonospace' => "\x{FFE0}",
+       'centoldstyle' => "\x{F7A2}",
+       'centsuperior' => "\x{F6E0}",
+       'chaarmenian' => "\x{0579}",
+       'chabengali' => "\x{099B}",
+       'chadeva' => "\x{091B}",
+       'chagujarati' => "\x{0A9B}",
+       'chagurmukhi' => "\x{0A1B}",
+       'chbopomofo' => "\x{3114}",
+       'cheabkhasiancyrillic' => "\x{04BD}",
+       'checkmark' => "\x{2713}",
+       'checyrillic' => "\x{0447}",
+       'chedescenderabkhasiancyrillic' => "\x{04BF}",
+       'chedescendercyrillic' => "\x{04B7}",
+       'chedieresiscyrillic' => "\x{04F5}",
+       'cheharmenian' => "\x{0573}",
+       'chekhakassiancyrillic' => "\x{04CC}",
+       'cheverticalstrokecyrillic' => "\x{04B9}",
+       'chieuchacirclekorean' => "\x{3277}",
+       'chieuchaparenkorean' => "\x{3217}",
+       'chieuchcirclekorean' => "\x{3269}",
+       'chieuchkorean' => "\x{314A}",
+       'chieuchparenkorean' => "\x{3209}",
+       'chochangthai' => "\x{0E0A}",
+       'chochanthai' => "\x{0E08}",
+       'chochingthai' => "\x{0E09}",
+       'chochoethai' => "\x{0E0C}",
+       'chook' => "\x{0188}",
+       'cieucacirclekorean' => "\x{3276}",
+       'cieucaparenkorean' => "\x{3216}",
+       'cieuccirclekorean' => "\x{3268}",
+       'cieuckorean' => "\x{3148}",
+       'cieucparenkorean' => "\x{3208}",
+       'cieucuparenkorean' => "\x{321C}",
+       'circleot' => "\x{2299}",           # Actual Adobe glyph list entry -- identified as typo, May 2008
+       'circledot' => "\x{2299}",          # What it should have been
+       'circlepostalmark' => "\x{3036}",
+       'circlewithlefthalfblack' => "\x{25D0}",
+       'circlewithrighthalfblack' => "\x{25D1}",
+       'circumflexbelowcmb' => "\x{032D}",
+       'circumflexcmb' => "\x{0302}",
+       'clear' => "\x{2327}",
+       'clickalveolar' => "\x{01C2}",
+       'clickdental' => "\x{01C0}",
+       'clicklateral' => "\x{01C1}",
+       'clickretroflex' => "\x{01C3}",
+       'clubsuitblack' => "\x{2663}",
+       'clubsuitwhite' => "\x{2667}",
+       'cmcubedsquare' => "\x{33A4}",
+       'cmonospace' => "\x{FF43}",
+       'cmsquaredsquare' => "\x{33A0}",
+       'coarmenian' => "\x{0581}",
+       'colonmonospace' => "\x{FF1A}",
+       'colonsign' => "\x{20A1}",
+       'colonsmall' => "\x{FE55}",
+       'colontriangularhalfmod' => "\x{02D1}",
+       'colontriangularmod' => "\x{02D0}",
+       'commaabovecmb' => "\x{0313}",
+       'commaaboverightcmb' => "\x{0315}",
+       'commaaccent' => "\x{F6C3}",
+       'commaarabic' => "\x{060C}",
+       'commaarmenian' => "\x{055D}",
+       'commainferior' => "\x{F6E1}",
+       'commamonospace' => "\x{FF0C}",
+       'commareversedabovecmb' => "\x{0314}",
+       'commareversedmod' => "\x{02BD}",
+       'commasmall' => "\x{FE50}",
+       'commasuperior' => "\x{F6E2}",
+       'commaturnedabovecmb' => "\x{0312}",
+       'commaturnedmod' => "\x{02BB}",
+       'compass' => "\x{263C}",
+       'contourintegral' => "\x{222E}",
+       'control' => "\x{2303}",
+       'controlACK' => "\x{0006}",
+       'controlBEL' => "\x{0007}",
+       'controlBS' => "\x{0008}",
+       'controlCAN' => "\x{0018}",
+       'controlCR' => "\x{000D}",
+       'controlDC1' => "\x{0011}",
+       'controlDC2' => "\x{0012}",
+       'controlDC3' => "\x{0013}",
+       'controlDC4' => "\x{0014}",
+       'controlDEL' => "\x{007F}",
+       'controlDLE' => "\x{0010}",
+       'controlEM' => "\x{0019}",
+       'controlENQ' => "\x{0005}",
+       'controlEOT' => "\x{0004}",
+       'controlESC' => "\x{001B}",
+       'controlETB' => "\x{0017}",
+       'controlETX' => "\x{0003}",
+       'controlFF' => "\x{000C}",
+       'controlFS' => "\x{001C}",
+       'controlGS' => "\x{001D}",
+       'controlHT' => "\x{0009}",
+       'controlLF' => "\x{000A}",
+       'controlNAK' => "\x{0015}",
+       'controlRS' => "\x{001E}",
+       'controlSI' => "\x{000F}",
+       'controlSO' => "\x{000E}",
+       'controlSOT' => "\x{0002}",
+       'controlSTX' => "\x{0001}",
+       'controlSUB' => "\x{001A}",
+       'controlSYN' => "\x{0016}",
+       'controlUS' => "\x{001F}",
+       'controlVT' => "\x{000B}",
+       'copyrightsans' => "\x{F8E9}",
+       'copyrightserif' => "\x{F6D9}",
+       'cornerbracketleft' => "\x{300C}",
+       'cornerbracketlefthalfwidth' => "\x{FF62}",
+       'cornerbracketleftvertical' => "\x{FE41}",
+       'cornerbracketright' => "\x{300D}",
+       'cornerbracketrighthalfwidth' => "\x{FF63}",
+       'cornerbracketrightvertical' => "\x{FE42}",
+       'corporationsquare' => "\x{337F}",
+       'cosquare' => "\x{33C7}",
+       'coverkgsquare' => "\x{33C6}",
+       'cparen' => "\x{249E}",
+       'cruzeiro' => "\x{20A2}",
+       'cstretched' => "\x{0297}",
+       'curlyand' => "\x{22CF}",
+       'curlyor' => "\x{22CE}",
+       'cyrBreve' => "\x{F6D1}",
+       'cyrFlex' => "\x{F6D2}",
+       'cyrbreve' => "\x{F6D4}",
+       'cyrflex' => "\x{F6D5}",
+       'daarmenian' => "\x{0564}",
+       'dabengali' => "\x{09A6}",
+       'dadarabic' => "\x{0636}",
+       'dadeva' => "\x{0926}",
+       'dadfinalarabic' => "\x{FEBE}",
+       'dadinitialarabic' => "\x{FEBF}",
+       'dadmedialarabic' => "\x{FEC0}",
+       'dagesh' => "\x{05BC}",
+       'dageshhebrew' => "\x{05BC}",
+       'dagujarati' => "\x{0AA6}",
+       'dagurmukhi' => "\x{0A26}",
+       'dahiragana' => "\x{3060}",
+       'dakatakana' => "\x{30C0}",
+       'dalarabic' => "\x{062F}",
+       'dalet' => "\x{05D3}",
+       'daletdagesh' => "\x{FB33}",
+       'daletdageshhebrew' => "\x{FB33}",
+       'dalethatafpatah' => "\x{05D3}\x{05B2}",
+       'dalethatafpatahhebrew' => "\x{05D3}\x{05B2}",
+       'dalethatafsegol' => "\x{05D3}\x{05B1}",
+       'dalethatafsegolhebrew' => "\x{05D3}\x{05B1}",
+       'dalethebrew' => "\x{05D3}",
+       'dalethiriq' => "\x{05D3}\x{05B4}",
+       'dalethiriqhebrew' => "\x{05D3}\x{05B4}",
+       'daletholam' => "\x{05D3}\x{05B9}",
+       'daletholamhebrew' => "\x{05D3}\x{05B9}",
+       'daletpatah' => "\x{05D3}\x{05B7}",
+       'daletpatahhebrew' => "\x{05D3}\x{05B7}",
+       'daletqamats' => "\x{05D3}\x{05B8}",
+       'daletqamatshebrew' => "\x{05D3}\x{05B8}",
+       'daletqubuts' => "\x{05D3}\x{05BB}",
+       'daletqubutshebrew' => "\x{05D3}\x{05BB}",
+       'daletsegol' => "\x{05D3}\x{05B6}",
+       'daletsegolhebrew' => "\x{05D3}\x{05B6}",
+       'daletsheva' => "\x{05D3}\x{05B0}",
+       'daletshevahebrew' => "\x{05D3}\x{05B0}",
+       'dalettsere' => "\x{05D3}\x{05B5}",
+       'dalettserehebrew' => "\x{05D3}\x{05B5}",
+       'dalfinalarabic' => "\x{FEAA}",
+       'dammaarabic' => "\x{064F}",
+       'dammalowarabic' => "\x{064F}",
+       'dammatanaltonearabic' => "\x{064C}",
+       'dammatanarabic' => "\x{064C}",
+       'danda' => "\x{0964}",
+       'dargahebrew' => "\x{05A7}",
+       'dargalefthebrew' => "\x{05A7}",
+       'dasiapneumatacyrilliccmb' => "\x{0485}",
+       'dblGrave' => "\x{F6D3}",
+       'dblanglebracketleft' => "\x{300A}",
+       'dblanglebracketleftvertical' => "\x{FE3D}",
+       'dblanglebracketright' => "\x{300B}",
+       'dblanglebracketrightvertical' => "\x{FE3E}",
+       'dblarchinvertedbelowcmb' => "\x{032B}",
+       'dblarrowleft' => "\x{21D4}",
+       'dblarrowright' => "\x{21D2}",
+       'dbldanda' => "\x{0965}",
+       'dblgrave' => "\x{F6D6}",
+       'dblgravecmb' => "\x{030F}",
+       'dblintegral' => "\x{222C}",
+       'dbllowline' => "\x{2017}",
+       'dbllowlinecmb' => "\x{0333}",
+       'dbloverlinecmb' => "\x{033F}",
+       'dblprimemod' => "\x{02BA}",
+       'dblverticalbar' => "\x{2016}",
+       'dblverticallineabovecmb' => "\x{030E}",
+       'dbopomofo' => "\x{3109}",
+       'dbsquare' => "\x{33C8}",
+       'dcedilla' => "\x{1E11}",
+       'dcircle' => "\x{24D3}",
+       'dcircumflexbelow' => "\x{1E13}",
+       'ddabengali' => "\x{09A1}",
+       'ddadeva' => "\x{0921}",
+       'ddagujarati' => "\x{0AA1}",
+       'ddagurmukhi' => "\x{0A21}",
+       'ddalarabic' => "\x{0688}",
+       'ddalfinalarabic' => "\x{FB89}",
+       'dddhadeva' => "\x{095C}",
+       'ddhabengali' => "\x{09A2}",
+       'ddhadeva' => "\x{0922}",
+       'ddhagujarati' => "\x{0AA2}",
+       'ddhagurmukhi' => "\x{0A22}",
+       'ddotaccent' => "\x{1E0B}",
+       'ddotbelow' => "\x{1E0D}",
+       'decimalseparatorarabic' => "\x{066B}",
+       'decimalseparatorpersian' => "\x{066B}",
+       'decyrillic' => "\x{0434}",
+       'dehihebrew' => "\x{05AD}",
+       'dehiragana' => "\x{3067}",
+       'deicoptic' => "\x{03EF}",
+       'dekatakana' => "\x{30C7}",
+       'deleteleft' => "\x{232B}",
+       'deleteright' => "\x{2326}",
+       'deltaturned' => "\x{018D}",
+       'denominatorminusonenumeratorbengali' => "\x{09F8}",
+       'dezh' => "\x{02A4}",
+       'dhabengali' => "\x{09A7}",
+       'dhadeva' => "\x{0927}",
+       'dhagujarati' => "\x{0AA7}",
+       'dhagurmukhi' => "\x{0A27}",
+       'dhook' => "\x{0257}",
+       'dialytikatonos' => "\x{0385}",
+       'dialytikatonoscmb' => "\x{0344}",
+       'diamondsuitwhite' => "\x{2662}",
+       'dieresisacute' => "\x{F6D7}",
+       'dieresisbelowcmb' => "\x{0324}",
+       'dieresiscmb' => "\x{0308}",
+       'dieresisgrave' => "\x{F6D8}",
+       'dihiragana' => "\x{3062}",
+       'dikatakana' => "\x{30C2}",
+       'dittomark' => "\x{3003}",
+       'divides' => "\x{2223}",
+       'divisionslash' => "\x{2215}",
+       'djecyrillic' => "\x{0452}",
+       'dlinebelow' => "\x{1E0F}",
+       'dlsquare' => "\x{3397}",
+       'dmacron' => "\x{0111}",
+       'dmonospace' => "\x{FF44}",
+       'dochadathai' => "\x{0E0E}",
+       'dodekthai' => "\x{0E14}",
+       'dohiragana' => "\x{3069}",
+       'dokatakana' => "\x{30C9}",
+       'dollarinferior' => "\x{F6E3}",
+       'dollarmonospace' => "\x{FF04}",
+       'dollaroldstyle' => "\x{F724}",
+       'dollarsmall' => "\x{FE69}",
+       'dollarsuperior' => "\x{F6E4}",
+       'dorusquare' => "\x{3326}",
+       'dotaccentcmb' => "\x{0307}",
+       'dotbelowcmb' => "\x{0323}",
+       'dotkatakana' => "\x{30FB}",
+       'dotlessj' => "\x{F6BE}",
+       'dotlessjstrokehook' => "\x{0284}",
+       'dottedcircle' => "\x{25CC}",
+       'doubleyodpatah' => "\x{FB1F}",
+       'doubleyodpatahhebrew' => "\x{FB1F}",
+       'downtackbelowcmb' => "\x{031E}",
+       'downtackmod' => "\x{02D5}",
+       'dparen' => "\x{249F}",
+       'dsuperior' => "\x{F6EB}",
+       'dtail' => "\x{0256}",
+       'dtopbar' => "\x{018C}",
+       'duhiragana' => "\x{3065}",
+       'dukatakana' => "\x{30C5}",
+       'dz' => "\x{01F3}",
+       'dzaltone' => "\x{02A3}",
+       'dzcaron' => "\x{01C6}",
+       'dzcurl' => "\x{02A5}",
+       'dzeabkhasiancyrillic' => "\x{04E1}",
+       'dzecyrillic' => "\x{0455}",
+       'dzhecyrillic' => "\x{045F}",
+       'earth' => "\x{2641}",
+       'ebengali' => "\x{098F}",
+       'ebopomofo' => "\x{311C}",
+       'ecandradeva' => "\x{090D}",
+       'ecandragujarati' => "\x{0A8D}",
+       'ecandravowelsigndeva' => "\x{0945}",
+       'ecandravowelsigngujarati' => "\x{0AC5}",
+       'ecedillabreve' => "\x{1E1D}",
+       'echarmenian' => "\x{0565}",
+       'echyiwnarmenian' => "\x{0587}",
+       'ecircle' => "\x{24D4}",
+       'ecircumflexacute' => "\x{1EBF}",
+       'ecircumflexbelow' => "\x{1E19}",
+       'ecircumflexdotbelow' => "\x{1EC7}",
+       'ecircumflexgrave' => "\x{1EC1}",
+       'ecircumflexhookabove' => "\x{1EC3}",
+       'ecircumflextilde' => "\x{1EC5}",
+       'ecyrillic' => "\x{0454}",
+       'edblgrave' => "\x{0205}",
+       'edeva' => "\x{090F}",
+       'edot' => "\x{0117}",
+       'edotbelow' => "\x{1EB9}",
+       'eegurmukhi' => "\x{0A0F}",
+       'eematragurmukhi' => "\x{0A47}",
+       'efcyrillic' => "\x{0444}",
+       'egujarati' => "\x{0A8F}",
+       'eharmenian' => "\x{0567}",
+       'ehbopomofo' => "\x{311D}",
+       'ehiragana' => "\x{3048}",
+       'ehookabove' => "\x{1EBB}",
+       'eibopomofo' => "\x{311F}",
+       'eightarabic' => "\x{0668}",
+       'eightbengali' => "\x{09EE}",
+       'eightcircle' => "\x{2467}",
+       'eightcircleinversesansserif' => "\x{2791}",
+       'eightdeva' => "\x{096E}",
+       'eighteencircle' => "\x{2471}",
+       'eighteenparen' => "\x{2485}",
+       'eighteenperiod' => "\x{2499}",
+       'eightgujarati' => "\x{0AEE}",
+       'eightgurmukhi' => "\x{0A6E}",
+       'eighthackarabic' => "\x{0668}",
+       'eighthangzhou' => "\x{3028}",
+       'eighthnotebeamed' => "\x{266B}",
+       'eightideographicparen' => "\x{3227}",
+       'eightinferior' => "\x{2088}",
+       'eightmonospace' => "\x{FF18}",
+       'eightoldstyle' => "\x{F738}",
+       'eightparen' => "\x{247B}",
+       'eightperiod' => "\x{248F}",
+       'eightpersian' => "\x{06F8}",
+       'eightroman' => "\x{2177}",
+       'eightsuperior' => "\x{2078}",
+       'eightthai' => "\x{0E58}",
+       'einvertedbreve' => "\x{0207}",
+       'eiotifiedcyrillic' => "\x{0465}",
+       'ekatakana' => "\x{30A8}",
+       'ekatakanahalfwidth' => "\x{FF74}",
+       'ekonkargurmukhi' => "\x{0A74}",
+       'ekorean' => "\x{3154}",
+       'elcyrillic' => "\x{043B}",
+       'elevencircle' => "\x{246A}",
+       'elevenparen' => "\x{247E}",
+       'elevenperiod' => "\x{2492}",
+       'elevenroman' => "\x{217A}",
+       'ellipsisvertical' => "\x{22EE}",
+       'emacronacute' => "\x{1E17}",
+       'emacrongrave' => "\x{1E15}",
+       'emcyrillic' => "\x{043C}",
+       'emdashvertical' => "\x{FE31}",
+       'emonospace' => "\x{FF45}",
+       'emphasismarkarmenian' => "\x{055B}",
+       'enbopomofo' => "\x{3123}",
+       'encyrillic' => "\x{043D}",
+       'endashvertical' => "\x{FE32}",
+       'endescendercyrillic' => "\x{04A3}",
+       'engbopomofo' => "\x{3125}",
+       'enghecyrillic' => "\x{04A5}",
+       'enhookcyrillic' => "\x{04C8}",
+       'enspace' => "\x{2002}",
+       'eokorean' => "\x{3153}",
+       'eopen' => "\x{025B}",
+       'eopenclosed' => "\x{029A}",
+       'eopenreversed' => "\x{025C}",
+       'eopenreversedclosed' => "\x{025E}",
+       'eopenreversedhook' => "\x{025D}",
+       'eparen' => "\x{24A0}",
+       'equalmonospace' => "\x{FF1D}",
+       'equalsmall' => "\x{FE66}",
+       'equalsuperior' => "\x{207C}",
+       'erbopomofo' => "\x{3126}",
+       'ercyrillic' => "\x{0440}",
+       'ereversed' => "\x{0258}",
+       'ereversedcyrillic' => "\x{044D}",
+       'escyrillic' => "\x{0441}",
+       'esdescendercyrillic' => "\x{04AB}",
+       'esh' => "\x{0283}",
+       'eshcurl' => "\x{0286}",
+       'eshortdeva' => "\x{090E}",
+       'eshortvowelsigndeva' => "\x{0946}",
+       'eshreversedloop' => "\x{01AA}",
+       'eshsquatreversed' => "\x{0285}",
+       'esmallhiragana' => "\x{3047}",
+       'esmallkatakana' => "\x{30A7}",
+       'esmallkatakanahalfwidth' => "\x{FF6A}",
+       'esuperior' => "\x{F6EC}",
+       'etarmenian' => "\x{0568}",
+       'etilde' => "\x{1EBD}",
+       'etildebelow' => "\x{1E1B}",
+       'etnahtafoukhhebrew' => "\x{0591}",
+       'etnahtafoukhlefthebrew' => "\x{0591}",
+       'etnahtahebrew' => "\x{0591}",
+       'etnahtalefthebrew' => "\x{0591}",
+       'eturned' => "\x{01DD}",
+       'eukorean' => "\x{3161}",
+       'euro' => "\x{20AC}",
+       'evowelsignbengali' => "\x{09C7}",
+       'evowelsigndeva' => "\x{0947}",
+       'evowelsigngujarati' => "\x{0AC7}",
+       'exclamarmenian' => "\x{055C}",
+       'exclamdownsmall' => "\x{F7A1}",
+       'exclammonospace' => "\x{FF01}",
+       'exclamsmall' => "\x{F721}",
+       'ezh' => "\x{0292}",
+       'ezhcaron' => "\x{01EF}",
+       'ezhcurl' => "\x{0293}",
+       'ezhreversed' => "\x{01B9}",
+       'ezhtail' => "\x{01BA}",
+       'fadeva' => "\x{095E}",
+       'fagurmukhi' => "\x{0A5E}",
+       'fahrenheit' => "\x{2109}",
+       'fathaarabic' => "\x{064E}",
+       'fathalowarabic' => "\x{064E}",
+       'fathatanarabic' => "\x{064B}",
+       'fbopomofo' => "\x{3108}",
+       'fcircle' => "\x{24D5}",
+       'fdotaccent' => "\x{1E1F}",
+       'feharabic' => "\x{0641}",
+       'feharmenian' => "\x{0586}",
+       'fehfinalarabic' => "\x{FED2}",
+       'fehinitialarabic' => "\x{FED3}",
+       'fehmedialarabic' => "\x{FED4}",
+       'feicoptic' => "\x{03E5}",
+       'fifteencircle' => "\x{246E}",
+       'fifteenparen' => "\x{2482}",
+       'fifteenperiod' => "\x{2496}",
+       'finalkaf' => "\x{05DA}",
+       'finalkafdagesh' => "\x{FB3A}",
+       'finalkafdageshhebrew' => "\x{FB3A}",
+       'finalkafhebrew' => "\x{05DA}",
+       'finalkafqamats' => "\x{05DA}\x{05B8}",
+       'finalkafqamatshebrew' => "\x{05DA}\x{05B8}",
+       'finalkafsheva' => "\x{05DA}\x{05B0}",
+       'finalkafshevahebrew' => "\x{05DA}\x{05B0}",
+       'finalmem' => "\x{05DD}",
+       'finalmemhebrew' => "\x{05DD}",
+       'finalnun' => "\x{05DF}",
+       'finalnunhebrew' => "\x{05DF}",
+       'finalpe' => "\x{05E3}",
+       'finalpehebrew' => "\x{05E3}",
+       'finaltsadi' => "\x{05E5}",
+       'finaltsadihebrew' => "\x{05E5}",
+       'firsttonechinese' => "\x{02C9}",
+       'fisheye' => "\x{25C9}",
+       'fitacyrillic' => "\x{0473}",
+       'fivearabic' => "\x{0665}",
+       'fivebengali' => "\x{09EB}",
+       'fivecircle' => "\x{2464}",
+       'fivecircleinversesansserif' => "\x{278E}",
+       'fivedeva' => "\x{096B}",
+       'fivegujarati' => "\x{0AEB}",
+       'fivegurmukhi' => "\x{0A6B}",
+       'fivehackarabic' => "\x{0665}",
+       'fivehangzhou' => "\x{3025}",
+       'fiveideographicparen' => "\x{3224}",
+       'fiveinferior' => "\x{2085}",
+       'fivemonospace' => "\x{FF15}",
+       'fiveoldstyle' => "\x{F735}",
+       'fiveparen' => "\x{2478}",
+       'fiveperiod' => "\x{248C}",
+       'fivepersian' => "\x{06F5}",
+       'fiveroman' => "\x{2174}",
+       'fivesuperior' => "\x{2075}",
+       'fivethai' => "\x{0E55}",
+       'fmonospace' => "\x{FF46}",
+       'fmsquare' => "\x{3399}",
+       'fofanthai' => "\x{0E1F}",
+       'fofathai' => "\x{0E1D}",
+       'fongmanthai' => "\x{0E4F}",
+       'forall' => "\x{2200}",
+       'fourarabic' => "\x{0664}",
+       'fourbengali' => "\x{09EA}",
+       'fourcircle' => "\x{2463}",
+       'fourcircleinversesansserif' => "\x{278D}",
+       'fourdeva' => "\x{096A}",
+       'fourgujarati' => "\x{0AEA}",
+       'fourgurmukhi' => "\x{0A6A}",
+       'fourhackarabic' => "\x{0664}",
+       'fourhangzhou' => "\x{3024}",
+       'fourideographicparen' => "\x{3223}",
+       'fourinferior' => "\x{2084}",
+       'fourmonospace' => "\x{FF14}",
+       'fournumeratorbengali' => "\x{09F7}",
+       'fouroldstyle' => "\x{F734}",
+       'fourparen' => "\x{2477}",
+       'fourperiod' => "\x{248B}",
+       'fourpersian' => "\x{06F4}",
+       'fourroman' => "\x{2173}",
+       'foursuperior' => "\x{2074}",
+       'fourteencircle' => "\x{246D}",
+       'fourteenparen' => "\x{2481}",
+       'fourteenperiod' => "\x{2495}",
+       'fourthai' => "\x{0E54}",
+       'fourthtonechinese' => "\x{02CB}",
+       'fparen' => "\x{24A1}",
+       'gabengali' => "\x{0997}",
+       'gacute' => "\x{01F5}",
+       'gadeva' => "\x{0917}",
+       'gafarabic' => "\x{06AF}",
+       'gaffinalarabic' => "\x{FB93}",
+       'gafinitialarabic' => "\x{FB94}",
+       'gafmedialarabic' => "\x{FB95}",
+       'gagujarati' => "\x{0A97}",
+       'gagurmukhi' => "\x{0A17}",
+       'gahiragana' => "\x{304C}",
+       'gakatakana' => "\x{30AC}",
+       'gammalatinsmall' => "\x{0263}",
+       'gammasuperior' => "\x{02E0}",
+       'gangiacoptic' => "\x{03EB}",
+       'gbopomofo' => "\x{310D}",
+       'gcedilla' => "\x{0123}",
+       'gcircle' => "\x{24D6}",
+       'gdot' => "\x{0121}",
+       'gecyrillic' => "\x{0433}",
+       'gehiragana' => "\x{3052}",
+       'gekatakana' => "\x{30B2}",
+       'geometricallyequal' => "\x{2251}",
+       'gereshaccenthebrew' => "\x{059C}",
+       'gereshhebrew' => "\x{05F3}",
+       'gereshmuqdamhebrew' => "\x{059D}",
+       'gershayimaccenthebrew' => "\x{059E}",
+       'gershayimhebrew' => "\x{05F4}",
+       'getamark' => "\x{3013}",
+       'ghabengali' => "\x{0998}",
+       'ghadarmenian' => "\x{0572}",
+       'ghadeva' => "\x{0918}",
+       'ghagujarati' => "\x{0A98}",
+       'ghagurmukhi' => "\x{0A18}",
+       'ghainarabic' => "\x{063A}",
+       'ghainfinalarabic' => "\x{FECE}",
+       'ghaininitialarabic' => "\x{FECF}",
+       'ghainmedialarabic' => "\x{FED0}",
+       'ghemiddlehookcyrillic' => "\x{0495}",
+       'ghestrokecyrillic' => "\x{0493}",
+       'gheupturncyrillic' => "\x{0491}",
+       'ghhadeva' => "\x{095A}",
+       'ghhagurmukhi' => "\x{0A5A}",
+       'ghook' => "\x{0260}",
+       'ghzsquare' => "\x{3393}",
+       'gihiragana' => "\x{304E}",
+       'gikatakana' => "\x{30AE}",
+       'gimarmenian' => "\x{0563}",
+       'gimel' => "\x{05D2}",
+       'gimeldagesh' => "\x{FB32}",
+       'gimeldageshhebrew' => "\x{FB32}",
+       'gimelhebrew' => "\x{05D2}",
+       'gjecyrillic' => "\x{0453}",
+       'glottalinvertedstroke' => "\x{01BE}",
+       'glottalstop' => "\x{0294}",
+       'glottalstopinverted' => "\x{0296}",
+       'glottalstopmod' => "\x{02C0}",
+       'glottalstopreversed' => "\x{0295}",
+       'glottalstopreversedmod' => "\x{02C1}",
+       'glottalstopreversedsuperior' => "\x{02E4}",
+       'glottalstopstroke' => "\x{02A1}",
+       'glottalstopstrokereversed' => "\x{02A2}",
+       'gmacron' => "\x{1E21}",
+       'gmonospace' => "\x{FF47}",
+       'gohiragana' => "\x{3054}",
+       'gokatakana' => "\x{30B4}",
+       'gparen' => "\x{24A2}",
+       'gpasquare' => "\x{33AC}",
+       'gravebelowcmb' => "\x{0316}",
+       'gravecmb' => "\x{0300}",
+       'gravedeva' => "\x{0953}",
+       'gravelowmod' => "\x{02CE}",
+       'gravemonospace' => "\x{FF40}",
+       'gravetonecmb' => "\x{0340}",
+       'greaterequalorless' => "\x{22DB}",
+       'greatermonospace' => "\x{FF1E}",
+       'greaterorequivalent' => "\x{2273}",
+       'greaterorless' => "\x{2277}",
+       'greateroverequal' => "\x{2267}",
+       'greatersmall' => "\x{FE65}",
+       'gscript' => "\x{0261}",
+       'gstroke' => "\x{01E5}",
+       'guhiragana' => "\x{3050}",
+       'gukatakana' => "\x{30B0}",
+       'guramusquare' => "\x{3318}",
+       'gysquare' => "\x{33C9}",
+       'haabkhasiancyrillic' => "\x{04A9}",
+       'haaltonearabic' => "\x{06C1}",
+       'habengali' => "\x{09B9}",
+       'hadescendercyrillic' => "\x{04B3}",
+       'hadeva' => "\x{0939}",
+       'hagujarati' => "\x{0AB9}",
+       'hagurmukhi' => "\x{0A39}",
+       'haharabic' => "\x{062D}",
+       'hahfinalarabic' => "\x{FEA2}",
+       'hahinitialarabic' => "\x{FEA3}",
+       'hahiragana' => "\x{306F}",
+       'hahmedialarabic' => "\x{FEA4}",
+       'haitusquare' => "\x{332A}",
+       'hakatakana' => "\x{30CF}",
+       'hakatakanahalfwidth' => "\x{FF8A}",
+       'halantgurmukhi' => "\x{0A4D}",
+       'hamzaarabic' => "\x{0621}",
+       'hamzadammaarabic' => "\x{0621}\x{064F}",
+       'hamzadammatanarabic' => "\x{0621}\x{064C}",
+       'hamzafathaarabic' => "\x{0621}\x{064E}",
+       'hamzafathatanarabic' => "\x{0621}\x{064B}",
+       'hamzalowarabic' => "\x{0621}",
+       'hamzalowkasraarabic' => "\x{0621}\x{0650}",
+       'hamzalowkasratanarabic' => "\x{0621}\x{064D}",
+       'hamzasukunarabic' => "\x{0621}\x{0652}",
+       'hangulfiller' => "\x{3164}",
+       'hardsigncyrillic' => "\x{044A}",
+       'harpoonleftbarbup' => "\x{21BC}",
+       'harpoonrightbarbup' => "\x{21C0}",
+       'hasquare' => "\x{33CA}",
+       'hatafpatah' => "\x{05B2}",
+       'hatafpatah16' => "\x{05B2}",
+       'hatafpatah23' => "\x{05B2}",
+       'hatafpatah2f' => "\x{05B2}",
+       'hatafpatahhebrew' => "\x{05B2}",
+       'hatafpatahnarrowhebrew' => "\x{05B2}",
+       'hatafpatahquarterhebrew' => "\x{05B2}",
+       'hatafpatahwidehebrew' => "\x{05B2}",
+       'hatafqamats' => "\x{05B3}",
+       'hatafqamats1b' => "\x{05B3}",
+       'hatafqamats28' => "\x{05B3}",
+       'hatafqamats34' => "\x{05B3}",
+       'hatafqamatshebrew' => "\x{05B3}",
+       'hatafqamatsnarrowhebrew' => "\x{05B3}",
+       'hatafqamatsquarterhebrew' => "\x{05B3}",
+       'hatafqamatswidehebrew' => "\x{05B3}",
+       'hatafsegol' => "\x{05B1}",
+       'hatafsegol17' => "\x{05B1}",
+       'hatafsegol24' => "\x{05B1}",
+       'hatafsegol30' => "\x{05B1}",
+       'hatafsegolhebrew' => "\x{05B1}",
+       'hatafsegolnarrowhebrew' => "\x{05B1}",
+       'hatafsegolquarterhebrew' => "\x{05B1}",
+       'hatafsegolwidehebrew' => "\x{05B1}",
+       'hbopomofo' => "\x{310F}",
+       'hbrevebelow' => "\x{1E2B}",
+       'hcedilla' => "\x{1E29}",
+       'hcircle' => "\x{24D7}",
+       'hdieresis' => "\x{1E27}",
+       'hdotaccent' => "\x{1E23}",
+       'hdotbelow' => "\x{1E25}",
+       'he' => "\x{05D4}",
+       'heartsuitblack' => "\x{2665}",
+       'heartsuitwhite' => "\x{2661}",
+       'hedagesh' => "\x{FB34}",
+       'hedageshhebrew' => "\x{FB34}",
+       'hehaltonearabic' => "\x{06C1}",
+       'heharabic' => "\x{0647}",
+       'hehebrew' => "\x{05D4}",
+       'hehfinalaltonearabic' => "\x{FBA7}",
+       'hehfinalalttwoarabic' => "\x{FEEA}",
+       'hehfinalarabic' => "\x{FEEA}",
+       'hehhamzaabovefinalarabic' => "\x{FBA5}",
+       'hehhamzaaboveisolatedarabic' => "\x{FBA4}",
+       'hehinitialaltonearabic' => "\x{FBA8}",
+       'hehinitialarabic' => "\x{FEEB}",
+       'hehiragana' => "\x{3078}",
+       'hehmedialaltonearabic' => "\x{FBA9}",
+       'hehmedialarabic' => "\x{FEEC}",
+       'heiseierasquare' => "\x{337B}",
+       'hekatakana' => "\x{30D8}",
+       'hekatakanahalfwidth' => "\x{FF8D}",
+       'hekutaarusquare' => "\x{3336}",
+       'henghook' => "\x{0267}",
+       'herutusquare' => "\x{3339}",
+       'het' => "\x{05D7}",
+       'hethebrew' => "\x{05D7}",
+       'hhook' => "\x{0266}",
+       'hhooksuperior' => "\x{02B1}",
+       'hieuhacirclekorean' => "\x{327B}",
+       'hieuhaparenkorean' => "\x{321B}",
+       'hieuhcirclekorean' => "\x{326D}",
+       'hieuhkorean' => "\x{314E}",
+       'hieuhparenkorean' => "\x{320D}",
+       'hihiragana' => "\x{3072}",
+       'hikatakana' => "\x{30D2}",
+       'hikatakanahalfwidth' => "\x{FF8B}",
+       'hiriq' => "\x{05B4}",
+       'hiriq14' => "\x{05B4}",
+       'hiriq21' => "\x{05B4}",
+       'hiriq2d' => "\x{05B4}",
+       'hiriqhebrew' => "\x{05B4}",
+       'hiriqnarrowhebrew' => "\x{05B4}",
+       'hiriqquarterhebrew' => "\x{05B4}",
+       'hiriqwidehebrew' => "\x{05B4}",
+       'hlinebelow' => "\x{1E96}",
+       'hmonospace' => "\x{FF48}",
+       'hoarmenian' => "\x{0570}",
+       'hohipthai' => "\x{0E2B}",
+       'hohiragana' => "\x{307B}",
+       'hokatakana' => "\x{30DB}",
+       'hokatakanahalfwidth' => "\x{FF8E}",
+       'holam' => "\x{05B9}",
+       'holam19' => "\x{05B9}",
+       'holam26' => "\x{05B9}",
+       'holam32' => "\x{05B9}",
+       'holamhebrew' => "\x{05B9}",
+       'holamnarrowhebrew' => "\x{05B9}",
+       'holamquarterhebrew' => "\x{05B9}",
+       'holamwidehebrew' => "\x{05B9}",
+       'honokhukthai' => "\x{0E2E}",
+       'hookcmb' => "\x{0309}",
+       'hookpalatalizedbelowcmb' => "\x{0321}",
+       'hookretroflexbelowcmb' => "\x{0322}",
+       'hoonsquare' => "\x{3342}",
+       'horicoptic' => "\x{03E9}",
+       'horizontalbar' => "\x{2015}",
+       'horncmb' => "\x{031B}",
+       'hotsprings' => "\x{2668}",
+       'hparen' => "\x{24A3}",
+       'hsuperior' => "\x{02B0}",
+       'hturned' => "\x{0265}",
+       'huhiragana' => "\x{3075}",
+       'huiitosquare' => "\x{3333}",
+       'hukatakana' => "\x{30D5}",
+       'hukatakanahalfwidth' => "\x{FF8C}",
+       'hungarumlautcmb' => "\x{030B}",
+       'hv' => "\x{0195}",
+       'hypheninferior' => "\x{F6E5}",
+       'hyphenmonospace' => "\x{FF0D}",
+       'hyphensmall' => "\x{FE63}",
+       'hyphensuperior' => "\x{F6E6}",
+       'hyphentwo' => "\x{2010}",
+       'iacyrillic' => "\x{044F}",
+       'ibengali' => "\x{0987}",
+       'ibopomofo' => "\x{3127}",
+       'icaron' => "\x{01D0}",
+       'icircle' => "\x{24D8}",
+       'icyrillic' => "\x{0456}",
+       'idblgrave' => "\x{0209}",
+       'ideographearthcircle' => "\x{328F}",
+       'ideographfirecircle' => "\x{328B}",
+       'ideographicallianceparen' => "\x{323F}",
+       'ideographiccallparen' => "\x{323A}",
+       'ideographiccentrecircle' => "\x{32A5}",
+       'ideographicclose' => "\x{3006}",
+       'ideographiccomma' => "\x{3001}",
+       'ideographiccommaleft' => "\x{FF64}",
+       'ideographiccongratulationparen' => "\x{3237}",
+       'ideographiccorrectcircle' => "\x{32A3}",
+       'ideographicearthparen' => "\x{322F}",
+       'ideographicenterpriseparen' => "\x{323D}",
+       'ideographicexcellentcircle' => "\x{329D}",
+       'ideographicfestivalparen' => "\x{3240}",
+       'ideographicfinancialcircle' => "\x{3296}",
+       'ideographicfinancialparen' => "\x{3236}",
+       'ideographicfireparen' => "\x{322B}",
+       'ideographichaveparen' => "\x{3232}",
+       'ideographichighcircle' => "\x{32A4}",
+       'ideographiciterationmark' => "\x{3005}",
+       'ideographiclaborcircle' => "\x{3298}",
+       'ideographiclaborparen' => "\x{3238}",
+       'ideographicleftcircle' => "\x{32A7}",
+       'ideographiclowcircle' => "\x{32A6}",
+       'ideographicmedicinecircle' => "\x{32A9}",
+       'ideographicmetalparen' => "\x{322E}",
+       'ideographicmoonparen' => "\x{322A}",
+       'ideographicnameparen' => "\x{3234}",
+       'ideographicperiod' => "\x{3002}",
+       'ideographicprintcircle' => "\x{329E}",
+       'ideographicreachparen' => "\x{3243}",
+       'ideographicrepresentparen' => "\x{3239}",
+       'ideographicresourceparen' => "\x{323E}",
+       'ideographicrightcircle' => "\x{32A8}",
+       'ideographicsecretcircle' => "\x{3299}",
+       'ideographicselfparen' => "\x{3242}",
+       'ideographicsocietyparen' => "\x{3233}",
+       'ideographicspace' => "\x{3000}",
+       'ideographicspecialparen' => "\x{3235}",
+       'ideographicstockparen' => "\x{3231}",
+       'ideographicstudyparen' => "\x{323B}",
+       'ideographicsunparen' => "\x{3230}",
+       'ideographicsuperviseparen' => "\x{323C}",
+       'ideographicwaterparen' => "\x{322C}",
+       'ideographicwoodparen' => "\x{322D}",
+       'ideographiczero' => "\x{3007}",
+       'ideographmetalcircle' => "\x{328E}",
+       'ideographmooncircle' => "\x{328A}",
+       'ideographnamecircle' => "\x{3294}",
+       'ideographsuncircle' => "\x{3290}",
+       'ideographwatercircle' => "\x{328C}",
+       'ideographwoodcircle' => "\x{328D}",
+       'ideva' => "\x{0907}",
+       'idieresisacute' => "\x{1E2F}",
+       'idieresiscyrillic' => "\x{04E5}",
+       'idotbelow' => "\x{1ECB}",
+       'iebrevecyrillic' => "\x{04D7}",
+       'iecyrillic' => "\x{0435}",
+       'ieungacirclekorean' => "\x{3275}",
+       'ieungaparenkorean' => "\x{3215}",
+       'ieungcirclekorean' => "\x{3267}",
+       'ieungkorean' => "\x{3147}",
+       'ieungparenkorean' => "\x{3207}",
+       'igujarati' => "\x{0A87}",
+       'igurmukhi' => "\x{0A07}",
+       'ihiragana' => "\x{3044}",
+       'ihookabove' => "\x{1EC9}",
+       'iibengali' => "\x{0988}",
+       'iicyrillic' => "\x{0438}",
+       'iideva' => "\x{0908}",
+       'iigujarati' => "\x{0A88}",
+       'iigurmukhi' => "\x{0A08}",
+       'iimatragurmukhi' => "\x{0A40}",
+       'iinvertedbreve' => "\x{020B}",
+       'iishortcyrillic' => "\x{0439}",
+       'iivowelsignbengali' => "\x{09C0}",
+       'iivowelsigndeva' => "\x{0940}",
+       'iivowelsigngujarati' => "\x{0AC0}",
+       'ikatakana' => "\x{30A4}",
+       'ikatakanahalfwidth' => "\x{FF72}",
+       'ikorean' => "\x{3163}",
+       'ilde' => "\x{02DC}",
+       'iluyhebrew' => "\x{05AC}",
+       'imacroncyrillic' => "\x{04E3}",
+       'imageorapproximatelyequal' => "\x{2253}",
+       'imatragurmukhi' => "\x{0A3F}",
+       'imonospace' => "\x{FF49}",
+       'increment' => "\x{2206}",
+       'iniarmenian' => "\x{056B}",
+       'integralbottom' => "\x{2321}",
+       'integralex' => "\x{F8F5}",
+       'integraltop' => "\x{2320}",
+       'intisquare' => "\x{3305}",
+       'iocyrillic' => "\x{0451}",
+       'iotalatin' => "\x{0269}",
+       'iparen' => "\x{24A4}",
+       'irigurmukhi' => "\x{0A72}",
+       'ismallhiragana' => "\x{3043}",
+       'ismallkatakana' => "\x{30A3}",
+       'ismallkatakanahalfwidth' => "\x{FF68}",
+       'issharbengali' => "\x{09FA}",
+       'istroke' => "\x{0268}",
+       'isuperior' => "\x{F6ED}",
+       'iterationhiragana' => "\x{309D}",
+       'iterationkatakana' => "\x{30FD}",
+       'itildebelow' => "\x{1E2D}",
+       'iubopomofo' => "\x{3129}",
+       'iucyrillic' => "\x{044E}",
+       'ivowelsignbengali' => "\x{09BF}",
+       'ivowelsigndeva' => "\x{093F}",
+       'ivowelsigngujarati' => "\x{0ABF}",
+       'izhitsacyrillic' => "\x{0475}",
+       'izhitsadblgravecyrillic' => "\x{0477}",
+       'jaarmenian' => "\x{0571}",
+       'jabengali' => "\x{099C}",
+       'jadeva' => "\x{091C}",
+       'jagujarati' => "\x{0A9C}",
+       'jagurmukhi' => "\x{0A1C}",
+       'jbopomofo' => "\x{3110}",
+       'jcaron' => "\x{01F0}",
+       'jcircle' => "\x{24D9}",
+       'jcrossedtail' => "\x{029D}",
+       'jdotlessstroke' => "\x{025F}",
+       'jecyrillic' => "\x{0458}",
+       'jeemarabic' => "\x{062C}",
+       'jeemfinalarabic' => "\x{FE9E}",
+       'jeeminitialarabic' => "\x{FE9F}",
+       'jeemmedialarabic' => "\x{FEA0}",
+       'jeharabic' => "\x{0698}",
+       'jehfinalarabic' => "\x{FB8B}",
+       'jhabengali' => "\x{099D}",
+       'jhadeva' => "\x{091D}",
+       'jhagujarati' => "\x{0A9D}",
+       'jhagurmukhi' => "\x{0A1D}",
+       'jheharmenian' => "\x{057B}",
+       'jis' => "\x{3004}",
+       'jmonospace' => "\x{FF4A}",
+       'jparen' => "\x{24A5}",
+       'jsuperior' => "\x{02B2}",
+       'kabashkircyrillic' => "\x{04A1}",
+       'kabengali' => "\x{0995}",
+       'kacute' => "\x{1E31}",
+       'kacyrillic' => "\x{043A}",
+       'kadescendercyrillic' => "\x{049B}",
+       'kadeva' => "\x{0915}",
+       'kaf' => "\x{05DB}",
+       'kafarabic' => "\x{0643}",
+       'kafdagesh' => "\x{FB3B}",
+       'kafdageshhebrew' => "\x{FB3B}",
+       'kaffinalarabic' => "\x{FEDA}",
+       'kafhebrew' => "\x{05DB}",
+       'kafinitialarabic' => "\x{FEDB}",
+       'kafmedialarabic' => "\x{FEDC}",
+       'kafrafehebrew' => "\x{FB4D}",
+       'kagujarati' => "\x{0A95}",
+       'kagurmukhi' => "\x{0A15}",
+       'kahiragana' => "\x{304B}",
+       'kahookcyrillic' => "\x{04C4}",
+       'kakatakana' => "\x{30AB}",
+       'kakatakanahalfwidth' => "\x{FF76}",
+       'kappasymbolgreek' => "\x{03F0}",
+       'kapyeounmieumkorean' => "\x{3171}",
+       'kapyeounphieuphkorean' => "\x{3184}",
+       'kapyeounpieupkorean' => "\x{3178}",
+       'kapyeounssangpieupkorean' => "\x{3179}",
+       'karoriisquare' => "\x{330D}",
+       'kashidaautoarabic' => "\x{0640}",
+       'kashidaautonosidebearingarabic' => "\x{0640}",
+       'kasmallkatakana' => "\x{30F5}",
+       'kasquare' => "\x{3384}",
+       'kasraarabic' => "\x{0650}",
+       'kasratanarabic' => "\x{064D}",
+       'kastrokecyrillic' => "\x{049F}",
+       'katahiraprolongmarkhalfwidth' => "\x{FF70}",
+       'kaverticalstrokecyrillic' => "\x{049D}",
+       'kbopomofo' => "\x{310E}",
+       'kcalsquare' => "\x{3389}",
+       'kcaron' => "\x{01E9}",
+       'kcedilla' => "\x{0137}",
+       'kcircle' => "\x{24DA}",
+       'kdotbelow' => "\x{1E33}",
+       'keharmenian' => "\x{0584}",
+       'kehiragana' => "\x{3051}",
+       'kekatakana' => "\x{30B1}",
+       'kekatakanahalfwidth' => "\x{FF79}",
+       'kenarmenian' => "\x{056F}",
+       'kesmallkatakana' => "\x{30F6}",
+       'khabengali' => "\x{0996}",
+       'khacyrillic' => "\x{0445}",
+       'khadeva' => "\x{0916}",
+       'khagujarati' => "\x{0A96}",
+       'khagurmukhi' => "\x{0A16}",
+       'khaharabic' => "\x{062E}",
+       'khahfinalarabic' => "\x{FEA6}",
+       'khahinitialarabic' => "\x{FEA7}",
+       'khahmedialarabic' => "\x{FEA8}",
+       'kheicoptic' => "\x{03E7}",
+       'khhadeva' => "\x{0959}",
+       'khhagurmukhi' => "\x{0A59}",
+       'khieukhacirclekorean' => "\x{3278}",
+       'khieukhaparenkorean' => "\x{3218}",
+       'khieukhcirclekorean' => "\x{326A}",
+       'khieukhkorean' => "\x{314B}",
+       'khieukhparenkorean' => "\x{320A}",
+       'khokhaithai' => "\x{0E02}",
+       'khokhonthai' => "\x{0E05}",
+       'khokhuatthai' => "\x{0E03}",
+       'khokhwaithai' => "\x{0E04}",
+       'khomutthai' => "\x{0E5B}",
+       'khook' => "\x{0199}",
+       'khorakhangthai' => "\x{0E06}",
+       'khzsquare' => "\x{3391}",
+       'kihiragana' => "\x{304D}",
+       'kikatakana' => "\x{30AD}",
+       'kikatakanahalfwidth' => "\x{FF77}",
+       'kiroguramusquare' => "\x{3315}",
+       'kiromeetorusquare' => "\x{3316}",
+       'kirosquare' => "\x{3314}",
+       'kiyeokacirclekorean' => "\x{326E}",
+       'kiyeokaparenkorean' => "\x{320E}",
+       'kiyeokcirclekorean' => "\x{3260}",
+       'kiyeokkorean' => "\x{3131}",
+       'kiyeokparenkorean' => "\x{3200}",
+       'kiyeoksioskorean' => "\x{3133}",
+       'kjecyrillic' => "\x{045C}",
+       'klinebelow' => "\x{1E35}",
+       'klsquare' => "\x{3398}",
+       'kmcubedsquare' => "\x{33A6}",
+       'kmonospace' => "\x{FF4B}",
+       'kmsquaredsquare' => "\x{33A2}",
+       'kohiragana' => "\x{3053}",
+       'kohmsquare' => "\x{33C0}",
+       'kokaithai' => "\x{0E01}",
+       'kokatakana' => "\x{30B3}",
+       'kokatakanahalfwidth' => "\x{FF7A}",
+       'kooposquare' => "\x{331E}",
+       'koppacyrillic' => "\x{0481}",
+       'koreanstandardsymbol' => "\x{327F}",
+       'koroniscmb' => "\x{0343}",
+       'kparen' => "\x{24A6}",
+       'kpasquare' => "\x{33AA}",
+       'ksicyrillic' => "\x{046F}",
+       'ktsquare' => "\x{33CF}",
+       'kturned' => "\x{029E}",
+       'kuhiragana' => "\x{304F}",
+       'kukatakana' => "\x{30AF}",
+       'kukatakanahalfwidth' => "\x{FF78}",
+       'kvsquare' => "\x{33B8}",
+       'kwsquare' => "\x{33BE}",
+       'labengali' => "\x{09B2}",
+       'ladeva' => "\x{0932}",
+       'lagujarati' => "\x{0AB2}",
+       'lagurmukhi' => "\x{0A32}",
+       'lakkhangyaothai' => "\x{0E45}",
+       'lamaleffinalarabic' => "\x{FEFC}",
+       'lamalefhamzaabovefinalarabic' => "\x{FEF8}",
+       'lamalefhamzaaboveisolatedarabic' => "\x{FEF7}",
+       'lamalefhamzabelowfinalarabic' => "\x{FEFA}",
+       'lamalefhamzabelowisolatedarabic' => "\x{FEF9}",
+       'lamalefisolatedarabic' => "\x{FEFB}",
+       'lamalefmaddaabovefinalarabic' => "\x{FEF6}",
+       'lamalefmaddaaboveisolatedarabic' => "\x{FEF5}",
+       'lamarabic' => "\x{0644}",
+       'lambdastroke' => "\x{019B}",
+       'lamed' => "\x{05DC}",
+       'lameddagesh' => "\x{FB3C}",
+       'lameddageshhebrew' => "\x{FB3C}",
+       'lamedhebrew' => "\x{05DC}",
+       'lamedholam' => "\x{05DC}\x{05B9}",
+       'lamedholamdagesh' => "\x{05DC}\x{05B9}\x{05BC}",
+       'lamedholamdageshhebrew' => "\x{05DC}\x{05B9}\x{05BC}",
+       'lamedholamhebrew' => "\x{05DC}\x{05B9}",
+       'lamfinalarabic' => "\x{FEDE}",
+       'lamhahinitialarabic' => "\x{FCCA}",
+       'laminitialarabic' => "\x{FEDF}",
+       'lamjeeminitialarabic' => "\x{FCC9}",
+       'lamkhahinitialarabic' => "\x{FCCB}",
+       'lamlamhehisolatedarabic' => "\x{FDF2}",
+       'lammedialarabic' => "\x{FEE0}",
+       'lammeemhahinitialarabic' => "\x{FD88}",
+       'lammeeminitialarabic' => "\x{FCCC}",
+       'lammeemjeeminitialarabic' => "\x{FEDF}\x{FEE4}\x{FEA0}",
+       'lammeemkhahinitialarabic' => "\x{FEDF}\x{FEE4}\x{FEA8}",
+       'largecircle' => "\x{25EF}",
+       'lbar' => "\x{019A}",
+       'lbelt' => "\x{026C}",
+       'lbopomofo' => "\x{310C}",
+       'lcedilla' => "\x{013C}",
+       'lcircle' => "\x{24DB}",
+       'lcircumflexbelow' => "\x{1E3D}",
+       'ldotaccent' => "\x{0140}",
+       'ldotbelow' => "\x{1E37}",
+       'ldotbelowmacron' => "\x{1E39}",
+       'leftangleabovecmb' => "\x{031A}",
+       'lefttackbelowcmb' => "\x{0318}",
+       'lessequalorgreater' => "\x{22DA}",
+       'lessmonospace' => "\x{FF1C}",
+       'lessorequivalent' => "\x{2272}",
+       'lessorgreater' => "\x{2276}",
+       'lessoverequal' => "\x{2266}",
+       'lesssmall' => "\x{FE64}",
+       'lezh' => "\x{026E}",
+       'lhookretroflex' => "\x{026D}",
+       'liwnarmenian' => "\x{056C}",
+       'lj' => "\x{01C9}",
+       'ljecyrillic' => "\x{0459}",
+       'll' => "\x{F6C0}",
+       'lladeva' => "\x{0933}",
+       'llagujarati' => "\x{0AB3}",
+       'llinebelow' => "\x{1E3B}",
+       'llladeva' => "\x{0934}",
+       'llvocalicbengali' => "\x{09E1}",
+       'llvocalicdeva' => "\x{0961}",
+       'llvocalicvowelsignbengali' => "\x{09E3}",
+       'llvocalicvowelsigndeva' => "\x{0963}",
+       'lmiddletilde' => "\x{026B}",
+       'lmonospace' => "\x{FF4C}",
+       'lmsquare' => "\x{33D0}",
+       'lochulathai' => "\x{0E2C}",
+       'logicalnotreversed' => "\x{2310}",
+       'lolingthai' => "\x{0E25}",
+       'lowlinecenterline' => "\x{FE4E}",
+       'lowlinecmb' => "\x{0332}",
+       'lowlinedashed' => "\x{FE4D}",
+       'lparen' => "\x{24A7}",
+       'lsquare' => "\x{2113}",
+       'lsuperior' => "\x{F6EE}",
+       'luthai' => "\x{0E26}",
+       'lvocalicbengali' => "\x{098C}",
+       'lvocalicdeva' => "\x{090C}",
+       'lvocalicvowelsignbengali' => "\x{09E2}",
+       'lvocalicvowelsigndeva' => "\x{0962}",
+       'lxsquare' => "\x{33D3}",
+       'mabengali' => "\x{09AE}",
+       'macronbelowcmb' => "\x{0331}",
+       'macroncmb' => "\x{0304}",
+       'macronlowmod' => "\x{02CD}",
+       'macronmonospace' => "\x{FFE3}",
+       'macute' => "\x{1E3F}",
+       'madeva' => "\x{092E}",
+       'magujarati' => "\x{0AAE}",
+       'magurmukhi' => "\x{0A2E}",
+       'mahapakhhebrew' => "\x{05A4}",
+       'mahapakhlefthebrew' => "\x{05A4}",
+       'mahiragana' => "\x{307E}",
+       'maichattawalowleftthai' => "\x{F895}",
+       'maichattawalowrightthai' => "\x{F894}",
+       'maichattawathai' => "\x{0E4B}",
+       'maichattawaupperleftthai' => "\x{F893}",
+       'maieklowleftthai' => "\x{F88C}",
+       'maieklowrightthai' => "\x{F88B}",
+       'maiekthai' => "\x{0E48}",
+       'maiekupperleftthai' => "\x{F88A}",
+       'maihanakatleftthai' => "\x{F884}",
+       'maihanakatthai' => "\x{0E31}",
+       'maitaikhuleftthai' => "\x{F889}",
+       'maitaikhuthai' => "\x{0E47}",
+       'maitholowleftthai' => "\x{F88F}",
+       'maitholowrightthai' => "\x{F88E}",
+       'maithothai' => "\x{0E49}",
+       'maithoupperleftthai' => "\x{F88D}",
+       'maitrilowleftthai' => "\x{F892}",
+       'maitrilowrightthai' => "\x{F891}",
+       'maitrithai' => "\x{0E4A}",
+       'maitriupperleftthai' => "\x{F890}",
+       'maiyamokthai' => "\x{0E46}",
+       'makatakana' => "\x{30DE}",
+       'makatakanahalfwidth' => "\x{FF8F}",
+       'mansyonsquare' => "\x{3347}",
+       'maqafhebrew' => "\x{05BE}",
+       'mars' => "\x{2642}",
+       'masoracirclehebrew' => "\x{05AF}",
+       'masquare' => "\x{3383}",
+       'mbopomofo' => "\x{3107}",
+       'mbsquare' => "\x{33D4}",
+       'mcircle' => "\x{24DC}",
+       'mcubedsquare' => "\x{33A5}",
+       'mdotaccent' => "\x{1E41}",
+       'mdotbelow' => "\x{1E43}",
+       'meemarabic' => "\x{0645}",
+       'meemfinalarabic' => "\x{FEE2}",
+       'meeminitialarabic' => "\x{FEE3}",
+       'meemmedialarabic' => "\x{FEE4}",
+       'meemmeeminitialarabic' => "\x{FCD1}",
+       'meemmeemisolatedarabic' => "\x{FC48}",
+       'meetorusquare' => "\x{334D}",
+       'mehiragana' => "\x{3081}",
+       'meizierasquare' => "\x{337E}",
+       'mekatakana' => "\x{30E1}",
+       'mekatakanahalfwidth' => "\x{FF92}",
+       'mem' => "\x{05DE}",
+       'memdagesh' => "\x{FB3E}",
+       'memdageshhebrew' => "\x{FB3E}",
+       'memhebrew' => "\x{05DE}",
+       'menarmenian' => "\x{0574}",
+       'merkhahebrew' => "\x{05A5}",
+       'merkhakefulahebrew' => "\x{05A6}",
+       'merkhakefulalefthebrew' => "\x{05A6}",
+       'merkhalefthebrew' => "\x{05A5}",
+       'mhook' => "\x{0271}",
+       'mhzsquare' => "\x{3392}",
+       'middledotkatakanahalfwidth' => "\x{FF65}",
+       'middot' => "\x{00B7}",
+       'mieumacirclekorean' => "\x{3272}",
+       'mieumaparenkorean' => "\x{3212}",
+       'mieumcirclekorean' => "\x{3264}",
+       'mieumkorean' => "\x{3141}",
+       'mieumpansioskorean' => "\x{3170}",
+       'mieumparenkorean' => "\x{3204}",
+       'mieumpieupkorean' => "\x{316E}",
+       'mieumsioskorean' => "\x{316F}",
+       'mihiragana' => "\x{307F}",
+       'mikatakana' => "\x{30DF}",
+       'mikatakanahalfwidth' => "\x{FF90}",
+       'minusbelowcmb' => "\x{0320}",
+       'minuscircle' => "\x{2296}",
+       'minusmod' => "\x{02D7}",
+       'minusplus' => "\x{2213}",
+       'miribaarusquare' => "\x{334A}",
+       'mirisquare' => "\x{3349}",
+       'mlonglegturned' => "\x{0270}",
+       'mlsquare' => "\x{3396}",
+       'mmcubedsquare' => "\x{33A3}",
+       'mmonospace' => "\x{FF4D}",
+       'mmsquaredsquare' => "\x{339F}",
+       'mohiragana' => "\x{3082}",
+       'mohmsquare' => "\x{33C1}",
+       'mokatakana' => "\x{30E2}",
+       'mokatakanahalfwidth' => "\x{FF93}",
+       'molsquare' => "\x{33D6}",
+       'momathai' => "\x{0E21}",
+       'moverssquare' => "\x{33A7}",
+       'moverssquaredsquare' => "\x{33A8}",
+       'mparen' => "\x{24A8}",
+       'mpasquare' => "\x{33AB}",
+       'mssquare' => "\x{33B3}",
+       'msuperior' => "\x{F6EF}",
+       'mturned' => "\x{026F}",
+       'mu1' => "\x{00B5}",
+       'muasquare' => "\x{3382}",
+       'muchgreater' => "\x{226B}",
+       'muchless' => "\x{226A}",
+       'mufsquare' => "\x{338C}",
+       'mugreek' => "\x{03BC}",
+       'mugsquare' => "\x{338D}",
+       'muhiragana' => "\x{3080}",
+       'mukatakana' => "\x{30E0}",
+       'mukatakanahalfwidth' => "\x{FF91}",
+       'mulsquare' => "\x{3395}",
+       'mumsquare' => "\x{339B}",
+       'munahhebrew' => "\x{05A3}",
+       'munahlefthebrew' => "\x{05A3}",
+       'musicflatsign' => "\x{266D}",
+       'musicsharpsign' => "\x{266F}",
+       'mussquare' => "\x{33B2}",
+       'muvsquare' => "\x{33B6}",
+       'muwsquare' => "\x{33BC}",
+       'mvmegasquare' => "\x{33B9}",
+       'mvsquare' => "\x{33B7}",
+       'mwmegasquare' => "\x{33BF}",
+       'mwsquare' => "\x{33BD}",
+       'nabengali' => "\x{09A8}",
+       'nabla' => "\x{2207}",
+       'nadeva' => "\x{0928}",
+       'nagujarati' => "\x{0AA8}",
+       'nagurmukhi' => "\x{0A28}",
+       'nahiragana' => "\x{306A}",
+       'nakatakana' => "\x{30CA}",
+       'nakatakanahalfwidth' => "\x{FF85}",
+       'nasquare' => "\x{3381}",
+       'nbopomofo' => "\x{310B}",
+       'nbspace' => "\x{00A0}",
+       'ncedilla' => "\x{0146}",
+       'ncircle' => "\x{24DD}",
+       'ncircumflexbelow' => "\x{1E4B}",
+       'ndotaccent' => "\x{1E45}",
+       'ndotbelow' => "\x{1E47}",
+       'nehiragana' => "\x{306D}",
+       'nekatakana' => "\x{30CD}",
+       'nekatakanahalfwidth' => "\x{FF88}",
+       'newsheqelsign' => "\x{20AA}",
+       'nfsquare' => "\x{338B}",
+       'ngabengali' => "\x{0999}",
+       'ngadeva' => "\x{0919}",
+       'ngagujarati' => "\x{0A99}",
+       'ngagurmukhi' => "\x{0A19}",
+       'ngonguthai' => "\x{0E07}",
+       'nhiragana' => "\x{3093}",
+       'nhookleft' => "\x{0272}",
+       'nhookretroflex' => "\x{0273}",
+       'nieunacirclekorean' => "\x{326F}",
+       'nieunaparenkorean' => "\x{320F}",
+       'nieuncieuckorean' => "\x{3135}",
+       'nieuncirclekorean' => "\x{3261}",
+       'nieunhieuhkorean' => "\x{3136}",
+       'nieunkorean' => "\x{3134}",
+       'nieunpansioskorean' => "\x{3168}",
+       'nieunparenkorean' => "\x{3201}",
+       'nieunsioskorean' => "\x{3167}",
+       'nieuntikeutkorean' => "\x{3166}",
+       'nihiragana' => "\x{306B}",
+       'nikatakana' => "\x{30CB}",
+       'nikatakanahalfwidth' => "\x{FF86}",
+       'nikhahitleftthai' => "\x{F899}",
+       'nikhahitthai' => "\x{0E4D}",
+       'ninearabic' => "\x{0669}",
+       'ninebengali' => "\x{09EF}",
+       'ninecircle' => "\x{2468}",
+       'ninecircleinversesansserif' => "\x{2792}",
+       'ninedeva' => "\x{096F}",
+       'ninegujarati' => "\x{0AEF}",
+       'ninegurmukhi' => "\x{0A6F}",
+       'ninehackarabic' => "\x{0669}",
+       'ninehangzhou' => "\x{3029}",
+       'nineideographicparen' => "\x{3228}",
+       'nineinferior' => "\x{2089}",
+       'ninemonospace' => "\x{FF19}",
+       'nineoldstyle' => "\x{F739}",
+       'nineparen' => "\x{247C}",
+       'nineperiod' => "\x{2490}",
+       'ninepersian' => "\x{06F9}",
+       'nineroman' => "\x{2178}",
+       'ninesuperior' => "\x{2079}",
+       'nineteencircle' => "\x{2472}",
+       'nineteenparen' => "\x{2486}",
+       'nineteenperiod' => "\x{249A}",
+       'ninethai' => "\x{0E59}",
+       'nj' => "\x{01CC}",
+       'njecyrillic' => "\x{045A}",
+       'nkatakana' => "\x{30F3}",
+       'nkatakanahalfwidth' => "\x{FF9D}",
+       'nlegrightlong' => "\x{019E}",
+       'nlinebelow' => "\x{1E49}",
+       'nmonospace' => "\x{FF4E}",
+       'nmsquare' => "\x{339A}",
+       'nnabengali' => "\x{09A3}",
+       'nnadeva' => "\x{0923}",
+       'nnagujarati' => "\x{0AA3}",
+       'nnagurmukhi' => "\x{0A23}",
+       'nnnadeva' => "\x{0929}",
+       'nohiragana' => "\x{306E}",
+       'nokatakana' => "\x{30CE}",
+       'nokatakanahalfwidth' => "\x{FF89}",
+       'nonbreakingspace' => "\x{00A0}",
+       'nonenthai' => "\x{0E13}",
+       'nonuthai' => "\x{0E19}",
+       'noonarabic' => "\x{0646}",
+       'noonfinalarabic' => "\x{FEE6}",
+       'noonghunnaarabic' => "\x{06BA}",
+       'noonghunnafinalarabic' => "\x{FB9F}",
+       'noonhehinitialarabic' => "\x{FEE7}\x{FEEC}",
+       'nooninitialarabic' => "\x{FEE7}",
+       'noonjeeminitialarabic' => "\x{FCD2}",
+       'noonjeemisolatedarabic' => "\x{FC4B}",
+       'noonmedialarabic' => "\x{FEE8}",
+       'noonmeeminitialarabic' => "\x{FCD5}",
+       'noonmeemisolatedarabic' => "\x{FC4E}",
+       'noonnoonfinalarabic' => "\x{FC8D}",
+       'notcontains' => "\x{220C}",
+       'notelementof' => "\x{2209}",
+       'notgreater' => "\x{226F}",
+       'notgreaternorequal' => "\x{2271}",
+       'notgreaternorless' => "\x{2279}",
+       'notidentical' => "\x{2262}",
+       'notless' => "\x{226E}",
+       'notlessnorequal' => "\x{2270}",
+       'notparallel' => "\x{2226}",
+       'notprecedes' => "\x{2280}",
+       'notsucceeds' => "\x{2281}",
+       'notsuperset' => "\x{2285}",
+       'nowarmenian' => "\x{0576}",
+       'nparen' => "\x{24A9}",
+       'nssquare' => "\x{33B1}",
+       'nsuperior' => "\x{207F}",
+       'nuhiragana' => "\x{306C}",
+       'nukatakana' => "\x{30CC}",
+       'nukatakanahalfwidth' => "\x{FF87}",
+       'nuktabengali' => "\x{09BC}",
+       'nuktadeva' => "\x{093C}",
+       'nuktagujarati' => "\x{0ABC}",
+       'nuktagurmukhi' => "\x{0A3C}",
+       'numbersignmonospace' => "\x{FF03}",
+       'numbersignsmall' => "\x{FE5F}",
+       'numeralsigngreek' => "\x{0374}",
+       'numeralsignlowergreek' => "\x{0375}",
+       'numero' => "\x{2116}",
+       'nun' => "\x{05E0}",
+       'nundagesh' => "\x{FB40}",
+       'nundageshhebrew' => "\x{FB40}",
+       'nunhebrew' => "\x{05E0}",
+       'nvsquare' => "\x{33B5}",
+       'nwsquare' => "\x{33BB}",
+       'nyabengali' => "\x{099E}",
+       'nyadeva' => "\x{091E}",
+       'nyagujarati' => "\x{0A9E}",
+       'nyagurmukhi' => "\x{0A1E}",
+       'oangthai' => "\x{0E2D}",
+       'obarred' => "\x{0275}",
+       'obarredcyrillic' => "\x{04E9}",
+       'obarreddieresiscyrillic' => "\x{04EB}",
+       'obengali' => "\x{0993}",
+       'obopomofo' => "\x{311B}",
+       'ocandradeva' => "\x{0911}",
+       'ocandragujarati' => "\x{0A91}",
+       'ocandravowelsigndeva' => "\x{0949}",
+       'ocandravowelsigngujarati' => "\x{0AC9}",
+       'ocaron' => "\x{01D2}",
+       'ocircle' => "\x{24DE}",
+       'ocircumflexacute' => "\x{1ED1}",
+       'ocircumflexdotbelow' => "\x{1ED9}",
+       'ocircumflexgrave' => "\x{1ED3}",
+       'ocircumflexhookabove' => "\x{1ED5}",
+       'ocircumflextilde' => "\x{1ED7}",
+       'ocyrillic' => "\x{043E}",
+       'odblacute' => "\x{0151}",
+       'odblgrave' => "\x{020D}",
+       'odeva' => "\x{0913}",
+       'odieresiscyrillic' => "\x{04E7}",
+       'odotbelow' => "\x{1ECD}",
+       'oekorean' => "\x{315A}",
+       'ogonekcmb' => "\x{0328}",
+       'ogujarati' => "\x{0A93}",
+       'oharmenian' => "\x{0585}",
+       'ohiragana' => "\x{304A}",
+       'ohookabove' => "\x{1ECF}",
+       'ohornacute' => "\x{1EDB}",
+       'ohorndotbelow' => "\x{1EE3}",
+       'ohorngrave' => "\x{1EDD}",
+       'ohornhookabove' => "\x{1EDF}",
+       'ohorntilde' => "\x{1EE1}",
+       'oi' => "\x{01A3}",
+       'oinvertedbreve' => "\x{020F}",
+       'okatakana' => "\x{30AA}",
+       'okatakanahalfwidth' => "\x{FF75}",
+       'okorean' => "\x{3157}",
+       'olehebrew' => "\x{05AB}",
+       'omacronacute' => "\x{1E53}",
+       'omacrongrave' => "\x{1E51}",
+       'omdeva' => "\x{0950}",
+       'omegacyrillic' => "\x{0461}",
+       'omegalatinclosed' => "\x{0277}",
+       'omegaroundcyrillic' => "\x{047B}",
+       'omegatitlocyrillic' => "\x{047D}",
+       'omgujarati' => "\x{0AD0}",
+       'omonospace' => "\x{FF4F}",
+       'onearabic' => "\x{0661}",
+       'onebengali' => "\x{09E7}",
+       'onecircle' => "\x{2460}",
+       'onecircleinversesansserif' => "\x{278A}",
+       'onedeva' => "\x{0967}",
+       'onefitted' => "\x{F6DC}",
+       'onegujarati' => "\x{0AE7}",
+       'onegurmukhi' => "\x{0A67}",
+       'onehackarabic' => "\x{0661}",
+       'onehangzhou' => "\x{3021}",
+       'oneideographicparen' => "\x{3220}",
+       'oneinferior' => "\x{2081}",
+       'onemonospace' => "\x{FF11}",
+       'onenumeratorbengali' => "\x{09F4}",
+       'oneoldstyle' => "\x{F731}",
+       'oneparen' => "\x{2474}",
+       'oneperiod' => "\x{2488}",
+       'onepersian' => "\x{06F1}",
+       'oneroman' => "\x{2170}",
+       'onethai' => "\x{0E51}",
+       'oogonek' => "\x{01EB}",
+       'oogonekmacron' => "\x{01ED}",
+       'oogurmukhi' => "\x{0A13}",
+       'oomatragurmukhi' => "\x{0A4B}",
+       'oopen' => "\x{0254}",
+       'oparen' => "\x{24AA}",
+       'option' => "\x{2325}",
+       'oshortdeva' => "\x{0912}",
+       'oshortvowelsigndeva' => "\x{094A}",
+       'osmallhiragana' => "\x{3049}",
+       'osmallkatakana' => "\x{30A9}",
+       'osmallkatakanahalfwidth' => "\x{FF6B}",
+       'ostrokeacute' => "\x{01FF}",
+       'osuperior' => "\x{F6F0}",
+       'otcyrillic' => "\x{047F}",
+       'otildeacute' => "\x{1E4D}",
+       'otildedieresis' => "\x{1E4F}",
+       'oubopomofo' => "\x{3121}",
+       'overline' => "\x{203E}",
+       'overlinecenterline' => "\x{FE4A}",
+       'overlinecmb' => "\x{0305}",
+       'overlinedashed' => "\x{FE49}",
+       'overlinedblwavy' => "\x{FE4C}",
+       'overlinewavy' => "\x{FE4B}",
+       'overscore' => "\x{00AF}",
+       'ovowelsignbengali' => "\x{09CB}",
+       'ovowelsigndeva' => "\x{094B}",
+       'ovowelsigngujarati' => "\x{0ACB}",
+       'paampssquare' => "\x{3380}",
+       'paasentosquare' => "\x{332B}",
+       'pabengali' => "\x{09AA}",
+       'pacute' => "\x{1E55}",
+       'padeva' => "\x{092A}",
+       'pagedown' => "\x{21DF}",
+       'pageup' => "\x{21DE}",
+       'pagujarati' => "\x{0AAA}",
+       'pagurmukhi' => "\x{0A2A}",
+       'pahiragana' => "\x{3071}",
+       'paiyannoithai' => "\x{0E2F}",
+       'pakatakana' => "\x{30D1}",
+       'palatalizationcyrilliccmb' => "\x{0484}",
+       'palochkacyrillic' => "\x{04C0}",
+       'pansioskorean' => "\x{317F}",
+       'parallel' => "\x{2225}",
+       'parenleftaltonearabic' => "\x{FD3E}",
+       'parenleftbt' => "\x{F8ED}",
+       'parenleftex' => "\x{F8EC}",
+       'parenleftinferior' => "\x{208D}",
+       'parenleftmonospace' => "\x{FF08}",
+       'parenleftsmall' => "\x{FE59}",
+       'parenleftsuperior' => "\x{207D}",
+       'parenlefttp' => "\x{F8EB}",
+       'parenleftvertical' => "\x{FE35}",
+       'parenrightaltonearabic' => "\x{FD3F}",
+       'parenrightbt' => "\x{F8F8}",
+       'parenrightex' => "\x{F8F7}",
+       'parenrightinferior' => "\x{208E}",
+       'parenrightmonospace' => "\x{FF09}",
+       'parenrightsmall' => "\x{FE5A}",
+       'parenrightsuperior' => "\x{207E}",
+       'parenrighttp' => "\x{F8F6}",
+       'parenrightvertical' => "\x{FE36}",
+       'paseqhebrew' => "\x{05C0}",
+       'pashtahebrew' => "\x{0599}",
+       'pasquare' => "\x{33A9}",
+       'patah' => "\x{05B7}",
+       'patah11' => "\x{05B7}",
+       'patah1d' => "\x{05B7}",
+       'patah2a' => "\x{05B7}",
+       'patahhebrew' => "\x{05B7}",
+       'patahnarrowhebrew' => "\x{05B7}",
+       'patahquarterhebrew' => "\x{05B7}",
+       'patahwidehebrew' => "\x{05B7}",
+       'pazerhebrew' => "\x{05A1}",
+       'pbopomofo' => "\x{3106}",
+       'pcircle' => "\x{24DF}",
+       'pdotaccent' => "\x{1E57}",
+       'pe' => "\x{05E4}",
+       'pecyrillic' => "\x{043F}",
+       'pedagesh' => "\x{FB44}",
+       'pedageshhebrew' => "\x{FB44}",
+       'peezisquare' => "\x{333B}",
+       'pefinaldageshhebrew' => "\x{FB43}",
+       'peharabic' => "\x{067E}",
+       'peharmenian' => "\x{057A}",
+       'pehebrew' => "\x{05E4}",
+       'pehfinalarabic' => "\x{FB57}",
+       'pehinitialarabic' => "\x{FB58}",
+       'pehiragana' => "\x{307A}",
+       'pehmedialarabic' => "\x{FB59}",
+       'pekatakana' => "\x{30DA}",
+       'pemiddlehookcyrillic' => "\x{04A7}",
+       'perafehebrew' => "\x{FB4E}",
+       'percentarabic' => "\x{066A}",
+       'percentmonospace' => "\x{FF05}",
+       'percentsmall' => "\x{FE6A}",
+       'periodarmenian' => "\x{0589}",
+       'periodhalfwidth' => "\x{FF61}",
+       'periodinferior' => "\x{F6E7}",
+       'periodmonospace' => "\x{FF0E}",
+       'periodsmall' => "\x{FE52}",
+       'periodsuperior' => "\x{F6E8}",
+       'perispomenigreekcmb' => "\x{0342}",
+       'pfsquare' => "\x{338A}",
+       'phabengali' => "\x{09AB}",
+       'phadeva' => "\x{092B}",
+       'phagujarati' => "\x{0AAB}",
+       'phagurmukhi' => "\x{0A2B}",
+       'phieuphacirclekorean' => "\x{327A}",
+       'phieuphaparenkorean' => "\x{321A}",
+       'phieuphcirclekorean' => "\x{326C}",
+       'phieuphkorean' => "\x{314D}",
+       'phieuphparenkorean' => "\x{320C}",
+       'philatin' => "\x{0278}",
+       'phinthuthai' => "\x{0E3A}",
+       'phisymbolgreek' => "\x{03D5}",
+       'phook' => "\x{01A5}",
+       'phophanthai' => "\x{0E1E}",
+       'phophungthai' => "\x{0E1C}",
+       'phosamphaothai' => "\x{0E20}",
+       'pieupacirclekorean' => "\x{3273}",
+       'pieupaparenkorean' => "\x{3213}",
+       'pieupcieuckorean' => "\x{3176}",
+       'pieupcirclekorean' => "\x{3265}",
+       'pieupkiyeokkorean' => "\x{3172}",
+       'pieupkorean' => "\x{3142}",
+       'pieupparenkorean' => "\x{3205}",
+       'pieupsioskiyeokkorean' => "\x{3174}",
+       'pieupsioskorean' => "\x{3144}",
+       'pieupsiostikeutkorean' => "\x{3175}",
+       'pieupthieuthkorean' => "\x{3177}",
+       'pieuptikeutkorean' => "\x{3173}",
+       'pihiragana' => "\x{3074}",
+       'pikatakana' => "\x{30D4}",
+       'pisymbolgreek' => "\x{03D6}",
+       'piwrarmenian' => "\x{0583}",
+       'plusbelowcmb' => "\x{031F}",
+       'pluscircle' => "\x{2295}",
+       'plusmod' => "\x{02D6}",
+       'plusmonospace' => "\x{FF0B}",
+       'plussmall' => "\x{FE62}",
+       'plussuperior' => "\x{207A}",
+       'pmonospace' => "\x{FF50}",
+       'pmsquare' => "\x{33D8}",
+       'pohiragana' => "\x{307D}",
+       'pointingindexdownwhite' => "\x{261F}",
+       'pointingindexleftwhite' => "\x{261C}",
+       'pointingindexrightwhite' => "\x{261E}",
+       'pointingindexupwhite' => "\x{261D}",
+       'pokatakana' => "\x{30DD}",
+       'poplathai' => "\x{0E1B}",
+       'postalmark' => "\x{3012}",
+       'postalmarkface' => "\x{3020}",
+       'pparen' => "\x{24AB}",
+       'precedes' => "\x{227A}",
+       'primemod' => "\x{02B9}",
+       'primereversed' => "\x{2035}",
+       'projective' => "\x{2305}",
+       'prolongedkana' => "\x{30FC}",
+       'propellor' => "\x{2318}",
+       'proportion' => "\x{2237}",
+       'psicyrillic' => "\x{0471}",
+       'psilipneumatacyrilliccmb' => "\x{0486}",
+       'pssquare' => "\x{33B0}",
+       'puhiragana' => "\x{3077}",
+       'pukatakana' => "\x{30D7}",
+       'pvsquare' => "\x{33B4}",
+       'pwsquare' => "\x{33BA}",
+       'qadeva' => "\x{0958}",
+       'qadmahebrew' => "\x{05A8}",
+       'qafarabic' => "\x{0642}",
+       'qaffinalarabic' => "\x{FED6}",
+       'qafinitialarabic' => "\x{FED7}",
+       'qafmedialarabic' => "\x{FED8}",
+       'qamats' => "\x{05B8}",
+       'qamats10' => "\x{05B8}",
+       'qamats1a' => "\x{05B8}",
+       'qamats1c' => "\x{05B8}",
+       'qamats27' => "\x{05B8}",
+       'qamats29' => "\x{05B8}",
+       'qamats33' => "\x{05B8}",
+       'qamatsde' => "\x{05B8}",
+       'qamatshebrew' => "\x{05B8}",
+       'qamatsnarrowhebrew' => "\x{05B8}",
+       'qamatsqatanhebrew' => "\x{05B8}",
+       'qamatsqatannarrowhebrew' => "\x{05B8}",
+       'qamatsqatanquarterhebrew' => "\x{05B8}",
+       'qamatsqatanwidehebrew' => "\x{05B8}",
+       'qamatsquarterhebrew' => "\x{05B8}",
+       'qamatswidehebrew' => "\x{05B8}",
+       'qarneyparahebrew' => "\x{059F}",
+       'qbopomofo' => "\x{3111}",
+       'qcircle' => "\x{24E0}",
+       'qhook' => "\x{02A0}",
+       'qmonospace' => "\x{FF51}",
+       'qof' => "\x{05E7}",
+       'qofdagesh' => "\x{FB47}",
+       'qofdageshhebrew' => "\x{FB47}",
+       'qofhatafpatah' => "\x{05E7}\x{05B2}",
+       'qofhatafpatahhebrew' => "\x{05E7}\x{05B2}",
+       'qofhatafsegol' => "\x{05E7}\x{05B1}",
+       'qofhatafsegolhebrew' => "\x{05E7}\x{05B1}",
+       'qofhebrew' => "\x{05E7}",
+       'qofhiriq' => "\x{05E7}\x{05B4}",
+       'qofhiriqhebrew' => "\x{05E7}\x{05B4}",
+       'qofholam' => "\x{05E7}\x{05B9}",
+       'qofholamhebrew' => "\x{05E7}\x{05B9}",
+       'qofpatah' => "\x{05E7}\x{05B7}",
+       'qofpatahhebrew' => "\x{05E7}\x{05B7}",
+       'qofqamats' => "\x{05E7}\x{05B8}",
+       'qofqamatshebrew' => "\x{05E7}\x{05B8}",
+       'qofqubuts' => "\x{05E7}\x{05BB}",
+       'qofqubutshebrew' => "\x{05E7}\x{05BB}",
+       'qofsegol' => "\x{05E7}\x{05B6}",
+       'qofsegolhebrew' => "\x{05E7}\x{05B6}",
+       'qofsheva' => "\x{05E7}\x{05B0}",
+       'qofshevahebrew' => "\x{05E7}\x{05B0}",
+       'qoftsere' => "\x{05E7}\x{05B5}",
+       'qoftserehebrew' => "\x{05E7}\x{05B5}",
+       'qparen' => "\x{24AC}",
+       'quarternote' => "\x{2669}",
+       'qubuts' => "\x{05BB}",
+       'qubuts18' => "\x{05BB}",
+       'qubuts25' => "\x{05BB}",
+       'qubuts31' => "\x{05BB}",
+       'qubutshebrew' => "\x{05BB}",
+       'qubutsnarrowhebrew' => "\x{05BB}",
+       'qubutsquarterhebrew' => "\x{05BB}",
+       'qubutswidehebrew' => "\x{05BB}",
+       'questionarabic' => "\x{061F}",
+       'questionarmenian' => "\x{055E}",
+       'questiondownsmall' => "\x{F7BF}",
+       'questiongreek' => "\x{037E}",
+       'questionmonospace' => "\x{FF1F}",
+       'questionsmall' => "\x{F73F}",
+       'quotedblmonospace' => "\x{FF02}",
+       'quotedblprime' => "\x{301E}",
+       'quotedblprimereversed' => "\x{301D}",
+       'quoteleftreversed' => "\x{201B}",
+       'quoterightn' => "\x{0149}",
+       'quotesinglemonospace' => "\x{FF07}",
+       'raarmenian' => "\x{057C}",
+       'rabengali' => "\x{09B0}",
+       'radeva' => "\x{0930}",
+       'radicalex' => "\x{F8E5}",
+       'radoverssquare' => "\x{33AE}",
+       'radoverssquaredsquare' => "\x{33AF}",
+       'radsquare' => "\x{33AD}",
+       'rafe' => "\x{05BF}",
+       'rafehebrew' => "\x{05BF}",
+       'ragujarati' => "\x{0AB0}",
+       'ragurmukhi' => "\x{0A30}",
+       'rahiragana' => "\x{3089}",
+       'rakatakana' => "\x{30E9}",
+       'rakatakanahalfwidth' => "\x{FF97}",
+       'ralowerdiagonalbengali' => "\x{09F1}",
+       'ramiddlediagonalbengali' => "\x{09F0}",
+       'ramshorn' => "\x{0264}",
+       'ratio' => "\x{2236}",
+       'rbopomofo' => "\x{3116}",
+       'rcedilla' => "\x{0157}",
+       'rcircle' => "\x{24E1}",
+       'rdblgrave' => "\x{0211}",
+       'rdotaccent' => "\x{1E59}",
+       'rdotbelow' => "\x{1E5B}",
+       'rdotbelowmacron' => "\x{1E5D}",
+       'referencemark' => "\x{203B}",
+       'registersans' => "\x{F8E8}",
+       'registerserif' => "\x{F6DA}",
+       'reharabic' => "\x{0631}",
+       'reharmenian' => "\x{0580}",
+       'rehfinalarabic' => "\x{FEAE}",
+       'rehiragana' => "\x{308C}",
+       'rehyehaleflamarabic' => "\x{0631}\x{FEF3}\x{FE8E}\x{0644}",
+       'rekatakana' => "\x{30EC}",
+       'rekatakanahalfwidth' => "\x{FF9A}",
+       'resh' => "\x{05E8}",
+       'reshdageshhebrew' => "\x{FB48}",
+       'reshhatafpatah' => "\x{05E8}\x{05B2}",
+       'reshhatafpatahhebrew' => "\x{05E8}\x{05B2}",
+       'reshhatafsegol' => "\x{05E8}\x{05B1}",
+       'reshhatafsegolhebrew' => "\x{05E8}\x{05B1}",
+       'reshhebrew' => "\x{05E8}",
+       'reshhiriq' => "\x{05E8}\x{05B4}",
+       'reshhiriqhebrew' => "\x{05E8}\x{05B4}",
+       'reshholam' => "\x{05E8}\x{05B9}",
+       'reshholamhebrew' => "\x{05E8}\x{05B9}",
+       'reshpatah' => "\x{05E8}\x{05B7}",
+       'reshpatahhebrew' => "\x{05E8}\x{05B7}",
+       'reshqamats' => "\x{05E8}\x{05B8}",
+       'reshqamatshebrew' => "\x{05E8}\x{05B8}",
+       'reshqubuts' => "\x{05E8}\x{05BB}",
+       'reshqubutshebrew' => "\x{05E8}\x{05BB}",
+       'reshsegol' => "\x{05E8}\x{05B6}",
+       'reshsegolhebrew' => "\x{05E8}\x{05B6}",
+       'reshsheva' => "\x{05E8}\x{05B0}",
+       'reshshevahebrew' => "\x{05E8}\x{05B0}",
+       'reshtsere' => "\x{05E8}\x{05B5}",
+       'reshtserehebrew' => "\x{05E8}\x{05B5}",
+       'reversedtilde' => "\x{223D}",
+       'reviahebrew' => "\x{0597}",
+       'reviamugrashhebrew' => "\x{0597}",
+       'rfishhook' => "\x{027E}",
+       'rfishhookreversed' => "\x{027F}",
+       'rhabengali' => "\x{09DD}",
+       'rhadeva' => "\x{095D}",
+       'rhook' => "\x{027D}",
+       'rhookturned' => "\x{027B}",
+       'rhookturnedsuperior' => "\x{02B5}",
+       'rhosymbolgreek' => "\x{03F1}",
+       'rhotichookmod' => "\x{02DE}",
+       'rieulacirclekorean' => "\x{3271}",
+       'rieulaparenkorean' => "\x{3211}",
+       'rieulcirclekorean' => "\x{3263}",
+       'rieulhieuhkorean' => "\x{3140}",
+       'rieulkiyeokkorean' => "\x{313A}",
+       'rieulkiyeoksioskorean' => "\x{3169}",
+       'rieulkorean' => "\x{3139}",
+       'rieulmieumkorean' => "\x{313B}",
+       'rieulpansioskorean' => "\x{316C}",
+       'rieulparenkorean' => "\x{3203}",
+       'rieulphieuphkorean' => "\x{313F}",
+       'rieulpieupkorean' => "\x{313C}",
+       'rieulpieupsioskorean' => "\x{316B}",
+       'rieulsioskorean' => "\x{313D}",
+       'rieulthieuthkorean' => "\x{313E}",
+       'rieultikeutkorean' => "\x{316A}",
+       'rieulyeorinhieuhkorean' => "\x{316D}",
+       'rightangle' => "\x{221F}",
+       'righttackbelowcmb' => "\x{0319}",
+       'righttriangle' => "\x{22BF}",
+       'rihiragana' => "\x{308A}",
+       'rikatakana' => "\x{30EA}",
+       'rikatakanahalfwidth' => "\x{FF98}",
+       'ringbelowcmb' => "\x{0325}",
+       'ringcmb' => "\x{030A}",
+       'ringhalfleft' => "\x{02BF}",
+       'ringhalfleftarmenian' => "\x{0559}",
+       'ringhalfleftbelowcmb' => "\x{031C}",
+       'ringhalfleftcentered' => "\x{02D3}",
+       'ringhalfright' => "\x{02BE}",
+       'ringhalfrightbelowcmb' => "\x{0339}",
+       'ringhalfrightcentered' => "\x{02D2}",
+       'rinvertedbreve' => "\x{0213}",
+       'rittorusquare' => "\x{3351}",
+       'rlinebelow' => "\x{1E5F}",
+       'rlongleg' => "\x{027C}",
+       'rlonglegturned' => "\x{027A}",
+       'rmonospace' => "\x{FF52}",
+       'rohiragana' => "\x{308D}",
+       'rokatakana' => "\x{30ED}",
+       'rokatakanahalfwidth' => "\x{FF9B}",
+       'roruathai' => "\x{0E23}",
+       'rparen' => "\x{24AD}",
+       'rrabengali' => "\x{09DC}",
+       'rradeva' => "\x{0931}",
+       'rragurmukhi' => "\x{0A5C}",
+       'rreharabic' => "\x{0691}",
+       'rrehfinalarabic' => "\x{FB8D}",
+       'rrvocalicbengali' => "\x{09E0}",
+       'rrvocalicdeva' => "\x{0960}",
+       'rrvocalicgujarati' => "\x{0AE0}",
+       'rrvocalicvowelsignbengali' => "\x{09C4}",
+       'rrvocalicvowelsigndeva' => "\x{0944}",
+       'rrvocalicvowelsigngujarati' => "\x{0AC4}",
+       'rsuperior' => "\x{F6F1}",
+       'rturned' => "\x{0279}",
+       'rturnedsuperior' => "\x{02B4}",
+       'ruhiragana' => "\x{308B}",
+       'rukatakana' => "\x{30EB}",
+       'rukatakanahalfwidth' => "\x{FF99}",
+       'rupeemarkbengali' => "\x{09F2}",
+       'rupeesignbengali' => "\x{09F3}",
+       'rupiah' => "\x{F6DD}",
+       'ruthai' => "\x{0E24}",
+       'rvocalicbengali' => "\x{098B}",
+       'rvocalicdeva' => "\x{090B}",
+       'rvocalicgujarati' => "\x{0A8B}",
+       'rvocalicvowelsignbengali' => "\x{09C3}",
+       'rvocalicvowelsigndeva' => "\x{0943}",
+       'rvocalicvowelsigngujarati' => "\x{0AC3}",
+       'sabengali' => "\x{09B8}",
+       'sacutedotaccent' => "\x{1E65}",
+       'sadarabic' => "\x{0635}",
+       'sadeva' => "\x{0938}",
+       'sadfinalarabic' => "\x{FEBA}",
+       'sadinitialarabic' => "\x{FEBB}",
+       'sadmedialarabic' => "\x{FEBC}",
+       'sagujarati' => "\x{0AB8}",
+       'sagurmukhi' => "\x{0A38}",
+       'sahiragana' => "\x{3055}",
+       'sakatakana' => "\x{30B5}",
+       'sakatakanahalfwidth' => "\x{FF7B}",
+       'sallallahoualayhewasallamarabic' => "\x{FDFA}",
+       'samekh' => "\x{05E1}",
+       'samekhdagesh' => "\x{FB41}",
+       'samekhdageshhebrew' => "\x{FB41}",
+       'samekhhebrew' => "\x{05E1}",
+       'saraaathai' => "\x{0E32}",
+       'saraaethai' => "\x{0E41}",
+       'saraaimaimalaithai' => "\x{0E44}",
+       'saraaimaimuanthai' => "\x{0E43}",
+       'saraamthai' => "\x{0E33}",
+       'saraathai' => "\x{0E30}",
+       'saraethai' => "\x{0E40}",
+       'saraiileftthai' => "\x{F886}",
+       'saraiithai' => "\x{0E35}",
+       'saraileftthai' => "\x{F885}",
+       'saraithai' => "\x{0E34}",
+       'saraothai' => "\x{0E42}",
+       'saraueeleftthai' => "\x{F888}",
+       'saraueethai' => "\x{0E37}",
+       'saraueleftthai' => "\x{F887}",
+       'sarauethai' => "\x{0E36}",
+       'sarauthai' => "\x{0E38}",
+       'sarauuthai' => "\x{0E39}",
+       'sbopomofo' => "\x{3119}",
+       'scarondotaccent' => "\x{1E67}",
+       'schwa' => "\x{0259}",
+       'schwacyrillic' => "\x{04D9}",
+       'schwadieresiscyrillic' => "\x{04DB}",
+       'schwahook' => "\x{025A}",
+       'scircle' => "\x{24E2}",
+       'sdotaccent' => "\x{1E61}",
+       'sdotbelow' => "\x{1E63}",
+       'sdotbelowdotaccent' => "\x{1E69}",
+       'seagullbelowcmb' => "\x{033C}",
+       'secondtonechinese' => "\x{02CA}",
+       'seenarabic' => "\x{0633}",
+       'seenfinalarabic' => "\x{FEB2}",
+       'seeninitialarabic' => "\x{FEB3}",
+       'seenmedialarabic' => "\x{FEB4}",
+       'segol' => "\x{05B6}",
+       'segol13' => "\x{05B6}",
+       'segol1f' => "\x{05B6}",
+       'segol2c' => "\x{05B6}",
+       'segolhebrew' => "\x{05B6}",
+       'segolnarrowhebrew' => "\x{05B6}",
+       'segolquarterhebrew' => "\x{05B6}",
+       'segoltahebrew' => "\x{0592}",
+       'segolwidehebrew' => "\x{05B6}",
+       'seharmenian' => "\x{057D}",
+       'sehiragana' => "\x{305B}",
+       'sekatakana' => "\x{30BB}",
+       'sekatakanahalfwidth' => "\x{FF7E}",
+       'semicolonarabic' => "\x{061B}",
+       'semicolonmonospace' => "\x{FF1B}",
+       'semicolonsmall' => "\x{FE54}",
+       'semivoicedmarkkana' => "\x{309C}",
+       'semivoicedmarkkanahalfwidth' => "\x{FF9F}",
+       'sentisquare' => "\x{3322}",
+       'sentosquare' => "\x{3323}",
+       'sevenarabic' => "\x{0667}",
+       'sevenbengali' => "\x{09ED}",
+       'sevencircle' => "\x{2466}",
+       'sevencircleinversesansserif' => "\x{2790}",
+       'sevendeva' => "\x{096D}",
+       'sevengujarati' => "\x{0AED}",
+       'sevengurmukhi' => "\x{0A6D}",
+       'sevenhackarabic' => "\x{0667}",
+       'sevenhangzhou' => "\x{3027}",
+       'sevenideographicparen' => "\x{3226}",
+       'seveninferior' => "\x{2087}",
+       'sevenmonospace' => "\x{FF17}",
+       'sevenoldstyle' => "\x{F737}",
+       'sevenparen' => "\x{247A}",
+       'sevenperiod' => "\x{248E}",
+       'sevenpersian' => "\x{06F7}",
+       'sevenroman' => "\x{2176}",
+       'sevensuperior' => "\x{2077}",
+       'seventeencircle' => "\x{2470}",
+       'seventeenparen' => "\x{2484}",
+       'seventeenperiod' => "\x{2498}",
+       'seventhai' => "\x{0E57}",
+       'sfthyphen' => "\x{00AD}",
+       'shaarmenian' => "\x{0577}",
+       'shabengali' => "\x{09B6}",
+       'shacyrillic' => "\x{0448}",
+       'shaddaarabic' => "\x{0651}",
+       'shaddadammaarabic' => "\x{FC61}",
+       'shaddadammatanarabic' => "\x{FC5E}",
+       'shaddafathaarabic' => "\x{FC60}",
+       'shaddafathatanarabic' => "\x{0651}\x{064B}",
+       'shaddakasraarabic' => "\x{FC62}",
+       'shaddakasratanarabic' => "\x{FC5F}",
+       'shadedark' => "\x{2593}",
+       'shadelight' => "\x{2591}",
+       'shademedium' => "\x{2592}",
+       'shadeva' => "\x{0936}",
+       'shagujarati' => "\x{0AB6}",
+       'shagurmukhi' => "\x{0A36}",
+       'shalshelethebrew' => "\x{0593}",
+       'shbopomofo' => "\x{3115}",
+       'shchacyrillic' => "\x{0449}",
+       'sheenarabic' => "\x{0634}",
+       'sheenfinalarabic' => "\x{FEB6}",
+       'sheeninitialarabic' => "\x{FEB7}",
+       'sheenmedialarabic' => "\x{FEB8}",
+       'sheicoptic' => "\x{03E3}",
+       'sheqel' => "\x{20AA}",
+       'sheqelhebrew' => "\x{20AA}",
+       'sheva' => "\x{05B0}",
+       'sheva115' => "\x{05B0}",
+       'sheva15' => "\x{05B0}",
+       'sheva22' => "\x{05B0}",
+       'sheva2e' => "\x{05B0}",
+       'shevahebrew' => "\x{05B0}",
+       'shevanarrowhebrew' => "\x{05B0}",
+       'shevaquarterhebrew' => "\x{05B0}",
+       'shevawidehebrew' => "\x{05B0}",
+       'shhacyrillic' => "\x{04BB}",
+       'shimacoptic' => "\x{03ED}",
+       'shin' => "\x{05E9}",
+       'shindagesh' => "\x{FB49}",
+       'shindageshhebrew' => "\x{FB49}",
+       'shindageshshindot' => "\x{FB2C}",
+       'shindageshshindothebrew' => "\x{FB2C}",
+       'shindageshsindot' => "\x{FB2D}",
+       'shindageshsindothebrew' => "\x{FB2D}",
+       'shindothebrew' => "\x{05C1}",
+       'shinhebrew' => "\x{05E9}",
+       'shinshindot' => "\x{FB2A}",
+       'shinshindothebrew' => "\x{FB2A}",
+       'shinsindot' => "\x{FB2B}",
+       'shinsindothebrew' => "\x{FB2B}",
+       'shook' => "\x{0282}",
+       'sigmafinal' => "\x{03C2}",
+       'sigmalunatesymbolgreek' => "\x{03F2}",
+       'sihiragana' => "\x{3057}",
+       'sikatakana' => "\x{30B7}",
+       'sikatakanahalfwidth' => "\x{FF7C}",
+       'siluqhebrew' => "\x{05BD}",
+       'siluqlefthebrew' => "\x{05BD}",
+       'sindothebrew' => "\x{05C2}",
+       'siosacirclekorean' => "\x{3274}",
+       'siosaparenkorean' => "\x{3214}",
+       'sioscieuckorean' => "\x{317E}",
+       'sioscirclekorean' => "\x{3266}",
+       'sioskiyeokkorean' => "\x{317A}",
+       'sioskorean' => "\x{3145}",
+       'siosnieunkorean' => "\x{317B}",
+       'siosparenkorean' => "\x{3206}",
+       'siospieupkorean' => "\x{317D}",
+       'siostikeutkorean' => "\x{317C}",
+       'sixarabic' => "\x{0666}",
+       'sixbengali' => "\x{09EC}",
+       'sixcircle' => "\x{2465}",
+       'sixcircleinversesansserif' => "\x{278F}",
+       'sixdeva' => "\x{096C}",
+       'sixgujarati' => "\x{0AEC}",
+       'sixgurmukhi' => "\x{0A6C}",
+       'sixhackarabic' => "\x{0666}",
+       'sixhangzhou' => "\x{3026}",
+       'sixideographicparen' => "\x{3225}",
+       'sixinferior' => "\x{2086}",
+       'sixmonospace' => "\x{FF16}",
+       'sixoldstyle' => "\x{F736}",
+       'sixparen' => "\x{2479}",
+       'sixperiod' => "\x{248D}",
+       'sixpersian' => "\x{06F6}",
+       'sixroman' => "\x{2175}",
+       'sixsuperior' => "\x{2076}",
+       'sixteencircle' => "\x{246F}",
+       'sixteencurrencydenominatorbengali' => "\x{09F9}",
+       'sixteenparen' => "\x{2483}",
+       'sixteenperiod' => "\x{2497}",
+       'sixthai' => "\x{0E56}",
+       'slashmonospace' => "\x{FF0F}",
+       'slong' => "\x{017F}",
+       'slongdotaccent' => "\x{1E9B}",
+       'smonospace' => "\x{FF53}",
+       'sofpasuqhebrew' => "\x{05C3}",
+       'softhyphen' => "\x{00AD}",
+       'softsigncyrillic' => "\x{044C}",
+       'sohiragana' => "\x{305D}",
+       'sokatakana' => "\x{30BD}",
+       'sokatakanahalfwidth' => "\x{FF7F}",
+       'soliduslongoverlaycmb' => "\x{0338}",
+       'solidusshortoverlaycmb' => "\x{0337}",
+       'sorusithai' => "\x{0E29}",
+       'sosalathai' => "\x{0E28}",
+       'sosothai' => "\x{0E0B}",
+       'sosuathai' => "\x{0E2A}",
+       'spacehackarabic' => "\x{0020}",
+       'spadesuitblack' => "\x{2660}",
+       'spadesuitwhite' => "\x{2664}",
+       'sparen' => "\x{24AE}",
+       'squarebelowcmb' => "\x{033B}",
+       'squarecc' => "\x{33C4}",
+       'squarecm' => "\x{339D}",
+       'squarediagonalcrosshatchfill' => "\x{25A9}",
+       'squarehorizontalfill' => "\x{25A4}",
+       'squarekg' => "\x{338F}",
+       'squarekm' => "\x{339E}",
+       'squarekmcapital' => "\x{33CE}",
+       'squareln' => "\x{33D1}",
+       'squarelog' => "\x{33D2}",
+       'squaremg' => "\x{338E}",
+       'squaremil' => "\x{33D5}",
+       'squaremm' => "\x{339C}",
+       'squaremsquared' => "\x{33A1}",
+       'squareorthogonalcrosshatchfill' => "\x{25A6}",
+       'squareupperlefttolowerrightfill' => "\x{25A7}",
+       'squareupperrighttolowerleftfill' => "\x{25A8}",
+       'squareverticalfill' => "\x{25A5}",
+       'squarewhitewithsmallblack' => "\x{25A3}",
+       'srsquare' => "\x{33DB}",
+       'ssabengali' => "\x{09B7}",
+       'ssadeva' => "\x{0937}",
+       'ssagujarati' => "\x{0AB7}",
+       'ssangcieuckorean' => "\x{3149}",
+       'ssanghieuhkorean' => "\x{3185}",
+       'ssangieungkorean' => "\x{3180}",
+       'ssangkiyeokkorean' => "\x{3132}",
+       'ssangnieunkorean' => "\x{3165}",
+       'ssangpieupkorean' => "\x{3143}",
+       'ssangsioskorean' => "\x{3146}",
+       'ssangtikeutkorean' => "\x{3138}",
+       'ssuperior' => "\x{F6F2}",
+       'sterlingmonospace' => "\x{FFE1}",
+       'strokelongoverlaycmb' => "\x{0336}",
+       'strokeshortoverlaycmb' => "\x{0335}",
+       'subset' => "\x{2282}",
+       'subsetnotequal' => "\x{228A}",
+       'subsetorequal' => "\x{2286}",
+       'succeeds' => "\x{227B}",
+       'suhiragana' => "\x{3059}",
+       'sukatakana' => "\x{30B9}",
+       'sukatakanahalfwidth' => "\x{FF7D}",
+       'sukunarabic' => "\x{0652}",
+       'superset' => "\x{2283}",
+       'supersetnotequal' => "\x{228B}",
+       'supersetorequal' => "\x{2287}",
+       'svsquare' => "\x{33DC}",
+       'syouwaerasquare' => "\x{337C}",
+       'tabengali' => "\x{09A4}",
+       'tackdown' => "\x{22A4}",
+       'tackleft' => "\x{22A3}",
+       'tadeva' => "\x{0924}",
+       'tagujarati' => "\x{0AA4}",
+       'tagurmukhi' => "\x{0A24}",
+       'taharabic' => "\x{0637}",
+       'tahfinalarabic' => "\x{FEC2}",
+       'tahinitialarabic' => "\x{FEC3}",
+       'tahiragana' => "\x{305F}",
+       'tahmedialarabic' => "\x{FEC4}",
+       'taisyouerasquare' => "\x{337D}",
+       'takatakana' => "\x{30BF}",
+       'takatakanahalfwidth' => "\x{FF80}",
+       'tatweelarabic' => "\x{0640}",
+       'tav' => "\x{05EA}",
+       'tavdages' => "\x{FB4A}",
+       'tavdagesh' => "\x{FB4A}",
+       'tavdageshhebrew' => "\x{FB4A}",
+       'tavhebrew' => "\x{05EA}",
+       'tbopomofo' => "\x{310A}",
+       'tccurl' => "\x{02A8}",
+       'tcedilla' => "\x{0163}",
+       'tcheharabic' => "\x{0686}",
+       'tchehfinalarabic' => "\x{FB7B}",
+       'tchehinitialarabic' => "\x{FB7C}",
+       'tchehmedialarabic' => "\x{FB7D}",
+       'tchehmeeminitialarabic' => "\x{FB7C}\x{FEE4}",
+       'tcircle' => "\x{24E3}",
+       'tcircumflexbelow' => "\x{1E71}",
+       'tdieresis' => "\x{1E97}",
+       'tdotaccent' => "\x{1E6B}",
+       'tdotbelow' => "\x{1E6D}",
+       'tecyrillic' => "\x{0442}",
+       'tedescendercyrillic' => "\x{04AD}",
+       'teharabic' => "\x{062A}",
+       'tehfinalarabic' => "\x{FE96}",
+       'tehhahinitialarabic' => "\x{FCA2}",
+       'tehhahisolatedarabic' => "\x{FC0C}",
+       'tehinitialarabic' => "\x{FE97}",
+       'tehiragana' => "\x{3066}",
+       'tehjeeminitialarabic' => "\x{FCA1}",
+       'tehjeemisolatedarabic' => "\x{FC0B}",
+       'tehmarbutaarabic' => "\x{0629}",
+       'tehmarbutafinalarabic' => "\x{FE94}",
+       'tehmedialarabic' => "\x{FE98}",
+       'tehmeeminitialarabic' => "\x{FCA4}",
+       'tehmeemisolatedarabic' => "\x{FC0E}",
+       'tehnoonfinalarabic' => "\x{FC73}",
+       'tekatakana' => "\x{30C6}",
+       'tekatakanahalfwidth' => "\x{FF83}",
+       'telephone' => "\x{2121}",
+       'telephoneblack' => "\x{260E}",
+       'telishagedolahebrew' => "\x{05A0}",
+       'telishaqetanahebrew' => "\x{05A9}",
+       'tencircle' => "\x{2469}",
+       'tenideographicparen' => "\x{3229}",
+       'tenparen' => "\x{247D}",
+       'tenperiod' => "\x{2491}",
+       'tenroman' => "\x{2179}",
+       'tesh' => "\x{02A7}",
+       'tet' => "\x{05D8}",
+       'tetdagesh' => "\x{FB38}",
+       'tetdageshhebrew' => "\x{FB38}",
+       'tethebrew' => "\x{05D8}",
+       'tetsecyrillic' => "\x{04B5}",
+       'tevirhebrew' => "\x{059B}",
+       'tevirlefthebrew' => "\x{059B}",
+       'thabengali' => "\x{09A5}",
+       'thadeva' => "\x{0925}",
+       'thagujarati' => "\x{0AA5}",
+       'thagurmukhi' => "\x{0A25}",
+       'thalarabic' => "\x{0630}",
+       'thalfinalarabic' => "\x{FEAC}",
+       'thanthakhatlowleftthai' => "\x{F898}",
+       'thanthakhatlowrightthai' => "\x{F897}",
+       'thanthakhatthai' => "\x{0E4C}",
+       'thanthakhatupperleftthai' => "\x{F896}",
+       'theharabic' => "\x{062B}",
+       'thehfinalarabic' => "\x{FE9A}",
+       'thehinitialarabic' => "\x{FE9B}",
+       'thehmedialarabic' => "\x{FE9C}",
+       'thereexists' => "\x{2203}",
+       'thetasymbolgreek' => "\x{03D1}",
+       'thieuthacirclekorean' => "\x{3279}",
+       'thieuthaparenkorean' => "\x{3219}",
+       'thieuthcirclekorean' => "\x{326B}",
+       'thieuthkorean' => "\x{314C}",
+       'thieuthparenkorean' => "\x{320B}",
+       'thirteencircle' => "\x{246C}",
+       'thirteenparen' => "\x{2480}",
+       'thirteenperiod' => "\x{2494}",
+       'thonangmonthothai' => "\x{0E11}",
+       'thook' => "\x{01AD}",
+       'thophuthaothai' => "\x{0E12}",
+       'thothahanthai' => "\x{0E17}",
+       'thothanthai' => "\x{0E10}",
+       'thothongthai' => "\x{0E18}",
+       'thothungthai' => "\x{0E16}",
+       'thousandcyrillic' => "\x{0482}",
+       'thousandsseparatorarabic' => "\x{066C}",
+       'thousandsseparatorpersian' => "\x{066C}",
+       'threearabic' => "\x{0663}",
+       'threebengali' => "\x{09E9}",
+       'threecircle' => "\x{2462}",
+       'threecircleinversesansserif' => "\x{278C}",
+       'threedeva' => "\x{0969}",
+       'threegujarati' => "\x{0AE9}",
+       'threegurmukhi' => "\x{0A69}",
+       'threehackarabic' => "\x{0663}",
+       'threehangzhou' => "\x{3023}",
+       'threeideographicparen' => "\x{3222}",
+       'threeinferior' => "\x{2083}",
+       'threemonospace' => "\x{FF13}",
+       'threenumeratorbengali' => "\x{09F6}",
+       'threeoldstyle' => "\x{F733}",
+       'threeparen' => "\x{2476}",
+       'threeperiod' => "\x{248A}",
+       'threepersian' => "\x{06F3}",
+       'threequartersemdash' => "\x{F6DE}",
+       'threeroman' => "\x{2172}",
+       'threethai' => "\x{0E53}",
+       'thzsquare' => "\x{3394}",
+       'tihiragana' => "\x{3061}",
+       'tikatakana' => "\x{30C1}",
+       'tikatakanahalfwidth' => "\x{FF81}",
+       'tikeutacirclekorean' => "\x{3270}",
+       'tikeutaparenkorean' => "\x{3210}",
+       'tikeutcirclekorean' => "\x{3262}",
+       'tikeutkorean' => "\x{3137}",
+       'tikeutparenkorean' => "\x{3202}",
+       'tildebelowcmb' => "\x{0330}",
+       'tildecmb' => "\x{0303}",
+       'tildedoublecmb' => "\x{0360}",
+       'tildeoperator' => "\x{223C}",
+       'tildeoverlaycmb' => "\x{0334}",
+       'tildeverticalcmb' => "\x{033E}",
+       'timescircle' => "\x{2297}",
+       'tipehahebrew' => "\x{0596}",
+       'tipehalefthebrew' => "\x{0596}",
+       'tippigurmukhi' => "\x{0A70}",
+       'titlocyrilliccmb' => "\x{0483}",
+       'tiwnarmenian' => "\x{057F}",
+       'tlinebelow' => "\x{1E6F}",
+       'tmonospace' => "\x{FF54}",
+       'toarmenian' => "\x{0569}",
+       'tohiragana' => "\x{3068}",
+       'tokatakana' => "\x{30C8}",
+       'tokatakanahalfwidth' => "\x{FF84}",
+       'tonebarextrahighmod' => "\x{02E5}",
+       'tonebarextralowmod' => "\x{02E9}",
+       'tonebarhighmod' => "\x{02E6}",
+       'tonebarlowmod' => "\x{02E8}",
+       'tonebarmidmod' => "\x{02E7}",
+       'tonefive' => "\x{01BD}",
+       'tonesix' => "\x{0185}",
+       'tonetwo' => "\x{01A8}",
+       'tonsquare' => "\x{3327}",
+       'topatakthai' => "\x{0E0F}",
+       'tortoiseshellbracketleft' => "\x{3014}",
+       'tortoiseshellbracketleftsmall' => "\x{FE5D}",
+       'tortoiseshellbracketleftvertical' => "\x{FE39}",
+       'tortoiseshellbracketright' => "\x{3015}",
+       'tortoiseshellbracketrightsmall' => "\x{FE5E}",
+       'tortoiseshellbracketrightvertical' => "\x{FE3A}",
+       'totaothai' => "\x{0E15}",
+       'tpalatalhook' => "\x{01AB}",
+       'tparen' => "\x{24AF}",
+       'trademarksans' => "\x{F8EA}",
+       'trademarkserif' => "\x{F6DB}",
+       'tretroflexhook' => "\x{0288}",
+       'ts' => "\x{02A6}",
+       'tsadi' => "\x{05E6}",
+       'tsadidagesh' => "\x{FB46}",
+       'tsadidageshhebrew' => "\x{FB46}",
+       'tsadihebrew' => "\x{05E6}",
+       'tsecyrillic' => "\x{0446}",
+       'tsere' => "\x{05B5}",
+       'tsere12' => "\x{05B5}",
+       'tsere1e' => "\x{05B5}",
+       'tsere2b' => "\x{05B5}",
+       'tserehebrew' => "\x{05B5}",
+       'tserenarrowhebrew' => "\x{05B5}",
+       'tserequarterhebrew' => "\x{05B5}",
+       'tserewidehebrew' => "\x{05B5}",
+       'tshecyrillic' => "\x{045B}",
+       'tsuperior' => "\x{F6F3}",
+       'ttabengali' => "\x{099F}",
+       'ttadeva' => "\x{091F}",
+       'ttagujarati' => "\x{0A9F}",
+       'ttagurmukhi' => "\x{0A1F}",
+       'tteharabic' => "\x{0679}",
+       'ttehfinalarabic' => "\x{FB67}",
+       'ttehinitialarabic' => "\x{FB68}",
+       'ttehmedialarabic' => "\x{FB69}",
+       'tthabengali' => "\x{09A0}",
+       'tthadeva' => "\x{0920}",
+       'tthagujarati' => "\x{0AA0}",
+       'tthagurmukhi' => "\x{0A20}",
+       'tturned' => "\x{0287}",
+       'tuhiragana' => "\x{3064}",
+       'tukatakana' => "\x{30C4}",
+       'tukatakanahalfwidth' => "\x{FF82}",
+       'tusmallhiragana' => "\x{3063}",
+       'tusmallkatakana' => "\x{30C3}",
+       'tusmallkatakanahalfwidth' => "\x{FF6F}",
+       'twelvecircle' => "\x{246B}",
+       'twelveparen' => "\x{247F}",
+       'twelveperiod' => "\x{2493}",
+       'twelveroman' => "\x{217B}",
+       'twentycircle' => "\x{2473}",
+       'twentyhangzhou' => "\x{5344}",
+       'twentyparen' => "\x{2487}",
+       'twentyperiod' => "\x{249B}",
+       'twoarabic' => "\x{0662}",
+       'twobengali' => "\x{09E8}",
+       'twocircle' => "\x{2461}",
+       'twocircleinversesansserif' => "\x{278B}",
+       'twodeva' => "\x{0968}",
+       'twodotleader' => "\x{2025}",
+       'twodotleadervertical' => "\x{FE30}",
+       'twogujarati' => "\x{0AE8}",
+       'twogurmukhi' => "\x{0A68}",
+       'twohackarabic' => "\x{0662}",
+       'twohangzhou' => "\x{3022}",
+       'twoideographicparen' => "\x{3221}",
+       'twoinferior' => "\x{2082}",
+       'twomonospace' => "\x{FF12}",
+       'twonumeratorbengali' => "\x{09F5}",
+       'twooldstyle' => "\x{F732}",
+       'twoparen' => "\x{2475}",
+       'twoperiod' => "\x{2489}",
+       'twopersian' => "\x{06F2}",
+       'tworoman' => "\x{2171}",
+       'twostroke' => "\x{01BB}",
+       'twothai' => "\x{0E52}",
+       'ubar' => "\x{0289}",
+       'ubengali' => "\x{0989}",
+       'ubopomofo' => "\x{3128}",
+       'ucaron' => "\x{01D4}",
+       'ucircle' => "\x{24E4}",
+       'ucircumflexbelow' => "\x{1E77}",
+       'ucyrillic' => "\x{0443}",
+       'udattadeva' => "\x{0951}",
+       'udblacute' => "\x{0171}",
+       'udblgrave' => "\x{0215}",
+       'udeva' => "\x{0909}",
+       'udieresisacute' => "\x{01D8}",
+       'udieresisbelow' => "\x{1E73}",
+       'udieresiscaron' => "\x{01DA}",
+       'udieresiscyrillic' => "\x{04F1}",
+       'udieresisgrave' => "\x{01DC}",
+       'udieresismacron' => "\x{01D6}",
+       'udotbelow' => "\x{1EE5}",
+       'ugujarati' => "\x{0A89}",
+       'ugurmukhi' => "\x{0A09}",
+       'uhiragana' => "\x{3046}",
+       'uhookabove' => "\x{1EE7}",
+       'uhornacute' => "\x{1EE9}",
+       'uhorndotbelow' => "\x{1EF1}",
+       'uhorngrave' => "\x{1EEB}",
+       'uhornhookabove' => "\x{1EED}",
+       'uhorntilde' => "\x{1EEF}",
+       'uhungarumlautcyrillic' => "\x{04F3}",
+       'uinvertedbreve' => "\x{0217}",
+       'ukatakana' => "\x{30A6}",
+       'ukatakanahalfwidth' => "\x{FF73}",
+       'ukcyrillic' => "\x{0479}",
+       'ukorean' => "\x{315C}",
+       'umacroncyrillic' => "\x{04EF}",
+       'umacrondieresis' => "\x{1E7B}",
+       'umatragurmukhi' => "\x{0A41}",
+       'umonospace' => "\x{FF55}",
+       'underscoremonospace' => "\x{FF3F}",
+       'underscorevertical' => "\x{FE33}",
+       'underscorewavy' => "\x{FE4F}",
+       'uparen' => "\x{24B0}",
+       'upperdothebrew' => "\x{05C4}",
+       'upsilonlatin' => "\x{028A}",
+       'uptackbelowcmb' => "\x{031D}",
+       'uptackmod' => "\x{02D4}",
+       'uragurmukhi' => "\x{0A73}",
+       'ushortcyrillic' => "\x{045E}",
+       'usmallhiragana' => "\x{3045}",
+       'usmallkatakana' => "\x{30A5}",
+       'usmallkatakanahalfwidth' => "\x{FF69}",
+       'ustraightcyrillic' => "\x{04AF}",
+       'ustraightstrokecyrillic' => "\x{04B1}",
+       'utildeacute' => "\x{1E79}",
+       'utildebelow' => "\x{1E75}",
+       'uubengali' => "\x{098A}",
+       'uudeva' => "\x{090A}",
+       'uugujarati' => "\x{0A8A}",
+       'uugurmukhi' => "\x{0A0A}",
+       'uumatragurmukhi' => "\x{0A42}",
+       'uuvowelsignbengali' => "\x{09C2}",
+       'uuvowelsigndeva' => "\x{0942}",
+       'uuvowelsigngujarati' => "\x{0AC2}",
+       'uvowelsignbengali' => "\x{09C1}",
+       'uvowelsigndeva' => "\x{0941}",
+       'uvowelsigngujarati' => "\x{0AC1}",
+       'vadeva' => "\x{0935}",
+       'vagujarati' => "\x{0AB5}",
+       'vagurmukhi' => "\x{0A35}",
+       'vakatakana' => "\x{30F7}",
+       'vav' => "\x{05D5}",
+       'vavdagesh' => "\x{FB35}",
+       'vavdagesh65' => "\x{FB35}",
+       'vavdageshhebrew' => "\x{FB35}",
+       'vavhebrew' => "\x{05D5}",
+       'vavholam' => "\x{FB4B}",
+       'vavholamhebrew' => "\x{FB4B}",
+       'vavvavhebrew' => "\x{05F0}",
+       'vavyodhebrew' => "\x{05F1}",
+       'vcircle' => "\x{24E5}",
+       'vdotbelow' => "\x{1E7F}",
+       'vecyrillic' => "\x{0432}",
+       'veharabic' => "\x{06A4}",
+       'vehfinalarabic' => "\x{FB6B}",
+       'vehinitialarabic' => "\x{FB6C}",
+       'vehmedialarabic' => "\x{FB6D}",
+       'vekatakana' => "\x{30F9}",
+       'venus' => "\x{2640}",
+       'verticalbar' => "\x{007C}",
+       'verticallineabovecmb' => "\x{030D}",
+       'verticallinebelowcmb' => "\x{0329}",
+       'verticallinelowmod' => "\x{02CC}",
+       'verticallinemod' => "\x{02C8}",
+       'vewarmenian' => "\x{057E}",
+       'vhook' => "\x{028B}",
+       'vikatakana' => "\x{30F8}",
+       'viramabengali' => "\x{09CD}",
+       'viramadeva' => "\x{094D}",
+       'viramagujarati' => "\x{0ACD}",
+       'visargabengali' => "\x{0983}",
+       'visargadeva' => "\x{0903}",
+       'visargagujarati' => "\x{0A83}",
+       'vmonospace' => "\x{FF56}",
+       'voarmenian' => "\x{0578}",
+       'voicediterationhiragana' => "\x{309E}",
+       'voicediterationkatakana' => "\x{30FE}",
+       'voicedmarkkana' => "\x{309B}",
+       'voicedmarkkanahalfwidth' => "\x{FF9E}",
+       'vokatakana' => "\x{30FA}",
+       'vparen' => "\x{24B1}",
+       'vtilde' => "\x{1E7D}",
+       'vturned' => "\x{028C}",
+       'vuhiragana' => "\x{3094}",
+       'vukatakana' => "\x{30F4}",
+       'waekorean' => "\x{3159}",
+       'wahiragana' => "\x{308F}",
+       'wakatakana' => "\x{30EF}",
+       'wakatakanahalfwidth' => "\x{FF9C}",
+       'wakorean' => "\x{3158}",
+       'wasmallhiragana' => "\x{308E}",
+       'wasmallkatakana' => "\x{30EE}",
+       'wattosquare' => "\x{3357}",
+       'wavedash' => "\x{301C}",
+       'wavyunderscorevertical' => "\x{FE34}",
+       'wawarabic' => "\x{0648}",
+       'wawfinalarabic' => "\x{FEEE}",
+       'wawhamzaabovearabic' => "\x{0624}",
+       'wawhamzaabovefinalarabic' => "\x{FE86}",
+       'wbsquare' => "\x{33DD}",
+       'wcircle' => "\x{24E6}",
+       'wdotaccent' => "\x{1E87}",
+       'wdotbelow' => "\x{1E89}",
+       'wehiragana' => "\x{3091}",
+       'wekatakana' => "\x{30F1}",
+       'wekorean' => "\x{315E}",
+       'weokorean' => "\x{315D}",
+       'whitebullet' => "\x{25E6}",
+       'whitecircle' => "\x{25CB}",
+       'whitecircleinverse' => "\x{25D9}",
+       'whitecornerbracketleft' => "\x{300E}",
+       'whitecornerbracketleftvertical' => "\x{FE43}",
+       'whitecornerbracketright' => "\x{300F}",
+       'whitecornerbracketrightvertical' => "\x{FE44}",
+       'whitediamond' => "\x{25C7}",
+       'whitediamondcontainingblacksmalldiamond' => "\x{25C8}",
+       'whitedownpointingsmalltriangle' => "\x{25BF}",
+       'whitedownpointingtriangle' => "\x{25BD}",
+       'whiteleftpointingsmalltriangle' => "\x{25C3}",
+       'whiteleftpointingtriangle' => "\x{25C1}",
+       'whitelenticularbracketleft' => "\x{3016}",
+       'whitelenticularbracketright' => "\x{3017}",
+       'whiterightpointingsmalltriangle' => "\x{25B9}",
+       'whiterightpointingtriangle' => "\x{25B7}",
+       'whitesmallsquare' => "\x{25AB}",
+       'whitesmilingface' => "\x{263A}",
+       'whitesquare' => "\x{25A1}",
+       'whitestar' => "\x{2606}",
+       'whitetelephone' => "\x{260F}",
+       'whitetortoiseshellbracketleft' => "\x{3018}",
+       'whitetortoiseshellbracketright' => "\x{3019}",
+       'whiteuppointingsmalltriangle' => "\x{25B5}",
+       'whiteuppointingtriangle' => "\x{25B3}",
+       'wihiragana' => "\x{3090}",
+       'wikatakana' => "\x{30F0}",
+       'wikorean' => "\x{315F}",
+       'wmonospace' => "\x{FF57}",
+       'wohiragana' => "\x{3092}",
+       'wokatakana' => "\x{30F2}",
+       'wokatakanahalfwidth' => "\x{FF66}",
+       'won' => "\x{20A9}",
+       'wonmonospace' => "\x{FFE6}",
+       'wowaenthai' => "\x{0E27}",
+       'wparen' => "\x{24B2}",
+       'wring' => "\x{1E98}",
+       'wsuperior' => "\x{02B7}",
+       'wturned' => "\x{028D}",
+       'wynn' => "\x{01BF}",
+       'xabovecmb' => "\x{033D}",
+       'xbopomofo' => "\x{3112}",
+       'xcircle' => "\x{24E7}",
+       'xdieresis' => "\x{1E8D}",
+       'xdotaccent' => "\x{1E8B}",
+       'xeharmenian' => "\x{056D}",
+       'xmonospace' => "\x{FF58}",
+       'xparen' => "\x{24B3}",
+       'xsuperior' => "\x{02E3}",
+       'yaadosquare' => "\x{334E}",
+       'yabengali' => "\x{09AF}",
+       'yadeva' => "\x{092F}",
+       'yaekorean' => "\x{3152}",
+       'yagujarati' => "\x{0AAF}",
+       'yagurmukhi' => "\x{0A2F}",
+       'yahiragana' => "\x{3084}",
+       'yakatakana' => "\x{30E4}",
+       'yakatakanahalfwidth' => "\x{FF94}",
+       'yakorean' => "\x{3151}",
+       'yamakkanthai' => "\x{0E4E}",
+       'yasmallhiragana' => "\x{3083}",
+       'yasmallkatakana' => "\x{30E3}",
+       'yasmallkatakanahalfwidth' => "\x{FF6C}",
+       'yatcyrillic' => "\x{0463}",
+       'ycircle' => "\x{24E8}",
+       'ydotaccent' => "\x{1E8F}",
+       'ydotbelow' => "\x{1EF5}",
+       'yeharabic' => "\x{064A}",
+       'yehbarreearabic' => "\x{06D2}",
+       'yehbarreefinalarabic' => "\x{FBAF}",
+       'yehfinalarabic' => "\x{FEF2}",
+       'yehhamzaabovearabic' => "\x{0626}",
+       'yehhamzaabovefinalarabic' => "\x{FE8A}",
+       'yehhamzaaboveinitialarabic' => "\x{FE8B}",
+       'yehhamzaabovemedialarabic' => "\x{FE8C}",
+       'yehinitialarabic' => "\x{FEF3}",
+       'yehmedialarabic' => "\x{FEF4}",
+       'yehmeeminitialarabic' => "\x{FCDD}",
+       'yehmeemisolatedarabic' => "\x{FC58}",
+       'yehnoonfinalarabic' => "\x{FC94}",
+       'yehthreedotsbelowarabic' => "\x{06D1}",
+       'yekorean' => "\x{3156}",
+       'yenmonospace' => "\x{FFE5}",
+       'yeokorean' => "\x{3155}",
+       'yeorinhieuhkorean' => "\x{3186}",
+       'yerahbenyomohebrew' => "\x{05AA}",
+       'yerahbenyomolefthebrew' => "\x{05AA}",
+       'yericyrillic' => "\x{044B}",
+       'yerudieresiscyrillic' => "\x{04F9}",
+       'yesieungkorean' => "\x{3181}",
+       'yesieungpansioskorean' => "\x{3183}",
+       'yesieungsioskorean' => "\x{3182}",
+       'yetivhebrew' => "\x{059A}",
+       'yhook' => "\x{01B4}",
+       'yhookabove' => "\x{1EF7}",
+       'yiarmenian' => "\x{0575}",
+       'yicyrillic' => "\x{0457}",
+       'yikorean' => "\x{3162}",
+       'yinyang' => "\x{262F}",
+       'yiwnarmenian' => "\x{0582}",
+       'ymonospace' => "\x{FF59}",
+       'yod' => "\x{05D9}",
+       'yoddagesh' => "\x{FB39}",
+       'yoddageshhebrew' => "\x{FB39}",
+       'yodhebrew' => "\x{05D9}",
+       'yodyodhebrew' => "\x{05F2}",
+       'yodyodpatahhebrew' => "\x{FB1F}",
+       'yohiragana' => "\x{3088}",
+       'yoikorean' => "\x{3189}",
+       'yokatakana' => "\x{30E8}",
+       'yokatakanahalfwidth' => "\x{FF96}",
+       'yokorean' => "\x{315B}",
+       'yosmallhiragana' => "\x{3087}",
+       'yosmallkatakana' => "\x{30E7}",
+       'yosmallkatakanahalfwidth' => "\x{FF6E}",
+       'yotgreek' => "\x{03F3}",
+       'yoyaekorean' => "\x{3188}",
+       'yoyakorean' => "\x{3187}",
+       'yoyakthai' => "\x{0E22}",
+       'yoyingthai' => "\x{0E0D}",
+       'yparen' => "\x{24B4}",
+       'ypogegrammeni' => "\x{037A}",
+       'ypogegrammenigreekcmb' => "\x{0345}",
+       'yr' => "\x{01A6}",
+       'yring' => "\x{1E99}",
+       'ysuperior' => "\x{02B8}",
+       'ytilde' => "\x{1EF9}",
+       'yturned' => "\x{028E}",
+       'yuhiragana' => "\x{3086}",
+       'yuikorean' => "\x{318C}",
+       'yukatakana' => "\x{30E6}",
+       'yukatakanahalfwidth' => "\x{FF95}",
+       'yukorean' => "\x{3160}",
+       'yusbigcyrillic' => "\x{046B}",
+       'yusbigiotifiedcyrillic' => "\x{046D}",
+       'yuslittlecyrillic' => "\x{0467}",
+       'yuslittleiotifiedcyrillic' => "\x{0469}",
+       'yusmallhiragana' => "\x{3085}",
+       'yusmallkatakana' => "\x{30E5}",
+       'yusmallkatakanahalfwidth' => "\x{FF6D}",
+       'yuyekorean' => "\x{318B}",
+       'yuyeokorean' => "\x{318A}",
+       'yyabengali' => "\x{09DF}",
+       'yyadeva' => "\x{095F}",
+       'zaarmenian' => "\x{0566}",
+       'zadeva' => "\x{095B}",
+       'zagurmukhi' => "\x{0A5B}",
+       'zaharabic' => "\x{0638}",
+       'zahfinalarabic' => "\x{FEC6}",
+       'zahinitialarabic' => "\x{FEC7}",
+       'zahiragana' => "\x{3056}",
+       'zahmedialarabic' => "\x{FEC8}",
+       'zainarabic' => "\x{0632}",
+       'zainfinalarabic' => "\x{FEB0}",
+       'zakatakana' => "\x{30B6}",
+       'zaqefgadolhebrew' => "\x{0595}",
+       'zaqefqatanhebrew' => "\x{0594}",
+       'zarqahebrew' => "\x{0598}",
+       'zayin' => "\x{05D6}",
+       'zayindagesh' => "\x{FB36}",
+       'zayindageshhebrew' => "\x{FB36}",
+       'zayinhebrew' => "\x{05D6}",
+       'zbopomofo' => "\x{3117}",
+       'zcircle' => "\x{24E9}",
+       'zcircumflex' => "\x{1E91}",
+       'zcurl' => "\x{0291}",
+       'zdot' => "\x{017C}",
+       'zdotbelow' => "\x{1E93}",
+       'zecyrillic' => "\x{0437}",
+       'zedescendercyrillic' => "\x{0499}",
+       'zedieresiscyrillic' => "\x{04DF}",
+       'zehiragana' => "\x{305C}",
+       'zekatakana' => "\x{30BC}",
+       'zeroarabic' => "\x{0660}",
+       'zerobengali' => "\x{09E6}",
+       'zerodeva' => "\x{0966}",
+       'zerogujarati' => "\x{0AE6}",
+       'zerogurmukhi' => "\x{0A66}",
+       'zerohackarabic' => "\x{0660}",
+       'zeroinferior' => "\x{2080}",
+       'zeromonospace' => "\x{FF10}",
+       'zerooldstyle' => "\x{F730}",
+       'zeropersian' => "\x{06F0}",
+       'zerosuperior' => "\x{2070}",
+       'zerothai' => "\x{0E50}",
+       'zerowidthjoiner' => "\x{FEFF}",
+       'zerowidthnonjoiner' => "\x{200C}",
+       'zerowidthspace' => "\x{200B}",
+       'zhbopomofo' => "\x{3113}",
+       'zhearmenian' => "\x{056A}",
+       'zhebrevecyrillic' => "\x{04C2}",
+       'zhecyrillic' => "\x{0436}",
+       'zhedescendercyrillic' => "\x{0497}",
+       'zhedieresiscyrillic' => "\x{04DD}",
+       'zihiragana' => "\x{3058}",
+       'zikatakana' => "\x{30B8}",
+       'zinorhebrew' => "\x{05AE}",
+       'zlinebelow' => "\x{1E95}",
+       'zmonospace' => "\x{FF5A}",
+       'zohiragana' => "\x{305E}",
+       'zokatakana' => "\x{30BE}",
+       'zparen' => "\x{24B5}",
+       'zretroflexhook' => "\x{0290}",
+       'zstroke' => "\x{01B6}",
+       'zuhiragana' => "\x{305A}",
+       'zukatakana' => "\x{30BA}",
+       );
+
+# Add to this list the glyphs for new fonts (from aglfn13):
+
+map { $agl{$names{$_}} = pack('U',hex ($_))} (keys %names);
+
+
+# %doubles = (map{$_ => "uni$_"} qw(0394 03A9 0162 2215 00AD 02C9 03BC 2219 00A0 0163));
+
+=head2 lookup ( $usv [, $noAlt [, $noUni] ])
+
+return the Adobe-recommended glyph name for a specific Unicode codepoint (integer). By default
+returns C<uniXXXX> names rather than C<afiiNNNNN> or C<SFnnnnnn> names
+
+If C<$noAlt> is true, C<afii> and C<SF> names are returned rather than C<uniXXXX>.
+
+if C<$noUni> is true, returns undef if it would have to resort to C<uniXXXX> or C<uXXXXXX> 
+style names. Essentially this represents a straight lookup in the Adobe-recommended list.
+
+=cut
+
+sub lookup
+{
+    my ($num, $noalt, $noUni) = @_;
+    my ($val) = sprintf("%04X", $num);
+
+    if (defined $names{$val})
+    {
+        return $names{$val} if ($noalt || $names{$val} !~ m/^(?:afii|SF)/o);
+    }
+    return undef if $noUni;
+    if ($num > 0xFFFF)
+    { return "u$val"; }
+    elsif ($num)
+    { return "uni$val"; }
+    else
+    { return ".notdef"; }
+}
+
+=head2 parse ( $glyphname )
+
+Parse an Adobe-conformant glyph name, generating a Unicode codepoint sequence equivalent to the glyph (or
+glyph components, should the name represent a ligature). In scalar context, returns a reference to an
+array of Unicodes (decimal). Array is empty if the glyph name is non-conformant.
+In list context, the first item returned is the same array reference as above. The second item
+is a reference to an array containing the extensions (if any) present on the glyph name. 
+The '.' that precedes each extension is not included.
+
+=cut
+
+sub parse
+{
+       my ($gname, @USVs, @extensions);
+       ($gname, @extensions) = split('\.', $_[0]);
+       # if name originally started with . (e.g., .null) then $gname will now be '' ... need to fix that up:
+       $gname = '.' . shift(@extensions) if $gname eq '';
+       if (defined $gname)
+       {
+               foreach $gname (split('_', $gname))
+               {
+                       if ($gname =~ /^u[0-9a-fA-F]{4,6}$/)
+                       {
+                               push @USVs, hex(substr($gname, 1));
+                       }
+                       elsif ($gname =~ /^uni([0-9a-fA-F]{4,4})+$/)
+                       {
+                               push @USVs, map {hex($_)} ($gname =~ /([0-9a-fA-F]{4,4})/g)
+                       }
+                       elsif (exists $agl{$gname})
+                       {
+                               push @USVs, unpack ('U*', $agl{$gname});
+                       }
+               }
+       }
+       return \@USVs unless wantarray;
+       my @res = (\@USVs, \@extensions);
+       return @res;    
+}
+
+#Code used to parse Adobe's agl file and generate text for %agl initialization:
+#while (<ARGV>) {
+#      chomp;
+#      next if m/^#/;
+#      my ($gname, @nums) = split(/[; ]/);
+#      if ($#nums > 0 or !defined ($Font::TTF::PSNames::names{$nums[0]}) or $Font::TTF::PSNames::names{$nums[0]} ne $gname)
+#      {
+#              print "\t'$gname' => \"";
+#              map {print "\\x{$_}" } @nums;
+#              print  "\",\n";
+#      }
+# }
+
+=head1 AUTHOR
+
+Martin Hosken Martin_Hosken@sil.org. See L<Font::TTF::Font> for copyright and
+licensing.
+
+=cut
+
+1;