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

# Add to this list the glyphs for new fonts (from aglfn13):

map { $agl{$names{$_}} = pack('U',hex ($_))} (keys %names);


# %doubles = (map{$_ =&gt; "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&lt;uniXXXX&gt; names rather than C&lt;afiiNNNNN&gt; or C&lt;SFnnnnnn&gt; names

If C&lt;$noAlt&gt; is true, C&lt;afii&gt; and C&lt;SF&gt; names are returned rather than C&lt;uniXXXX&gt;.

if C&lt;$noUni&gt; is true, returns undef if it would have to resort to C&lt;uniXXXX&gt; or C&lt;uXXXXXX&gt; 
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 &gt; 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 (&lt;ARGV&gt;) {
#	chomp;
#	next if m/^#/;
#	my ($gname, @nums) = split(/[; ]/);
#	if ($#nums &gt; 0 or !defined ($Font::TTF::PSNames::names{$nums[0]}) or $Font::TTF::PSNames::names{$nums[0]} ne $gname)
#	{
#		print "\t'$gname' =&gt; \"";
#		map {print "\\x{$_}" } @nums;
#		print  "\",\n";
#	}
# }

=head1 AUTHOR

Martin Hosken Martin_Hosken@sil.org. See L&lt;Font::TTF::Font&gt; for copyright and
licensing.

=cut

1;
</pre></body></html>