#=======================================================================
# ____ ____ _____ _ ____ ___ ____
# | _ \| _ \| ___| _ _ / \ | _ \_ _| |___ \
# | |_) | | | | |_ (_) (_) / _ \ | |_) | | __) |
# | __/| |_| | _| _ _ / ___ \| __/| | / __/
# |_| |____/|_| (_) (_) /_/ \_\_| |___| |_____|
#
# A Perl Module Chain to faciliate the Creation and Modification
# of High-Quality "Portable Document Format (PDF)" Files.
#
#=======================================================================
#
# THIS IS A REUSED PERL MODULE, FOR PROPER LICENCING TERMS SEE BELOW:
#
#
# Copyright Martin Hosken <Martin_Hosken@sil.org>
#
# No warranty or expression of effectiveness, least of all regarding
# anyone's safety, is implied in this software or documentation.
#
# This specific module is licensed under the Perl Artistic License.
#
#
# $Id: PSNames.pm,v 2.0 2005/11/16 02:16:00 areibens Exp $
#
#=======================================================================
package PDF::API2::Basic::TTF::PSNames;
use strict;
use vars qw(%names %doubles);
%names = (
'0020' => 'space',
'0021' => 'exclam',
'0022' => 'quotedbl',
'0023' => 'numbersign',
'0024' => 'dollar',
'0025' => 'percent',
'0026' => 'ampersand',
'0027' => 'quotesingle',
'0028' => 'parenleft',
'0029' => 'parenright',
'002A' => 'asterisk',
'002B' => 'plus',
'002C' => 'comma',
'002D' => 'hyphen',
'002E' => 'period',
'002F' => 'slash',
'0030' => 'zero',
'0031' => 'one',
'0032' => 'two',
'0033' => 'three',
'0034' => 'four',
'0035' => 'five',
'0036' => 'six',
'0037' => 'seven',
'0038' => 'eight',
'0039' => 'nine',
'003A' => 'colon',
'003B' => 'semicolon',
'003C' => 'less',
'003D' => 'equal',
'003E' => 'greater',
'003F' => 'question',
'0040' => 'at',
'0041' => 'A',
'0042' => 'B',
'0043' => 'C',
'0044' => 'D',
'0045' => 'E',
'0046' => 'F',
'0047' => 'G',
'0048' => 'H',
'0049' => 'I',
'004A' => 'J',
'004B' => 'K',
'004C' => 'L',
'004D' => 'M',
'004E' => 'N',
'004F' => 'O',
'0050' => 'P',
'0051' => 'Q',
'0052' => 'R',
'0053' => 'S',
'0054' => 'T',
'0055' => 'U',
'0056' => 'V',
'0057' => 'W',
'0058' => 'X',
'0059' => 'Y',
'005A' => 'Z',
'005B' => 'bracketleft',
'005C' => 'backslash',
'005D' => 'bracketright',
'005E' => 'asciicircum',
'005F' => 'underscore',
'0060' => 'grave',
'0061' => 'a',
'0062' => 'b',
'0063' => 'c',
'0064' => 'd',
'0065' => 'e',
'0066' => 'f',
'0067' => 'g',
'0068' => 'h',
'0069' => 'i',
'006A' => 'j',
'006B' => 'k',
'006C' => 'l',
'006D' => 'm',
'006E' => 'n',
'006F' => 'o',
'0070' => 'p',
'0071' => 'q',
'0072' => 'r',
'0073' => 's',
'0074' => 't',
'0075' => 'u',
'0076' => 'v',
'0077' => 'w',
'0078' => 'x',
'0079' => 'y',
'007A' => 'z',
'007B' => 'braceleft',
'007C' => 'bar',
'007D' => 'braceright',
'007E' => 'asciitilde',
'00A0' => 'space',
'00A1' => 'exclamdown',
'00A2' => 'cent',
'00A3' => 'sterling',
'00A4' => 'currency',
'00A5' => 'yen',
'00A6' => 'brokenbar',
'00A7' => 'section',
'00A8' => 'dieresis',
'00A9' => 'copyright',
'00AA' => 'ordfeminine',
'00AB' => 'guillemotleft',
'00AC' => 'logicalnot',
'00AD' => 'hyphen',
'00AE' => 'registered',
'00AF' => 'macron',
'00B0' => 'degree',
'00B1' => 'plusminus',
'00B2' => 'twosuperior',
'00B3' => 'threesuperior',
'00B4' => 'acute',
'00B5' => 'mu',
'00B6' => 'paragraph',
'00B7' => 'periodcentered',
'00B8' => 'cedilla',
'00B9' => 'onesuperior',
'00BA' => 'ordmasculine',
'00BB' => 'guillemotright',
'00BC' => 'onequarter',
'00BD' => 'onehalf',
'00BE' => 'threequarters',
'00BF' => 'questiondown',
'00C0' => 'Agrave',
'00C1' => 'Aacute',
'00C2' => 'Acircumflex',
'00C3' => 'Atilde',
'00C4' => 'Adieresis',
'00C5' => 'Aring',
'00C6' => 'AE',
'00C7' => 'Ccedilla',
'00C8' => 'Egrave',
'00C9' => 'Eacute',
'00CA' => 'Ecircumflex',
'00CB' => 'Edieresis',
'00CC' => 'Igrave',
'00CD' => 'Iacute',
'00CE' => 'Icircumflex',
'00CF' => 'Idieresis',
'00D0' => 'Eth',
'00D1' => 'Ntilde',
'00D2' => 'Ograve',
'00D3' => 'Oacute',
'00D4' => 'Ocircumflex',
'00D5' => 'Otilde',
'00D6' => 'Odieresis',
'00D7' => 'multiply',
'00D8' => 'Oslash',
'00D9' => 'Ugrave',
'00DA' => 'Uacute',
'00DB' => 'Ucircumflex',
'00DC' => 'Udieresis',
'00DD' => 'Yacute',
'00DE' => 'Thorn',
'00DF' => 'germandbls',
'00E0' => 'agrave',
'00E1' => 'aacute',
'00E2' => 'acircumflex',
'00E3' => 'atilde',
'00E4' => 'adieresis',
'00E5' => 'aring',
'00E6' => 'ae',
'00E7' => 'ccedilla',
'00E8' => 'egrave',
'00E9' => 'eacute',
'00EA' => 'ecircumflex',
'00EB' => 'edieresis',
'00EC' => 'igrave',
'00ED' => 'iacute',
'00EE' => 'icircumflex',
'00EF' => 'idieresis',
'00F0' => 'eth',
'00F1' => 'ntilde',
'00F2' => 'ograve',
'00F3' => 'oacute',
'00F4' => 'ocircumflex',
'00F5' => 'otilde',
'00F6' => 'odieresis',
'00F7' => 'divide',
'00F8' => 'oslash',
'00F9' => 'ugrave',
'00FA' => 'uacute',
'00FB' => 'ucircumflex',
'00FC' => 'udieresis',
'00FD' => 'yacute',
'00FE' => 'thorn',
'00FF' => 'ydieresis',
'0100' => 'Amacron',
'0101' => 'amacron',
'0102' => 'Abreve',
'0103' => 'abreve',
'0104' => 'Aogonek',
'0105' => 'aogonek',
'0106' => 'Cacute',
'0107' => 'cacute',
'0108' => 'Ccircumflex',
'0109' => 'ccircumflex',
'010A' => 'Cdotaccent',
'010B' => 'cdotaccent',
'010C' => 'Ccaron',
'010D' => 'ccaron',
'010E' => 'Dcaron',
'010F' => 'dcaron',
'0110' => 'Dcroat',
'0111' => 'dcroat',
'0112' => 'Emacron',
'0113' => 'emacron',
'0114' => 'Ebreve',
'0115' => 'ebreve',
'0116' => 'Edotaccent',
'0117' => 'edotaccent',
'0118' => 'Eogonek',
'0119' => 'eogonek',
'011A' => 'Ecaron',
'011B' => 'ecaron',
'011C' => 'Gcircumflex',
'011D' => 'gcircumflex',
'011E' => 'Gbreve',
'011F' => 'gbreve',
'0120' => 'Gdotaccent',
'0121' => 'gdotaccent',
'0122' => 'Gcommaaccent',
'0123' => 'gcommaaccent',
'0124' => 'Hcircumflex',
'0125' => 'hcircumflex',
'0126' => 'Hbar',
'0127' => 'hbar',
'0128' => 'Itilde',
'0129' => 'itilde',
'012A' => 'Imacron',
'012B' => 'imacron',
'012C' => 'Ibreve',
'012D' => 'ibreve',
'012E' => 'Iogonek',
'012F' => 'iogonek',
'0130' => 'Idotaccent',
'0131' => 'dotlessi',
'0132' => 'IJ',
'0133' => 'ij',
'0134' => 'Jcircumflex',
'0135' => 'jcircumflex',
'0136' => 'Kcommaaccent',
'0137' => 'kcommaaccent',
'0138' => 'kgreenlandic',
'0139' => 'Lacute',
'013A' => 'lacute',
'013B' => 'Lcommaaccent',
'013C' => 'lcommaaccent',
'013D' => 'Lcaron',
'013E' => 'lcaron',
'013F' => 'Ldot',
'0140' => 'ldot',
'0141' => 'Lslash',
'0142' => 'lslash',
'0143' => 'Nacute',
'0144' => 'nacute',
'0145' => 'Ncommaaccent',
'0146' => 'ncommaaccent',
'0147' => 'Ncaron',
'0148' => 'ncaron',
'0149' => 'napostrophe',
'014A' => 'Eng',
'014B' => 'eng',
'014C' => 'Omacron',
'014D' => 'omacron',
'014E' => 'Obreve',
'014F' => 'obreve',
'0150' => 'Ohungarumlaut',
'0151' => 'ohungarumlaut',
'0152' => 'OE',
'0153' => 'oe',
'0154' => 'Racute',
'0155' => 'racute',
'0156' => 'Rcommaaccent',
'0157' => 'rcommaaccent',
'0158' => 'Rcaron',
'0159' => 'rcaron',
'015A' => 'Sacute',
'015B' => 'sacute',
'015C' => 'Scircumflex',
'015D' => 'scircumflex',
'015E' => 'Scedilla',
'015F' => 'scedilla',
'0160' => 'Scaron',
'0161' => 'scaron',
'0162' => 'Tcommaaccent',
'0163' => 'tcommaaccent',
'0164' => 'Tcaron',
'0165' => 'tcaron',
'0166' => 'Tbar',
'0167' => 'tbar',
'0168' => 'Utilde',
'0169' => 'utilde',
'016A' => 'Umacron',
'016B' => 'umacron',
'016C' => 'Ubreve',
'016D' => 'ubreve',
'016E' => 'Uring',
'016F' => 'uring',
'0170' => 'Uhungarumlaut',
'0171' => 'uhungarumlaut',
'0172' => 'Uogonek',
'0173' => 'uogonek',
'0174' => 'Wcircumflex',
'0175' => 'wcircumflex',
'0176' => 'Ycircumflex',
'0177' => 'ycircumflex',
'0178' => 'Ydieresis',
'0179' => 'Zacute',
'017A' => 'zacute',
'017B' => 'Zdotaccent',
'017C' => 'zdotaccent',
'017D' => 'Zcaron',
'017E' => 'zcaron',
'017F' => 'longs',
'0192' => 'florin',
'01A0' => 'Ohorn',
'01A1' => 'ohorn',
'01AF' => 'Uhorn',
'01B0' => 'uhorn',
'01E6' => 'Gcaron',
'01E7' => 'gcaron',
'01FA' => 'Aringacute',
'01FB' => 'aringacute',
'01FC' => 'AEacute',
'01FD' => 'aeacute',
'01FE' => 'Oslashacute',
'01FF' => 'oslashacute',
'0218' => 'Scommaaccent',
'0219' => 'scommaaccent',
'021A' => 'Tcommaaccent',
'021B' => 'tcommaaccent',
'02BC' => 'afii57929',
'02BD' => 'afii64937',
'02C6' => 'circumflex',
'02C7' => 'caron',
'02C9' => 'macron',
'02D8' => 'breve',
'02D9' => 'dotaccent',
'02DA' => 'ring',
'02DB' => 'ogonek',
'02DC' => 'tilde',
'02DD' => 'hungarumlaut',
'0300' => 'gravecomb',
'0301' => 'acutecomb',
'0303' => 'tildecomb',
'0309' => 'hookabovecomb',
'0323' => 'dotbelowcomb',
'0384' => 'tonos',
'0385' => 'dieresistonos',
'0386' => 'Alphatonos',
'0387' => 'anoteleia',
'0388' => 'Epsilontonos',
'0389' => 'Etatonos',
'038A' => 'Iotatonos',
'038C' => 'Omicrontonos',
'038E' => 'Upsilontonos',
'038F' => 'Omegatonos',
'0390' => 'iotadieresistonos',
'0391' => 'Alpha',
'0392' => 'Beta',
'0393' => 'Gamma',
'0394' => 'Delta',
'0395' => 'Epsilon',
'0396' => 'Zeta',
'0397' => 'Eta',
'0398' => 'Theta',
'0399' => 'Iota',
'039A' => 'Kappa',
'039B' => 'Lambda',
'039C' => 'Mu',
'039D' => 'Nu',
'039E' => 'Xi',
'039F' => 'Omicron',
'03A0' => 'Pi',
'03A1' => 'Rho',
'03A3' => 'Sigma',
'03A4' => 'Tau',
'03A5' => 'Upsilon',
'03A6' => 'Phi',
'03A7' => 'Chi',
'03A8' => 'Psi',
'03A9' => 'Omega',
'03AA' => 'Iotadieresis',
'03AB' => 'Upsilondieresis',
'03AC' => 'alphatonos',
'03AD' => 'epsilontonos',
'03AE' => 'etatonos',
'03AF' => 'iotatonos',
'03B0' => 'upsilondieresistonos',
'03B1' => 'alpha',
'03B2' => 'beta',
'03B3' => 'gamma',
'03B4' => 'delta',
'03B5' => 'epsilon',
'03B6' => 'zeta',
'03B7' => 'eta',
'03B8' => 'theta',
'03B9' => 'iota',
'03BA' => 'kappa',
'03BB' => 'lambda',
'03BC' => 'mu',
'03BD' => 'nu',
'03BE' => 'xi',
'03BF' => 'omicron',
'03C0' => 'pi',
'03C1' => 'rho',
'03C2' => 'sigma1',
'03C3' => 'sigma',
'03C4' => 'tau',
'03C5' => 'upsilon',
'03C6' => 'phi',
'03C7' => 'chi',
'03C8' => 'psi',
'03C9' => 'omega',
'03CA' => 'iotadieresis',
'03CB' => 'upsilondieresis',
'03CC' => 'omicrontonos',
'03CD' => 'upsilontonos',
'03CE' => 'omegatonos',
'03D1' => 'theta1',
'03D2' => 'Upsilon1',
'03D5' => 'phi1',
'03D6' => 'omega1',
'0401' => 'afii10023',
'0402' => 'afii10051',
'0403' => 'afii10052',
'0404' => 'afii10053',
'0405' => 'afii10054',
'0406' => 'afii10055',
'0407' => 'afii10056',
'0408' => 'afii10057',
'0409' => 'afii10058',
'040A' => 'afii10059',
'040B' => 'afii10060',
'040C' => 'afii10061',
'040E' => 'afii10062',
'040F' => 'afii10145',
'0410' => 'afii10017',
'0411' => 'afii10018',
'0412' => 'afii10019',
'0413' => 'afii10020',
'0414' => 'afii10021',
'0415' => 'afii10022',
'0416' => 'afii10024',
'0417' => 'afii10025',
'0418' => 'afii10026',
'0419' => 'afii10027',
'041A' => 'afii10028',
'041B' => 'afii10029',
'041C' => 'afii10030',
'041D' => 'afii10031',
'041E' => 'afii10032',
'041F' => 'afii10033',
'0420' => 'afii10034',
'0421' => 'afii10035',
'0422' => 'afii10036',
'0423' => 'afii10037',
'0424' => 'afii10038',
'0425' => 'afii10039',
'0426' => 'afii10040',
'0427' => 'afii10041',
'0428' => 'afii10042',
'0429' => 'afii10043',
'042A' => 'afii10044',
'042B' => 'afii10045',
'042C' => 'afii10046',
'042D' => 'afii10047',
'042E' => 'afii10048',
'042F' => 'afii10049',
'0430' => 'afii10065',
'0431' => 'afii10066',
'0432' => 'afii10067',
'0433' => 'afii10068',
'0434' => 'afii10069',
'0435' => 'afii10070',
'0436' => 'afii10072',
'0437' => 'afii10073',
'0438' => 'afii10074',
'0439' => 'afii10075',
'043A' => 'afii10076',
'043B' => 'afii10077',
'043C' => 'afii10078',
'043D' => 'afii10079',
'043E' => 'afii10080',
'043F' => 'afii10081',
'0440' => 'afii10082',
'0441' => 'afii10083',
'0442' => 'afii10084',
'0443' => 'afii10085',
'0444' => 'afii10086',
'0445' => 'afii10087',
'0446' => 'afii10088',
'0447' => 'afii10089',
'0448' => 'afii10090',
'0449' => 'afii10091',
'044A' => 'afii10092',
'044B' => 'afii10093',
'044C' => 'afii10094',
'044D' => 'afii10095',
'044E' => 'afii10096',
'044F' => 'afii10097',
'0451' => 'afii10071',
'0452' => 'afii10099',
'0453' => 'afii10100',
'0454' => 'afii10101',
'0455' => 'afii10102',
'0456' => 'afii10103',
'0457' => 'afii10104',
'0458' => 'afii10105',
'0459' => 'afii10106',
'045A' => 'afii10107',
'045B' => 'afii10108',
'045C' => 'afii10109',
'045E' => 'afii10110',
'045F' => 'afii10193',
'0462' => 'afii10146',
'0463' => 'afii10194',
'0472' => 'afii10147',
'0473' => 'afii10195',
'0474' => 'afii10148',
'0475' => 'afii10196',
'0490' => 'afii10050',
'0491' => 'afii10098',
'04D9' => 'afii10846',
'05B0' => 'afii57799',
'05B1' => 'afii57801',
'05B2' => 'afii57800',
'05B3' => 'afii57802',
'05B4' => 'afii57793',
'05B5' => 'afii57794',
'05B6' => 'afii57795',
'05B7' => 'afii57798',
'05B8' => 'afii57797',
'05B9' => 'afii57806',
'05BB' => 'afii57796',
'05BC' => 'afii57807',
'05BD' => 'afii57839',
'05BE' => 'afii57645',
'05BF' => 'afii57841',
'05C0' => 'afii57842',
'05C1' => 'afii57804',
'05C2' => 'afii57803',
'05C3' => 'afii57658',
'05D0' => 'afii57664',
'05D1' => 'afii57665',
'05D2' => 'afii57666',
'05D3' => 'afii57667',
'05D4' => 'afii57668',
'05D5' => 'afii57669',
'05D6' => 'afii57670',
'05D7' => 'afii57671',
'05D8' => 'afii57672',
'05D9' => 'afii57673',
'05DA' => 'afii57674',
'05DB' => 'afii57675',
'05DC' => 'afii57676',
'05DD' => 'afii57677',
'05DE' => 'afii57678',
'05DF' => 'afii57679',
'05E0' => 'afii57680',
'05E1' => 'afii57681',
'05E2' => 'afii57682',
'05E3' => 'afii57683',
'05E4' => 'afii57684',
'05E5' => 'afii57685',
'05E6' => 'afii57686',
'05E7' => 'afii57687',
'05E8' => 'afii57688',
'05E9' => 'afii57689',
'05EA' => 'afii57690',
'05F0' => 'afii57716',
'05F1' => 'afii57717',
'05F2' => 'afii57718',
'060C' => 'afii57388',
'061B' => 'afii57403',
'061F' => 'afii57407',
'0621' => 'afii57409',
'0622' => 'afii57410',
'0623' => 'afii57411',
'0624' => 'afii57412',
'0625' => 'afii57413',
'0626' => 'afii57414',
'0627' => 'afii57415',
'0628' => 'afii57416',
'0629' => 'afii57417',
'062A' => 'afii57418',
'062B' => 'afii57419',
'062C' => 'afii57420',
'062D' => 'afii57421',
'062E' => 'afii57422',
'062F' => 'afii57423',
'0630' => 'afii57424',
'0631' => 'afii57425',
'0632' => 'afii57426',
'0633' => 'afii57427',
'0634' => 'afii57428',
'0635' => 'afii57429',
'0636' => 'afii57430',
'0637' => 'afii57431',
'0638' => 'afii57432',
'0639' => 'afii57433',
'063A' => 'afii57434',
'0640' => 'afii57440',
'0641' => 'afii57441',
'0642' => 'afii57442',
'0643' => 'afii57443',
'0644' => 'afii57444',
'0645' => 'afii57445',
'0646' => 'afii57446',
'0647' => 'afii57470',
'0648' => 'afii57448',
'0649' => 'afii57449',
'064A' => 'afii57450',
'064B' => 'afii57451',
'064C' => 'afii57452',
'064D' => 'afii57453',
'064E' => 'afii57454',
'064F' => 'afii57455',
'0650' => 'afii57456',
'0651' => 'afii57457',
'0652' => 'afii57458',
'0660' => 'afii57392',
'0661' => 'afii57393',
'0662' => 'afii57394',
'0663' => 'afii57395',
'0664' => 'afii57396',
'0665' => 'afii57397',
'0666' => 'afii57398',
'0667' => 'afii57399',
'0668' => 'afii57400',
'0669' => 'afii57401',
'066A' => 'afii57381',
'066D' => 'afii63167',
'0679' => 'afii57511',
'067E' => 'afii57506',
'0686' => 'afii57507',
'0688' => 'afii57512',
'0691' => 'afii57513',
'0698' => 'afii57508',
'06A4' => 'afii57505',
'06AF' => 'afii57509',
'06BA' => 'afii57514',
'06D2' => 'afii57519',
'06D5' => 'afii57534',
'1E80' => 'Wgrave',
'1E81' => 'wgrave',
'1E82' => 'Wacute',
'1E83' => 'wacute',
'1E84' => 'Wdieresis',
'1E85' => 'wdieresis',
'1EF2' => 'Ygrave',
'1EF3' => 'ygrave',
'200C' => 'afii61664',
'200D' => 'afii301',
'200E' => 'afii299',
'200F' => 'afii300',
'2012' => 'figuredash',
'2013' => 'endash',
'2014' => 'emdash',
'2015' => 'afii00208',
'2017' => 'underscoredbl',
'2018' => 'quoteleft',
'2019' => 'quoteright',
'201A' => 'quotesinglbase',
'201B' => 'quotereversed',
'201C' => 'quotedblleft',
'201D' => 'quotedblright',
'201E' => 'quotedblbase',
'2020' => 'dagger',
'2021' => 'daggerdbl',
'2022' => 'bullet',
'2024' => 'onedotenleader',
'2025' => 'twodotenleader',
'2026' => 'ellipsis',
'202C' => 'afii61573',
'202D' => 'afii61574',
'202E' => 'afii61575',
'2030' => 'perthousand',
'2032' => 'minute',
'2033' => 'second',
'2039' => 'guilsinglleft',
'203A' => 'guilsinglright',
'203C' => 'exclamdbl',
'2044' => 'fraction',
'2070' => 'zerosuperior',
'2074' => 'foursuperior',
'2075' => 'fivesuperior',
'2076' => 'sixsuperior',
'2077' => 'sevensuperior',
'2078' => 'eightsuperior',
'2079' => 'ninesuperior',
'207D' => 'parenleftsuperior',
'207E' => 'parenrightsuperior',
'207F' => 'nsuperior',
'2080' => 'zeroinferior',
'2081' => 'oneinferior',
'2082' => 'twoinferior',
'2083' => 'threeinferior',
'2084' => 'fourinferior',
'2085' => 'fiveinferior',
'2086' => 'sixinferior',
'2087' => 'seveninferior',
'2088' => 'eightinferior',
'2089' => 'nineinferior',
'208D' => 'parenleftinferior',
'208E' => 'parenrightinferior',
'20A1' => 'colonmonetary',
'20A3' => 'franc',
'20A4' => 'lira',
'20A7' => 'peseta',
'20AA' => 'afii57636',
'20AB' => 'dong',
'20AC' => 'Euro',
'2105' => 'afii61248',
'2111' => 'Ifraktur',
'2113' => 'afii61289',
'2116' => 'afii61352',
'2118' => 'weierstrass',
'211C' => 'Rfraktur',
'211E' => 'prescription',
'2122' => 'trademark',
'2126' => 'Omega',
'212E' => 'estimated',
'2135' => 'aleph',
'2153' => 'onethird',
'2154' => 'twothirds',
'215B' => 'oneeighth',
'215C' => 'threeeighths',
'215D' => 'fiveeighths',
'215E' => 'seveneighths',
'2190' => 'arrowleft',
'2191' => 'arrowup',
'2192' => 'arrowright',
'2193' => 'arrowdown',
'2194' => 'arrowboth',
'2195' => 'arrowupdn',
'21A8' => 'arrowupdnbse',
'21B5' => 'carriagereturn',
'21D0' => 'arrowdblleft',
'21D1' => 'arrowdblup',
'21D2' => 'arrowdblright',
'21D3' => 'arrowdbldown',
'21D4' => 'arrowdblboth',
'2200' => 'universal',
'2202' => 'partialdiff',
'2203' => 'existential',
'2205' => 'emptyset',
'2206' => 'Delta',
'2207' => 'gradient',
'2208' => 'element',
'2209' => 'notelement',
'220B' => 'suchthat',
'220F' => 'product',
'2211' => 'summation',
'2212' => 'minus',
'2215' => 'fraction',
'2217' => 'asteriskmath',
'2219' => 'periodcentered',
'221A' => 'radical',
'221D' => 'proportional',
'221E' => 'infinity',
'221F' => 'orthogonal',
'2220' => 'angle',
'2227' => 'logicaland',
'2228' => 'logicalor',
'2229' => 'intersection',
'222A' => 'union',
'222B' => 'integral',
'2234' => 'therefore',
'223C' => 'similar',
'2245' => 'congruent',
'2248' => 'approxequal',
'2260' => 'notequal',
'2261' => 'equivalence',
'2264' => 'lessequal',
'2265' => 'greaterequal',
'2282' => 'propersubset',
'2283' => 'propersuperset',
'2284' => 'notsubset',
'2286' => 'reflexsubset',
'2287' => 'reflexsuperset',
'2295' => 'circleplus',
'2297' => 'circlemultiply',
'22A5' => 'perpendicular',
'22C5' => 'dotmath',
'2302' => 'house',
'2310' => 'revlogicalnot',
'2320' => 'integraltp',
'2321' => 'integralbt',
'2329' => 'angleleft',
'232A' => 'angleright',
'2500' => 'SF100000',
'2502' => 'SF110000',
'250C' => 'SF010000',
'2510' => 'SF030000',
'2514' => 'SF020000',
'2518' => 'SF040000',
'251C' => 'SF080000',
'2524' => 'SF090000',
'252C' => 'SF060000',
'2534' => 'SF070000',
'253C' => 'SF050000',
'2550' => 'SF430000',
'2551' => 'SF240000',
'2552' => 'SF510000',
'2553' => 'SF520000',
'2554' => 'SF390000',
'2555' => 'SF220000',
'2556' => 'SF210000',
'2557' => 'SF250000',
'2558' => 'SF500000',
'2559' => 'SF490000',
'255A' => 'SF380000',
'255B' => 'SF280000',
'255C' => 'SF270000',
'255D' => 'SF260000',
'255E' => 'SF360000',
'255F' => 'SF370000',
'2560' => 'SF420000',
'2561' => 'SF190000',
'2562' => 'SF200000',
'2563' => 'SF230000',
'2564' => 'SF470000',
'2565' => 'SF480000',
'2566' => 'SF410000',
'2567' => 'SF450000',
'2568' => 'SF460000',
'2569' => 'SF400000',
'256A' => 'SF540000',
'256B' => 'SF530000',
'256C' => 'SF440000',
'2580' => 'upblock',
'2584' => 'dnblock',
'2588' => 'block',
'258C' => 'lfblock',
'2590' => 'rtblock',
'2591' => 'ltshade',
'2592' => 'shade',
'2593' => 'dkshade',
'25A0' => 'filledbox',
'25A1' => 'H22073',
'25AA' => 'H18543',
'25AB' => 'H18551',
'25AC' => 'filledrect',
'25B2' => 'triagup',
'25BA' => 'triagrt',
'25BC' => 'triagdn',
'25C4' => 'triaglf',
'25CA' => 'lozenge',
'25CB' => 'circle',
'25CF' => 'H18533',
'25D8' => 'invbullet',
'25D9' => 'invcircle',
'25E6' => 'openbullet',
'263A' => 'smileface',
'263B' => 'invsmileface',
'263C' => 'sun',
'2640' => 'female',
'2642' => 'male',
'2660' => 'spade',
'2663' => 'club',
'2665' => 'heart',
'2666' => 'diamond',
'266A' => 'musicalnote',
'266B' => 'musicalnotedbl',
'FB00' => 'ff',
'FB01' => 'fi',
'FB02' => 'fl',
'FB03' => 'ffi',
'FB04' => 'ffl',
'FB1F' => 'afii57705',
'FB2A' => 'afii57694',
'FB2B' => 'afii57695',
'FB35' => 'afii57723',
'FB4B' => 'afii57700',
);
%doubles = (map{$_ => "uni$_"} qw(0394 03A9 0162 2215 00AD 02C9 03BC 2219 00A0 0163));
sub lookup
{
my ($num, $noalt) = @_;
my ($val) = sprintf("%04X", $num);
if (defined $names{$val})
{
return $names{$val} if ($noalt);
return $doubles{$val} || $names{$val};
}
elsif ($num > 0xFFFF)
{ return "u$val"; }
elsif ($num)
{ return "uni$val"; }
else
{ return ".notdef"; }
}
1;