Fix transform_abstracy + tests.
[librarian.git] / librarian / font-optimizer / ext / Font-TTF / lib / Font / TTF / PSNames.pm
1 package Font::TTF::PSNames;
2
3 =head1 NAME
4
5 Font::TTF::PSNames - Utilities for Postscript glyph name processing
6
7 =head1 SYNOPSIS
8
9   use Font::TTF::PSNames qw(parse lookup);
10   $name = lookup($uni);
11   $uni = parse($name);
12
13 =head1 METHODS
14
15 =cut
16
17 use strict;
18 use vars qw(%names %agl @EXPORT_OK @ISA);
19 require Exporter;
20 @ISA = qw( Exporter );
21 @EXPORT_OK = qw( parse lookup);
22
23 # Adobe Glyph List for New Fonts        
24 # from http://partners.adobe.com/asn/tech/type/aglfn13.txt
25
26 %names = (
27     '0020' => 'space',
28     '0021' => 'exclam',
29     '0022' => 'quotedbl',
30     '0023' => 'numbersign',
31     '0024' => 'dollar',
32     '0025' => 'percent',
33     '0026' => 'ampersand',
34     '0027' => 'quotesingle',
35     '0028' => 'parenleft',
36     '0029' => 'parenright',
37     '002A' => 'asterisk',
38     '002B' => 'plus',
39     '002C' => 'comma',
40     '002D' => 'hyphen',
41     '002E' => 'period',
42     '002F' => 'slash',
43     '0030' => 'zero',
44     '0031' => 'one',
45     '0032' => 'two',
46     '0033' => 'three',
47     '0034' => 'four',
48     '0035' => 'five',
49     '0036' => 'six',
50     '0037' => 'seven',
51     '0038' => 'eight',
52     '0039' => 'nine',
53     '003A' => 'colon',
54     '003B' => 'semicolon',
55     '003C' => 'less',
56     '003D' => 'equal',
57     '003E' => 'greater',
58     '003F' => 'question',
59     '0040' => 'at',
60     '0041' => 'A',
61     '0042' => 'B',
62     '0043' => 'C',
63     '0044' => 'D',
64     '0045' => 'E',
65     '0046' => 'F',
66     '0047' => 'G',
67     '0048' => 'H',
68     '0049' => 'I',
69     '004A' => 'J',
70     '004B' => 'K',
71     '004C' => 'L',
72     '004D' => 'M',
73     '004E' => 'N',
74     '004F' => 'O',
75     '0050' => 'P',
76     '0051' => 'Q',
77     '0052' => 'R',
78     '0053' => 'S',
79     '0054' => 'T',
80     '0055' => 'U',
81     '0056' => 'V',
82     '0057' => 'W',
83     '0058' => 'X',
84     '0059' => 'Y',
85     '005A' => 'Z',
86     '005B' => 'bracketleft',
87     '005C' => 'backslash',
88     '005D' => 'bracketright',
89     '005E' => 'asciicircum',
90     '005F' => 'underscore',
91     '0060' => 'grave',
92     '0061' => 'a',
93     '0062' => 'b',
94     '0063' => 'c',
95     '0064' => 'd',
96     '0065' => 'e',
97     '0066' => 'f',
98     '0067' => 'g',
99     '0068' => 'h',
100     '0069' => 'i',
101     '006A' => 'j',
102     '006B' => 'k',
103     '006C' => 'l',
104     '006D' => 'm',
105     '006E' => 'n',
106     '006F' => 'o',
107     '0070' => 'p',
108     '0071' => 'q',
109     '0072' => 'r',
110     '0073' => 's',
111     '0074' => 't',
112     '0075' => 'u',
113     '0076' => 'v',
114     '0077' => 'w',
115     '0078' => 'x',
116     '0079' => 'y',
117     '007A' => 'z',
118     '007B' => 'braceleft',
119     '007C' => 'bar',
120     '007D' => 'braceright',
121     '007E' => 'asciitilde',
122 #    '00A0' => 'space',
123     '00A1' => 'exclamdown',
124     '00A2' => 'cent',
125     '00A3' => 'sterling',
126     '00A4' => 'currency',
127     '00A5' => 'yen',
128     '00A6' => 'brokenbar',
129     '00A7' => 'section',
130     '00A8' => 'dieresis',
131     '00A9' => 'copyright',
132     '00AA' => 'ordfeminine',
133     '00AB' => 'guillemotleft',
134     '00AC' => 'logicalnot',
135 #    '00AD' => 'hyphen',
136     '00AE' => 'registered',
137     '00AF' => 'macron',
138     '00B0' => 'degree',
139     '00B1' => 'plusminus',
140     '00B2' => 'twosuperior',
141     '00B3' => 'threesuperior',
142     '00B4' => 'acute',
143     '00B5' => 'mu',
144     '00B6' => 'paragraph',
145     '00B7' => 'periodcentered',
146     '00B8' => 'cedilla',
147     '00B9' => 'onesuperior',
148     '00BA' => 'ordmasculine',
149     '00BB' => 'guillemotright',
150     '00BC' => 'onequarter',
151     '00BD' => 'onehalf',
152     '00BE' => 'threequarters',
153     '00BF' => 'questiondown',
154     '00C0' => 'Agrave',
155     '00C1' => 'Aacute',
156     '00C2' => 'Acircumflex',
157     '00C3' => 'Atilde',
158     '00C4' => 'Adieresis',
159     '00C5' => 'Aring',
160     '00C6' => 'AE',
161     '00C7' => 'Ccedilla',
162     '00C8' => 'Egrave',
163     '00C9' => 'Eacute',
164     '00CA' => 'Ecircumflex',
165     '00CB' => 'Edieresis',
166     '00CC' => 'Igrave',
167     '00CD' => 'Iacute',
168     '00CE' => 'Icircumflex',
169     '00CF' => 'Idieresis',
170     '00D0' => 'Eth',
171     '00D1' => 'Ntilde',
172     '00D2' => 'Ograve',
173     '00D3' => 'Oacute',
174     '00D4' => 'Ocircumflex',
175     '00D5' => 'Otilde',
176     '00D6' => 'Odieresis',
177     '00D7' => 'multiply',
178     '00D8' => 'Oslash',
179     '00D9' => 'Ugrave',
180     '00DA' => 'Uacute',
181     '00DB' => 'Ucircumflex',
182     '00DC' => 'Udieresis',
183     '00DD' => 'Yacute',
184     '00DE' => 'Thorn',
185     '00DF' => 'germandbls',
186     '00E0' => 'agrave',
187     '00E1' => 'aacute',
188     '00E2' => 'acircumflex',
189     '00E3' => 'atilde',
190     '00E4' => 'adieresis',
191     '00E5' => 'aring',
192     '00E6' => 'ae',
193     '00E7' => 'ccedilla',
194     '00E8' => 'egrave',
195     '00E9' => 'eacute',
196     '00EA' => 'ecircumflex',
197     '00EB' => 'edieresis',
198     '00EC' => 'igrave',
199     '00ED' => 'iacute',
200     '00EE' => 'icircumflex',
201     '00EF' => 'idieresis',
202     '00F0' => 'eth',
203     '00F1' => 'ntilde',
204     '00F2' => 'ograve',
205     '00F3' => 'oacute',
206     '00F4' => 'ocircumflex',
207     '00F5' => 'otilde',
208     '00F6' => 'odieresis',
209     '00F7' => 'divide',
210     '00F8' => 'oslash',
211     '00F9' => 'ugrave',
212     '00FA' => 'uacute',
213     '00FB' => 'ucircumflex',
214     '00FC' => 'udieresis',
215     '00FD' => 'yacute',
216     '00FE' => 'thorn',
217     '00FF' => 'ydieresis',
218     '0100' => 'Amacron',
219     '0101' => 'amacron',
220     '0102' => 'Abreve',
221     '0103' => 'abreve',
222     '0104' => 'Aogonek',
223     '0105' => 'aogonek',
224     '0106' => 'Cacute',
225     '0107' => 'cacute',
226     '0108' => 'Ccircumflex',
227     '0109' => 'ccircumflex',
228     '010A' => 'Cdotaccent',
229     '010B' => 'cdotaccent',
230     '010C' => 'Ccaron',
231     '010D' => 'ccaron',
232     '010E' => 'Dcaron',
233     '010F' => 'dcaron',
234     '0110' => 'Dcroat',
235     '0111' => 'dcroat',
236     '0112' => 'Emacron',
237     '0113' => 'emacron',
238     '0114' => 'Ebreve',
239     '0115' => 'ebreve',
240     '0116' => 'Edotaccent',
241     '0117' => 'edotaccent',
242     '0118' => 'Eogonek',
243     '0119' => 'eogonek',
244     '011A' => 'Ecaron',
245     '011B' => 'ecaron',
246     '011C' => 'Gcircumflex',
247     '011D' => 'gcircumflex',
248     '011E' => 'Gbreve',
249     '011F' => 'gbreve',
250     '0120' => 'Gdotaccent',
251     '0121' => 'gdotaccent',
252     '0122' => 'Gcommaaccent',
253     '0123' => 'gcommaaccent',
254     '0124' => 'Hcircumflex',
255     '0125' => 'hcircumflex',
256     '0126' => 'Hbar',
257     '0127' => 'hbar',
258     '0128' => 'Itilde',
259     '0129' => 'itilde',
260     '012A' => 'Imacron',
261     '012B' => 'imacron',
262     '012C' => 'Ibreve',
263     '012D' => 'ibreve',
264     '012E' => 'Iogonek',
265     '012F' => 'iogonek',
266     '0130' => 'Idotaccent',
267     '0131' => 'dotlessi',
268     '0132' => 'IJ',
269     '0133' => 'ij',
270     '0134' => 'Jcircumflex',
271     '0135' => 'jcircumflex',
272     '0136' => 'Kcommaaccent',
273     '0137' => 'kcommaaccent',
274     '0138' => 'kgreenlandic',
275     '0139' => 'Lacute',
276     '013A' => 'lacute',
277     '013B' => 'Lcommaaccent',
278     '013C' => 'lcommaaccent',
279     '013D' => 'Lcaron',
280     '013E' => 'lcaron',
281     '013F' => 'Ldot',
282     '0140' => 'ldot',
283     '0141' => 'Lslash',
284     '0142' => 'lslash',
285     '0143' => 'Nacute',
286     '0144' => 'nacute',
287     '0145' => 'Ncommaaccent',
288     '0146' => 'ncommaaccent',
289     '0147' => 'Ncaron',
290     '0148' => 'ncaron',
291     '0149' => 'napostrophe',
292     '014A' => 'Eng',
293     '014B' => 'eng',
294     '014C' => 'Omacron',
295     '014D' => 'omacron',
296     '014E' => 'Obreve',
297     '014F' => 'obreve',
298     '0150' => 'Ohungarumlaut',
299     '0151' => 'ohungarumlaut',
300     '0152' => 'OE',
301     '0153' => 'oe',
302     '0154' => 'Racute',
303     '0155' => 'racute',
304     '0156' => 'Rcommaaccent',
305     '0157' => 'rcommaaccent',
306     '0158' => 'Rcaron',
307     '0159' => 'rcaron',
308     '015A' => 'Sacute',
309     '015B' => 'sacute',
310     '015C' => 'Scircumflex',
311     '015D' => 'scircumflex',
312     '015E' => 'Scedilla',
313     '015F' => 'scedilla',
314     '0160' => 'Scaron',
315     '0161' => 'scaron',
316     '0162' => 'Tcommaaccent',
317     '0163' => 'tcommaaccent',
318     '0164' => 'Tcaron',
319     '0165' => 'tcaron',
320     '0166' => 'Tbar',
321     '0167' => 'tbar',
322     '0168' => 'Utilde',
323     '0169' => 'utilde',
324     '016A' => 'Umacron',
325     '016B' => 'umacron',
326     '016C' => 'Ubreve',
327     '016D' => 'ubreve',
328     '016E' => 'Uring',
329     '016F' => 'uring',
330     '0170' => 'Uhungarumlaut',
331     '0171' => 'uhungarumlaut',
332     '0172' => 'Uogonek',
333     '0173' => 'uogonek',
334     '0174' => 'Wcircumflex',
335     '0175' => 'wcircumflex',
336     '0176' => 'Ycircumflex',
337     '0177' => 'ycircumflex',
338     '0178' => 'Ydieresis',
339     '0179' => 'Zacute',
340     '017A' => 'zacute',
341     '017B' => 'Zdotaccent',
342     '017C' => 'zdotaccent',
343     '017D' => 'Zcaron',
344     '017E' => 'zcaron',
345     '017F' => 'longs',
346     '0192' => 'florin',
347     '01A0' => 'Ohorn',
348     '01A1' => 'ohorn',
349     '01AF' => 'Uhorn',
350     '01B0' => 'uhorn',
351     '01E6' => 'Gcaron',
352     '01E7' => 'gcaron',
353     '01FA' => 'Aringacute',
354     '01FB' => 'aringacute',
355     '01FC' => 'AEacute',
356     '01FD' => 'aeacute',
357     '01FE' => 'Oslashacute',
358     '01FF' => 'oslashacute',
359     '0218' => 'Scommaaccent',
360     '0219' => 'scommaaccent',
361 #    '021A' => 'Tcommaaccent',
362 #    '021B' => 'tcommaaccent',
363     '02BC' => 'afii57929',
364     '02BD' => 'afii64937',
365     '02C6' => 'circumflex',
366     '02C7' => 'caron',
367 #    '02C9' => 'macron',
368     '02D8' => 'breve',
369     '02D9' => 'dotaccent',
370     '02DA' => 'ring',
371     '02DB' => 'ogonek',
372     '02DC' => 'tilde',
373     '02DD' => 'hungarumlaut',
374     '0300' => 'gravecomb',
375     '0301' => 'acutecomb',
376     '0303' => 'tildecomb',
377     '0309' => 'hookabovecomb',
378     '0323' => 'dotbelowcomb',
379     '0384' => 'tonos',
380     '0385' => 'dieresistonos',
381     '0386' => 'Alphatonos',
382     '0387' => 'anoteleia',
383     '0388' => 'Epsilontonos',
384     '0389' => 'Etatonos',
385     '038A' => 'Iotatonos',
386     '038C' => 'Omicrontonos',
387     '038E' => 'Upsilontonos',
388     '038F' => 'Omegatonos',
389     '0390' => 'iotadieresistonos',
390     '0391' => 'Alpha',
391     '0392' => 'Beta',
392     '0393' => 'Gamma',
393 #    '0394' => 'Delta',
394     '0395' => 'Epsilon',
395     '0396' => 'Zeta',
396     '0397' => 'Eta',
397     '0398' => 'Theta',
398     '0399' => 'Iota',
399     '039A' => 'Kappa',
400     '039B' => 'Lambda',
401     '039C' => 'Mu',
402     '039D' => 'Nu',
403     '039E' => 'Xi',
404     '039F' => 'Omicron',
405     '03A0' => 'Pi',
406     '03A1' => 'Rho',
407     '03A3' => 'Sigma',
408     '03A4' => 'Tau',
409     '03A5' => 'Upsilon',
410     '03A6' => 'Phi',
411     '03A7' => 'Chi',
412     '03A8' => 'Psi',
413 #    '03A9' => 'Omega',
414     '03AA' => 'Iotadieresis',
415     '03AB' => 'Upsilondieresis',
416     '03AC' => 'alphatonos',
417     '03AD' => 'epsilontonos',
418     '03AE' => 'etatonos',
419     '03AF' => 'iotatonos',
420     '03B0' => 'upsilondieresistonos',
421     '03B1' => 'alpha',
422     '03B2' => 'beta',
423     '03B3' => 'gamma',
424     '03B4' => 'delta',
425     '03B5' => 'epsilon',
426     '03B6' => 'zeta',
427     '03B7' => 'eta',
428     '03B8' => 'theta',
429     '03B9' => 'iota',
430     '03BA' => 'kappa',
431     '03BB' => 'lambda',
432 #    '03BC' => 'mu',
433     '03BD' => 'nu',
434     '03BE' => 'xi',
435     '03BF' => 'omicron',
436     '03C0' => 'pi',
437     '03C1' => 'rho',
438     '03C2' => 'sigma1',
439     '03C3' => 'sigma',
440     '03C4' => 'tau',
441     '03C5' => 'upsilon',
442     '03C6' => 'phi',
443     '03C7' => 'chi',
444     '03C8' => 'psi',
445     '03C9' => 'omega',
446     '03CA' => 'iotadieresis',
447     '03CB' => 'upsilondieresis',
448     '03CC' => 'omicrontonos',
449     '03CD' => 'upsilontonos',
450     '03CE' => 'omegatonos',
451     '03D1' => 'theta1',
452     '03D2' => 'Upsilon1',
453     '03D5' => 'phi1',
454     '03D6' => 'omega1',
455     '0401' => 'afii10023',
456     '0402' => 'afii10051',
457     '0403' => 'afii10052',
458     '0404' => 'afii10053',
459     '0405' => 'afii10054',
460     '0406' => 'afii10055',
461     '0407' => 'afii10056',
462     '0408' => 'afii10057',
463     '0409' => 'afii10058',
464     '040A' => 'afii10059',
465     '040B' => 'afii10060',
466     '040C' => 'afii10061',
467     '040E' => 'afii10062',
468     '040F' => 'afii10145',
469     '0410' => 'afii10017',
470     '0411' => 'afii10018',
471     '0412' => 'afii10019',
472     '0413' => 'afii10020',
473     '0414' => 'afii10021',
474     '0415' => 'afii10022',
475     '0416' => 'afii10024',
476     '0417' => 'afii10025',
477     '0418' => 'afii10026',
478     '0419' => 'afii10027',
479     '041A' => 'afii10028',
480     '041B' => 'afii10029',
481     '041C' => 'afii10030',
482     '041D' => 'afii10031',
483     '041E' => 'afii10032',
484     '041F' => 'afii10033',
485     '0420' => 'afii10034',
486     '0421' => 'afii10035',
487     '0422' => 'afii10036',
488     '0423' => 'afii10037',
489     '0424' => 'afii10038',
490     '0425' => 'afii10039',
491     '0426' => 'afii10040',
492     '0427' => 'afii10041',
493     '0428' => 'afii10042',
494     '0429' => 'afii10043',
495     '042A' => 'afii10044',
496     '042B' => 'afii10045',
497     '042C' => 'afii10046',
498     '042D' => 'afii10047',
499     '042E' => 'afii10048',
500     '042F' => 'afii10049',
501     '0430' => 'afii10065',
502     '0431' => 'afii10066',
503     '0432' => 'afii10067',
504     '0433' => 'afii10068',
505     '0434' => 'afii10069',
506     '0435' => 'afii10070',
507     '0436' => 'afii10072',
508     '0437' => 'afii10073',
509     '0438' => 'afii10074',
510     '0439' => 'afii10075',
511     '043A' => 'afii10076',
512     '043B' => 'afii10077',
513     '043C' => 'afii10078',
514     '043D' => 'afii10079',
515     '043E' => 'afii10080',
516     '043F' => 'afii10081',
517     '0440' => 'afii10082',
518     '0441' => 'afii10083',
519     '0442' => 'afii10084',
520     '0443' => 'afii10085',
521     '0444' => 'afii10086',
522     '0445' => 'afii10087',
523     '0446' => 'afii10088',
524     '0447' => 'afii10089',
525     '0448' => 'afii10090',
526     '0449' => 'afii10091',
527     '044A' => 'afii10092',
528     '044B' => 'afii10093',
529     '044C' => 'afii10094',
530     '044D' => 'afii10095',
531     '044E' => 'afii10096',
532     '044F' => 'afii10097',
533     '0451' => 'afii10071',
534     '0452' => 'afii10099',
535     '0453' => 'afii10100',
536     '0454' => 'afii10101',
537     '0455' => 'afii10102',
538     '0456' => 'afii10103',
539     '0457' => 'afii10104',
540     '0458' => 'afii10105',
541     '0459' => 'afii10106',
542     '045A' => 'afii10107',
543     '045B' => 'afii10108',
544     '045C' => 'afii10109',
545     '045E' => 'afii10110',
546     '045F' => 'afii10193',
547     '0462' => 'afii10146',
548     '0463' => 'afii10194',
549     '0472' => 'afii10147',
550     '0473' => 'afii10195',
551     '0474' => 'afii10148',
552     '0475' => 'afii10196',
553     '0490' => 'afii10050',
554     '0491' => 'afii10098',
555     '04D9' => 'afii10846',
556     '05B0' => 'afii57799',
557     '05B1' => 'afii57801',
558     '05B2' => 'afii57800',
559     '05B3' => 'afii57802',
560     '05B4' => 'afii57793',
561     '05B5' => 'afii57794',
562     '05B6' => 'afii57795',
563     '05B7' => 'afii57798',
564     '05B8' => 'afii57797',
565     '05B9' => 'afii57806',
566     '05BB' => 'afii57796',
567     '05BC' => 'afii57807',
568     '05BD' => 'afii57839',
569     '05BE' => 'afii57645',
570     '05BF' => 'afii57841',
571     '05C0' => 'afii57842',
572     '05C1' => 'afii57804',
573     '05C2' => 'afii57803',
574     '05C3' => 'afii57658',
575     '05D0' => 'afii57664',
576     '05D1' => 'afii57665',
577     '05D2' => 'afii57666',
578     '05D3' => 'afii57667',
579     '05D4' => 'afii57668',
580     '05D5' => 'afii57669',
581     '05D6' => 'afii57670',
582     '05D7' => 'afii57671',
583     '05D8' => 'afii57672',
584     '05D9' => 'afii57673',
585     '05DA' => 'afii57674',
586     '05DB' => 'afii57675',
587     '05DC' => 'afii57676',
588     '05DD' => 'afii57677',
589     '05DE' => 'afii57678',
590     '05DF' => 'afii57679',
591     '05E0' => 'afii57680',
592     '05E1' => 'afii57681',
593     '05E2' => 'afii57682',
594     '05E3' => 'afii57683',
595     '05E4' => 'afii57684',
596     '05E5' => 'afii57685',
597     '05E6' => 'afii57686',
598     '05E7' => 'afii57687',
599     '05E8' => 'afii57688',
600     '05E9' => 'afii57689',
601     '05EA' => 'afii57690',
602     '05F0' => 'afii57716',
603     '05F1' => 'afii57717',
604     '05F2' => 'afii57718',
605     '060C' => 'afii57388',
606     '061B' => 'afii57403',
607     '061F' => 'afii57407',
608     '0621' => 'afii57409',
609     '0622' => 'afii57410',
610     '0623' => 'afii57411',
611     '0624' => 'afii57412',
612     '0625' => 'afii57413',
613     '0626' => 'afii57414',
614     '0627' => 'afii57415',
615     '0628' => 'afii57416',
616     '0629' => 'afii57417',
617     '062A' => 'afii57418',
618     '062B' => 'afii57419',
619     '062C' => 'afii57420',
620     '062D' => 'afii57421',
621     '062E' => 'afii57422',
622     '062F' => 'afii57423',
623     '0630' => 'afii57424',
624     '0631' => 'afii57425',
625     '0632' => 'afii57426',
626     '0633' => 'afii57427',
627     '0634' => 'afii57428',
628     '0635' => 'afii57429',
629     '0636' => 'afii57430',
630     '0637' => 'afii57431',
631     '0638' => 'afii57432',
632     '0639' => 'afii57433',
633     '063A' => 'afii57434',
634     '0640' => 'afii57440',
635     '0641' => 'afii57441',
636     '0642' => 'afii57442',
637     '0643' => 'afii57443',
638     '0644' => 'afii57444',
639     '0645' => 'afii57445',
640     '0646' => 'afii57446',
641     '0647' => 'afii57470',
642     '0648' => 'afii57448',
643     '0649' => 'afii57449',
644     '064A' => 'afii57450',
645     '064B' => 'afii57451',
646     '064C' => 'afii57452',
647     '064D' => 'afii57453',
648     '064E' => 'afii57454',
649     '064F' => 'afii57455',
650     '0650' => 'afii57456',
651     '0651' => 'afii57457',
652     '0652' => 'afii57458',
653     '0660' => 'afii57392',
654     '0661' => 'afii57393',
655     '0662' => 'afii57394',
656     '0663' => 'afii57395',
657     '0664' => 'afii57396',
658     '0665' => 'afii57397',
659     '0666' => 'afii57398',
660     '0667' => 'afii57399',
661     '0668' => 'afii57400',
662     '0669' => 'afii57401',
663     '066A' => 'afii57381',
664     '066D' => 'afii63167',
665     '0679' => 'afii57511',
666     '067E' => 'afii57506',
667     '0686' => 'afii57507',
668     '0688' => 'afii57512',
669     '0691' => 'afii57513',
670     '0698' => 'afii57508',
671     '06A4' => 'afii57505',
672     '06AF' => 'afii57509',
673     '06BA' => 'afii57514',
674     '06D2' => 'afii57519',
675     '06D5' => 'afii57534',
676     '1E80' => 'Wgrave',
677     '1E81' => 'wgrave',
678     '1E82' => 'Wacute',
679     '1E83' => 'wacute',
680     '1E84' => 'Wdieresis',
681     '1E85' => 'wdieresis',
682     '1EF2' => 'Ygrave',
683     '1EF3' => 'ygrave',
684     '200C' => 'afii61664',
685     '200D' => 'afii301',
686     '200E' => 'afii299',
687     '200F' => 'afii300',
688     '2012' => 'figuredash',
689     '2013' => 'endash',
690     '2014' => 'emdash',
691     '2015' => 'afii00208',
692     '2017' => 'underscoredbl',
693     '2018' => 'quoteleft',
694     '2019' => 'quoteright',
695     '201A' => 'quotesinglbase',
696     '201B' => 'quotereversed',
697     '201C' => 'quotedblleft',
698     '201D' => 'quotedblright',
699     '201E' => 'quotedblbase',
700     '2020' => 'dagger',
701     '2021' => 'daggerdbl',
702     '2022' => 'bullet',
703     '2024' => 'onedotenleader',
704     '2025' => 'twodotenleader',
705     '2026' => 'ellipsis',
706     '202C' => 'afii61573',
707     '202D' => 'afii61574',
708     '202E' => 'afii61575',
709     '2030' => 'perthousand',
710     '2032' => 'minute',
711     '2033' => 'second',
712     '2039' => 'guilsinglleft',
713     '203A' => 'guilsinglright',
714     '203C' => 'exclamdbl',
715     '2044' => 'fraction',
716 #    '2070' => 'zerosuperior',
717 #    '2074' => 'foursuperior',
718 #    '2075' => 'fivesuperior',
719 #    '2076' => 'sixsuperior',
720 #    '2077' => 'sevensuperior',
721 #    '2078' => 'eightsuperior',
722 #    '2079' => 'ninesuperior',
723 #    '207D' => 'parenleftsuperior',
724 #    '207E' => 'parenrightsuperior',
725 #    '207F' => 'nsuperior',
726 #    '2080' => 'zeroinferior',
727 #    '2081' => 'oneinferior',
728 #    '2082' => 'twoinferior',
729 #    '2083' => 'threeinferior',
730 #    '2084' => 'fourinferior',
731 #    '2085' => 'fiveinferior',
732 #    '2086' => 'sixinferior',
733 #    '2087' => 'seveninferior',
734 #    '2088' => 'eightinferior',
735 #    '2089' => 'nineinferior',
736 #    '208D' => 'parenleftinferior',
737 #    '208E' => 'parenrightinferior',
738     '20A1' => 'colonmonetary',
739     '20A3' => 'franc',
740     '20A4' => 'lira',
741     '20A7' => 'peseta',
742     '20AA' => 'afii57636',
743     '20AB' => 'dong',
744     '20AC' => 'Euro',
745     '2105' => 'afii61248',
746     '2111' => 'Ifraktur',
747     '2113' => 'afii61289',
748     '2116' => 'afii61352',
749     '2118' => 'weierstrass',
750     '211C' => 'Rfraktur',
751     '211E' => 'prescription',
752     '2122' => 'trademark',
753     '2126' => 'Omega',
754     '212E' => 'estimated',
755     '2135' => 'aleph',
756     '2153' => 'onethird',
757     '2154' => 'twothirds',
758     '215B' => 'oneeighth',
759     '215C' => 'threeeighths',
760     '215D' => 'fiveeighths',
761     '215E' => 'seveneighths',
762     '2190' => 'arrowleft',
763     '2191' => 'arrowup',
764     '2192' => 'arrowright',
765     '2193' => 'arrowdown',
766     '2194' => 'arrowboth',
767     '2195' => 'arrowupdn',
768     '21A8' => 'arrowupdnbse',
769     '21B5' => 'carriagereturn',
770     '21D0' => 'arrowdblleft',
771     '21D1' => 'arrowdblup',
772     '21D2' => 'arrowdblright',
773     '21D3' => 'arrowdbldown',
774     '21D4' => 'arrowdblboth',
775     '2200' => 'universal',
776     '2202' => 'partialdiff',
777     '2203' => 'existential',
778     '2205' => 'emptyset',
779     '2206' => 'Delta',
780     '2207' => 'gradient',
781     '2208' => 'element',
782     '2209' => 'notelement',
783     '220B' => 'suchthat',
784     '220F' => 'product',
785     '2211' => 'summation',
786     '2212' => 'minus',
787 #    '2215' => 'fraction',
788     '2217' => 'asteriskmath',
789 #    '2219' => 'periodcentered',
790     '221A' => 'radical',
791     '221D' => 'proportional',
792     '221E' => 'infinity',
793     '221F' => 'orthogonal',
794     '2220' => 'angle',
795     '2227' => 'logicaland',
796     '2228' => 'logicalor',
797     '2229' => 'intersection',
798     '222A' => 'union',
799     '222B' => 'integral',
800     '2234' => 'therefore',
801     '223C' => 'similar',
802     '2245' => 'congruent',
803     '2248' => 'approxequal',
804     '2260' => 'notequal',
805     '2261' => 'equivalence',
806     '2264' => 'lessequal',
807     '2265' => 'greaterequal',
808     '2282' => 'propersubset',
809     '2283' => 'propersuperset',
810     '2284' => 'notsubset',
811     '2286' => 'reflexsubset',
812     '2287' => 'reflexsuperset',
813     '2295' => 'circleplus',
814     '2297' => 'circlemultiply',
815     '22A5' => 'perpendicular',
816     '22C5' => 'dotmath',
817     '2302' => 'house',
818     '2310' => 'revlogicalnot',
819     '2320' => 'integraltp',
820     '2321' => 'integralbt',
821     '2329' => 'angleleft',
822     '232A' => 'angleright',
823     '2500' => 'SF100000',
824     '2502' => 'SF110000',
825     '250C' => 'SF010000',
826     '2510' => 'SF030000',
827     '2514' => 'SF020000',
828     '2518' => 'SF040000',
829     '251C' => 'SF080000',
830     '2524' => 'SF090000',
831     '252C' => 'SF060000',
832     '2534' => 'SF070000',
833     '253C' => 'SF050000',
834     '2550' => 'SF430000',
835     '2551' => 'SF240000',
836     '2552' => 'SF510000',
837     '2553' => 'SF520000',
838     '2554' => 'SF390000',
839     '2555' => 'SF220000',
840     '2556' => 'SF210000',
841     '2557' => 'SF250000',
842     '2558' => 'SF500000',
843     '2559' => 'SF490000',
844     '255A' => 'SF380000',
845     '255B' => 'SF280000',
846     '255C' => 'SF270000',
847     '255D' => 'SF260000',
848     '255E' => 'SF360000',
849     '255F' => 'SF370000',
850     '2560' => 'SF420000',
851     '2561' => 'SF190000',
852     '2562' => 'SF200000',
853     '2563' => 'SF230000',
854     '2564' => 'SF470000',
855     '2565' => 'SF480000',
856     '2566' => 'SF410000',
857     '2567' => 'SF450000',
858     '2568' => 'SF460000',
859     '2569' => 'SF400000',
860     '256A' => 'SF540000',
861     '256B' => 'SF530000',
862     '256C' => 'SF440000',
863     '2580' => 'upblock',
864     '2584' => 'dnblock',
865     '2588' => 'block',
866     '258C' => 'lfblock',
867     '2590' => 'rtblock',
868     '2591' => 'ltshade',
869     '2592' => 'shade',
870     '2593' => 'dkshade',
871     '25A0' => 'filledbox',
872     '25A1' => 'H22073',
873     '25AA' => 'H18543',
874     '25AB' => 'H18551',
875     '25AC' => 'filledrect',
876     '25B2' => 'triagup',
877     '25BA' => 'triagrt',
878     '25BC' => 'triagdn',
879     '25C4' => 'triaglf',
880     '25CA' => 'lozenge',
881     '25CB' => 'circle',
882     '25CF' => 'H18533',
883     '25D8' => 'invbullet',
884     '25D9' => 'invcircle',
885     '25E6' => 'openbullet',
886     '263A' => 'smileface',
887     '263B' => 'invsmileface',
888     '263C' => 'sun',
889     '2640' => 'female',
890     '2642' => 'male',
891     '2660' => 'spade',
892     '2663' => 'club',
893     '2665' => 'heart',
894     '2666' => 'diamond',
895     '266A' => 'musicalnote',
896     '266B' => 'musicalnotedbl',
897     'FB00' => 'ff',
898     'FB01' => 'fi',
899     'FB02' => 'fl',
900     'FB03' => 'ffi',
901     'FB04' => 'ffl',
902     'FB1F' => 'afii57705',
903     'FB2A' => 'afii57694',
904     'FB2B' => 'afii57695',
905     'FB35' => 'afii57723',
906     'FB4B' => 'afii57700',
907 );
908
909 # Adobe Glyph List 2.0 (sans those in glyph list for *new* fonts) -- thus
910 # these are all historic names that could occur in fonts
911 # from http://partners.adobe.com/asn/tech/type/glyphlist.txt
912
913 %agl = (
914         'AEmacron' => "\x{01E2}",
915         'AEsmall' => "\x{F7E6}",
916         'Aacutesmall' => "\x{F7E1}",
917         'Abreveacute' => "\x{1EAE}",
918         'Abrevecyrillic' => "\x{04D0}",
919         'Abrevedotbelow' => "\x{1EB6}",
920         'Abrevegrave' => "\x{1EB0}",
921         'Abrevehookabove' => "\x{1EB2}",
922         'Abrevetilde' => "\x{1EB4}",
923         'Acaron' => "\x{01CD}",
924         'Acircle' => "\x{24B6}",
925         'Acircumflexacute' => "\x{1EA4}",
926         'Acircumflexdotbelow' => "\x{1EAC}",
927         'Acircumflexgrave' => "\x{1EA6}",
928         'Acircumflexhookabove' => "\x{1EA8}",
929         'Acircumflexsmall' => "\x{F7E2}",
930         'Acircumflextilde' => "\x{1EAA}",
931         'Acute' => "\x{F6C9}",
932         'Acutesmall' => "\x{F7B4}",
933         'Acyrillic' => "\x{0410}",
934         'Adblgrave' => "\x{0200}",
935         'Adieresiscyrillic' => "\x{04D2}",
936         'Adieresismacron' => "\x{01DE}",
937         'Adieresissmall' => "\x{F7E4}",
938         'Adotbelow' => "\x{1EA0}",
939         'Adotmacron' => "\x{01E0}",
940         'Agravesmall' => "\x{F7E0}",
941         'Ahookabove' => "\x{1EA2}",
942         'Aiecyrillic' => "\x{04D4}",
943         'Ainvertedbreve' => "\x{0202}",
944         'Amonospace' => "\x{FF21}",
945         'Aringbelow' => "\x{1E00}",
946         'Aringsmall' => "\x{F7E5}",
947         'Asmall' => "\x{F761}",
948         'Atildesmall' => "\x{F7E3}",
949         'Aybarmenian' => "\x{0531}",
950         'Bcircle' => "\x{24B7}",
951         'Bdotaccent' => "\x{1E02}",
952         'Bdotbelow' => "\x{1E04}",
953         'Becyrillic' => "\x{0411}",
954         'Benarmenian' => "\x{0532}",
955         'Bhook' => "\x{0181}",
956         'Blinebelow' => "\x{1E06}",
957         'Bmonospace' => "\x{FF22}",
958         'Brevesmall' => "\x{F6F4}",
959         'Bsmall' => "\x{F762}",
960         'Btopbar' => "\x{0182}",
961         'Caarmenian' => "\x{053E}",
962         'Caron' => "\x{F6CA}",
963         'Caronsmall' => "\x{F6F5}",
964         'Ccedillaacute' => "\x{1E08}",
965         'Ccedillasmall' => "\x{F7E7}",
966         'Ccircle' => "\x{24B8}",
967         'Cdot' => "\x{010A}",
968         'Cedillasmall' => "\x{F7B8}",
969         'Chaarmenian' => "\x{0549}",
970         'Cheabkhasiancyrillic' => "\x{04BC}",
971         'Checyrillic' => "\x{0427}",
972         'Chedescenderabkhasiancyrillic' => "\x{04BE}",
973         'Chedescendercyrillic' => "\x{04B6}",
974         'Chedieresiscyrillic' => "\x{04F4}",
975         'Cheharmenian' => "\x{0543}",
976         'Chekhakassiancyrillic' => "\x{04CB}",
977         'Cheverticalstrokecyrillic' => "\x{04B8}",
978         'Chook' => "\x{0187}",
979         'Circumflexsmall' => "\x{F6F6}",
980         'Cmonospace' => "\x{FF23}",
981         'Coarmenian' => "\x{0551}",
982         'Csmall' => "\x{F763}",
983         'DZ' => "\x{01F1}",
984         'DZcaron' => "\x{01C4}",
985         'Daarmenian' => "\x{0534}",
986         'Dafrican' => "\x{0189}",
987         'Dcedilla' => "\x{1E10}",
988         'Dcircle' => "\x{24B9}",
989         'Dcircumflexbelow' => "\x{1E12}",
990         'Ddotaccent' => "\x{1E0A}",
991         'Ddotbelow' => "\x{1E0C}",
992         'Decyrillic' => "\x{0414}",
993         'Deicoptic' => "\x{03EE}",
994         'Deltagreek' => "\x{0394}",
995         'Dhook' => "\x{018A}",
996         'Dieresis' => "\x{F6CB}",
997         'DieresisAcute' => "\x{F6CC}",
998         'DieresisGrave' => "\x{F6CD}",
999         'Dieresissmall' => "\x{F7A8}",
1000         'Digammagreek' => "\x{03DC}",
1001         'Djecyrillic' => "\x{0402}",
1002         'Dlinebelow' => "\x{1E0E}",
1003         'Dmonospace' => "\x{FF24}",
1004         'Dotaccentsmall' => "\x{F6F7}",
1005         'Dslash' => "\x{0110}",
1006         'Dsmall' => "\x{F764}",
1007         'Dtopbar' => "\x{018B}",
1008         'Dz' => "\x{01F2}",
1009         'Dzcaron' => "\x{01C5}",
1010         'Dzeabkhasiancyrillic' => "\x{04E0}",
1011         'Dzecyrillic' => "\x{0405}",
1012         'Dzhecyrillic' => "\x{040F}",
1013         'Eacutesmall' => "\x{F7E9}",
1014         'Ecedillabreve' => "\x{1E1C}",
1015         'Echarmenian' => "\x{0535}",
1016         'Ecircle' => "\x{24BA}",
1017         'Ecircumflexacute' => "\x{1EBE}",
1018         'Ecircumflexbelow' => "\x{1E18}",
1019         'Ecircumflexdotbelow' => "\x{1EC6}",
1020         'Ecircumflexgrave' => "\x{1EC0}",
1021         'Ecircumflexhookabove' => "\x{1EC2}",
1022         'Ecircumflexsmall' => "\x{F7EA}",
1023         'Ecircumflextilde' => "\x{1EC4}",
1024         'Ecyrillic' => "\x{0404}",
1025         'Edblgrave' => "\x{0204}",
1026         'Edieresissmall' => "\x{F7EB}",
1027         'Edot' => "\x{0116}",
1028         'Edotbelow' => "\x{1EB8}",
1029         'Efcyrillic' => "\x{0424}",
1030         'Egravesmall' => "\x{F7E8}",
1031         'Eharmenian' => "\x{0537}",
1032         'Ehookabove' => "\x{1EBA}",
1033         'Eightroman' => "\x{2167}",
1034         'Einvertedbreve' => "\x{0206}",
1035         'Eiotifiedcyrillic' => "\x{0464}",
1036         'Elcyrillic' => "\x{041B}",
1037         'Elevenroman' => "\x{216A}",
1038         'Emacronacute' => "\x{1E16}",
1039         'Emacrongrave' => "\x{1E14}",
1040         'Emcyrillic' => "\x{041C}",
1041         'Emonospace' => "\x{FF25}",
1042         'Encyrillic' => "\x{041D}",
1043         'Endescendercyrillic' => "\x{04A2}",
1044         'Enghecyrillic' => "\x{04A4}",
1045         'Enhookcyrillic' => "\x{04C7}",
1046         'Eopen' => "\x{0190}",
1047         'Ercyrillic' => "\x{0420}",
1048         'Ereversed' => "\x{018E}",
1049         'Ereversedcyrillic' => "\x{042D}",
1050         'Escyrillic' => "\x{0421}",
1051         'Esdescendercyrillic' => "\x{04AA}",
1052         'Esh' => "\x{01A9}",
1053         'Esmall' => "\x{F765}",
1054         'Etarmenian' => "\x{0538}",
1055         'Ethsmall' => "\x{F7F0}",
1056         'Etilde' => "\x{1EBC}",
1057         'Etildebelow' => "\x{1E1A}",
1058         'Ezh' => "\x{01B7}",
1059         'Ezhcaron' => "\x{01EE}",
1060         'Ezhreversed' => "\x{01B8}",
1061         'Fcircle' => "\x{24BB}",
1062         'Fdotaccent' => "\x{1E1E}",
1063         'Feharmenian' => "\x{0556}",
1064         'Feicoptic' => "\x{03E4}",
1065         'Fhook' => "\x{0191}",
1066         'Fitacyrillic' => "\x{0472}",
1067         'Fiveroman' => "\x{2164}",
1068         'Fmonospace' => "\x{FF26}",
1069         'Fourroman' => "\x{2163}",
1070         'Fsmall' => "\x{F766}",
1071         'GBsquare' => "\x{3387}",
1072         'Gacute' => "\x{01F4}",
1073         'Gammaafrican' => "\x{0194}",
1074         'Gangiacoptic' => "\x{03EA}",
1075         'Gcedilla' => "\x{0122}",
1076         'Gcircle' => "\x{24BC}",
1077         'Gdot' => "\x{0120}",
1078         'Gecyrillic' => "\x{0413}",
1079         'Ghadarmenian' => "\x{0542}",
1080         'Ghemiddlehookcyrillic' => "\x{0494}",
1081         'Ghestrokecyrillic' => "\x{0492}",
1082         'Gheupturncyrillic' => "\x{0490}",
1083         'Ghook' => "\x{0193}",
1084         'Gimarmenian' => "\x{0533}",
1085         'Gjecyrillic' => "\x{0403}",
1086         'Gmacron' => "\x{1E20}",
1087         'Gmonospace' => "\x{FF27}",
1088         'Grave' => "\x{F6CE}",
1089         'Gravesmall' => "\x{F760}",
1090         'Gsmall' => "\x{F767}",
1091         'Gsmallhook' => "\x{029B}",
1092         'Gstroke' => "\x{01E4}",
1093         'HPsquare' => "\x{33CB}",
1094         'Haabkhasiancyrillic' => "\x{04A8}",
1095         'Hadescendercyrillic' => "\x{04B2}",
1096         'Hardsigncyrillic' => "\x{042A}",
1097         'Hbrevebelow' => "\x{1E2A}",
1098         'Hcedilla' => "\x{1E28}",
1099         'Hcircle' => "\x{24BD}",
1100         'Hdieresis' => "\x{1E26}",
1101         'Hdotaccent' => "\x{1E22}",
1102         'Hdotbelow' => "\x{1E24}",
1103         'Hmonospace' => "\x{FF28}",
1104         'Hoarmenian' => "\x{0540}",
1105         'Horicoptic' => "\x{03E8}",
1106         'Hsmall' => "\x{F768}",
1107         'Hungarumlaut' => "\x{F6CF}",
1108         'Hungarumlautsmall' => "\x{F6F8}",
1109         'Hzsquare' => "\x{3390}",
1110         'IAcyrillic' => "\x{042F}",
1111         'IUcyrillic' => "\x{042E}",
1112         'Iacutesmall' => "\x{F7ED}",
1113         'Icaron' => "\x{01CF}",
1114         'Icircle' => "\x{24BE}",
1115         'Icircumflexsmall' => "\x{F7EE}",
1116         'Icyrillic' => "\x{0406}",
1117         'Idblgrave' => "\x{0208}",
1118         'Idieresisacute' => "\x{1E2E}",
1119         'Idieresiscyrillic' => "\x{04E4}",
1120         'Idieresissmall' => "\x{F7EF}",
1121         'Idot' => "\x{0130}",
1122         'Idotbelow' => "\x{1ECA}",
1123         'Iebrevecyrillic' => "\x{04D6}",
1124         'Iecyrillic' => "\x{0415}",
1125         'Igravesmall' => "\x{F7EC}",
1126         'Ihookabove' => "\x{1EC8}",
1127         'Iicyrillic' => "\x{0418}",
1128         'Iinvertedbreve' => "\x{020A}",
1129         'Iishortcyrillic' => "\x{0419}",
1130         'Imacroncyrillic' => "\x{04E2}",
1131         'Imonospace' => "\x{FF29}",
1132         'Iniarmenian' => "\x{053B}",
1133         'Iocyrillic' => "\x{0401}",
1134         'Iotaafrican' => "\x{0196}",
1135         'Ismall' => "\x{F769}",
1136         'Istroke' => "\x{0197}",
1137         'Itildebelow' => "\x{1E2C}",
1138         'Izhitsacyrillic' => "\x{0474}",
1139         'Izhitsadblgravecyrillic' => "\x{0476}",
1140         'Jaarmenian' => "\x{0541}",
1141         'Jcircle' => "\x{24BF}",
1142         'Jecyrillic' => "\x{0408}",
1143         'Jheharmenian' => "\x{054B}",
1144         'Jmonospace' => "\x{FF2A}",
1145         'Jsmall' => "\x{F76A}",
1146         'KBsquare' => "\x{3385}",
1147         'KKsquare' => "\x{33CD}",
1148         'Kabashkircyrillic' => "\x{04A0}",
1149         'Kacute' => "\x{1E30}",
1150         'Kacyrillic' => "\x{041A}",
1151         'Kadescendercyrillic' => "\x{049A}",
1152         'Kahookcyrillic' => "\x{04C3}",
1153         'Kastrokecyrillic' => "\x{049E}",
1154         'Kaverticalstrokecyrillic' => "\x{049C}",
1155         'Kcaron' => "\x{01E8}",
1156         'Kcedilla' => "\x{0136}",
1157         'Kcircle' => "\x{24C0}",
1158         'Kdotbelow' => "\x{1E32}",
1159         'Keharmenian' => "\x{0554}",
1160         'Kenarmenian' => "\x{053F}",
1161         'Khacyrillic' => "\x{0425}",
1162         'Kheicoptic' => "\x{03E6}",
1163         'Khook' => "\x{0198}",
1164         'Kjecyrillic' => "\x{040C}",
1165         'Klinebelow' => "\x{1E34}",
1166         'Kmonospace' => "\x{FF2B}",
1167         'Koppacyrillic' => "\x{0480}",
1168         'Koppagreek' => "\x{03DE}",
1169         'Ksicyrillic' => "\x{046E}",
1170         'Ksmall' => "\x{F76B}",
1171         'LJ' => "\x{01C7}",
1172         'LL' => "\x{F6BF}",
1173         'Lcedilla' => "\x{013B}",
1174         'Lcircle' => "\x{24C1}",
1175         'Lcircumflexbelow' => "\x{1E3C}",
1176         'Ldotaccent' => "\x{013F}",
1177         'Ldotbelow' => "\x{1E36}",
1178         'Ldotbelowmacron' => "\x{1E38}",
1179         'Liwnarmenian' => "\x{053C}",
1180         'Lj' => "\x{01C8}",
1181         'Ljecyrillic' => "\x{0409}",
1182         'Llinebelow' => "\x{1E3A}",
1183         'Lmonospace' => "\x{FF2C}",
1184         'Lslashsmall' => "\x{F6F9}",
1185         'Lsmall' => "\x{F76C}",
1186         'MBsquare' => "\x{3386}",
1187         'Macron' => "\x{F6D0}",
1188         'Macronsmall' => "\x{F7AF}",
1189         'Macute' => "\x{1E3E}",
1190         'Mcircle' => "\x{24C2}",
1191         'Mdotaccent' => "\x{1E40}",
1192         'Mdotbelow' => "\x{1E42}",
1193         'Menarmenian' => "\x{0544}",
1194         'Mmonospace' => "\x{FF2D}",
1195         'Msmall' => "\x{F76D}",
1196         'Mturned' => "\x{019C}",
1197         'NJ' => "\x{01CA}",
1198         'Ncedilla' => "\x{0145}",
1199         'Ncircle' => "\x{24C3}",
1200         'Ncircumflexbelow' => "\x{1E4A}",
1201         'Ndotaccent' => "\x{1E44}",
1202         'Ndotbelow' => "\x{1E46}",
1203         'Nhookleft' => "\x{019D}",
1204         'Nineroman' => "\x{2168}",
1205         'Nj' => "\x{01CB}",
1206         'Njecyrillic' => "\x{040A}",
1207         'Nlinebelow' => "\x{1E48}",
1208         'Nmonospace' => "\x{FF2E}",
1209         'Nowarmenian' => "\x{0546}",
1210         'Nsmall' => "\x{F76E}",
1211         'Ntildesmall' => "\x{F7F1}",
1212         'OEsmall' => "\x{F6FA}",
1213         'Oacutesmall' => "\x{F7F3}",
1214         'Obarredcyrillic' => "\x{04E8}",
1215         'Obarreddieresiscyrillic' => "\x{04EA}",
1216         'Ocaron' => "\x{01D1}",
1217         'Ocenteredtilde' => "\x{019F}",
1218         'Ocircle' => "\x{24C4}",
1219         'Ocircumflexacute' => "\x{1ED0}",
1220         'Ocircumflexdotbelow' => "\x{1ED8}",
1221         'Ocircumflexgrave' => "\x{1ED2}",
1222         'Ocircumflexhookabove' => "\x{1ED4}",
1223         'Ocircumflexsmall' => "\x{F7F4}",
1224         'Ocircumflextilde' => "\x{1ED6}",
1225         'Ocyrillic' => "\x{041E}",
1226         'Odblacute' => "\x{0150}",
1227         'Odblgrave' => "\x{020C}",
1228         'Odieresiscyrillic' => "\x{04E6}",
1229         'Odieresissmall' => "\x{F7F6}",
1230         'Odotbelow' => "\x{1ECC}",
1231         'Ogoneksmall' => "\x{F6FB}",
1232         'Ogravesmall' => "\x{F7F2}",
1233         'Oharmenian' => "\x{0555}",
1234         'Ohm' => "\x{2126}",
1235         'Ohookabove' => "\x{1ECE}",
1236         'Ohornacute' => "\x{1EDA}",
1237         'Ohorndotbelow' => "\x{1EE2}",
1238         'Ohorngrave' => "\x{1EDC}",
1239         'Ohornhookabove' => "\x{1EDE}",
1240         'Ohorntilde' => "\x{1EE0}",
1241         'Oi' => "\x{01A2}",
1242         'Oinvertedbreve' => "\x{020E}",
1243         'Omacronacute' => "\x{1E52}",
1244         'Omacrongrave' => "\x{1E50}",
1245         'Omegacyrillic' => "\x{0460}",
1246         'Omegagreek' => "\x{03A9}",
1247         'Omegaroundcyrillic' => "\x{047A}",
1248         'Omegatitlocyrillic' => "\x{047C}",
1249         'Omonospace' => "\x{FF2F}",
1250         'Oneroman' => "\x{2160}",
1251         'Oogonek' => "\x{01EA}",
1252         'Oogonekmacron' => "\x{01EC}",
1253         'Oopen' => "\x{0186}",
1254         'Oslashsmall' => "\x{F7F8}",
1255         'Osmall' => "\x{F76F}",
1256         'Ostrokeacute' => "\x{01FE}",
1257         'Otcyrillic' => "\x{047E}",
1258         'Otildeacute' => "\x{1E4C}",
1259         'Otildedieresis' => "\x{1E4E}",
1260         'Otildesmall' => "\x{F7F5}",
1261         'Pacute' => "\x{1E54}",
1262         'Pcircle' => "\x{24C5}",
1263         'Pdotaccent' => "\x{1E56}",
1264         'Pecyrillic' => "\x{041F}",
1265         'Peharmenian' => "\x{054A}",
1266         'Pemiddlehookcyrillic' => "\x{04A6}",
1267         'Phook' => "\x{01A4}",
1268         'Piwrarmenian' => "\x{0553}",
1269         'Pmonospace' => "\x{FF30}",
1270         'Psicyrillic' => "\x{0470}",
1271         'Psmall' => "\x{F770}",
1272         'Qcircle' => "\x{24C6}",
1273         'Qmonospace' => "\x{FF31}",
1274         'Qsmall' => "\x{F771}",
1275         'Raarmenian' => "\x{054C}",
1276         'Rcedilla' => "\x{0156}",
1277         'Rcircle' => "\x{24C7}",
1278         'Rdblgrave' => "\x{0210}",
1279         'Rdotaccent' => "\x{1E58}",
1280         'Rdotbelow' => "\x{1E5A}",
1281         'Rdotbelowmacron' => "\x{1E5C}",
1282         'Reharmenian' => "\x{0550}",
1283         'Ringsmall' => "\x{F6FC}",
1284         'Rinvertedbreve' => "\x{0212}",
1285         'Rlinebelow' => "\x{1E5E}",
1286         'Rmonospace' => "\x{FF32}",
1287         'Rsmall' => "\x{F772}",
1288         'Rsmallinverted' => "\x{0281}",
1289         'Rsmallinvertedsuperior' => "\x{02B6}",
1290         'Sacutedotaccent' => "\x{1E64}",
1291         'Sampigreek' => "\x{03E0}",
1292         'Scarondotaccent' => "\x{1E66}",
1293         'Scaronsmall' => "\x{F6FD}",
1294         'Schwa' => "\x{018F}",
1295         'Schwacyrillic' => "\x{04D8}",
1296         'Schwadieresiscyrillic' => "\x{04DA}",
1297         'Scircle' => "\x{24C8}",
1298         'Sdotaccent' => "\x{1E60}",
1299         'Sdotbelow' => "\x{1E62}",
1300         'Sdotbelowdotaccent' => "\x{1E68}",
1301         'Seharmenian' => "\x{054D}",
1302         'Sevenroman' => "\x{2166}",
1303         'Shaarmenian' => "\x{0547}",
1304         'Shacyrillic' => "\x{0428}",
1305         'Shchacyrillic' => "\x{0429}",
1306         'Sheicoptic' => "\x{03E2}",
1307         'Shhacyrillic' => "\x{04BA}",
1308         'Shimacoptic' => "\x{03EC}",
1309         'Sixroman' => "\x{2165}",
1310         'Smonospace' => "\x{FF33}",
1311         'Softsigncyrillic' => "\x{042C}",
1312         'Ssmall' => "\x{F773}",
1313         'Stigmagreek' => "\x{03DA}",
1314         'Tcedilla' => "\x{0162}",
1315         'Tcircle' => "\x{24C9}",
1316         'Tcircumflexbelow' => "\x{1E70}",
1317         'Tdotaccent' => "\x{1E6A}",
1318         'Tdotbelow' => "\x{1E6C}",
1319         'Tecyrillic' => "\x{0422}",
1320         'Tedescendercyrillic' => "\x{04AC}",
1321         'Tenroman' => "\x{2169}",
1322         'Tetsecyrillic' => "\x{04B4}",
1323         'Thook' => "\x{01AC}",
1324         'Thornsmall' => "\x{F7FE}",
1325         'Threeroman' => "\x{2162}",
1326         'Tildesmall' => "\x{F6FE}",
1327         'Tiwnarmenian' => "\x{054F}",
1328         'Tlinebelow' => "\x{1E6E}",
1329         'Tmonospace' => "\x{FF34}",
1330         'Toarmenian' => "\x{0539}",
1331         'Tonefive' => "\x{01BC}",
1332         'Tonesix' => "\x{0184}",
1333         'Tonetwo' => "\x{01A7}",
1334         'Tretroflexhook' => "\x{01AE}",
1335         'Tsecyrillic' => "\x{0426}",
1336         'Tshecyrillic' => "\x{040B}",
1337         'Tsmall' => "\x{F774}",
1338         'Twelveroman' => "\x{216B}",
1339         'Tworoman' => "\x{2161}",
1340         'Uacutesmall' => "\x{F7FA}",
1341         'Ucaron' => "\x{01D3}",
1342         'Ucircle' => "\x{24CA}",
1343         'Ucircumflexbelow' => "\x{1E76}",
1344         'Ucircumflexsmall' => "\x{F7FB}",
1345         'Ucyrillic' => "\x{0423}",
1346         'Udblacute' => "\x{0170}",
1347         'Udblgrave' => "\x{0214}",
1348         'Udieresisacute' => "\x{01D7}",
1349         'Udieresisbelow' => "\x{1E72}",
1350         'Udieresiscaron' => "\x{01D9}",
1351         'Udieresiscyrillic' => "\x{04F0}",
1352         'Udieresisgrave' => "\x{01DB}",
1353         'Udieresismacron' => "\x{01D5}",
1354         'Udieresissmall' => "\x{F7FC}",
1355         'Udotbelow' => "\x{1EE4}",
1356         'Ugravesmall' => "\x{F7F9}",
1357         'Uhookabove' => "\x{1EE6}",
1358         'Uhornacute' => "\x{1EE8}",
1359         'Uhorndotbelow' => "\x{1EF0}",
1360         'Uhorngrave' => "\x{1EEA}",
1361         'Uhornhookabove' => "\x{1EEC}",
1362         'Uhorntilde' => "\x{1EEE}",
1363         'Uhungarumlautcyrillic' => "\x{04F2}",
1364         'Uinvertedbreve' => "\x{0216}",
1365         'Ukcyrillic' => "\x{0478}",
1366         'Umacroncyrillic' => "\x{04EE}",
1367         'Umacrondieresis' => "\x{1E7A}",
1368         'Umonospace' => "\x{FF35}",
1369         'Upsilonacutehooksymbolgreek' => "\x{03D3}",
1370         'Upsilonafrican' => "\x{01B1}",
1371         'Upsilondieresishooksymbolgreek' => "\x{03D4}",
1372         'Upsilonhooksymbol' => "\x{03D2}",
1373         'Ushortcyrillic' => "\x{040E}",
1374         'Usmall' => "\x{F775}",
1375         'Ustraightcyrillic' => "\x{04AE}",
1376         'Ustraightstrokecyrillic' => "\x{04B0}",
1377         'Utildeacute' => "\x{1E78}",
1378         'Utildebelow' => "\x{1E74}",
1379         'Vcircle' => "\x{24CB}",
1380         'Vdotbelow' => "\x{1E7E}",
1381         'Vecyrillic' => "\x{0412}",
1382         'Vewarmenian' => "\x{054E}",
1383         'Vhook' => "\x{01B2}",
1384         'Vmonospace' => "\x{FF36}",
1385         'Voarmenian' => "\x{0548}",
1386         'Vsmall' => "\x{F776}",
1387         'Vtilde' => "\x{1E7C}",
1388         'Wcircle' => "\x{24CC}",
1389         'Wdotaccent' => "\x{1E86}",
1390         'Wdotbelow' => "\x{1E88}",
1391         'Wmonospace' => "\x{FF37}",
1392         'Wsmall' => "\x{F777}",
1393         'Xcircle' => "\x{24CD}",
1394         'Xdieresis' => "\x{1E8C}",
1395         'Xdotaccent' => "\x{1E8A}",
1396         'Xeharmenian' => "\x{053D}",
1397         'Xmonospace' => "\x{FF38}",
1398         'Xsmall' => "\x{F778}",
1399         'Yacutesmall' => "\x{F7FD}",
1400         'Yatcyrillic' => "\x{0462}",
1401         'Ycircle' => "\x{24CE}",
1402         'Ydieresissmall' => "\x{F7FF}",
1403         'Ydotaccent' => "\x{1E8E}",
1404         'Ydotbelow' => "\x{1EF4}",
1405         'Yericyrillic' => "\x{042B}",
1406         'Yerudieresiscyrillic' => "\x{04F8}",
1407         'Yhook' => "\x{01B3}",
1408         'Yhookabove' => "\x{1EF6}",
1409         'Yiarmenian' => "\x{0545}",
1410         'Yicyrillic' => "\x{0407}",
1411         'Yiwnarmenian' => "\x{0552}",
1412         'Ymonospace' => "\x{FF39}",
1413         'Ysmall' => "\x{F779}",
1414         'Ytilde' => "\x{1EF8}",
1415         'Yusbigcyrillic' => "\x{046A}",
1416         'Yusbigiotifiedcyrillic' => "\x{046C}",
1417         'Yuslittlecyrillic' => "\x{0466}",
1418         'Yuslittleiotifiedcyrillic' => "\x{0468}",
1419         'Zaarmenian' => "\x{0536}",
1420         'Zcaronsmall' => "\x{F6FF}",
1421         'Zcircle' => "\x{24CF}",
1422         'Zcircumflex' => "\x{1E90}",
1423         'Zdot' => "\x{017B}",
1424         'Zdotbelow' => "\x{1E92}",
1425         'Zecyrillic' => "\x{0417}",
1426         'Zedescendercyrillic' => "\x{0498}",
1427         'Zedieresiscyrillic' => "\x{04DE}",
1428         'Zhearmenian' => "\x{053A}",
1429         'Zhebrevecyrillic' => "\x{04C1}",
1430         'Zhecyrillic' => "\x{0416}",
1431         'Zhedescendercyrillic' => "\x{0496}",
1432         'Zhedieresiscyrillic' => "\x{04DC}",
1433         'Zlinebelow' => "\x{1E94}",
1434         'Zmonospace' => "\x{FF3A}",
1435         'Zsmall' => "\x{F77A}",
1436         'Zstroke' => "\x{01B5}",
1437         'aabengali' => "\x{0986}",
1438         'aadeva' => "\x{0906}",
1439         'aagujarati' => "\x{0A86}",
1440         'aagurmukhi' => "\x{0A06}",
1441         'aamatragurmukhi' => "\x{0A3E}",
1442         'aarusquare' => "\x{3303}",
1443         'aavowelsignbengali' => "\x{09BE}",
1444         'aavowelsigndeva' => "\x{093E}",
1445         'aavowelsigngujarati' => "\x{0ABE}",
1446         'abbreviationmarkarmenian' => "\x{055F}",
1447         'abbreviationsigndeva' => "\x{0970}",
1448         'abengali' => "\x{0985}",
1449         'abopomofo' => "\x{311A}",
1450         'abreveacute' => "\x{1EAF}",
1451         'abrevecyrillic' => "\x{04D1}",
1452         'abrevedotbelow' => "\x{1EB7}",
1453         'abrevegrave' => "\x{1EB1}",
1454         'abrevehookabove' => "\x{1EB3}",
1455         'abrevetilde' => "\x{1EB5}",
1456         'acaron' => "\x{01CE}",
1457         'acircle' => "\x{24D0}",
1458         'acircumflexacute' => "\x{1EA5}",
1459         'acircumflexdotbelow' => "\x{1EAD}",
1460         'acircumflexgrave' => "\x{1EA7}",
1461         'acircumflexhookabove' => "\x{1EA9}",
1462         'acircumflextilde' => "\x{1EAB}",
1463         'acutebelowcmb' => "\x{0317}",
1464         'acutecmb' => "\x{0301}",
1465         'acutedeva' => "\x{0954}",
1466         'acutelowmod' => "\x{02CF}",
1467         'acutetonecmb' => "\x{0341}",
1468         'acyrillic' => "\x{0430}",
1469         'adblgrave' => "\x{0201}",
1470         'addakgurmukhi' => "\x{0A71}",
1471         'adeva' => "\x{0905}",
1472         'adieresiscyrillic' => "\x{04D3}",
1473         'adieresismacron' => "\x{01DF}",
1474         'adotbelow' => "\x{1EA1}",
1475         'adotmacron' => "\x{01E1}",
1476         'aekorean' => "\x{3150}",
1477         'aemacron' => "\x{01E3}",
1478         'afii08941' => "\x{20A4}",
1479         'afii10063' => "\x{F6C4}",
1480         'afii10064' => "\x{F6C5}",
1481         'afii10192' => "\x{F6C6}",
1482         'afii10831' => "\x{F6C7}",
1483         'afii10832' => "\x{F6C8}",
1484         'agujarati' => "\x{0A85}",
1485         'agurmukhi' => "\x{0A05}",
1486         'ahiragana' => "\x{3042}",
1487         'ahookabove' => "\x{1EA3}",
1488         'aibengali' => "\x{0990}",
1489         'aibopomofo' => "\x{311E}",
1490         'aideva' => "\x{0910}",
1491         'aiecyrillic' => "\x{04D5}",
1492         'aigujarati' => "\x{0A90}",
1493         'aigurmukhi' => "\x{0A10}",
1494         'aimatragurmukhi' => "\x{0A48}",
1495         'ainarabic' => "\x{0639}",
1496         'ainfinalarabic' => "\x{FECA}",
1497         'aininitialarabic' => "\x{FECB}",
1498         'ainmedialarabic' => "\x{FECC}",
1499         'ainvertedbreve' => "\x{0203}",
1500         'aivowelsignbengali' => "\x{09C8}",
1501         'aivowelsigndeva' => "\x{0948}",
1502         'aivowelsigngujarati' => "\x{0AC8}",
1503         'akatakana' => "\x{30A2}",
1504         'akatakanahalfwidth' => "\x{FF71}",
1505         'akorean' => "\x{314F}",
1506         'alef' => "\x{05D0}",
1507         'alefarabic' => "\x{0627}",
1508         'alefdageshhebrew' => "\x{FB30}",
1509         'aleffinalarabic' => "\x{FE8E}",
1510         'alefhamzaabovearabic' => "\x{0623}",
1511         'alefhamzaabovefinalarabic' => "\x{FE84}",
1512         'alefhamzabelowarabic' => "\x{0625}",
1513         'alefhamzabelowfinalarabic' => "\x{FE88}",
1514         'alefhebrew' => "\x{05D0}",
1515         'aleflamedhebrew' => "\x{FB4F}",
1516         'alefmaddaabovearabic' => "\x{0622}",
1517         'alefmaddaabovefinalarabic' => "\x{FE82}",
1518         'alefmaksuraarabic' => "\x{0649}",
1519         'alefmaksurafinalarabic' => "\x{FEF0}",
1520         'alefmaksurainitialarabic' => "\x{FEF3}",
1521         'alefmaksuramedialarabic' => "\x{FEF4}",
1522         'alefpatahhebrew' => "\x{FB2E}",
1523         'alefqamatshebrew' => "\x{FB2F}",
1524         'allequal' => "\x{224C}",
1525         'amonospace' => "\x{FF41}",
1526         'ampersandmonospace' => "\x{FF06}",
1527         'ampersandsmall' => "\x{F726}",
1528         'amsquare' => "\x{33C2}",
1529         'anbopomofo' => "\x{3122}",
1530         'angbopomofo' => "\x{3124}",
1531         'angkhankhuthai' => "\x{0E5A}",
1532         'anglebracketleft' => "\x{3008}",
1533         'anglebracketleftvertical' => "\x{FE3F}",
1534         'anglebracketright' => "\x{3009}",
1535         'anglebracketrightvertical' => "\x{FE40}",
1536         'angstrom' => "\x{212B}",
1537         'anudattadeva' => "\x{0952}",
1538         'anusvarabengali' => "\x{0982}",
1539         'anusvaradeva' => "\x{0902}",
1540         'anusvaragujarati' => "\x{0A82}",
1541         'apaatosquare' => "\x{3300}",
1542         'aparen' => "\x{249C}",
1543         'apostrophearmenian' => "\x{055A}",
1544         'apostrophemod' => "\x{02BC}",
1545         'apple' => "\x{F8FF}",
1546         'approaches' => "\x{2250}",
1547         'approxequalorimage' => "\x{2252}",
1548         'approximatelyequal' => "\x{2245}",
1549         'araeaekorean' => "\x{318E}",
1550         'araeakorean' => "\x{318D}",
1551         'arc' => "\x{2312}",
1552         'arighthalfring' => "\x{1E9A}",
1553         'aringbelow' => "\x{1E01}",
1554         'arrowdashdown' => "\x{21E3}",
1555         'arrowdashleft' => "\x{21E0}",
1556         'arrowdashright' => "\x{21E2}",
1557         'arrowdashup' => "\x{21E1}",
1558         'arrowdownleft' => "\x{2199}",
1559         'arrowdownright' => "\x{2198}",
1560         'arrowdownwhite' => "\x{21E9}",
1561         'arrowheaddownmod' => "\x{02C5}",
1562         'arrowheadleftmod' => "\x{02C2}",
1563         'arrowheadrightmod' => "\x{02C3}",
1564         'arrowheadupmod' => "\x{02C4}",
1565         'arrowhorizex' => "\x{F8E7}",
1566         'arrowleftdbl' => "\x{21D0}",
1567         'arrowleftdblstroke' => "\x{21CD}",
1568         'arrowleftoverright' => "\x{21C6}",
1569         'arrowleftwhite' => "\x{21E6}",
1570         'arrowrightdblstroke' => "\x{21CF}",
1571         'arrowrightheavy' => "\x{279E}",
1572         'arrowrightoverleft' => "\x{21C4}",
1573         'arrowrightwhite' => "\x{21E8}",
1574         'arrowtableft' => "\x{21E4}",
1575         'arrowtabright' => "\x{21E5}",
1576         'arrowupdownbase' => "\x{21A8}",
1577         'arrowupleft' => "\x{2196}",
1578         'arrowupleftofdown' => "\x{21C5}",
1579         'arrowupright' => "\x{2197}",
1580         'arrowupwhite' => "\x{21E7}",
1581         'arrowvertex' => "\x{F8E6}",
1582         'asciicircummonospace' => "\x{FF3E}",
1583         'asciitildemonospace' => "\x{FF5E}",
1584         'ascript' => "\x{0251}",
1585         'ascriptturned' => "\x{0252}",
1586         'asmallhiragana' => "\x{3041}",
1587         'asmallkatakana' => "\x{30A1}",
1588         'asmallkatakanahalfwidth' => "\x{FF67}",
1589         'asteriskaltonearabic' => "\x{066D}",
1590         'asteriskarabic' => "\x{066D}",
1591         'asteriskmonospace' => "\x{FF0A}",
1592         'asterisksmall' => "\x{FE61}",
1593         'asterism' => "\x{2042}",
1594         'asuperior' => "\x{F6E9}",
1595         'asymptoticallyequal' => "\x{2243}",
1596         'atmonospace' => "\x{FF20}",
1597         'atsmall' => "\x{FE6B}",
1598         'aturned' => "\x{0250}",
1599         'aubengali' => "\x{0994}",
1600         'aubopomofo' => "\x{3120}",
1601         'audeva' => "\x{0914}",
1602         'augujarati' => "\x{0A94}",
1603         'augurmukhi' => "\x{0A14}",
1604         'aulengthmarkbengali' => "\x{09D7}",
1605         'aumatragurmukhi' => "\x{0A4C}",
1606         'auvowelsignbengali' => "\x{09CC}",
1607         'auvowelsigndeva' => "\x{094C}",
1608         'auvowelsigngujarati' => "\x{0ACC}",
1609         'avagrahadeva' => "\x{093D}",
1610         'aybarmenian' => "\x{0561}",
1611         'ayin' => "\x{05E2}",
1612         'ayinaltonehebrew' => "\x{FB20}",
1613         'ayinhebrew' => "\x{05E2}",
1614         'babengali' => "\x{09AC}",
1615         'backslashmonospace' => "\x{FF3C}",
1616         'badeva' => "\x{092C}",
1617         'bagujarati' => "\x{0AAC}",
1618         'bagurmukhi' => "\x{0A2C}",
1619         'bahiragana' => "\x{3070}",
1620         'bahtthai' => "\x{0E3F}",
1621         'bakatakana' => "\x{30D0}",
1622         'barmonospace' => "\x{FF5C}",
1623         'bbopomofo' => "\x{3105}",
1624         'bcircle' => "\x{24D1}",
1625         'bdotaccent' => "\x{1E03}",
1626         'bdotbelow' => "\x{1E05}",
1627         'beamedsixteenthnotes' => "\x{266C}",
1628         'because' => "\x{2235}",
1629         'becyrillic' => "\x{0431}",
1630         'beharabic' => "\x{0628}",
1631         'behfinalarabic' => "\x{FE90}",
1632         'behinitialarabic' => "\x{FE91}",
1633         'behiragana' => "\x{3079}",
1634         'behmedialarabic' => "\x{FE92}",
1635         'behmeeminitialarabic' => "\x{FC9F}",
1636         'behmeemisolatedarabic' => "\x{FC08}",
1637         'behnoonfinalarabic' => "\x{FC6D}",
1638         'bekatakana' => "\x{30D9}",
1639         'benarmenian' => "\x{0562}",
1640         'bet' => "\x{05D1}",
1641         'betasymbolgreek' => "\x{03D0}",
1642         'betdagesh' => "\x{FB31}",
1643         'betdageshhebrew' => "\x{FB31}",
1644         'bethebrew' => "\x{05D1}",
1645         'betrafehebrew' => "\x{FB4C}",
1646         'bhabengali' => "\x{09AD}",
1647         'bhadeva' => "\x{092D}",
1648         'bhagujarati' => "\x{0AAD}",
1649         'bhagurmukhi' => "\x{0A2D}",
1650         'bhook' => "\x{0253}",
1651         'bihiragana' => "\x{3073}",
1652         'bikatakana' => "\x{30D3}",
1653         'bilabialclick' => "\x{0298}",
1654         'bindigurmukhi' => "\x{0A02}",
1655         'birusquare' => "\x{3331}",
1656         'blackcircle' => "\x{25CF}",
1657         'blackdiamond' => "\x{25C6}",
1658         'blackdownpointingtriangle' => "\x{25BC}",
1659         'blackleftpointingpointer' => "\x{25C4}",
1660         'blackleftpointingtriangle' => "\x{25C0}",
1661         'blacklenticularbracketleft' => "\x{3010}",
1662         'blacklenticularbracketleftvertical' => "\x{FE3B}",
1663         'blacklenticularbracketright' => "\x{3011}",
1664         'blacklenticularbracketrightvertical' => "\x{FE3C}",
1665         'blacklowerlefttriangle' => "\x{25E3}",
1666         'blacklowerrighttriangle' => "\x{25E2}",
1667         'blackrectangle' => "\x{25AC}",
1668         'blackrightpointingpointer' => "\x{25BA}",
1669         'blackrightpointingtriangle' => "\x{25B6}",
1670         'blacksmallsquare' => "\x{25AA}",
1671         'blacksmilingface' => "\x{263B}",
1672         'blacksquare' => "\x{25A0}",
1673         'blackstar' => "\x{2605}",
1674         'blackupperlefttriangle' => "\x{25E4}",
1675         'blackupperrighttriangle' => "\x{25E5}",
1676         'blackuppointingsmalltriangle' => "\x{25B4}",
1677         'blackuppointingtriangle' => "\x{25B2}",
1678         'blank' => "\x{2423}",
1679         'blinebelow' => "\x{1E07}",
1680         'bmonospace' => "\x{FF42}",
1681         'bobaimaithai' => "\x{0E1A}",
1682         'bohiragana' => "\x{307C}",
1683         'bokatakana' => "\x{30DC}",
1684         'bparen' => "\x{249D}",
1685         'bqsquare' => "\x{33C3}",
1686         'braceex' => "\x{F8F4}",
1687         'braceleftbt' => "\x{F8F3}",
1688         'braceleftmid' => "\x{F8F2}",
1689         'braceleftmonospace' => "\x{FF5B}",
1690         'braceleftsmall' => "\x{FE5B}",
1691         'bracelefttp' => "\x{F8F1}",
1692         'braceleftvertical' => "\x{FE37}",
1693         'bracerightbt' => "\x{F8FE}",
1694         'bracerightmid' => "\x{F8FD}",
1695         'bracerightmonospace' => "\x{FF5D}",
1696         'bracerightsmall' => "\x{FE5C}",
1697         'bracerighttp' => "\x{F8FC}",
1698         'bracerightvertical' => "\x{FE38}",
1699         'bracketleftbt' => "\x{F8F0}",
1700         'bracketleftex' => "\x{F8EF}",
1701         'bracketleftmonospace' => "\x{FF3B}",
1702         'bracketlefttp' => "\x{F8EE}",
1703         'bracketrightbt' => "\x{F8FB}",
1704         'bracketrightex' => "\x{F8FA}",
1705         'bracketrightmonospace' => "\x{FF3D}",
1706         'bracketrighttp' => "\x{F8F9}",
1707         'brevebelowcmb' => "\x{032E}",
1708         'brevecmb' => "\x{0306}",
1709         'breveinvertedbelowcmb' => "\x{032F}",
1710         'breveinvertedcmb' => "\x{0311}",
1711         'breveinverteddoublecmb' => "\x{0361}",
1712         'bridgebelowcmb' => "\x{032A}",
1713         'bridgeinvertedbelowcmb' => "\x{033A}",
1714         'bstroke' => "\x{0180}",
1715         'bsuperior' => "\x{F6EA}",
1716         'btopbar' => "\x{0183}",
1717         'buhiragana' => "\x{3076}",
1718         'bukatakana' => "\x{30D6}",
1719         'bulletinverse' => "\x{25D8}",
1720         'bulletoperator' => "\x{2219}",
1721         'bullseye' => "\x{25CE}",
1722         'caarmenian' => "\x{056E}",
1723         'cabengali' => "\x{099A}",
1724         'cadeva' => "\x{091A}",
1725         'cagujarati' => "\x{0A9A}",
1726         'cagurmukhi' => "\x{0A1A}",
1727         'calsquare' => "\x{3388}",
1728         'candrabindubengali' => "\x{0981}",
1729         'candrabinducmb' => "\x{0310}",
1730         'candrabindudeva' => "\x{0901}",
1731         'candrabindugujarati' => "\x{0A81}",
1732         'capslock' => "\x{21EA}",
1733         'careof' => "\x{2105}",
1734         'caronbelowcmb' => "\x{032C}",
1735         'caroncmb' => "\x{030C}",
1736         'cbopomofo' => "\x{3118}",
1737         'ccedillaacute' => "\x{1E09}",
1738         'ccircle' => "\x{24D2}",
1739         'ccurl' => "\x{0255}",
1740         'cdot' => "\x{010B}",
1741         'cdsquare' => "\x{33C5}",
1742         'cedillacmb' => "\x{0327}",
1743         'centigrade' => "\x{2103}",
1744         'centinferior' => "\x{F6DF}",
1745         'centmonospace' => "\x{FFE0}",
1746         'centoldstyle' => "\x{F7A2}",
1747         'centsuperior' => "\x{F6E0}",
1748         'chaarmenian' => "\x{0579}",
1749         'chabengali' => "\x{099B}",
1750         'chadeva' => "\x{091B}",
1751         'chagujarati' => "\x{0A9B}",
1752         'chagurmukhi' => "\x{0A1B}",
1753         'chbopomofo' => "\x{3114}",
1754         'cheabkhasiancyrillic' => "\x{04BD}",
1755         'checkmark' => "\x{2713}",
1756         'checyrillic' => "\x{0447}",
1757         'chedescenderabkhasiancyrillic' => "\x{04BF}",
1758         'chedescendercyrillic' => "\x{04B7}",
1759         'chedieresiscyrillic' => "\x{04F5}",
1760         'cheharmenian' => "\x{0573}",
1761         'chekhakassiancyrillic' => "\x{04CC}",
1762         'cheverticalstrokecyrillic' => "\x{04B9}",
1763         'chieuchacirclekorean' => "\x{3277}",
1764         'chieuchaparenkorean' => "\x{3217}",
1765         'chieuchcirclekorean' => "\x{3269}",
1766         'chieuchkorean' => "\x{314A}",
1767         'chieuchparenkorean' => "\x{3209}",
1768         'chochangthai' => "\x{0E0A}",
1769         'chochanthai' => "\x{0E08}",
1770         'chochingthai' => "\x{0E09}",
1771         'chochoethai' => "\x{0E0C}",
1772         'chook' => "\x{0188}",
1773         'cieucacirclekorean' => "\x{3276}",
1774         'cieucaparenkorean' => "\x{3216}",
1775         'cieuccirclekorean' => "\x{3268}",
1776         'cieuckorean' => "\x{3148}",
1777         'cieucparenkorean' => "\x{3208}",
1778         'cieucuparenkorean' => "\x{321C}",
1779         'circleot' => "\x{2299}",           # Actual Adobe glyph list entry -- identified as typo, May 2008
1780         'circledot' => "\x{2299}",          # What it should have been
1781         'circlepostalmark' => "\x{3036}",
1782         'circlewithlefthalfblack' => "\x{25D0}",
1783         'circlewithrighthalfblack' => "\x{25D1}",
1784         'circumflexbelowcmb' => "\x{032D}",
1785         'circumflexcmb' => "\x{0302}",
1786         'clear' => "\x{2327}",
1787         'clickalveolar' => "\x{01C2}",
1788         'clickdental' => "\x{01C0}",
1789         'clicklateral' => "\x{01C1}",
1790         'clickretroflex' => "\x{01C3}",
1791         'clubsuitblack' => "\x{2663}",
1792         'clubsuitwhite' => "\x{2667}",
1793         'cmcubedsquare' => "\x{33A4}",
1794         'cmonospace' => "\x{FF43}",
1795         'cmsquaredsquare' => "\x{33A0}",
1796         'coarmenian' => "\x{0581}",
1797         'colonmonospace' => "\x{FF1A}",
1798         'colonsign' => "\x{20A1}",
1799         'colonsmall' => "\x{FE55}",
1800         'colontriangularhalfmod' => "\x{02D1}",
1801         'colontriangularmod' => "\x{02D0}",
1802         'commaabovecmb' => "\x{0313}",
1803         'commaaboverightcmb' => "\x{0315}",
1804         'commaaccent' => "\x{F6C3}",
1805         'commaarabic' => "\x{060C}",
1806         'commaarmenian' => "\x{055D}",
1807         'commainferior' => "\x{F6E1}",
1808         'commamonospace' => "\x{FF0C}",
1809         'commareversedabovecmb' => "\x{0314}",
1810         'commareversedmod' => "\x{02BD}",
1811         'commasmall' => "\x{FE50}",
1812         'commasuperior' => "\x{F6E2}",
1813         'commaturnedabovecmb' => "\x{0312}",
1814         'commaturnedmod' => "\x{02BB}",
1815         'compass' => "\x{263C}",
1816         'contourintegral' => "\x{222E}",
1817         'control' => "\x{2303}",
1818         'controlACK' => "\x{0006}",
1819         'controlBEL' => "\x{0007}",
1820         'controlBS' => "\x{0008}",
1821         'controlCAN' => "\x{0018}",
1822         'controlCR' => "\x{000D}",
1823         'controlDC1' => "\x{0011}",
1824         'controlDC2' => "\x{0012}",
1825         'controlDC3' => "\x{0013}",
1826         'controlDC4' => "\x{0014}",
1827         'controlDEL' => "\x{007F}",
1828         'controlDLE' => "\x{0010}",
1829         'controlEM' => "\x{0019}",
1830         'controlENQ' => "\x{0005}",
1831         'controlEOT' => "\x{0004}",
1832         'controlESC' => "\x{001B}",
1833         'controlETB' => "\x{0017}",
1834         'controlETX' => "\x{0003}",
1835         'controlFF' => "\x{000C}",
1836         'controlFS' => "\x{001C}",
1837         'controlGS' => "\x{001D}",
1838         'controlHT' => "\x{0009}",
1839         'controlLF' => "\x{000A}",
1840         'controlNAK' => "\x{0015}",
1841         'controlRS' => "\x{001E}",
1842         'controlSI' => "\x{000F}",
1843         'controlSO' => "\x{000E}",
1844         'controlSOT' => "\x{0002}",
1845         'controlSTX' => "\x{0001}",
1846         'controlSUB' => "\x{001A}",
1847         'controlSYN' => "\x{0016}",
1848         'controlUS' => "\x{001F}",
1849         'controlVT' => "\x{000B}",
1850         'copyrightsans' => "\x{F8E9}",
1851         'copyrightserif' => "\x{F6D9}",
1852         'cornerbracketleft' => "\x{300C}",
1853         'cornerbracketlefthalfwidth' => "\x{FF62}",
1854         'cornerbracketleftvertical' => "\x{FE41}",
1855         'cornerbracketright' => "\x{300D}",
1856         'cornerbracketrighthalfwidth' => "\x{FF63}",
1857         'cornerbracketrightvertical' => "\x{FE42}",
1858         'corporationsquare' => "\x{337F}",
1859         'cosquare' => "\x{33C7}",
1860         'coverkgsquare' => "\x{33C6}",
1861         'cparen' => "\x{249E}",
1862         'cruzeiro' => "\x{20A2}",
1863         'cstretched' => "\x{0297}",
1864         'curlyand' => "\x{22CF}",
1865         'curlyor' => "\x{22CE}",
1866         'cyrBreve' => "\x{F6D1}",
1867         'cyrFlex' => "\x{F6D2}",
1868         'cyrbreve' => "\x{F6D4}",
1869         'cyrflex' => "\x{F6D5}",
1870         'daarmenian' => "\x{0564}",
1871         'dabengali' => "\x{09A6}",
1872         'dadarabic' => "\x{0636}",
1873         'dadeva' => "\x{0926}",
1874         'dadfinalarabic' => "\x{FEBE}",
1875         'dadinitialarabic' => "\x{FEBF}",
1876         'dadmedialarabic' => "\x{FEC0}",
1877         'dagesh' => "\x{05BC}",
1878         'dageshhebrew' => "\x{05BC}",
1879         'dagujarati' => "\x{0AA6}",
1880         'dagurmukhi' => "\x{0A26}",
1881         'dahiragana' => "\x{3060}",
1882         'dakatakana' => "\x{30C0}",
1883         'dalarabic' => "\x{062F}",
1884         'dalet' => "\x{05D3}",
1885         'daletdagesh' => "\x{FB33}",
1886         'daletdageshhebrew' => "\x{FB33}",
1887         'dalethatafpatah' => "\x{05D3}\x{05B2}",
1888         'dalethatafpatahhebrew' => "\x{05D3}\x{05B2}",
1889         'dalethatafsegol' => "\x{05D3}\x{05B1}",
1890         'dalethatafsegolhebrew' => "\x{05D3}\x{05B1}",
1891         'dalethebrew' => "\x{05D3}",
1892         'dalethiriq' => "\x{05D3}\x{05B4}",
1893         'dalethiriqhebrew' => "\x{05D3}\x{05B4}",
1894         'daletholam' => "\x{05D3}\x{05B9}",
1895         'daletholamhebrew' => "\x{05D3}\x{05B9}",
1896         'daletpatah' => "\x{05D3}\x{05B7}",
1897         'daletpatahhebrew' => "\x{05D3}\x{05B7}",
1898         'daletqamats' => "\x{05D3}\x{05B8}",
1899         'daletqamatshebrew' => "\x{05D3}\x{05B8}",
1900         'daletqubuts' => "\x{05D3}\x{05BB}",
1901         'daletqubutshebrew' => "\x{05D3}\x{05BB}",
1902         'daletsegol' => "\x{05D3}\x{05B6}",
1903         'daletsegolhebrew' => "\x{05D3}\x{05B6}",
1904         'daletsheva' => "\x{05D3}\x{05B0}",
1905         'daletshevahebrew' => "\x{05D3}\x{05B0}",
1906         'dalettsere' => "\x{05D3}\x{05B5}",
1907         'dalettserehebrew' => "\x{05D3}\x{05B5}",
1908         'dalfinalarabic' => "\x{FEAA}",
1909         'dammaarabic' => "\x{064F}",
1910         'dammalowarabic' => "\x{064F}",
1911         'dammatanaltonearabic' => "\x{064C}",
1912         'dammatanarabic' => "\x{064C}",
1913         'danda' => "\x{0964}",
1914         'dargahebrew' => "\x{05A7}",
1915         'dargalefthebrew' => "\x{05A7}",
1916         'dasiapneumatacyrilliccmb' => "\x{0485}",
1917         'dblGrave' => "\x{F6D3}",
1918         'dblanglebracketleft' => "\x{300A}",
1919         'dblanglebracketleftvertical' => "\x{FE3D}",
1920         'dblanglebracketright' => "\x{300B}",
1921         'dblanglebracketrightvertical' => "\x{FE3E}",
1922         'dblarchinvertedbelowcmb' => "\x{032B}",
1923         'dblarrowleft' => "\x{21D4}",
1924         'dblarrowright' => "\x{21D2}",
1925         'dbldanda' => "\x{0965}",
1926         'dblgrave' => "\x{F6D6}",
1927         'dblgravecmb' => "\x{030F}",
1928         'dblintegral' => "\x{222C}",
1929         'dbllowline' => "\x{2017}",
1930         'dbllowlinecmb' => "\x{0333}",
1931         'dbloverlinecmb' => "\x{033F}",
1932         'dblprimemod' => "\x{02BA}",
1933         'dblverticalbar' => "\x{2016}",
1934         'dblverticallineabovecmb' => "\x{030E}",
1935         'dbopomofo' => "\x{3109}",
1936         'dbsquare' => "\x{33C8}",
1937         'dcedilla' => "\x{1E11}",
1938         'dcircle' => "\x{24D3}",
1939         'dcircumflexbelow' => "\x{1E13}",
1940         'ddabengali' => "\x{09A1}",
1941         'ddadeva' => "\x{0921}",
1942         'ddagujarati' => "\x{0AA1}",
1943         'ddagurmukhi' => "\x{0A21}",
1944         'ddalarabic' => "\x{0688}",
1945         'ddalfinalarabic' => "\x{FB89}",
1946         'dddhadeva' => "\x{095C}",
1947         'ddhabengali' => "\x{09A2}",
1948         'ddhadeva' => "\x{0922}",
1949         'ddhagujarati' => "\x{0AA2}",
1950         'ddhagurmukhi' => "\x{0A22}",
1951         'ddotaccent' => "\x{1E0B}",
1952         'ddotbelow' => "\x{1E0D}",
1953         'decimalseparatorarabic' => "\x{066B}",
1954         'decimalseparatorpersian' => "\x{066B}",
1955         'decyrillic' => "\x{0434}",
1956         'dehihebrew' => "\x{05AD}",
1957         'dehiragana' => "\x{3067}",
1958         'deicoptic' => "\x{03EF}",
1959         'dekatakana' => "\x{30C7}",
1960         'deleteleft' => "\x{232B}",
1961         'deleteright' => "\x{2326}",
1962         'deltaturned' => "\x{018D}",
1963         'denominatorminusonenumeratorbengali' => "\x{09F8}",
1964         'dezh' => "\x{02A4}",
1965         'dhabengali' => "\x{09A7}",
1966         'dhadeva' => "\x{0927}",
1967         'dhagujarati' => "\x{0AA7}",
1968         'dhagurmukhi' => "\x{0A27}",
1969         'dhook' => "\x{0257}",
1970         'dialytikatonos' => "\x{0385}",
1971         'dialytikatonoscmb' => "\x{0344}",
1972         'diamondsuitwhite' => "\x{2662}",
1973         'dieresisacute' => "\x{F6D7}",
1974         'dieresisbelowcmb' => "\x{0324}",
1975         'dieresiscmb' => "\x{0308}",
1976         'dieresisgrave' => "\x{F6D8}",
1977         'dihiragana' => "\x{3062}",
1978         'dikatakana' => "\x{30C2}",
1979         'dittomark' => "\x{3003}",
1980         'divides' => "\x{2223}",
1981         'divisionslash' => "\x{2215}",
1982         'djecyrillic' => "\x{0452}",
1983         'dlinebelow' => "\x{1E0F}",
1984         'dlsquare' => "\x{3397}",
1985         'dmacron' => "\x{0111}",
1986         'dmonospace' => "\x{FF44}",
1987         'dochadathai' => "\x{0E0E}",
1988         'dodekthai' => "\x{0E14}",
1989         'dohiragana' => "\x{3069}",
1990         'dokatakana' => "\x{30C9}",
1991         'dollarinferior' => "\x{F6E3}",
1992         'dollarmonospace' => "\x{FF04}",
1993         'dollaroldstyle' => "\x{F724}",
1994         'dollarsmall' => "\x{FE69}",
1995         'dollarsuperior' => "\x{F6E4}",
1996         'dorusquare' => "\x{3326}",
1997         'dotaccentcmb' => "\x{0307}",
1998         'dotbelowcmb' => "\x{0323}",
1999         'dotkatakana' => "\x{30FB}",
2000         'dotlessj' => "\x{F6BE}",
2001         'dotlessjstrokehook' => "\x{0284}",
2002         'dottedcircle' => "\x{25CC}",
2003         'doubleyodpatah' => "\x{FB1F}",
2004         'doubleyodpatahhebrew' => "\x{FB1F}",
2005         'downtackbelowcmb' => "\x{031E}",
2006         'downtackmod' => "\x{02D5}",
2007         'dparen' => "\x{249F}",
2008         'dsuperior' => "\x{F6EB}",
2009         'dtail' => "\x{0256}",
2010         'dtopbar' => "\x{018C}",
2011         'duhiragana' => "\x{3065}",
2012         'dukatakana' => "\x{30C5}",
2013         'dz' => "\x{01F3}",
2014         'dzaltone' => "\x{02A3}",
2015         'dzcaron' => "\x{01C6}",
2016         'dzcurl' => "\x{02A5}",
2017         'dzeabkhasiancyrillic' => "\x{04E1}",
2018         'dzecyrillic' => "\x{0455}",
2019         'dzhecyrillic' => "\x{045F}",
2020         'earth' => "\x{2641}",
2021         'ebengali' => "\x{098F}",
2022         'ebopomofo' => "\x{311C}",
2023         'ecandradeva' => "\x{090D}",
2024         'ecandragujarati' => "\x{0A8D}",
2025         'ecandravowelsigndeva' => "\x{0945}",
2026         'ecandravowelsigngujarati' => "\x{0AC5}",
2027         'ecedillabreve' => "\x{1E1D}",
2028         'echarmenian' => "\x{0565}",
2029         'echyiwnarmenian' => "\x{0587}",
2030         'ecircle' => "\x{24D4}",
2031         'ecircumflexacute' => "\x{1EBF}",
2032         'ecircumflexbelow' => "\x{1E19}",
2033         'ecircumflexdotbelow' => "\x{1EC7}",
2034         'ecircumflexgrave' => "\x{1EC1}",
2035         'ecircumflexhookabove' => "\x{1EC3}",
2036         'ecircumflextilde' => "\x{1EC5}",
2037         'ecyrillic' => "\x{0454}",
2038         'edblgrave' => "\x{0205}",
2039         'edeva' => "\x{090F}",
2040         'edot' => "\x{0117}",
2041         'edotbelow' => "\x{1EB9}",
2042         'eegurmukhi' => "\x{0A0F}",
2043         'eematragurmukhi' => "\x{0A47}",
2044         'efcyrillic' => "\x{0444}",
2045         'egujarati' => "\x{0A8F}",
2046         'eharmenian' => "\x{0567}",
2047         'ehbopomofo' => "\x{311D}",
2048         'ehiragana' => "\x{3048}",
2049         'ehookabove' => "\x{1EBB}",
2050         'eibopomofo' => "\x{311F}",
2051         'eightarabic' => "\x{0668}",
2052         'eightbengali' => "\x{09EE}",
2053         'eightcircle' => "\x{2467}",
2054         'eightcircleinversesansserif' => "\x{2791}",
2055         'eightdeva' => "\x{096E}",
2056         'eighteencircle' => "\x{2471}",
2057         'eighteenparen' => "\x{2485}",
2058         'eighteenperiod' => "\x{2499}",
2059         'eightgujarati' => "\x{0AEE}",
2060         'eightgurmukhi' => "\x{0A6E}",
2061         'eighthackarabic' => "\x{0668}",
2062         'eighthangzhou' => "\x{3028}",
2063         'eighthnotebeamed' => "\x{266B}",
2064         'eightideographicparen' => "\x{3227}",
2065         'eightinferior' => "\x{2088}",
2066         'eightmonospace' => "\x{FF18}",
2067         'eightoldstyle' => "\x{F738}",
2068         'eightparen' => "\x{247B}",
2069         'eightperiod' => "\x{248F}",
2070         'eightpersian' => "\x{06F8}",
2071         'eightroman' => "\x{2177}",
2072         'eightsuperior' => "\x{2078}",
2073         'eightthai' => "\x{0E58}",
2074         'einvertedbreve' => "\x{0207}",
2075         'eiotifiedcyrillic' => "\x{0465}",
2076         'ekatakana' => "\x{30A8}",
2077         'ekatakanahalfwidth' => "\x{FF74}",
2078         'ekonkargurmukhi' => "\x{0A74}",
2079         'ekorean' => "\x{3154}",
2080         'elcyrillic' => "\x{043B}",
2081         'elevencircle' => "\x{246A}",
2082         'elevenparen' => "\x{247E}",
2083         'elevenperiod' => "\x{2492}",
2084         'elevenroman' => "\x{217A}",
2085         'ellipsisvertical' => "\x{22EE}",
2086         'emacronacute' => "\x{1E17}",
2087         'emacrongrave' => "\x{1E15}",
2088         'emcyrillic' => "\x{043C}",
2089         'emdashvertical' => "\x{FE31}",
2090         'emonospace' => "\x{FF45}",
2091         'emphasismarkarmenian' => "\x{055B}",
2092         'enbopomofo' => "\x{3123}",
2093         'encyrillic' => "\x{043D}",
2094         'endashvertical' => "\x{FE32}",
2095         'endescendercyrillic' => "\x{04A3}",
2096         'engbopomofo' => "\x{3125}",
2097         'enghecyrillic' => "\x{04A5}",
2098         'enhookcyrillic' => "\x{04C8}",
2099         'enspace' => "\x{2002}",
2100         'eokorean' => "\x{3153}",
2101         'eopen' => "\x{025B}",
2102         'eopenclosed' => "\x{029A}",
2103         'eopenreversed' => "\x{025C}",
2104         'eopenreversedclosed' => "\x{025E}",
2105         'eopenreversedhook' => "\x{025D}",
2106         'eparen' => "\x{24A0}",
2107         'equalmonospace' => "\x{FF1D}",
2108         'equalsmall' => "\x{FE66}",
2109         'equalsuperior' => "\x{207C}",
2110         'erbopomofo' => "\x{3126}",
2111         'ercyrillic' => "\x{0440}",
2112         'ereversed' => "\x{0258}",
2113         'ereversedcyrillic' => "\x{044D}",
2114         'escyrillic' => "\x{0441}",
2115         'esdescendercyrillic' => "\x{04AB}",
2116         'esh' => "\x{0283}",
2117         'eshcurl' => "\x{0286}",
2118         'eshortdeva' => "\x{090E}",
2119         'eshortvowelsigndeva' => "\x{0946}",
2120         'eshreversedloop' => "\x{01AA}",
2121         'eshsquatreversed' => "\x{0285}",
2122         'esmallhiragana' => "\x{3047}",
2123         'esmallkatakana' => "\x{30A7}",
2124         'esmallkatakanahalfwidth' => "\x{FF6A}",
2125         'esuperior' => "\x{F6EC}",
2126         'etarmenian' => "\x{0568}",
2127         'etilde' => "\x{1EBD}",
2128         'etildebelow' => "\x{1E1B}",
2129         'etnahtafoukhhebrew' => "\x{0591}",
2130         'etnahtafoukhlefthebrew' => "\x{0591}",
2131         'etnahtahebrew' => "\x{0591}",
2132         'etnahtalefthebrew' => "\x{0591}",
2133         'eturned' => "\x{01DD}",
2134         'eukorean' => "\x{3161}",
2135         'euro' => "\x{20AC}",
2136         'evowelsignbengali' => "\x{09C7}",
2137         'evowelsigndeva' => "\x{0947}",
2138         'evowelsigngujarati' => "\x{0AC7}",
2139         'exclamarmenian' => "\x{055C}",
2140         'exclamdownsmall' => "\x{F7A1}",
2141         'exclammonospace' => "\x{FF01}",
2142         'exclamsmall' => "\x{F721}",
2143         'ezh' => "\x{0292}",
2144         'ezhcaron' => "\x{01EF}",
2145         'ezhcurl' => "\x{0293}",
2146         'ezhreversed' => "\x{01B9}",
2147         'ezhtail' => "\x{01BA}",
2148         'fadeva' => "\x{095E}",
2149         'fagurmukhi' => "\x{0A5E}",
2150         'fahrenheit' => "\x{2109}",
2151         'fathaarabic' => "\x{064E}",
2152         'fathalowarabic' => "\x{064E}",
2153         'fathatanarabic' => "\x{064B}",
2154         'fbopomofo' => "\x{3108}",
2155         'fcircle' => "\x{24D5}",
2156         'fdotaccent' => "\x{1E1F}",
2157         'feharabic' => "\x{0641}",
2158         'feharmenian' => "\x{0586}",
2159         'fehfinalarabic' => "\x{FED2}",
2160         'fehinitialarabic' => "\x{FED3}",
2161         'fehmedialarabic' => "\x{FED4}",
2162         'feicoptic' => "\x{03E5}",
2163         'fifteencircle' => "\x{246E}",
2164         'fifteenparen' => "\x{2482}",
2165         'fifteenperiod' => "\x{2496}",
2166         'finalkaf' => "\x{05DA}",
2167         'finalkafdagesh' => "\x{FB3A}",
2168         'finalkafdageshhebrew' => "\x{FB3A}",
2169         'finalkafhebrew' => "\x{05DA}",
2170         'finalkafqamats' => "\x{05DA}\x{05B8}",
2171         'finalkafqamatshebrew' => "\x{05DA}\x{05B8}",
2172         'finalkafsheva' => "\x{05DA}\x{05B0}",
2173         'finalkafshevahebrew' => "\x{05DA}\x{05B0}",
2174         'finalmem' => "\x{05DD}",
2175         'finalmemhebrew' => "\x{05DD}",
2176         'finalnun' => "\x{05DF}",
2177         'finalnunhebrew' => "\x{05DF}",
2178         'finalpe' => "\x{05E3}",
2179         'finalpehebrew' => "\x{05E3}",
2180         'finaltsadi' => "\x{05E5}",
2181         'finaltsadihebrew' => "\x{05E5}",
2182         'firsttonechinese' => "\x{02C9}",
2183         'fisheye' => "\x{25C9}",
2184         'fitacyrillic' => "\x{0473}",
2185         'fivearabic' => "\x{0665}",
2186         'fivebengali' => "\x{09EB}",
2187         'fivecircle' => "\x{2464}",
2188         'fivecircleinversesansserif' => "\x{278E}",
2189         'fivedeva' => "\x{096B}",
2190         'fivegujarati' => "\x{0AEB}",
2191         'fivegurmukhi' => "\x{0A6B}",
2192         'fivehackarabic' => "\x{0665}",
2193         'fivehangzhou' => "\x{3025}",
2194         'fiveideographicparen' => "\x{3224}",
2195         'fiveinferior' => "\x{2085}",
2196         'fivemonospace' => "\x{FF15}",
2197         'fiveoldstyle' => "\x{F735}",
2198         'fiveparen' => "\x{2478}",
2199         'fiveperiod' => "\x{248C}",
2200         'fivepersian' => "\x{06F5}",
2201         'fiveroman' => "\x{2174}",
2202         'fivesuperior' => "\x{2075}",
2203         'fivethai' => "\x{0E55}",
2204         'fmonospace' => "\x{FF46}",
2205         'fmsquare' => "\x{3399}",
2206         'fofanthai' => "\x{0E1F}",
2207         'fofathai' => "\x{0E1D}",
2208         'fongmanthai' => "\x{0E4F}",
2209         'forall' => "\x{2200}",
2210         'fourarabic' => "\x{0664}",
2211         'fourbengali' => "\x{09EA}",
2212         'fourcircle' => "\x{2463}",
2213         'fourcircleinversesansserif' => "\x{278D}",
2214         'fourdeva' => "\x{096A}",
2215         'fourgujarati' => "\x{0AEA}",
2216         'fourgurmukhi' => "\x{0A6A}",
2217         'fourhackarabic' => "\x{0664}",
2218         'fourhangzhou' => "\x{3024}",
2219         'fourideographicparen' => "\x{3223}",
2220         'fourinferior' => "\x{2084}",
2221         'fourmonospace' => "\x{FF14}",
2222         'fournumeratorbengali' => "\x{09F7}",
2223         'fouroldstyle' => "\x{F734}",
2224         'fourparen' => "\x{2477}",
2225         'fourperiod' => "\x{248B}",
2226         'fourpersian' => "\x{06F4}",
2227         'fourroman' => "\x{2173}",
2228         'foursuperior' => "\x{2074}",
2229         'fourteencircle' => "\x{246D}",
2230         'fourteenparen' => "\x{2481}",
2231         'fourteenperiod' => "\x{2495}",
2232         'fourthai' => "\x{0E54}",
2233         'fourthtonechinese' => "\x{02CB}",
2234         'fparen' => "\x{24A1}",
2235         'gabengali' => "\x{0997}",
2236         'gacute' => "\x{01F5}",
2237         'gadeva' => "\x{0917}",
2238         'gafarabic' => "\x{06AF}",
2239         'gaffinalarabic' => "\x{FB93}",
2240         'gafinitialarabic' => "\x{FB94}",
2241         'gafmedialarabic' => "\x{FB95}",
2242         'gagujarati' => "\x{0A97}",
2243         'gagurmukhi' => "\x{0A17}",
2244         'gahiragana' => "\x{304C}",
2245         'gakatakana' => "\x{30AC}",
2246         'gammalatinsmall' => "\x{0263}",
2247         'gammasuperior' => "\x{02E0}",
2248         'gangiacoptic' => "\x{03EB}",
2249         'gbopomofo' => "\x{310D}",
2250         'gcedilla' => "\x{0123}",
2251         'gcircle' => "\x{24D6}",
2252         'gdot' => "\x{0121}",
2253         'gecyrillic' => "\x{0433}",
2254         'gehiragana' => "\x{3052}",
2255         'gekatakana' => "\x{30B2}",
2256         'geometricallyequal' => "\x{2251}",
2257         'gereshaccenthebrew' => "\x{059C}",
2258         'gereshhebrew' => "\x{05F3}",
2259         'gereshmuqdamhebrew' => "\x{059D}",
2260         'gershayimaccenthebrew' => "\x{059E}",
2261         'gershayimhebrew' => "\x{05F4}",
2262         'getamark' => "\x{3013}",
2263         'ghabengali' => "\x{0998}",
2264         'ghadarmenian' => "\x{0572}",
2265         'ghadeva' => "\x{0918}",
2266         'ghagujarati' => "\x{0A98}",
2267         'ghagurmukhi' => "\x{0A18}",
2268         'ghainarabic' => "\x{063A}",
2269         'ghainfinalarabic' => "\x{FECE}",
2270         'ghaininitialarabic' => "\x{FECF}",
2271         'ghainmedialarabic' => "\x{FED0}",
2272         'ghemiddlehookcyrillic' => "\x{0495}",
2273         'ghestrokecyrillic' => "\x{0493}",
2274         'gheupturncyrillic' => "\x{0491}",
2275         'ghhadeva' => "\x{095A}",
2276         'ghhagurmukhi' => "\x{0A5A}",
2277         'ghook' => "\x{0260}",
2278         'ghzsquare' => "\x{3393}",
2279         'gihiragana' => "\x{304E}",
2280         'gikatakana' => "\x{30AE}",
2281         'gimarmenian' => "\x{0563}",
2282         'gimel' => "\x{05D2}",
2283         'gimeldagesh' => "\x{FB32}",
2284         'gimeldageshhebrew' => "\x{FB32}",
2285         'gimelhebrew' => "\x{05D2}",
2286         'gjecyrillic' => "\x{0453}",
2287         'glottalinvertedstroke' => "\x{01BE}",
2288         'glottalstop' => "\x{0294}",
2289         'glottalstopinverted' => "\x{0296}",
2290         'glottalstopmod' => "\x{02C0}",
2291         'glottalstopreversed' => "\x{0295}",
2292         'glottalstopreversedmod' => "\x{02C1}",
2293         'glottalstopreversedsuperior' => "\x{02E4}",
2294         'glottalstopstroke' => "\x{02A1}",
2295         'glottalstopstrokereversed' => "\x{02A2}",
2296         'gmacron' => "\x{1E21}",
2297         'gmonospace' => "\x{FF47}",
2298         'gohiragana' => "\x{3054}",
2299         'gokatakana' => "\x{30B4}",
2300         'gparen' => "\x{24A2}",
2301         'gpasquare' => "\x{33AC}",
2302         'gravebelowcmb' => "\x{0316}",
2303         'gravecmb' => "\x{0300}",
2304         'gravedeva' => "\x{0953}",
2305         'gravelowmod' => "\x{02CE}",
2306         'gravemonospace' => "\x{FF40}",
2307         'gravetonecmb' => "\x{0340}",
2308         'greaterequalorless' => "\x{22DB}",
2309         'greatermonospace' => "\x{FF1E}",
2310         'greaterorequivalent' => "\x{2273}",
2311         'greaterorless' => "\x{2277}",
2312         'greateroverequal' => "\x{2267}",
2313         'greatersmall' => "\x{FE65}",
2314         'gscript' => "\x{0261}",
2315         'gstroke' => "\x{01E5}",
2316         'guhiragana' => "\x{3050}",
2317         'gukatakana' => "\x{30B0}",
2318         'guramusquare' => "\x{3318}",
2319         'gysquare' => "\x{33C9}",
2320         'haabkhasiancyrillic' => "\x{04A9}",
2321         'haaltonearabic' => "\x{06C1}",
2322         'habengali' => "\x{09B9}",
2323         'hadescendercyrillic' => "\x{04B3}",
2324         'hadeva' => "\x{0939}",
2325         'hagujarati' => "\x{0AB9}",
2326         'hagurmukhi' => "\x{0A39}",
2327         'haharabic' => "\x{062D}",
2328         'hahfinalarabic' => "\x{FEA2}",
2329         'hahinitialarabic' => "\x{FEA3}",
2330         'hahiragana' => "\x{306F}",
2331         'hahmedialarabic' => "\x{FEA4}",
2332         'haitusquare' => "\x{332A}",
2333         'hakatakana' => "\x{30CF}",
2334         'hakatakanahalfwidth' => "\x{FF8A}",
2335         'halantgurmukhi' => "\x{0A4D}",
2336         'hamzaarabic' => "\x{0621}",
2337         'hamzadammaarabic' => "\x{0621}\x{064F}",
2338         'hamzadammatanarabic' => "\x{0621}\x{064C}",
2339         'hamzafathaarabic' => "\x{0621}\x{064E}",
2340         'hamzafathatanarabic' => "\x{0621}\x{064B}",
2341         'hamzalowarabic' => "\x{0621}",
2342         'hamzalowkasraarabic' => "\x{0621}\x{0650}",
2343         'hamzalowkasratanarabic' => "\x{0621}\x{064D}",
2344         'hamzasukunarabic' => "\x{0621}\x{0652}",
2345         'hangulfiller' => "\x{3164}",
2346         'hardsigncyrillic' => "\x{044A}",
2347         'harpoonleftbarbup' => "\x{21BC}",
2348         'harpoonrightbarbup' => "\x{21C0}",
2349         'hasquare' => "\x{33CA}",
2350         'hatafpatah' => "\x{05B2}",
2351         'hatafpatah16' => "\x{05B2}",
2352         'hatafpatah23' => "\x{05B2}",
2353         'hatafpatah2f' => "\x{05B2}",
2354         'hatafpatahhebrew' => "\x{05B2}",
2355         'hatafpatahnarrowhebrew' => "\x{05B2}",
2356         'hatafpatahquarterhebrew' => "\x{05B2}",
2357         'hatafpatahwidehebrew' => "\x{05B2}",
2358         'hatafqamats' => "\x{05B3}",
2359         'hatafqamats1b' => "\x{05B3}",
2360         'hatafqamats28' => "\x{05B3}",
2361         'hatafqamats34' => "\x{05B3}",
2362         'hatafqamatshebrew' => "\x{05B3}",
2363         'hatafqamatsnarrowhebrew' => "\x{05B3}",
2364         'hatafqamatsquarterhebrew' => "\x{05B3}",
2365         'hatafqamatswidehebrew' => "\x{05B3}",
2366         'hatafsegol' => "\x{05B1}",
2367         'hatafsegol17' => "\x{05B1}",
2368         'hatafsegol24' => "\x{05B1}",
2369         'hatafsegol30' => "\x{05B1}",
2370         'hatafsegolhebrew' => "\x{05B1}",
2371         'hatafsegolnarrowhebrew' => "\x{05B1}",
2372         'hatafsegolquarterhebrew' => "\x{05B1}",
2373         'hatafsegolwidehebrew' => "\x{05B1}",
2374         'hbopomofo' => "\x{310F}",
2375         'hbrevebelow' => "\x{1E2B}",
2376         'hcedilla' => "\x{1E29}",
2377         'hcircle' => "\x{24D7}",
2378         'hdieresis' => "\x{1E27}",
2379         'hdotaccent' => "\x{1E23}",
2380         'hdotbelow' => "\x{1E25}",
2381         'he' => "\x{05D4}",
2382         'heartsuitblack' => "\x{2665}",
2383         'heartsuitwhite' => "\x{2661}",
2384         'hedagesh' => "\x{FB34}",
2385         'hedageshhebrew' => "\x{FB34}",
2386         'hehaltonearabic' => "\x{06C1}",
2387         'heharabic' => "\x{0647}",
2388         'hehebrew' => "\x{05D4}",
2389         'hehfinalaltonearabic' => "\x{FBA7}",
2390         'hehfinalalttwoarabic' => "\x{FEEA}",
2391         'hehfinalarabic' => "\x{FEEA}",
2392         'hehhamzaabovefinalarabic' => "\x{FBA5}",
2393         'hehhamzaaboveisolatedarabic' => "\x{FBA4}",
2394         'hehinitialaltonearabic' => "\x{FBA8}",
2395         'hehinitialarabic' => "\x{FEEB}",
2396         'hehiragana' => "\x{3078}",
2397         'hehmedialaltonearabic' => "\x{FBA9}",
2398         'hehmedialarabic' => "\x{FEEC}",
2399         'heiseierasquare' => "\x{337B}",
2400         'hekatakana' => "\x{30D8}",
2401         'hekatakanahalfwidth' => "\x{FF8D}",
2402         'hekutaarusquare' => "\x{3336}",
2403         'henghook' => "\x{0267}",
2404         'herutusquare' => "\x{3339}",
2405         'het' => "\x{05D7}",
2406         'hethebrew' => "\x{05D7}",
2407         'hhook' => "\x{0266}",
2408         'hhooksuperior' => "\x{02B1}",
2409         'hieuhacirclekorean' => "\x{327B}",
2410         'hieuhaparenkorean' => "\x{321B}",
2411         'hieuhcirclekorean' => "\x{326D}",
2412         'hieuhkorean' => "\x{314E}",
2413         'hieuhparenkorean' => "\x{320D}",
2414         'hihiragana' => "\x{3072}",
2415         'hikatakana' => "\x{30D2}",
2416         'hikatakanahalfwidth' => "\x{FF8B}",
2417         'hiriq' => "\x{05B4}",
2418         'hiriq14' => "\x{05B4}",
2419         'hiriq21' => "\x{05B4}",
2420         'hiriq2d' => "\x{05B4}",
2421         'hiriqhebrew' => "\x{05B4}",
2422         'hiriqnarrowhebrew' => "\x{05B4}",
2423         'hiriqquarterhebrew' => "\x{05B4}",
2424         'hiriqwidehebrew' => "\x{05B4}",
2425         'hlinebelow' => "\x{1E96}",
2426         'hmonospace' => "\x{FF48}",
2427         'hoarmenian' => "\x{0570}",
2428         'hohipthai' => "\x{0E2B}",
2429         'hohiragana' => "\x{307B}",
2430         'hokatakana' => "\x{30DB}",
2431         'hokatakanahalfwidth' => "\x{FF8E}",
2432         'holam' => "\x{05B9}",
2433         'holam19' => "\x{05B9}",
2434         'holam26' => "\x{05B9}",
2435         'holam32' => "\x{05B9}",
2436         'holamhebrew' => "\x{05B9}",
2437         'holamnarrowhebrew' => "\x{05B9}",
2438         'holamquarterhebrew' => "\x{05B9}",
2439         'holamwidehebrew' => "\x{05B9}",
2440         'honokhukthai' => "\x{0E2E}",
2441         'hookcmb' => "\x{0309}",
2442         'hookpalatalizedbelowcmb' => "\x{0321}",
2443         'hookretroflexbelowcmb' => "\x{0322}",
2444         'hoonsquare' => "\x{3342}",
2445         'horicoptic' => "\x{03E9}",
2446         'horizontalbar' => "\x{2015}",
2447         'horncmb' => "\x{031B}",
2448         'hotsprings' => "\x{2668}",
2449         'hparen' => "\x{24A3}",
2450         'hsuperior' => "\x{02B0}",
2451         'hturned' => "\x{0265}",
2452         'huhiragana' => "\x{3075}",
2453         'huiitosquare' => "\x{3333}",
2454         'hukatakana' => "\x{30D5}",
2455         'hukatakanahalfwidth' => "\x{FF8C}",
2456         'hungarumlautcmb' => "\x{030B}",
2457         'hv' => "\x{0195}",
2458         'hypheninferior' => "\x{F6E5}",
2459         'hyphenmonospace' => "\x{FF0D}",
2460         'hyphensmall' => "\x{FE63}",
2461         'hyphensuperior' => "\x{F6E6}",
2462         'hyphentwo' => "\x{2010}",
2463         'iacyrillic' => "\x{044F}",
2464         'ibengali' => "\x{0987}",
2465         'ibopomofo' => "\x{3127}",
2466         'icaron' => "\x{01D0}",
2467         'icircle' => "\x{24D8}",
2468         'icyrillic' => "\x{0456}",
2469         'idblgrave' => "\x{0209}",
2470         'ideographearthcircle' => "\x{328F}",
2471         'ideographfirecircle' => "\x{328B}",
2472         'ideographicallianceparen' => "\x{323F}",
2473         'ideographiccallparen' => "\x{323A}",
2474         'ideographiccentrecircle' => "\x{32A5}",
2475         'ideographicclose' => "\x{3006}",
2476         'ideographiccomma' => "\x{3001}",
2477         'ideographiccommaleft' => "\x{FF64}",
2478         'ideographiccongratulationparen' => "\x{3237}",
2479         'ideographiccorrectcircle' => "\x{32A3}",
2480         'ideographicearthparen' => "\x{322F}",
2481         'ideographicenterpriseparen' => "\x{323D}",
2482         'ideographicexcellentcircle' => "\x{329D}",
2483         'ideographicfestivalparen' => "\x{3240}",
2484         'ideographicfinancialcircle' => "\x{3296}",
2485         'ideographicfinancialparen' => "\x{3236}",
2486         'ideographicfireparen' => "\x{322B}",
2487         'ideographichaveparen' => "\x{3232}",
2488         'ideographichighcircle' => "\x{32A4}",
2489         'ideographiciterationmark' => "\x{3005}",
2490         'ideographiclaborcircle' => "\x{3298}",
2491         'ideographiclaborparen' => "\x{3238}",
2492         'ideographicleftcircle' => "\x{32A7}",
2493         'ideographiclowcircle' => "\x{32A6}",
2494         'ideographicmedicinecircle' => "\x{32A9}",
2495         'ideographicmetalparen' => "\x{322E}",
2496         'ideographicmoonparen' => "\x{322A}",
2497         'ideographicnameparen' => "\x{3234}",
2498         'ideographicperiod' => "\x{3002}",
2499         'ideographicprintcircle' => "\x{329E}",
2500         'ideographicreachparen' => "\x{3243}",
2501         'ideographicrepresentparen' => "\x{3239}",
2502         'ideographicresourceparen' => "\x{323E}",
2503         'ideographicrightcircle' => "\x{32A8}",
2504         'ideographicsecretcircle' => "\x{3299}",
2505         'ideographicselfparen' => "\x{3242}",
2506         'ideographicsocietyparen' => "\x{3233}",
2507         'ideographicspace' => "\x{3000}",
2508         'ideographicspecialparen' => "\x{3235}",
2509         'ideographicstockparen' => "\x{3231}",
2510         'ideographicstudyparen' => "\x{323B}",
2511         'ideographicsunparen' => "\x{3230}",
2512         'ideographicsuperviseparen' => "\x{323C}",
2513         'ideographicwaterparen' => "\x{322C}",
2514         'ideographicwoodparen' => "\x{322D}",
2515         'ideographiczero' => "\x{3007}",
2516         'ideographmetalcircle' => "\x{328E}",
2517         'ideographmooncircle' => "\x{328A}",
2518         'ideographnamecircle' => "\x{3294}",
2519         'ideographsuncircle' => "\x{3290}",
2520         'ideographwatercircle' => "\x{328C}",
2521         'ideographwoodcircle' => "\x{328D}",
2522         'ideva' => "\x{0907}",
2523         'idieresisacute' => "\x{1E2F}",
2524         'idieresiscyrillic' => "\x{04E5}",
2525         'idotbelow' => "\x{1ECB}",
2526         'iebrevecyrillic' => "\x{04D7}",
2527         'iecyrillic' => "\x{0435}",
2528         'ieungacirclekorean' => "\x{3275}",
2529         'ieungaparenkorean' => "\x{3215}",
2530         'ieungcirclekorean' => "\x{3267}",
2531         'ieungkorean' => "\x{3147}",
2532         'ieungparenkorean' => "\x{3207}",
2533         'igujarati' => "\x{0A87}",
2534         'igurmukhi' => "\x{0A07}",
2535         'ihiragana' => "\x{3044}",
2536         'ihookabove' => "\x{1EC9}",
2537         'iibengali' => "\x{0988}",
2538         'iicyrillic' => "\x{0438}",
2539         'iideva' => "\x{0908}",
2540         'iigujarati' => "\x{0A88}",
2541         'iigurmukhi' => "\x{0A08}",
2542         'iimatragurmukhi' => "\x{0A40}",
2543         'iinvertedbreve' => "\x{020B}",
2544         'iishortcyrillic' => "\x{0439}",
2545         'iivowelsignbengali' => "\x{09C0}",
2546         'iivowelsigndeva' => "\x{0940}",
2547         'iivowelsigngujarati' => "\x{0AC0}",
2548         'ikatakana' => "\x{30A4}",
2549         'ikatakanahalfwidth' => "\x{FF72}",
2550         'ikorean' => "\x{3163}",
2551         'ilde' => "\x{02DC}",
2552         'iluyhebrew' => "\x{05AC}",
2553         'imacroncyrillic' => "\x{04E3}",
2554         'imageorapproximatelyequal' => "\x{2253}",
2555         'imatragurmukhi' => "\x{0A3F}",
2556         'imonospace' => "\x{FF49}",
2557         'increment' => "\x{2206}",
2558         'iniarmenian' => "\x{056B}",
2559         'integralbottom' => "\x{2321}",
2560         'integralex' => "\x{F8F5}",
2561         'integraltop' => "\x{2320}",
2562         'intisquare' => "\x{3305}",
2563         'iocyrillic' => "\x{0451}",
2564         'iotalatin' => "\x{0269}",
2565         'iparen' => "\x{24A4}",
2566         'irigurmukhi' => "\x{0A72}",
2567         'ismallhiragana' => "\x{3043}",
2568         'ismallkatakana' => "\x{30A3}",
2569         'ismallkatakanahalfwidth' => "\x{FF68}",
2570         'issharbengali' => "\x{09FA}",
2571         'istroke' => "\x{0268}",
2572         'isuperior' => "\x{F6ED}",
2573         'iterationhiragana' => "\x{309D}",
2574         'iterationkatakana' => "\x{30FD}",
2575         'itildebelow' => "\x{1E2D}",
2576         'iubopomofo' => "\x{3129}",
2577         'iucyrillic' => "\x{044E}",
2578         'ivowelsignbengali' => "\x{09BF}",
2579         'ivowelsigndeva' => "\x{093F}",
2580         'ivowelsigngujarati' => "\x{0ABF}",
2581         'izhitsacyrillic' => "\x{0475}",
2582         'izhitsadblgravecyrillic' => "\x{0477}",
2583         'jaarmenian' => "\x{0571}",
2584         'jabengali' => "\x{099C}",
2585         'jadeva' => "\x{091C}",
2586         'jagujarati' => "\x{0A9C}",
2587         'jagurmukhi' => "\x{0A1C}",
2588         'jbopomofo' => "\x{3110}",
2589         'jcaron' => "\x{01F0}",
2590         'jcircle' => "\x{24D9}",
2591         'jcrossedtail' => "\x{029D}",
2592         'jdotlessstroke' => "\x{025F}",
2593         'jecyrillic' => "\x{0458}",
2594         'jeemarabic' => "\x{062C}",
2595         'jeemfinalarabic' => "\x{FE9E}",
2596         'jeeminitialarabic' => "\x{FE9F}",
2597         'jeemmedialarabic' => "\x{FEA0}",
2598         'jeharabic' => "\x{0698}",
2599         'jehfinalarabic' => "\x{FB8B}",
2600         'jhabengali' => "\x{099D}",
2601         'jhadeva' => "\x{091D}",
2602         'jhagujarati' => "\x{0A9D}",
2603         'jhagurmukhi' => "\x{0A1D}",
2604         'jheharmenian' => "\x{057B}",
2605         'jis' => "\x{3004}",
2606         'jmonospace' => "\x{FF4A}",
2607         'jparen' => "\x{24A5}",
2608         'jsuperior' => "\x{02B2}",
2609         'kabashkircyrillic' => "\x{04A1}",
2610         'kabengali' => "\x{0995}",
2611         'kacute' => "\x{1E31}",
2612         'kacyrillic' => "\x{043A}",
2613         'kadescendercyrillic' => "\x{049B}",
2614         'kadeva' => "\x{0915}",
2615         'kaf' => "\x{05DB}",
2616         'kafarabic' => "\x{0643}",
2617         'kafdagesh' => "\x{FB3B}",
2618         'kafdageshhebrew' => "\x{FB3B}",
2619         'kaffinalarabic' => "\x{FEDA}",
2620         'kafhebrew' => "\x{05DB}",
2621         'kafinitialarabic' => "\x{FEDB}",
2622         'kafmedialarabic' => "\x{FEDC}",
2623         'kafrafehebrew' => "\x{FB4D}",
2624         'kagujarati' => "\x{0A95}",
2625         'kagurmukhi' => "\x{0A15}",
2626         'kahiragana' => "\x{304B}",
2627         'kahookcyrillic' => "\x{04C4}",
2628         'kakatakana' => "\x{30AB}",
2629         'kakatakanahalfwidth' => "\x{FF76}",
2630         'kappasymbolgreek' => "\x{03F0}",
2631         'kapyeounmieumkorean' => "\x{3171}",
2632         'kapyeounphieuphkorean' => "\x{3184}",
2633         'kapyeounpieupkorean' => "\x{3178}",
2634         'kapyeounssangpieupkorean' => "\x{3179}",
2635         'karoriisquare' => "\x{330D}",
2636         'kashidaautoarabic' => "\x{0640}",
2637         'kashidaautonosidebearingarabic' => "\x{0640}",
2638         'kasmallkatakana' => "\x{30F5}",
2639         'kasquare' => "\x{3384}",
2640         'kasraarabic' => "\x{0650}",
2641         'kasratanarabic' => "\x{064D}",
2642         'kastrokecyrillic' => "\x{049F}",
2643         'katahiraprolongmarkhalfwidth' => "\x{FF70}",
2644         'kaverticalstrokecyrillic' => "\x{049D}",
2645         'kbopomofo' => "\x{310E}",
2646         'kcalsquare' => "\x{3389}",
2647         'kcaron' => "\x{01E9}",
2648         'kcedilla' => "\x{0137}",
2649         'kcircle' => "\x{24DA}",
2650         'kdotbelow' => "\x{1E33}",
2651         'keharmenian' => "\x{0584}",
2652         'kehiragana' => "\x{3051}",
2653         'kekatakana' => "\x{30B1}",
2654         'kekatakanahalfwidth' => "\x{FF79}",
2655         'kenarmenian' => "\x{056F}",
2656         'kesmallkatakana' => "\x{30F6}",
2657         'khabengali' => "\x{0996}",
2658         'khacyrillic' => "\x{0445}",
2659         'khadeva' => "\x{0916}",
2660         'khagujarati' => "\x{0A96}",
2661         'khagurmukhi' => "\x{0A16}",
2662         'khaharabic' => "\x{062E}",
2663         'khahfinalarabic' => "\x{FEA6}",
2664         'khahinitialarabic' => "\x{FEA7}",
2665         'khahmedialarabic' => "\x{FEA8}",
2666         'kheicoptic' => "\x{03E7}",
2667         'khhadeva' => "\x{0959}",
2668         'khhagurmukhi' => "\x{0A59}",
2669         'khieukhacirclekorean' => "\x{3278}",
2670         'khieukhaparenkorean' => "\x{3218}",
2671         'khieukhcirclekorean' => "\x{326A}",
2672         'khieukhkorean' => "\x{314B}",
2673         'khieukhparenkorean' => "\x{320A}",
2674         'khokhaithai' => "\x{0E02}",
2675         'khokhonthai' => "\x{0E05}",
2676         'khokhuatthai' => "\x{0E03}",
2677         'khokhwaithai' => "\x{0E04}",
2678         'khomutthai' => "\x{0E5B}",
2679         'khook' => "\x{0199}",
2680         'khorakhangthai' => "\x{0E06}",
2681         'khzsquare' => "\x{3391}",
2682         'kihiragana' => "\x{304D}",
2683         'kikatakana' => "\x{30AD}",
2684         'kikatakanahalfwidth' => "\x{FF77}",
2685         'kiroguramusquare' => "\x{3315}",
2686         'kiromeetorusquare' => "\x{3316}",
2687         'kirosquare' => "\x{3314}",
2688         'kiyeokacirclekorean' => "\x{326E}",
2689         'kiyeokaparenkorean' => "\x{320E}",
2690         'kiyeokcirclekorean' => "\x{3260}",
2691         'kiyeokkorean' => "\x{3131}",
2692         'kiyeokparenkorean' => "\x{3200}",
2693         'kiyeoksioskorean' => "\x{3133}",
2694         'kjecyrillic' => "\x{045C}",
2695         'klinebelow' => "\x{1E35}",
2696         'klsquare' => "\x{3398}",
2697         'kmcubedsquare' => "\x{33A6}",
2698         'kmonospace' => "\x{FF4B}",
2699         'kmsquaredsquare' => "\x{33A2}",
2700         'kohiragana' => "\x{3053}",
2701         'kohmsquare' => "\x{33C0}",
2702         'kokaithai' => "\x{0E01}",
2703         'kokatakana' => "\x{30B3}",
2704         'kokatakanahalfwidth' => "\x{FF7A}",
2705         'kooposquare' => "\x{331E}",
2706         'koppacyrillic' => "\x{0481}",
2707         'koreanstandardsymbol' => "\x{327F}",
2708         'koroniscmb' => "\x{0343}",
2709         'kparen' => "\x{24A6}",
2710         'kpasquare' => "\x{33AA}",
2711         'ksicyrillic' => "\x{046F}",
2712         'ktsquare' => "\x{33CF}",
2713         'kturned' => "\x{029E}",
2714         'kuhiragana' => "\x{304F}",
2715         'kukatakana' => "\x{30AF}",
2716         'kukatakanahalfwidth' => "\x{FF78}",
2717         'kvsquare' => "\x{33B8}",
2718         'kwsquare' => "\x{33BE}",
2719         'labengali' => "\x{09B2}",
2720         'ladeva' => "\x{0932}",
2721         'lagujarati' => "\x{0AB2}",
2722         'lagurmukhi' => "\x{0A32}",
2723         'lakkhangyaothai' => "\x{0E45}",
2724         'lamaleffinalarabic' => "\x{FEFC}",
2725         'lamalefhamzaabovefinalarabic' => "\x{FEF8}",
2726         'lamalefhamzaaboveisolatedarabic' => "\x{FEF7}",
2727         'lamalefhamzabelowfinalarabic' => "\x{FEFA}",
2728         'lamalefhamzabelowisolatedarabic' => "\x{FEF9}",
2729         'lamalefisolatedarabic' => "\x{FEFB}",
2730         'lamalefmaddaabovefinalarabic' => "\x{FEF6}",
2731         'lamalefmaddaaboveisolatedarabic' => "\x{FEF5}",
2732         'lamarabic' => "\x{0644}",
2733         'lambdastroke' => "\x{019B}",
2734         'lamed' => "\x{05DC}",
2735         'lameddagesh' => "\x{FB3C}",
2736         'lameddageshhebrew' => "\x{FB3C}",
2737         'lamedhebrew' => "\x{05DC}",
2738         'lamedholam' => "\x{05DC}\x{05B9}",
2739         'lamedholamdagesh' => "\x{05DC}\x{05B9}\x{05BC}",
2740         'lamedholamdageshhebrew' => "\x{05DC}\x{05B9}\x{05BC}",
2741         'lamedholamhebrew' => "\x{05DC}\x{05B9}",
2742         'lamfinalarabic' => "\x{FEDE}",
2743         'lamhahinitialarabic' => "\x{FCCA}",
2744         'laminitialarabic' => "\x{FEDF}",
2745         'lamjeeminitialarabic' => "\x{FCC9}",
2746         'lamkhahinitialarabic' => "\x{FCCB}",
2747         'lamlamhehisolatedarabic' => "\x{FDF2}",
2748         'lammedialarabic' => "\x{FEE0}",
2749         'lammeemhahinitialarabic' => "\x{FD88}",
2750         'lammeeminitialarabic' => "\x{FCCC}",
2751         'lammeemjeeminitialarabic' => "\x{FEDF}\x{FEE4}\x{FEA0}",
2752         'lammeemkhahinitialarabic' => "\x{FEDF}\x{FEE4}\x{FEA8}",
2753         'largecircle' => "\x{25EF}",
2754         'lbar' => "\x{019A}",
2755         'lbelt' => "\x{026C}",
2756         'lbopomofo' => "\x{310C}",
2757         'lcedilla' => "\x{013C}",
2758         'lcircle' => "\x{24DB}",
2759         'lcircumflexbelow' => "\x{1E3D}",
2760         'ldotaccent' => "\x{0140}",
2761         'ldotbelow' => "\x{1E37}",
2762         'ldotbelowmacron' => "\x{1E39}",
2763         'leftangleabovecmb' => "\x{031A}",
2764         'lefttackbelowcmb' => "\x{0318}",
2765         'lessequalorgreater' => "\x{22DA}",
2766         'lessmonospace' => "\x{FF1C}",
2767         'lessorequivalent' => "\x{2272}",
2768         'lessorgreater' => "\x{2276}",
2769         'lessoverequal' => "\x{2266}",
2770         'lesssmall' => "\x{FE64}",
2771         'lezh' => "\x{026E}",
2772         'lhookretroflex' => "\x{026D}",
2773         'liwnarmenian' => "\x{056C}",
2774         'lj' => "\x{01C9}",
2775         'ljecyrillic' => "\x{0459}",
2776         'll' => "\x{F6C0}",
2777         'lladeva' => "\x{0933}",
2778         'llagujarati' => "\x{0AB3}",
2779         'llinebelow' => "\x{1E3B}",
2780         'llladeva' => "\x{0934}",
2781         'llvocalicbengali' => "\x{09E1}",
2782         'llvocalicdeva' => "\x{0961}",
2783         'llvocalicvowelsignbengali' => "\x{09E3}",
2784         'llvocalicvowelsigndeva' => "\x{0963}",
2785         'lmiddletilde' => "\x{026B}",
2786         'lmonospace' => "\x{FF4C}",
2787         'lmsquare' => "\x{33D0}",
2788         'lochulathai' => "\x{0E2C}",
2789         'logicalnotreversed' => "\x{2310}",
2790         'lolingthai' => "\x{0E25}",
2791         'lowlinecenterline' => "\x{FE4E}",
2792         'lowlinecmb' => "\x{0332}",
2793         'lowlinedashed' => "\x{FE4D}",
2794         'lparen' => "\x{24A7}",
2795         'lsquare' => "\x{2113}",
2796         'lsuperior' => "\x{F6EE}",
2797         'luthai' => "\x{0E26}",
2798         'lvocalicbengali' => "\x{098C}",
2799         'lvocalicdeva' => "\x{090C}",
2800         'lvocalicvowelsignbengali' => "\x{09E2}",
2801         'lvocalicvowelsigndeva' => "\x{0962}",
2802         'lxsquare' => "\x{33D3}",
2803         'mabengali' => "\x{09AE}",
2804         'macronbelowcmb' => "\x{0331}",
2805         'macroncmb' => "\x{0304}",
2806         'macronlowmod' => "\x{02CD}",
2807         'macronmonospace' => "\x{FFE3}",
2808         'macute' => "\x{1E3F}",
2809         'madeva' => "\x{092E}",
2810         'magujarati' => "\x{0AAE}",
2811         'magurmukhi' => "\x{0A2E}",
2812         'mahapakhhebrew' => "\x{05A4}",
2813         'mahapakhlefthebrew' => "\x{05A4}",
2814         'mahiragana' => "\x{307E}",
2815         'maichattawalowleftthai' => "\x{F895}",
2816         'maichattawalowrightthai' => "\x{F894}",
2817         'maichattawathai' => "\x{0E4B}",
2818         'maichattawaupperleftthai' => "\x{F893}",
2819         'maieklowleftthai' => "\x{F88C}",
2820         'maieklowrightthai' => "\x{F88B}",
2821         'maiekthai' => "\x{0E48}",
2822         'maiekupperleftthai' => "\x{F88A}",
2823         'maihanakatleftthai' => "\x{F884}",
2824         'maihanakatthai' => "\x{0E31}",
2825         'maitaikhuleftthai' => "\x{F889}",
2826         'maitaikhuthai' => "\x{0E47}",
2827         'maitholowleftthai' => "\x{F88F}",
2828         'maitholowrightthai' => "\x{F88E}",
2829         'maithothai' => "\x{0E49}",
2830         'maithoupperleftthai' => "\x{F88D}",
2831         'maitrilowleftthai' => "\x{F892}",
2832         'maitrilowrightthai' => "\x{F891}",
2833         'maitrithai' => "\x{0E4A}",
2834         'maitriupperleftthai' => "\x{F890}",
2835         'maiyamokthai' => "\x{0E46}",
2836         'makatakana' => "\x{30DE}",
2837         'makatakanahalfwidth' => "\x{FF8F}",
2838         'mansyonsquare' => "\x{3347}",
2839         'maqafhebrew' => "\x{05BE}",
2840         'mars' => "\x{2642}",
2841         'masoracirclehebrew' => "\x{05AF}",
2842         'masquare' => "\x{3383}",
2843         'mbopomofo' => "\x{3107}",
2844         'mbsquare' => "\x{33D4}",
2845         'mcircle' => "\x{24DC}",
2846         'mcubedsquare' => "\x{33A5}",
2847         'mdotaccent' => "\x{1E41}",
2848         'mdotbelow' => "\x{1E43}",
2849         'meemarabic' => "\x{0645}",
2850         'meemfinalarabic' => "\x{FEE2}",
2851         'meeminitialarabic' => "\x{FEE3}",
2852         'meemmedialarabic' => "\x{FEE4}",
2853         'meemmeeminitialarabic' => "\x{FCD1}",
2854         'meemmeemisolatedarabic' => "\x{FC48}",
2855         'meetorusquare' => "\x{334D}",
2856         'mehiragana' => "\x{3081}",
2857         'meizierasquare' => "\x{337E}",
2858         'mekatakana' => "\x{30E1}",
2859         'mekatakanahalfwidth' => "\x{FF92}",
2860         'mem' => "\x{05DE}",
2861         'memdagesh' => "\x{FB3E}",
2862         'memdageshhebrew' => "\x{FB3E}",
2863         'memhebrew' => "\x{05DE}",
2864         'menarmenian' => "\x{0574}",
2865         'merkhahebrew' => "\x{05A5}",
2866         'merkhakefulahebrew' => "\x{05A6}",
2867         'merkhakefulalefthebrew' => "\x{05A6}",
2868         'merkhalefthebrew' => "\x{05A5}",
2869         'mhook' => "\x{0271}",
2870         'mhzsquare' => "\x{3392}",
2871         'middledotkatakanahalfwidth' => "\x{FF65}",
2872         'middot' => "\x{00B7}",
2873         'mieumacirclekorean' => "\x{3272}",
2874         'mieumaparenkorean' => "\x{3212}",
2875         'mieumcirclekorean' => "\x{3264}",
2876         'mieumkorean' => "\x{3141}",
2877         'mieumpansioskorean' => "\x{3170}",
2878         'mieumparenkorean' => "\x{3204}",
2879         'mieumpieupkorean' => "\x{316E}",
2880         'mieumsioskorean' => "\x{316F}",
2881         'mihiragana' => "\x{307F}",
2882         'mikatakana' => "\x{30DF}",
2883         'mikatakanahalfwidth' => "\x{FF90}",
2884         'minusbelowcmb' => "\x{0320}",
2885         'minuscircle' => "\x{2296}",
2886         'minusmod' => "\x{02D7}",
2887         'minusplus' => "\x{2213}",
2888         'miribaarusquare' => "\x{334A}",
2889         'mirisquare' => "\x{3349}",
2890         'mlonglegturned' => "\x{0270}",
2891         'mlsquare' => "\x{3396}",
2892         'mmcubedsquare' => "\x{33A3}",
2893         'mmonospace' => "\x{FF4D}",
2894         'mmsquaredsquare' => "\x{339F}",
2895         'mohiragana' => "\x{3082}",
2896         'mohmsquare' => "\x{33C1}",
2897         'mokatakana' => "\x{30E2}",
2898         'mokatakanahalfwidth' => "\x{FF93}",
2899         'molsquare' => "\x{33D6}",
2900         'momathai' => "\x{0E21}",
2901         'moverssquare' => "\x{33A7}",
2902         'moverssquaredsquare' => "\x{33A8}",
2903         'mparen' => "\x{24A8}",
2904         'mpasquare' => "\x{33AB}",
2905         'mssquare' => "\x{33B3}",
2906         'msuperior' => "\x{F6EF}",
2907         'mturned' => "\x{026F}",
2908         'mu1' => "\x{00B5}",
2909         'muasquare' => "\x{3382}",
2910         'muchgreater' => "\x{226B}",
2911         'muchless' => "\x{226A}",
2912         'mufsquare' => "\x{338C}",
2913         'mugreek' => "\x{03BC}",
2914         'mugsquare' => "\x{338D}",
2915         'muhiragana' => "\x{3080}",
2916         'mukatakana' => "\x{30E0}",
2917         'mukatakanahalfwidth' => "\x{FF91}",
2918         'mulsquare' => "\x{3395}",
2919         'mumsquare' => "\x{339B}",
2920         'munahhebrew' => "\x{05A3}",
2921         'munahlefthebrew' => "\x{05A3}",
2922         'musicflatsign' => "\x{266D}",
2923         'musicsharpsign' => "\x{266F}",
2924         'mussquare' => "\x{33B2}",
2925         'muvsquare' => "\x{33B6}",
2926         'muwsquare' => "\x{33BC}",
2927         'mvmegasquare' => "\x{33B9}",
2928         'mvsquare' => "\x{33B7}",
2929         'mwmegasquare' => "\x{33BF}",
2930         'mwsquare' => "\x{33BD}",
2931         'nabengali' => "\x{09A8}",
2932         'nabla' => "\x{2207}",
2933         'nadeva' => "\x{0928}",
2934         'nagujarati' => "\x{0AA8}",
2935         'nagurmukhi' => "\x{0A28}",
2936         'nahiragana' => "\x{306A}",
2937         'nakatakana' => "\x{30CA}",
2938         'nakatakanahalfwidth' => "\x{FF85}",
2939         'nasquare' => "\x{3381}",
2940         'nbopomofo' => "\x{310B}",
2941         'nbspace' => "\x{00A0}",
2942         'ncedilla' => "\x{0146}",
2943         'ncircle' => "\x{24DD}",
2944         'ncircumflexbelow' => "\x{1E4B}",
2945         'ndotaccent' => "\x{1E45}",
2946         'ndotbelow' => "\x{1E47}",
2947         'nehiragana' => "\x{306D}",
2948         'nekatakana' => "\x{30CD}",
2949         'nekatakanahalfwidth' => "\x{FF88}",
2950         'newsheqelsign' => "\x{20AA}",
2951         'nfsquare' => "\x{338B}",
2952         'ngabengali' => "\x{0999}",
2953         'ngadeva' => "\x{0919}",
2954         'ngagujarati' => "\x{0A99}",
2955         'ngagurmukhi' => "\x{0A19}",
2956         'ngonguthai' => "\x{0E07}",
2957         'nhiragana' => "\x{3093}",
2958         'nhookleft' => "\x{0272}",
2959         'nhookretroflex' => "\x{0273}",
2960         'nieunacirclekorean' => "\x{326F}",
2961         'nieunaparenkorean' => "\x{320F}",
2962         'nieuncieuckorean' => "\x{3135}",
2963         'nieuncirclekorean' => "\x{3261}",
2964         'nieunhieuhkorean' => "\x{3136}",
2965         'nieunkorean' => "\x{3134}",
2966         'nieunpansioskorean' => "\x{3168}",
2967         'nieunparenkorean' => "\x{3201}",
2968         'nieunsioskorean' => "\x{3167}",
2969         'nieuntikeutkorean' => "\x{3166}",
2970         'nihiragana' => "\x{306B}",
2971         'nikatakana' => "\x{30CB}",
2972         'nikatakanahalfwidth' => "\x{FF86}",
2973         'nikhahitleftthai' => "\x{F899}",
2974         'nikhahitthai' => "\x{0E4D}",
2975         'ninearabic' => "\x{0669}",
2976         'ninebengali' => "\x{09EF}",
2977         'ninecircle' => "\x{2468}",
2978         'ninecircleinversesansserif' => "\x{2792}",
2979         'ninedeva' => "\x{096F}",
2980         'ninegujarati' => "\x{0AEF}",
2981         'ninegurmukhi' => "\x{0A6F}",
2982         'ninehackarabic' => "\x{0669}",
2983         'ninehangzhou' => "\x{3029}",
2984         'nineideographicparen' => "\x{3228}",
2985         'nineinferior' => "\x{2089}",
2986         'ninemonospace' => "\x{FF19}",
2987         'nineoldstyle' => "\x{F739}",
2988         'nineparen' => "\x{247C}",
2989         'nineperiod' => "\x{2490}",
2990         'ninepersian' => "\x{06F9}",
2991         'nineroman' => "\x{2178}",
2992         'ninesuperior' => "\x{2079}",
2993         'nineteencircle' => "\x{2472}",
2994         'nineteenparen' => "\x{2486}",
2995         'nineteenperiod' => "\x{249A}",
2996         'ninethai' => "\x{0E59}",
2997         'nj' => "\x{01CC}",
2998         'njecyrillic' => "\x{045A}",
2999         'nkatakana' => "\x{30F3}",
3000         'nkatakanahalfwidth' => "\x{FF9D}",
3001         'nlegrightlong' => "\x{019E}",
3002         'nlinebelow' => "\x{1E49}",
3003         'nmonospace' => "\x{FF4E}",
3004         'nmsquare' => "\x{339A}",
3005         'nnabengali' => "\x{09A3}",
3006         'nnadeva' => "\x{0923}",
3007         'nnagujarati' => "\x{0AA3}",
3008         'nnagurmukhi' => "\x{0A23}",
3009         'nnnadeva' => "\x{0929}",
3010         'nohiragana' => "\x{306E}",
3011         'nokatakana' => "\x{30CE}",
3012         'nokatakanahalfwidth' => "\x{FF89}",
3013         'nonbreakingspace' => "\x{00A0}",
3014         'nonenthai' => "\x{0E13}",
3015         'nonuthai' => "\x{0E19}",
3016         'noonarabic' => "\x{0646}",
3017         'noonfinalarabic' => "\x{FEE6}",
3018         'noonghunnaarabic' => "\x{06BA}",
3019         'noonghunnafinalarabic' => "\x{FB9F}",
3020         'noonhehinitialarabic' => "\x{FEE7}\x{FEEC}",
3021         'nooninitialarabic' => "\x{FEE7}",
3022         'noonjeeminitialarabic' => "\x{FCD2}",
3023         'noonjeemisolatedarabic' => "\x{FC4B}",
3024         'noonmedialarabic' => "\x{FEE8}",
3025         'noonmeeminitialarabic' => "\x{FCD5}",
3026         'noonmeemisolatedarabic' => "\x{FC4E}",
3027         'noonnoonfinalarabic' => "\x{FC8D}",
3028         'notcontains' => "\x{220C}",
3029         'notelementof' => "\x{2209}",
3030         'notgreater' => "\x{226F}",
3031         'notgreaternorequal' => "\x{2271}",
3032         'notgreaternorless' => "\x{2279}",
3033         'notidentical' => "\x{2262}",
3034         'notless' => "\x{226E}",
3035         'notlessnorequal' => "\x{2270}",
3036         'notparallel' => "\x{2226}",
3037         'notprecedes' => "\x{2280}",
3038         'notsucceeds' => "\x{2281}",
3039         'notsuperset' => "\x{2285}",
3040         'nowarmenian' => "\x{0576}",
3041         'nparen' => "\x{24A9}",
3042         'nssquare' => "\x{33B1}",
3043         'nsuperior' => "\x{207F}",
3044         'nuhiragana' => "\x{306C}",
3045         'nukatakana' => "\x{30CC}",
3046         'nukatakanahalfwidth' => "\x{FF87}",
3047         'nuktabengali' => "\x{09BC}",
3048         'nuktadeva' => "\x{093C}",
3049         'nuktagujarati' => "\x{0ABC}",
3050         'nuktagurmukhi' => "\x{0A3C}",
3051         'numbersignmonospace' => "\x{FF03}",
3052         'numbersignsmall' => "\x{FE5F}",
3053         'numeralsigngreek' => "\x{0374}",
3054         'numeralsignlowergreek' => "\x{0375}",
3055         'numero' => "\x{2116}",
3056         'nun' => "\x{05E0}",
3057         'nundagesh' => "\x{FB40}",
3058         'nundageshhebrew' => "\x{FB40}",
3059         'nunhebrew' => "\x{05E0}",
3060         'nvsquare' => "\x{33B5}",
3061         'nwsquare' => "\x{33BB}",
3062         'nyabengali' => "\x{099E}",
3063         'nyadeva' => "\x{091E}",
3064         'nyagujarati' => "\x{0A9E}",
3065         'nyagurmukhi' => "\x{0A1E}",
3066         'oangthai' => "\x{0E2D}",
3067         'obarred' => "\x{0275}",
3068         'obarredcyrillic' => "\x{04E9}",
3069         'obarreddieresiscyrillic' => "\x{04EB}",
3070         'obengali' => "\x{0993}",
3071         'obopomofo' => "\x{311B}",
3072         'ocandradeva' => "\x{0911}",
3073         'ocandragujarati' => "\x{0A91}",
3074         'ocandravowelsigndeva' => "\x{0949}",
3075         'ocandravowelsigngujarati' => "\x{0AC9}",
3076         'ocaron' => "\x{01D2}",
3077         'ocircle' => "\x{24DE}",
3078         'ocircumflexacute' => "\x{1ED1}",
3079         'ocircumflexdotbelow' => "\x{1ED9}",
3080         'ocircumflexgrave' => "\x{1ED3}",
3081         'ocircumflexhookabove' => "\x{1ED5}",
3082         'ocircumflextilde' => "\x{1ED7}",
3083         'ocyrillic' => "\x{043E}",
3084         'odblacute' => "\x{0151}",
3085         'odblgrave' => "\x{020D}",
3086         'odeva' => "\x{0913}",
3087         'odieresiscyrillic' => "\x{04E7}",
3088         'odotbelow' => "\x{1ECD}",
3089         'oekorean' => "\x{315A}",
3090         'ogonekcmb' => "\x{0328}",
3091         'ogujarati' => "\x{0A93}",
3092         'oharmenian' => "\x{0585}",
3093         'ohiragana' => "\x{304A}",
3094         'ohookabove' => "\x{1ECF}",
3095         'ohornacute' => "\x{1EDB}",
3096         'ohorndotbelow' => "\x{1EE3}",
3097         'ohorngrave' => "\x{1EDD}",
3098         'ohornhookabove' => "\x{1EDF}",
3099         'ohorntilde' => "\x{1EE1}",
3100         'oi' => "\x{01A3}",
3101         'oinvertedbreve' => "\x{020F}",
3102         'okatakana' => "\x{30AA}",
3103         'okatakanahalfwidth' => "\x{FF75}",
3104         'okorean' => "\x{3157}",
3105         'olehebrew' => "\x{05AB}",
3106         'omacronacute' => "\x{1E53}",
3107         'omacrongrave' => "\x{1E51}",
3108         'omdeva' => "\x{0950}",
3109         'omegacyrillic' => "\x{0461}",
3110         'omegalatinclosed' => "\x{0277}",
3111         'omegaroundcyrillic' => "\x{047B}",
3112         'omegatitlocyrillic' => "\x{047D}",
3113         'omgujarati' => "\x{0AD0}",
3114         'omonospace' => "\x{FF4F}",
3115         'onearabic' => "\x{0661}",
3116         'onebengali' => "\x{09E7}",
3117         'onecircle' => "\x{2460}",
3118         'onecircleinversesansserif' => "\x{278A}",
3119         'onedeva' => "\x{0967}",
3120         'onefitted' => "\x{F6DC}",
3121         'onegujarati' => "\x{0AE7}",
3122         'onegurmukhi' => "\x{0A67}",
3123         'onehackarabic' => "\x{0661}",
3124         'onehangzhou' => "\x{3021}",
3125         'oneideographicparen' => "\x{3220}",
3126         'oneinferior' => "\x{2081}",
3127         'onemonospace' => "\x{FF11}",
3128         'onenumeratorbengali' => "\x{09F4}",
3129         'oneoldstyle' => "\x{F731}",
3130         'oneparen' => "\x{2474}",
3131         'oneperiod' => "\x{2488}",
3132         'onepersian' => "\x{06F1}",
3133         'oneroman' => "\x{2170}",
3134         'onethai' => "\x{0E51}",
3135         'oogonek' => "\x{01EB}",
3136         'oogonekmacron' => "\x{01ED}",
3137         'oogurmukhi' => "\x{0A13}",
3138         'oomatragurmukhi' => "\x{0A4B}",
3139         'oopen' => "\x{0254}",
3140         'oparen' => "\x{24AA}",
3141         'option' => "\x{2325}",
3142         'oshortdeva' => "\x{0912}",
3143         'oshortvowelsigndeva' => "\x{094A}",
3144         'osmallhiragana' => "\x{3049}",
3145         'osmallkatakana' => "\x{30A9}",
3146         'osmallkatakanahalfwidth' => "\x{FF6B}",
3147         'ostrokeacute' => "\x{01FF}",
3148         'osuperior' => "\x{F6F0}",
3149         'otcyrillic' => "\x{047F}",
3150         'otildeacute' => "\x{1E4D}",
3151         'otildedieresis' => "\x{1E4F}",
3152         'oubopomofo' => "\x{3121}",
3153         'overline' => "\x{203E}",
3154         'overlinecenterline' => "\x{FE4A}",
3155         'overlinecmb' => "\x{0305}",
3156         'overlinedashed' => "\x{FE49}",
3157         'overlinedblwavy' => "\x{FE4C}",
3158         'overlinewavy' => "\x{FE4B}",
3159         'overscore' => "\x{00AF}",
3160         'ovowelsignbengali' => "\x{09CB}",
3161         'ovowelsigndeva' => "\x{094B}",
3162         'ovowelsigngujarati' => "\x{0ACB}",
3163         'paampssquare' => "\x{3380}",
3164         'paasentosquare' => "\x{332B}",
3165         'pabengali' => "\x{09AA}",
3166         'pacute' => "\x{1E55}",
3167         'padeva' => "\x{092A}",
3168         'pagedown' => "\x{21DF}",
3169         'pageup' => "\x{21DE}",
3170         'pagujarati' => "\x{0AAA}",
3171         'pagurmukhi' => "\x{0A2A}",
3172         'pahiragana' => "\x{3071}",
3173         'paiyannoithai' => "\x{0E2F}",
3174         'pakatakana' => "\x{30D1}",
3175         'palatalizationcyrilliccmb' => "\x{0484}",
3176         'palochkacyrillic' => "\x{04C0}",
3177         'pansioskorean' => "\x{317F}",
3178         'parallel' => "\x{2225}",
3179         'parenleftaltonearabic' => "\x{FD3E}",
3180         'parenleftbt' => "\x{F8ED}",
3181         'parenleftex' => "\x{F8EC}",
3182         'parenleftinferior' => "\x{208D}",
3183         'parenleftmonospace' => "\x{FF08}",
3184         'parenleftsmall' => "\x{FE59}",
3185         'parenleftsuperior' => "\x{207D}",
3186         'parenlefttp' => "\x{F8EB}",
3187         'parenleftvertical' => "\x{FE35}",
3188         'parenrightaltonearabic' => "\x{FD3F}",
3189         'parenrightbt' => "\x{F8F8}",
3190         'parenrightex' => "\x{F8F7}",
3191         'parenrightinferior' => "\x{208E}",
3192         'parenrightmonospace' => "\x{FF09}",
3193         'parenrightsmall' => "\x{FE5A}",
3194         'parenrightsuperior' => "\x{207E}",
3195         'parenrighttp' => "\x{F8F6}",
3196         'parenrightvertical' => "\x{FE36}",
3197         'paseqhebrew' => "\x{05C0}",
3198         'pashtahebrew' => "\x{0599}",
3199         'pasquare' => "\x{33A9}",
3200         'patah' => "\x{05B7}",
3201         'patah11' => "\x{05B7}",
3202         'patah1d' => "\x{05B7}",
3203         'patah2a' => "\x{05B7}",
3204         'patahhebrew' => "\x{05B7}",
3205         'patahnarrowhebrew' => "\x{05B7}",
3206         'patahquarterhebrew' => "\x{05B7}",
3207         'patahwidehebrew' => "\x{05B7}",
3208         'pazerhebrew' => "\x{05A1}",
3209         'pbopomofo' => "\x{3106}",
3210         'pcircle' => "\x{24DF}",
3211         'pdotaccent' => "\x{1E57}",
3212         'pe' => "\x{05E4}",
3213         'pecyrillic' => "\x{043F}",
3214         'pedagesh' => "\x{FB44}",
3215         'pedageshhebrew' => "\x{FB44}",
3216         'peezisquare' => "\x{333B}",
3217         'pefinaldageshhebrew' => "\x{FB43}",
3218         'peharabic' => "\x{067E}",
3219         'peharmenian' => "\x{057A}",
3220         'pehebrew' => "\x{05E4}",
3221         'pehfinalarabic' => "\x{FB57}",
3222         'pehinitialarabic' => "\x{FB58}",
3223         'pehiragana' => "\x{307A}",
3224         'pehmedialarabic' => "\x{FB59}",
3225         'pekatakana' => "\x{30DA}",
3226         'pemiddlehookcyrillic' => "\x{04A7}",
3227         'perafehebrew' => "\x{FB4E}",
3228         'percentarabic' => "\x{066A}",
3229         'percentmonospace' => "\x{FF05}",
3230         'percentsmall' => "\x{FE6A}",
3231         'periodarmenian' => "\x{0589}",
3232         'periodhalfwidth' => "\x{FF61}",
3233         'periodinferior' => "\x{F6E7}",
3234         'periodmonospace' => "\x{FF0E}",
3235         'periodsmall' => "\x{FE52}",
3236         'periodsuperior' => "\x{F6E8}",
3237         'perispomenigreekcmb' => "\x{0342}",
3238         'pfsquare' => "\x{338A}",
3239         'phabengali' => "\x{09AB}",
3240         'phadeva' => "\x{092B}",
3241         'phagujarati' => "\x{0AAB}",
3242         'phagurmukhi' => "\x{0A2B}",
3243         'phieuphacirclekorean' => "\x{327A}",
3244         'phieuphaparenkorean' => "\x{321A}",
3245         'phieuphcirclekorean' => "\x{326C}",
3246         'phieuphkorean' => "\x{314D}",
3247         'phieuphparenkorean' => "\x{320C}",
3248         'philatin' => "\x{0278}",
3249         'phinthuthai' => "\x{0E3A}",
3250         'phisymbolgreek' => "\x{03D5}",
3251         'phook' => "\x{01A5}",
3252         'phophanthai' => "\x{0E1E}",
3253         'phophungthai' => "\x{0E1C}",
3254         'phosamphaothai' => "\x{0E20}",
3255         'pieupacirclekorean' => "\x{3273}",
3256         'pieupaparenkorean' => "\x{3213}",
3257         'pieupcieuckorean' => "\x{3176}",
3258         'pieupcirclekorean' => "\x{3265}",
3259         'pieupkiyeokkorean' => "\x{3172}",
3260         'pieupkorean' => "\x{3142}",
3261         'pieupparenkorean' => "\x{3205}",
3262         'pieupsioskiyeokkorean' => "\x{3174}",
3263         'pieupsioskorean' => "\x{3144}",
3264         'pieupsiostikeutkorean' => "\x{3175}",
3265         'pieupthieuthkorean' => "\x{3177}",
3266         'pieuptikeutkorean' => "\x{3173}",
3267         'pihiragana' => "\x{3074}",
3268         'pikatakana' => "\x{30D4}",
3269         'pisymbolgreek' => "\x{03D6}",
3270         'piwrarmenian' => "\x{0583}",
3271         'plusbelowcmb' => "\x{031F}",
3272         'pluscircle' => "\x{2295}",
3273         'plusmod' => "\x{02D6}",
3274         'plusmonospace' => "\x{FF0B}",
3275         'plussmall' => "\x{FE62}",
3276         'plussuperior' => "\x{207A}",
3277         'pmonospace' => "\x{FF50}",
3278         'pmsquare' => "\x{33D8}",
3279         'pohiragana' => "\x{307D}",
3280         'pointingindexdownwhite' => "\x{261F}",
3281         'pointingindexleftwhite' => "\x{261C}",
3282         'pointingindexrightwhite' => "\x{261E}",
3283         'pointingindexupwhite' => "\x{261D}",
3284         'pokatakana' => "\x{30DD}",
3285         'poplathai' => "\x{0E1B}",
3286         'postalmark' => "\x{3012}",
3287         'postalmarkface' => "\x{3020}",
3288         'pparen' => "\x{24AB}",
3289         'precedes' => "\x{227A}",
3290         'primemod' => "\x{02B9}",
3291         'primereversed' => "\x{2035}",
3292         'projective' => "\x{2305}",
3293         'prolongedkana' => "\x{30FC}",
3294         'propellor' => "\x{2318}",
3295         'proportion' => "\x{2237}",
3296         'psicyrillic' => "\x{0471}",
3297         'psilipneumatacyrilliccmb' => "\x{0486}",
3298         'pssquare' => "\x{33B0}",
3299         'puhiragana' => "\x{3077}",
3300         'pukatakana' => "\x{30D7}",
3301         'pvsquare' => "\x{33B4}",
3302         'pwsquare' => "\x{33BA}",
3303         'qadeva' => "\x{0958}",
3304         'qadmahebrew' => "\x{05A8}",
3305         'qafarabic' => "\x{0642}",
3306         'qaffinalarabic' => "\x{FED6}",
3307         'qafinitialarabic' => "\x{FED7}",
3308         'qafmedialarabic' => "\x{FED8}",
3309         'qamats' => "\x{05B8}",
3310         'qamats10' => "\x{05B8}",
3311         'qamats1a' => "\x{05B8}",
3312         'qamats1c' => "\x{05B8}",
3313         'qamats27' => "\x{05B8}",
3314         'qamats29' => "\x{05B8}",
3315         'qamats33' => "\x{05B8}",
3316         'qamatsde' => "\x{05B8}",
3317         'qamatshebrew' => "\x{05B8}",
3318         'qamatsnarrowhebrew' => "\x{05B8}",
3319         'qamatsqatanhebrew' => "\x{05B8}",
3320         'qamatsqatannarrowhebrew' => "\x{05B8}",
3321         'qamatsqatanquarterhebrew' => "\x{05B8}",
3322         'qamatsqatanwidehebrew' => "\x{05B8}",
3323         'qamatsquarterhebrew' => "\x{05B8}",
3324         'qamatswidehebrew' => "\x{05B8}",
3325         'qarneyparahebrew' => "\x{059F}",
3326         'qbopomofo' => "\x{3111}",
3327         'qcircle' => "\x{24E0}",
3328         'qhook' => "\x{02A0}",
3329         'qmonospace' => "\x{FF51}",
3330         'qof' => "\x{05E7}",
3331         'qofdagesh' => "\x{FB47}",
3332         'qofdageshhebrew' => "\x{FB47}",
3333         'qofhatafpatah' => "\x{05E7}\x{05B2}",
3334         'qofhatafpatahhebrew' => "\x{05E7}\x{05B2}",
3335         'qofhatafsegol' => "\x{05E7}\x{05B1}",
3336         'qofhatafsegolhebrew' => "\x{05E7}\x{05B1}",
3337         'qofhebrew' => "\x{05E7}",
3338         'qofhiriq' => "\x{05E7}\x{05B4}",
3339         'qofhiriqhebrew' => "\x{05E7}\x{05B4}",
3340         'qofholam' => "\x{05E7}\x{05B9}",
3341         'qofholamhebrew' => "\x{05E7}\x{05B9}",
3342         'qofpatah' => "\x{05E7}\x{05B7}",
3343         'qofpatahhebrew' => "\x{05E7}\x{05B7}",
3344         'qofqamats' => "\x{05E7}\x{05B8}",
3345         'qofqamatshebrew' => "\x{05E7}\x{05B8}",
3346         'qofqubuts' => "\x{05E7}\x{05BB}",
3347         'qofqubutshebrew' => "\x{05E7}\x{05BB}",
3348         'qofsegol' => "\x{05E7}\x{05B6}",
3349         'qofsegolhebrew' => "\x{05E7}\x{05B6}",
3350         'qofsheva' => "\x{05E7}\x{05B0}",
3351         'qofshevahebrew' => "\x{05E7}\x{05B0}",
3352         'qoftsere' => "\x{05E7}\x{05B5}",
3353         'qoftserehebrew' => "\x{05E7}\x{05B5}",
3354         'qparen' => "\x{24AC}",
3355         'quarternote' => "\x{2669}",
3356         'qubuts' => "\x{05BB}",
3357         'qubuts18' => "\x{05BB}",
3358         'qubuts25' => "\x{05BB}",
3359         'qubuts31' => "\x{05BB}",
3360         'qubutshebrew' => "\x{05BB}",
3361         'qubutsnarrowhebrew' => "\x{05BB}",
3362         'qubutsquarterhebrew' => "\x{05BB}",
3363         'qubutswidehebrew' => "\x{05BB}",
3364         'questionarabic' => "\x{061F}",
3365         'questionarmenian' => "\x{055E}",
3366         'questiondownsmall' => "\x{F7BF}",
3367         'questiongreek' => "\x{037E}",
3368         'questionmonospace' => "\x{FF1F}",
3369         'questionsmall' => "\x{F73F}",
3370         'quotedblmonospace' => "\x{FF02}",
3371         'quotedblprime' => "\x{301E}",
3372         'quotedblprimereversed' => "\x{301D}",
3373         'quoteleftreversed' => "\x{201B}",
3374         'quoterightn' => "\x{0149}",
3375         'quotesinglemonospace' => "\x{FF07}",
3376         'raarmenian' => "\x{057C}",
3377         'rabengali' => "\x{09B0}",
3378         'radeva' => "\x{0930}",
3379         'radicalex' => "\x{F8E5}",
3380         'radoverssquare' => "\x{33AE}",
3381         'radoverssquaredsquare' => "\x{33AF}",
3382         'radsquare' => "\x{33AD}",
3383         'rafe' => "\x{05BF}",
3384         'rafehebrew' => "\x{05BF}",
3385         'ragujarati' => "\x{0AB0}",
3386         'ragurmukhi' => "\x{0A30}",
3387         'rahiragana' => "\x{3089}",
3388         'rakatakana' => "\x{30E9}",
3389         'rakatakanahalfwidth' => "\x{FF97}",
3390         'ralowerdiagonalbengali' => "\x{09F1}",
3391         'ramiddlediagonalbengali' => "\x{09F0}",
3392         'ramshorn' => "\x{0264}",
3393         'ratio' => "\x{2236}",
3394         'rbopomofo' => "\x{3116}",
3395         'rcedilla' => "\x{0157}",
3396         'rcircle' => "\x{24E1}",
3397         'rdblgrave' => "\x{0211}",
3398         'rdotaccent' => "\x{1E59}",
3399         'rdotbelow' => "\x{1E5B}",
3400         'rdotbelowmacron' => "\x{1E5D}",
3401         'referencemark' => "\x{203B}",
3402         'registersans' => "\x{F8E8}",
3403         'registerserif' => "\x{F6DA}",
3404         'reharabic' => "\x{0631}",
3405         'reharmenian' => "\x{0580}",
3406         'rehfinalarabic' => "\x{FEAE}",
3407         'rehiragana' => "\x{308C}",
3408         'rehyehaleflamarabic' => "\x{0631}\x{FEF3}\x{FE8E}\x{0644}",
3409         'rekatakana' => "\x{30EC}",
3410         'rekatakanahalfwidth' => "\x{FF9A}",
3411         'resh' => "\x{05E8}",
3412         'reshdageshhebrew' => "\x{FB48}",
3413         'reshhatafpatah' => "\x{05E8}\x{05B2}",
3414         'reshhatafpatahhebrew' => "\x{05E8}\x{05B2}",
3415         'reshhatafsegol' => "\x{05E8}\x{05B1}",
3416         'reshhatafsegolhebrew' => "\x{05E8}\x{05B1}",
3417         'reshhebrew' => "\x{05E8}",
3418         'reshhiriq' => "\x{05E8}\x{05B4}",
3419         'reshhiriqhebrew' => "\x{05E8}\x{05B4}",
3420         'reshholam' => "\x{05E8}\x{05B9}",
3421         'reshholamhebrew' => "\x{05E8}\x{05B9}",
3422         'reshpatah' => "\x{05E8}\x{05B7}",
3423         'reshpatahhebrew' => "\x{05E8}\x{05B7}",
3424         'reshqamats' => "\x{05E8}\x{05B8}",
3425         'reshqamatshebrew' => "\x{05E8}\x{05B8}",
3426         'reshqubuts' => "\x{05E8}\x{05BB}",
3427         'reshqubutshebrew' => "\x{05E8}\x{05BB}",
3428         'reshsegol' => "\x{05E8}\x{05B6}",
3429         'reshsegolhebrew' => "\x{05E8}\x{05B6}",
3430         'reshsheva' => "\x{05E8}\x{05B0}",
3431         'reshshevahebrew' => "\x{05E8}\x{05B0}",
3432         'reshtsere' => "\x{05E8}\x{05B5}",
3433         'reshtserehebrew' => "\x{05E8}\x{05B5}",
3434         'reversedtilde' => "\x{223D}",
3435         'reviahebrew' => "\x{0597}",
3436         'reviamugrashhebrew' => "\x{0597}",
3437         'rfishhook' => "\x{027E}",
3438         'rfishhookreversed' => "\x{027F}",
3439         'rhabengali' => "\x{09DD}",
3440         'rhadeva' => "\x{095D}",
3441         'rhook' => "\x{027D}",
3442         'rhookturned' => "\x{027B}",
3443         'rhookturnedsuperior' => "\x{02B5}",
3444         'rhosymbolgreek' => "\x{03F1}",
3445         'rhotichookmod' => "\x{02DE}",
3446         'rieulacirclekorean' => "\x{3271}",
3447         'rieulaparenkorean' => "\x{3211}",
3448         'rieulcirclekorean' => "\x{3263}",
3449         'rieulhieuhkorean' => "\x{3140}",
3450         'rieulkiyeokkorean' => "\x{313A}",
3451         'rieulkiyeoksioskorean' => "\x{3169}",
3452         'rieulkorean' => "\x{3139}",
3453         'rieulmieumkorean' => "\x{313B}",
3454         'rieulpansioskorean' => "\x{316C}",
3455         'rieulparenkorean' => "\x{3203}",
3456         'rieulphieuphkorean' => "\x{313F}",
3457         'rieulpieupkorean' => "\x{313C}",
3458         'rieulpieupsioskorean' => "\x{316B}",
3459         'rieulsioskorean' => "\x{313D}",
3460         'rieulthieuthkorean' => "\x{313E}",
3461         'rieultikeutkorean' => "\x{316A}",
3462         'rieulyeorinhieuhkorean' => "\x{316D}",
3463         'rightangle' => "\x{221F}",
3464         'righttackbelowcmb' => "\x{0319}",
3465         'righttriangle' => "\x{22BF}",
3466         'rihiragana' => "\x{308A}",
3467         'rikatakana' => "\x{30EA}",
3468         'rikatakanahalfwidth' => "\x{FF98}",
3469         'ringbelowcmb' => "\x{0325}",
3470         'ringcmb' => "\x{030A}",
3471         'ringhalfleft' => "\x{02BF}",
3472         'ringhalfleftarmenian' => "\x{0559}",
3473         'ringhalfleftbelowcmb' => "\x{031C}",
3474         'ringhalfleftcentered' => "\x{02D3}",
3475         'ringhalfright' => "\x{02BE}",
3476         'ringhalfrightbelowcmb' => "\x{0339}",
3477         'ringhalfrightcentered' => "\x{02D2}",
3478         'rinvertedbreve' => "\x{0213}",
3479         'rittorusquare' => "\x{3351}",
3480         'rlinebelow' => "\x{1E5F}",
3481         'rlongleg' => "\x{027C}",
3482         'rlonglegturned' => "\x{027A}",
3483         'rmonospace' => "\x{FF52}",
3484         'rohiragana' => "\x{308D}",
3485         'rokatakana' => "\x{30ED}",
3486         'rokatakanahalfwidth' => "\x{FF9B}",
3487         'roruathai' => "\x{0E23}",
3488         'rparen' => "\x{24AD}",
3489         'rrabengali' => "\x{09DC}",
3490         'rradeva' => "\x{0931}",
3491         'rragurmukhi' => "\x{0A5C}",
3492         'rreharabic' => "\x{0691}",
3493         'rrehfinalarabic' => "\x{FB8D}",
3494         'rrvocalicbengali' => "\x{09E0}",
3495         'rrvocalicdeva' => "\x{0960}",
3496         'rrvocalicgujarati' => "\x{0AE0}",
3497         'rrvocalicvowelsignbengali' => "\x{09C4}",
3498         'rrvocalicvowelsigndeva' => "\x{0944}",
3499         'rrvocalicvowelsigngujarati' => "\x{0AC4}",
3500         'rsuperior' => "\x{F6F1}",
3501         'rturned' => "\x{0279}",
3502         'rturnedsuperior' => "\x{02B4}",
3503         'ruhiragana' => "\x{308B}",
3504         'rukatakana' => "\x{30EB}",
3505         'rukatakanahalfwidth' => "\x{FF99}",
3506         'rupeemarkbengali' => "\x{09F2}",
3507         'rupeesignbengali' => "\x{09F3}",
3508         'rupiah' => "\x{F6DD}",
3509         'ruthai' => "\x{0E24}",
3510         'rvocalicbengali' => "\x{098B}",
3511         'rvocalicdeva' => "\x{090B}",
3512         'rvocalicgujarati' => "\x{0A8B}",
3513         'rvocalicvowelsignbengali' => "\x{09C3}",
3514         'rvocalicvowelsigndeva' => "\x{0943}",
3515         'rvocalicvowelsigngujarati' => "\x{0AC3}",
3516         'sabengali' => "\x{09B8}",
3517         'sacutedotaccent' => "\x{1E65}",
3518         'sadarabic' => "\x{0635}",
3519         'sadeva' => "\x{0938}",
3520         'sadfinalarabic' => "\x{FEBA}",
3521         'sadinitialarabic' => "\x{FEBB}",
3522         'sadmedialarabic' => "\x{FEBC}",
3523         'sagujarati' => "\x{0AB8}",
3524         'sagurmukhi' => "\x{0A38}",
3525         'sahiragana' => "\x{3055}",
3526         'sakatakana' => "\x{30B5}",
3527         'sakatakanahalfwidth' => "\x{FF7B}",
3528         'sallallahoualayhewasallamarabic' => "\x{FDFA}",
3529         'samekh' => "\x{05E1}",
3530         'samekhdagesh' => "\x{FB41}",
3531         'samekhdageshhebrew' => "\x{FB41}",
3532         'samekhhebrew' => "\x{05E1}",
3533         'saraaathai' => "\x{0E32}",
3534         'saraaethai' => "\x{0E41}",
3535         'saraaimaimalaithai' => "\x{0E44}",
3536         'saraaimaimuanthai' => "\x{0E43}",
3537         'saraamthai' => "\x{0E33}",
3538         'saraathai' => "\x{0E30}",
3539         'saraethai' => "\x{0E40}",
3540         'saraiileftthai' => "\x{F886}",
3541         'saraiithai' => "\x{0E35}",
3542         'saraileftthai' => "\x{F885}",
3543         'saraithai' => "\x{0E34}",
3544         'saraothai' => "\x{0E42}",
3545         'saraueeleftthai' => "\x{F888}",
3546         'saraueethai' => "\x{0E37}",
3547         'saraueleftthai' => "\x{F887}",
3548         'sarauethai' => "\x{0E36}",
3549         'sarauthai' => "\x{0E38}",
3550         'sarauuthai' => "\x{0E39}",
3551         'sbopomofo' => "\x{3119}",
3552         'scarondotaccent' => "\x{1E67}",
3553         'schwa' => "\x{0259}",
3554         'schwacyrillic' => "\x{04D9}",
3555         'schwadieresiscyrillic' => "\x{04DB}",
3556         'schwahook' => "\x{025A}",
3557         'scircle' => "\x{24E2}",
3558         'sdotaccent' => "\x{1E61}",
3559         'sdotbelow' => "\x{1E63}",
3560         'sdotbelowdotaccent' => "\x{1E69}",
3561         'seagullbelowcmb' => "\x{033C}",
3562         'secondtonechinese' => "\x{02CA}",
3563         'seenarabic' => "\x{0633}",
3564         'seenfinalarabic' => "\x{FEB2}",
3565         'seeninitialarabic' => "\x{FEB3}",
3566         'seenmedialarabic' => "\x{FEB4}",
3567         'segol' => "\x{05B6}",
3568         'segol13' => "\x{05B6}",
3569         'segol1f' => "\x{05B6}",
3570         'segol2c' => "\x{05B6}",
3571         'segolhebrew' => "\x{05B6}",
3572         'segolnarrowhebrew' => "\x{05B6}",
3573         'segolquarterhebrew' => "\x{05B6}",
3574         'segoltahebrew' => "\x{0592}",
3575         'segolwidehebrew' => "\x{05B6}",
3576         'seharmenian' => "\x{057D}",
3577         'sehiragana' => "\x{305B}",
3578         'sekatakana' => "\x{30BB}",
3579         'sekatakanahalfwidth' => "\x{FF7E}",
3580         'semicolonarabic' => "\x{061B}",
3581         'semicolonmonospace' => "\x{FF1B}",
3582         'semicolonsmall' => "\x{FE54}",
3583         'semivoicedmarkkana' => "\x{309C}",
3584         'semivoicedmarkkanahalfwidth' => "\x{FF9F}",
3585         'sentisquare' => "\x{3322}",
3586         'sentosquare' => "\x{3323}",
3587         'sevenarabic' => "\x{0667}",
3588         'sevenbengali' => "\x{09ED}",
3589         'sevencircle' => "\x{2466}",
3590         'sevencircleinversesansserif' => "\x{2790}",
3591         'sevendeva' => "\x{096D}",
3592         'sevengujarati' => "\x{0AED}",
3593         'sevengurmukhi' => "\x{0A6D}",
3594         'sevenhackarabic' => "\x{0667}",
3595         'sevenhangzhou' => "\x{3027}",
3596         'sevenideographicparen' => "\x{3226}",
3597         'seveninferior' => "\x{2087}",
3598         'sevenmonospace' => "\x{FF17}",
3599         'sevenoldstyle' => "\x{F737}",
3600         'sevenparen' => "\x{247A}",
3601         'sevenperiod' => "\x{248E}",
3602         'sevenpersian' => "\x{06F7}",
3603         'sevenroman' => "\x{2176}",
3604         'sevensuperior' => "\x{2077}",
3605         'seventeencircle' => "\x{2470}",
3606         'seventeenparen' => "\x{2484}",
3607         'seventeenperiod' => "\x{2498}",
3608         'seventhai' => "\x{0E57}",
3609         'sfthyphen' => "\x{00AD}",
3610         'shaarmenian' => "\x{0577}",
3611         'shabengali' => "\x{09B6}",
3612         'shacyrillic' => "\x{0448}",
3613         'shaddaarabic' => "\x{0651}",
3614         'shaddadammaarabic' => "\x{FC61}",
3615         'shaddadammatanarabic' => "\x{FC5E}",
3616         'shaddafathaarabic' => "\x{FC60}",
3617         'shaddafathatanarabic' => "\x{0651}\x{064B}",
3618         'shaddakasraarabic' => "\x{FC62}",
3619         'shaddakasratanarabic' => "\x{FC5F}",
3620         'shadedark' => "\x{2593}",
3621         'shadelight' => "\x{2591}",
3622         'shademedium' => "\x{2592}",
3623         'shadeva' => "\x{0936}",
3624         'shagujarati' => "\x{0AB6}",
3625         'shagurmukhi' => "\x{0A36}",
3626         'shalshelethebrew' => "\x{0593}",
3627         'shbopomofo' => "\x{3115}",
3628         'shchacyrillic' => "\x{0449}",
3629         'sheenarabic' => "\x{0634}",
3630         'sheenfinalarabic' => "\x{FEB6}",
3631         'sheeninitialarabic' => "\x{FEB7}",
3632         'sheenmedialarabic' => "\x{FEB8}",
3633         'sheicoptic' => "\x{03E3}",
3634         'sheqel' => "\x{20AA}",
3635         'sheqelhebrew' => "\x{20AA}",
3636         'sheva' => "\x{05B0}",
3637         'sheva115' => "\x{05B0}",
3638         'sheva15' => "\x{05B0}",
3639         'sheva22' => "\x{05B0}",
3640         'sheva2e' => "\x{05B0}",
3641         'shevahebrew' => "\x{05B0}",
3642         'shevanarrowhebrew' => "\x{05B0}",
3643         'shevaquarterhebrew' => "\x{05B0}",
3644         'shevawidehebrew' => "\x{05B0}",
3645         'shhacyrillic' => "\x{04BB}",
3646         'shimacoptic' => "\x{03ED}",
3647         'shin' => "\x{05E9}",
3648         'shindagesh' => "\x{FB49}",
3649         'shindageshhebrew' => "\x{FB49}",
3650         'shindageshshindot' => "\x{FB2C}",
3651         'shindageshshindothebrew' => "\x{FB2C}",
3652         'shindageshsindot' => "\x{FB2D}",
3653         'shindageshsindothebrew' => "\x{FB2D}",
3654         'shindothebrew' => "\x{05C1}",
3655         'shinhebrew' => "\x{05E9}",
3656         'shinshindot' => "\x{FB2A}",
3657         'shinshindothebrew' => "\x{FB2A}",
3658         'shinsindot' => "\x{FB2B}",
3659         'shinsindothebrew' => "\x{FB2B}",
3660         'shook' => "\x{0282}",
3661         'sigmafinal' => "\x{03C2}",
3662         'sigmalunatesymbolgreek' => "\x{03F2}",
3663         'sihiragana' => "\x{3057}",
3664         'sikatakana' => "\x{30B7}",
3665         'sikatakanahalfwidth' => "\x{FF7C}",
3666         'siluqhebrew' => "\x{05BD}",
3667         'siluqlefthebrew' => "\x{05BD}",
3668         'sindothebrew' => "\x{05C2}",
3669         'siosacirclekorean' => "\x{3274}",
3670         'siosaparenkorean' => "\x{3214}",
3671         'sioscieuckorean' => "\x{317E}",
3672         'sioscirclekorean' => "\x{3266}",
3673         'sioskiyeokkorean' => "\x{317A}",
3674         'sioskorean' => "\x{3145}",
3675         'siosnieunkorean' => "\x{317B}",
3676         'siosparenkorean' => "\x{3206}",
3677         'siospieupkorean' => "\x{317D}",
3678         'siostikeutkorean' => "\x{317C}",
3679         'sixarabic' => "\x{0666}",
3680         'sixbengali' => "\x{09EC}",
3681         'sixcircle' => "\x{2465}",
3682         'sixcircleinversesansserif' => "\x{278F}",
3683         'sixdeva' => "\x{096C}",
3684         'sixgujarati' => "\x{0AEC}",
3685         'sixgurmukhi' => "\x{0A6C}",
3686         'sixhackarabic' => "\x{0666}",
3687         'sixhangzhou' => "\x{3026}",
3688         'sixideographicparen' => "\x{3225}",
3689         'sixinferior' => "\x{2086}",
3690         'sixmonospace' => "\x{FF16}",
3691         'sixoldstyle' => "\x{F736}",
3692         'sixparen' => "\x{2479}",
3693         'sixperiod' => "\x{248D}",
3694         'sixpersian' => "\x{06F6}",
3695         'sixroman' => "\x{2175}",
3696         'sixsuperior' => "\x{2076}",
3697         'sixteencircle' => "\x{246F}",
3698         'sixteencurrencydenominatorbengali' => "\x{09F9}",
3699         'sixteenparen' => "\x{2483}",
3700         'sixteenperiod' => "\x{2497}",
3701         'sixthai' => "\x{0E56}",
3702         'slashmonospace' => "\x{FF0F}",
3703         'slong' => "\x{017F}",
3704         'slongdotaccent' => "\x{1E9B}",
3705         'smonospace' => "\x{FF53}",
3706         'sofpasuqhebrew' => "\x{05C3}",
3707         'softhyphen' => "\x{00AD}",
3708         'softsigncyrillic' => "\x{044C}",
3709         'sohiragana' => "\x{305D}",
3710         'sokatakana' => "\x{30BD}",
3711         'sokatakanahalfwidth' => "\x{FF7F}",
3712         'soliduslongoverlaycmb' => "\x{0338}",
3713         'solidusshortoverlaycmb' => "\x{0337}",
3714         'sorusithai' => "\x{0E29}",
3715         'sosalathai' => "\x{0E28}",
3716         'sosothai' => "\x{0E0B}",
3717         'sosuathai' => "\x{0E2A}",
3718         'spacehackarabic' => "\x{0020}",
3719         'spadesuitblack' => "\x{2660}",
3720         'spadesuitwhite' => "\x{2664}",
3721         'sparen' => "\x{24AE}",
3722         'squarebelowcmb' => "\x{033B}",
3723         'squarecc' => "\x{33C4}",
3724         'squarecm' => "\x{339D}",
3725         'squarediagonalcrosshatchfill' => "\x{25A9}",
3726         'squarehorizontalfill' => "\x{25A4}",
3727         'squarekg' => "\x{338F}",
3728         'squarekm' => "\x{339E}",
3729         'squarekmcapital' => "\x{33CE}",
3730         'squareln' => "\x{33D1}",
3731         'squarelog' => "\x{33D2}",
3732         'squaremg' => "\x{338E}",
3733         'squaremil' => "\x{33D5}",
3734         'squaremm' => "\x{339C}",
3735         'squaremsquared' => "\x{33A1}",
3736         'squareorthogonalcrosshatchfill' => "\x{25A6}",
3737         'squareupperlefttolowerrightfill' => "\x{25A7}",
3738         'squareupperrighttolowerleftfill' => "\x{25A8}",
3739         'squareverticalfill' => "\x{25A5}",
3740         'squarewhitewithsmallblack' => "\x{25A3}",
3741         'srsquare' => "\x{33DB}",
3742         'ssabengali' => "\x{09B7}",
3743         'ssadeva' => "\x{0937}",
3744         'ssagujarati' => "\x{0AB7}",
3745         'ssangcieuckorean' => "\x{3149}",
3746         'ssanghieuhkorean' => "\x{3185}",
3747         'ssangieungkorean' => "\x{3180}",
3748         'ssangkiyeokkorean' => "\x{3132}",
3749         'ssangnieunkorean' => "\x{3165}",
3750         'ssangpieupkorean' => "\x{3143}",
3751         'ssangsioskorean' => "\x{3146}",
3752         'ssangtikeutkorean' => "\x{3138}",
3753         'ssuperior' => "\x{F6F2}",
3754         'sterlingmonospace' => "\x{FFE1}",
3755         'strokelongoverlaycmb' => "\x{0336}",
3756         'strokeshortoverlaycmb' => "\x{0335}",
3757         'subset' => "\x{2282}",
3758         'subsetnotequal' => "\x{228A}",
3759         'subsetorequal' => "\x{2286}",
3760         'succeeds' => "\x{227B}",
3761         'suhiragana' => "\x{3059}",
3762         'sukatakana' => "\x{30B9}",
3763         'sukatakanahalfwidth' => "\x{FF7D}",
3764         'sukunarabic' => "\x{0652}",
3765         'superset' => "\x{2283}",
3766         'supersetnotequal' => "\x{228B}",
3767         'supersetorequal' => "\x{2287}",
3768         'svsquare' => "\x{33DC}",
3769         'syouwaerasquare' => "\x{337C}",
3770         'tabengali' => "\x{09A4}",
3771         'tackdown' => "\x{22A4}",
3772         'tackleft' => "\x{22A3}",
3773         'tadeva' => "\x{0924}",
3774         'tagujarati' => "\x{0AA4}",
3775         'tagurmukhi' => "\x{0A24}",
3776         'taharabic' => "\x{0637}",
3777         'tahfinalarabic' => "\x{FEC2}",
3778         'tahinitialarabic' => "\x{FEC3}",
3779         'tahiragana' => "\x{305F}",
3780         'tahmedialarabic' => "\x{FEC4}",
3781         'taisyouerasquare' => "\x{337D}",
3782         'takatakana' => "\x{30BF}",
3783         'takatakanahalfwidth' => "\x{FF80}",
3784         'tatweelarabic' => "\x{0640}",
3785         'tav' => "\x{05EA}",
3786         'tavdages' => "\x{FB4A}",
3787         'tavdagesh' => "\x{FB4A}",
3788         'tavdageshhebrew' => "\x{FB4A}",
3789         'tavhebrew' => "\x{05EA}",
3790         'tbopomofo' => "\x{310A}",
3791         'tccurl' => "\x{02A8}",
3792         'tcedilla' => "\x{0163}",
3793         'tcheharabic' => "\x{0686}",
3794         'tchehfinalarabic' => "\x{FB7B}",
3795         'tchehinitialarabic' => "\x{FB7C}",
3796         'tchehmedialarabic' => "\x{FB7D}",
3797         'tchehmeeminitialarabic' => "\x{FB7C}\x{FEE4}",
3798         'tcircle' => "\x{24E3}",
3799         'tcircumflexbelow' => "\x{1E71}",
3800         'tdieresis' => "\x{1E97}",
3801         'tdotaccent' => "\x{1E6B}",
3802         'tdotbelow' => "\x{1E6D}",
3803         'tecyrillic' => "\x{0442}",
3804         'tedescendercyrillic' => "\x{04AD}",
3805         'teharabic' => "\x{062A}",
3806         'tehfinalarabic' => "\x{FE96}",
3807         'tehhahinitialarabic' => "\x{FCA2}",
3808         'tehhahisolatedarabic' => "\x{FC0C}",
3809         'tehinitialarabic' => "\x{FE97}",
3810         'tehiragana' => "\x{3066}",
3811         'tehjeeminitialarabic' => "\x{FCA1}",
3812         'tehjeemisolatedarabic' => "\x{FC0B}",
3813         'tehmarbutaarabic' => "\x{0629}",
3814         'tehmarbutafinalarabic' => "\x{FE94}",
3815         'tehmedialarabic' => "\x{FE98}",
3816         'tehmeeminitialarabic' => "\x{FCA4}",
3817         'tehmeemisolatedarabic' => "\x{FC0E}",
3818         'tehnoonfinalarabic' => "\x{FC73}",
3819         'tekatakana' => "\x{30C6}",
3820         'tekatakanahalfwidth' => "\x{FF83}",
3821         'telephone' => "\x{2121}",
3822         'telephoneblack' => "\x{260E}",
3823         'telishagedolahebrew' => "\x{05A0}",
3824         'telishaqetanahebrew' => "\x{05A9}",
3825         'tencircle' => "\x{2469}",
3826         'tenideographicparen' => "\x{3229}",
3827         'tenparen' => "\x{247D}",
3828         'tenperiod' => "\x{2491}",
3829         'tenroman' => "\x{2179}",
3830         'tesh' => "\x{02A7}",
3831         'tet' => "\x{05D8}",
3832         'tetdagesh' => "\x{FB38}",
3833         'tetdageshhebrew' => "\x{FB38}",
3834         'tethebrew' => "\x{05D8}",
3835         'tetsecyrillic' => "\x{04B5}",
3836         'tevirhebrew' => "\x{059B}",
3837         'tevirlefthebrew' => "\x{059B}",
3838         'thabengali' => "\x{09A5}",
3839         'thadeva' => "\x{0925}",
3840         'thagujarati' => "\x{0AA5}",
3841         'thagurmukhi' => "\x{0A25}",
3842         'thalarabic' => "\x{0630}",
3843         'thalfinalarabic' => "\x{FEAC}",
3844         'thanthakhatlowleftthai' => "\x{F898}",
3845         'thanthakhatlowrightthai' => "\x{F897}",
3846         'thanthakhatthai' => "\x{0E4C}",
3847         'thanthakhatupperleftthai' => "\x{F896}",
3848         'theharabic' => "\x{062B}",
3849         'thehfinalarabic' => "\x{FE9A}",
3850         'thehinitialarabic' => "\x{FE9B}",
3851         'thehmedialarabic' => "\x{FE9C}",
3852         'thereexists' => "\x{2203}",
3853         'thetasymbolgreek' => "\x{03D1}",
3854         'thieuthacirclekorean' => "\x{3279}",
3855         'thieuthaparenkorean' => "\x{3219}",
3856         'thieuthcirclekorean' => "\x{326B}",
3857         'thieuthkorean' => "\x{314C}",
3858         'thieuthparenkorean' => "\x{320B}",
3859         'thirteencircle' => "\x{246C}",
3860         'thirteenparen' => "\x{2480}",
3861         'thirteenperiod' => "\x{2494}",
3862         'thonangmonthothai' => "\x{0E11}",
3863         'thook' => "\x{01AD}",
3864         'thophuthaothai' => "\x{0E12}",
3865         'thothahanthai' => "\x{0E17}",
3866         'thothanthai' => "\x{0E10}",
3867         'thothongthai' => "\x{0E18}",
3868         'thothungthai' => "\x{0E16}",
3869         'thousandcyrillic' => "\x{0482}",
3870         'thousandsseparatorarabic' => "\x{066C}",
3871         'thousandsseparatorpersian' => "\x{066C}",
3872         'threearabic' => "\x{0663}",
3873         'threebengali' => "\x{09E9}",
3874         'threecircle' => "\x{2462}",
3875         'threecircleinversesansserif' => "\x{278C}",
3876         'threedeva' => "\x{0969}",
3877         'threegujarati' => "\x{0AE9}",
3878         'threegurmukhi' => "\x{0A69}",
3879         'threehackarabic' => "\x{0663}",
3880         'threehangzhou' => "\x{3023}",
3881         'threeideographicparen' => "\x{3222}",
3882         'threeinferior' => "\x{2083}",
3883         'threemonospace' => "\x{FF13}",
3884         'threenumeratorbengali' => "\x{09F6}",
3885         'threeoldstyle' => "\x{F733}",
3886         'threeparen' => "\x{2476}",
3887         'threeperiod' => "\x{248A}",
3888         'threepersian' => "\x{06F3}",
3889         'threequartersemdash' => "\x{F6DE}",
3890         'threeroman' => "\x{2172}",
3891         'threethai' => "\x{0E53}",
3892         'thzsquare' => "\x{3394}",
3893         'tihiragana' => "\x{3061}",
3894         'tikatakana' => "\x{30C1}",
3895         'tikatakanahalfwidth' => "\x{FF81}",
3896         'tikeutacirclekorean' => "\x{3270}",
3897         'tikeutaparenkorean' => "\x{3210}",
3898         'tikeutcirclekorean' => "\x{3262}",
3899         'tikeutkorean' => "\x{3137}",
3900         'tikeutparenkorean' => "\x{3202}",
3901         'tildebelowcmb' => "\x{0330}",
3902         'tildecmb' => "\x{0303}",
3903         'tildedoublecmb' => "\x{0360}",
3904         'tildeoperator' => "\x{223C}",
3905         'tildeoverlaycmb' => "\x{0334}",
3906         'tildeverticalcmb' => "\x{033E}",
3907         'timescircle' => "\x{2297}",
3908         'tipehahebrew' => "\x{0596}",
3909         'tipehalefthebrew' => "\x{0596}",
3910         'tippigurmukhi' => "\x{0A70}",
3911         'titlocyrilliccmb' => "\x{0483}",
3912         'tiwnarmenian' => "\x{057F}",
3913         'tlinebelow' => "\x{1E6F}",
3914         'tmonospace' => "\x{FF54}",
3915         'toarmenian' => "\x{0569}",
3916         'tohiragana' => "\x{3068}",
3917         'tokatakana' => "\x{30C8}",
3918         'tokatakanahalfwidth' => "\x{FF84}",
3919         'tonebarextrahighmod' => "\x{02E5}",
3920         'tonebarextralowmod' => "\x{02E9}",
3921         'tonebarhighmod' => "\x{02E6}",
3922         'tonebarlowmod' => "\x{02E8}",
3923         'tonebarmidmod' => "\x{02E7}",
3924         'tonefive' => "\x{01BD}",
3925         'tonesix' => "\x{0185}",
3926         'tonetwo' => "\x{01A8}",
3927         'tonsquare' => "\x{3327}",
3928         'topatakthai' => "\x{0E0F}",
3929         'tortoiseshellbracketleft' => "\x{3014}",
3930         'tortoiseshellbracketleftsmall' => "\x{FE5D}",
3931         'tortoiseshellbracketleftvertical' => "\x{FE39}",
3932         'tortoiseshellbracketright' => "\x{3015}",
3933         'tortoiseshellbracketrightsmall' => "\x{FE5E}",
3934         'tortoiseshellbracketrightvertical' => "\x{FE3A}",
3935         'totaothai' => "\x{0E15}",
3936         'tpalatalhook' => "\x{01AB}",
3937         'tparen' => "\x{24AF}",
3938         'trademarksans' => "\x{F8EA}",
3939         'trademarkserif' => "\x{F6DB}",
3940         'tretroflexhook' => "\x{0288}",
3941         'ts' => "\x{02A6}",
3942         'tsadi' => "\x{05E6}",
3943         'tsadidagesh' => "\x{FB46}",
3944         'tsadidageshhebrew' => "\x{FB46}",
3945         'tsadihebrew' => "\x{05E6}",
3946         'tsecyrillic' => "\x{0446}",
3947         'tsere' => "\x{05B5}",
3948         'tsere12' => "\x{05B5}",
3949         'tsere1e' => "\x{05B5}",
3950         'tsere2b' => "\x{05B5}",
3951         'tserehebrew' => "\x{05B5}",
3952         'tserenarrowhebrew' => "\x{05B5}",
3953         'tserequarterhebrew' => "\x{05B5}",
3954         'tserewidehebrew' => "\x{05B5}",
3955         'tshecyrillic' => "\x{045B}",
3956         'tsuperior' => "\x{F6F3}",
3957         'ttabengali' => "\x{099F}",
3958         'ttadeva' => "\x{091F}",
3959         'ttagujarati' => "\x{0A9F}",
3960         'ttagurmukhi' => "\x{0A1F}",
3961         'tteharabic' => "\x{0679}",
3962         'ttehfinalarabic' => "\x{FB67}",
3963         'ttehinitialarabic' => "\x{FB68}",
3964         'ttehmedialarabic' => "\x{FB69}",
3965         'tthabengali' => "\x{09A0}",
3966         'tthadeva' => "\x{0920}",
3967         'tthagujarati' => "\x{0AA0}",
3968         'tthagurmukhi' => "\x{0A20}",
3969         'tturned' => "\x{0287}",
3970         'tuhiragana' => "\x{3064}",
3971         'tukatakana' => "\x{30C4}",
3972         'tukatakanahalfwidth' => "\x{FF82}",
3973         'tusmallhiragana' => "\x{3063}",
3974         'tusmallkatakana' => "\x{30C3}",
3975         'tusmallkatakanahalfwidth' => "\x{FF6F}",
3976         'twelvecircle' => "\x{246B}",
3977         'twelveparen' => "\x{247F}",
3978         'twelveperiod' => "\x{2493}",
3979         'twelveroman' => "\x{217B}",
3980         'twentycircle' => "\x{2473}",
3981         'twentyhangzhou' => "\x{5344}",
3982         'twentyparen' => "\x{2487}",
3983         'twentyperiod' => "\x{249B}",
3984         'twoarabic' => "\x{0662}",
3985         'twobengali' => "\x{09E8}",
3986         'twocircle' => "\x{2461}",
3987         'twocircleinversesansserif' => "\x{278B}",
3988         'twodeva' => "\x{0968}",
3989         'twodotleader' => "\x{2025}",
3990         'twodotleadervertical' => "\x{FE30}",
3991         'twogujarati' => "\x{0AE8}",
3992         'twogurmukhi' => "\x{0A68}",
3993         'twohackarabic' => "\x{0662}",
3994         'twohangzhou' => "\x{3022}",
3995         'twoideographicparen' => "\x{3221}",
3996         'twoinferior' => "\x{2082}",
3997         'twomonospace' => "\x{FF12}",
3998         'twonumeratorbengali' => "\x{09F5}",
3999         'twooldstyle' => "\x{F732}",
4000         'twoparen' => "\x{2475}",
4001         'twoperiod' => "\x{2489}",
4002         'twopersian' => "\x{06F2}",
4003         'tworoman' => "\x{2171}",
4004         'twostroke' => "\x{01BB}",
4005         'twothai' => "\x{0E52}",
4006         'ubar' => "\x{0289}",
4007         'ubengali' => "\x{0989}",
4008         'ubopomofo' => "\x{3128}",
4009         'ucaron' => "\x{01D4}",
4010         'ucircle' => "\x{24E4}",
4011         'ucircumflexbelow' => "\x{1E77}",
4012         'ucyrillic' => "\x{0443}",
4013         'udattadeva' => "\x{0951}",
4014         'udblacute' => "\x{0171}",
4015         'udblgrave' => "\x{0215}",
4016         'udeva' => "\x{0909}",
4017         'udieresisacute' => "\x{01D8}",
4018         'udieresisbelow' => "\x{1E73}",
4019         'udieresiscaron' => "\x{01DA}",
4020         'udieresiscyrillic' => "\x{04F1}",
4021         'udieresisgrave' => "\x{01DC}",
4022         'udieresismacron' => "\x{01D6}",
4023         'udotbelow' => "\x{1EE5}",
4024         'ugujarati' => "\x{0A89}",
4025         'ugurmukhi' => "\x{0A09}",
4026         'uhiragana' => "\x{3046}",
4027         'uhookabove' => "\x{1EE7}",
4028         'uhornacute' => "\x{1EE9}",
4029         'uhorndotbelow' => "\x{1EF1}",
4030         'uhorngrave' => "\x{1EEB}",
4031         'uhornhookabove' => "\x{1EED}",
4032         'uhorntilde' => "\x{1EEF}",
4033         'uhungarumlautcyrillic' => "\x{04F3}",
4034         'uinvertedbreve' => "\x{0217}",
4035         'ukatakana' => "\x{30A6}",
4036         'ukatakanahalfwidth' => "\x{FF73}",
4037         'ukcyrillic' => "\x{0479}",
4038         'ukorean' => "\x{315C}",
4039         'umacroncyrillic' => "\x{04EF}",
4040         'umacrondieresis' => "\x{1E7B}",
4041         'umatragurmukhi' => "\x{0A41}",
4042         'umonospace' => "\x{FF55}",
4043         'underscoremonospace' => "\x{FF3F}",
4044         'underscorevertical' => "\x{FE33}",
4045         'underscorewavy' => "\x{FE4F}",
4046         'uparen' => "\x{24B0}",
4047         'upperdothebrew' => "\x{05C4}",
4048         'upsilonlatin' => "\x{028A}",
4049         'uptackbelowcmb' => "\x{031D}",
4050         'uptackmod' => "\x{02D4}",
4051         'uragurmukhi' => "\x{0A73}",
4052         'ushortcyrillic' => "\x{045E}",
4053         'usmallhiragana' => "\x{3045}",
4054         'usmallkatakana' => "\x{30A5}",
4055         'usmallkatakanahalfwidth' => "\x{FF69}",
4056         'ustraightcyrillic' => "\x{04AF}",
4057         'ustraightstrokecyrillic' => "\x{04B1}",
4058         'utildeacute' => "\x{1E79}",
4059         'utildebelow' => "\x{1E75}",
4060         'uubengali' => "\x{098A}",
4061         'uudeva' => "\x{090A}",
4062         'uugujarati' => "\x{0A8A}",
4063         'uugurmukhi' => "\x{0A0A}",
4064         'uumatragurmukhi' => "\x{0A42}",
4065         'uuvowelsignbengali' => "\x{09C2}",
4066         'uuvowelsigndeva' => "\x{0942}",
4067         'uuvowelsigngujarati' => "\x{0AC2}",
4068         'uvowelsignbengali' => "\x{09C1}",
4069         'uvowelsigndeva' => "\x{0941}",
4070         'uvowelsigngujarati' => "\x{0AC1}",
4071         'vadeva' => "\x{0935}",
4072         'vagujarati' => "\x{0AB5}",
4073         'vagurmukhi' => "\x{0A35}",
4074         'vakatakana' => "\x{30F7}",
4075         'vav' => "\x{05D5}",
4076         'vavdagesh' => "\x{FB35}",
4077         'vavdagesh65' => "\x{FB35}",
4078         'vavdageshhebrew' => "\x{FB35}",
4079         'vavhebrew' => "\x{05D5}",
4080         'vavholam' => "\x{FB4B}",
4081         'vavholamhebrew' => "\x{FB4B}",
4082         'vavvavhebrew' => "\x{05F0}",
4083         'vavyodhebrew' => "\x{05F1}",
4084         'vcircle' => "\x{24E5}",
4085         'vdotbelow' => "\x{1E7F}",
4086         'vecyrillic' => "\x{0432}",
4087         'veharabic' => "\x{06A4}",
4088         'vehfinalarabic' => "\x{FB6B}",
4089         'vehinitialarabic' => "\x{FB6C}",
4090         'vehmedialarabic' => "\x{FB6D}",
4091         'vekatakana' => "\x{30F9}",
4092         'venus' => "\x{2640}",
4093         'verticalbar' => "\x{007C}",
4094         'verticallineabovecmb' => "\x{030D}",
4095         'verticallinebelowcmb' => "\x{0329}",
4096         'verticallinelowmod' => "\x{02CC}",
4097         'verticallinemod' => "\x{02C8}",
4098         'vewarmenian' => "\x{057E}",
4099         'vhook' => "\x{028B}",
4100         'vikatakana' => "\x{30F8}",
4101         'viramabengali' => "\x{09CD}",
4102         'viramadeva' => "\x{094D}",
4103         'viramagujarati' => "\x{0ACD}",
4104         'visargabengali' => "\x{0983}",
4105         'visargadeva' => "\x{0903}",
4106         'visargagujarati' => "\x{0A83}",
4107         'vmonospace' => "\x{FF56}",
4108         'voarmenian' => "\x{0578}",
4109         'voicediterationhiragana' => "\x{309E}",
4110         'voicediterationkatakana' => "\x{30FE}",
4111         'voicedmarkkana' => "\x{309B}",
4112         'voicedmarkkanahalfwidth' => "\x{FF9E}",
4113         'vokatakana' => "\x{30FA}",
4114         'vparen' => "\x{24B1}",
4115         'vtilde' => "\x{1E7D}",
4116         'vturned' => "\x{028C}",
4117         'vuhiragana' => "\x{3094}",
4118         'vukatakana' => "\x{30F4}",
4119         'waekorean' => "\x{3159}",
4120         'wahiragana' => "\x{308F}",
4121         'wakatakana' => "\x{30EF}",
4122         'wakatakanahalfwidth' => "\x{FF9C}",
4123         'wakorean' => "\x{3158}",
4124         'wasmallhiragana' => "\x{308E}",
4125         'wasmallkatakana' => "\x{30EE}",
4126         'wattosquare' => "\x{3357}",
4127         'wavedash' => "\x{301C}",
4128         'wavyunderscorevertical' => "\x{FE34}",
4129         'wawarabic' => "\x{0648}",
4130         'wawfinalarabic' => "\x{FEEE}",
4131         'wawhamzaabovearabic' => "\x{0624}",
4132         'wawhamzaabovefinalarabic' => "\x{FE86}",
4133         'wbsquare' => "\x{33DD}",
4134         'wcircle' => "\x{24E6}",
4135         'wdotaccent' => "\x{1E87}",
4136         'wdotbelow' => "\x{1E89}",
4137         'wehiragana' => "\x{3091}",
4138         'wekatakana' => "\x{30F1}",
4139         'wekorean' => "\x{315E}",
4140         'weokorean' => "\x{315D}",
4141         'whitebullet' => "\x{25E6}",
4142         'whitecircle' => "\x{25CB}",
4143         'whitecircleinverse' => "\x{25D9}",
4144         'whitecornerbracketleft' => "\x{300E}",
4145         'whitecornerbracketleftvertical' => "\x{FE43}",
4146         'whitecornerbracketright' => "\x{300F}",
4147         'whitecornerbracketrightvertical' => "\x{FE44}",
4148         'whitediamond' => "\x{25C7}",
4149         'whitediamondcontainingblacksmalldiamond' => "\x{25C8}",
4150         'whitedownpointingsmalltriangle' => "\x{25BF}",
4151         'whitedownpointingtriangle' => "\x{25BD}",
4152         'whiteleftpointingsmalltriangle' => "\x{25C3}",
4153         'whiteleftpointingtriangle' => "\x{25C1}",
4154         'whitelenticularbracketleft' => "\x{3016}",
4155         'whitelenticularbracketright' => "\x{3017}",
4156         'whiterightpointingsmalltriangle' => "\x{25B9}",
4157         'whiterightpointingtriangle' => "\x{25B7}",
4158         'whitesmallsquare' => "\x{25AB}",
4159         'whitesmilingface' => "\x{263A}",
4160         'whitesquare' => "\x{25A1}",
4161         'whitestar' => "\x{2606}",
4162         'whitetelephone' => "\x{260F}",
4163         'whitetortoiseshellbracketleft' => "\x{3018}",
4164         'whitetortoiseshellbracketright' => "\x{3019}",
4165         'whiteuppointingsmalltriangle' => "\x{25B5}",
4166         'whiteuppointingtriangle' => "\x{25B3}",
4167         'wihiragana' => "\x{3090}",
4168         'wikatakana' => "\x{30F0}",
4169         'wikorean' => "\x{315F}",
4170         'wmonospace' => "\x{FF57}",
4171         'wohiragana' => "\x{3092}",
4172         'wokatakana' => "\x{30F2}",
4173         'wokatakanahalfwidth' => "\x{FF66}",
4174         'won' => "\x{20A9}",
4175         'wonmonospace' => "\x{FFE6}",
4176         'wowaenthai' => "\x{0E27}",
4177         'wparen' => "\x{24B2}",
4178         'wring' => "\x{1E98}",
4179         'wsuperior' => "\x{02B7}",
4180         'wturned' => "\x{028D}",
4181         'wynn' => "\x{01BF}",
4182         'xabovecmb' => "\x{033D}",
4183         'xbopomofo' => "\x{3112}",
4184         'xcircle' => "\x{24E7}",
4185         'xdieresis' => "\x{1E8D}",
4186         'xdotaccent' => "\x{1E8B}",
4187         'xeharmenian' => "\x{056D}",
4188         'xmonospace' => "\x{FF58}",
4189         'xparen' => "\x{24B3}",
4190         'xsuperior' => "\x{02E3}",
4191         'yaadosquare' => "\x{334E}",
4192         'yabengali' => "\x{09AF}",
4193         'yadeva' => "\x{092F}",
4194         'yaekorean' => "\x{3152}",
4195         'yagujarati' => "\x{0AAF}",
4196         'yagurmukhi' => "\x{0A2F}",
4197         'yahiragana' => "\x{3084}",
4198         'yakatakana' => "\x{30E4}",
4199         'yakatakanahalfwidth' => "\x{FF94}",
4200         'yakorean' => "\x{3151}",
4201         'yamakkanthai' => "\x{0E4E}",
4202         'yasmallhiragana' => "\x{3083}",
4203         'yasmallkatakana' => "\x{30E3}",
4204         'yasmallkatakanahalfwidth' => "\x{FF6C}",
4205         'yatcyrillic' => "\x{0463}",
4206         'ycircle' => "\x{24E8}",
4207         'ydotaccent' => "\x{1E8F}",
4208         'ydotbelow' => "\x{1EF5}",
4209         'yeharabic' => "\x{064A}",
4210         'yehbarreearabic' => "\x{06D2}",
4211         'yehbarreefinalarabic' => "\x{FBAF}",
4212         'yehfinalarabic' => "\x{FEF2}",
4213         'yehhamzaabovearabic' => "\x{0626}",
4214         'yehhamzaabovefinalarabic' => "\x{FE8A}",
4215         'yehhamzaaboveinitialarabic' => "\x{FE8B}",
4216         'yehhamzaabovemedialarabic' => "\x{FE8C}",
4217         'yehinitialarabic' => "\x{FEF3}",
4218         'yehmedialarabic' => "\x{FEF4}",
4219         'yehmeeminitialarabic' => "\x{FCDD}",
4220         'yehmeemisolatedarabic' => "\x{FC58}",
4221         'yehnoonfinalarabic' => "\x{FC94}",
4222         'yehthreedotsbelowarabic' => "\x{06D1}",
4223         'yekorean' => "\x{3156}",
4224         'yenmonospace' => "\x{FFE5}",
4225         'yeokorean' => "\x{3155}",
4226         'yeorinhieuhkorean' => "\x{3186}",
4227         'yerahbenyomohebrew' => "\x{05AA}",
4228         'yerahbenyomolefthebrew' => "\x{05AA}",
4229         'yericyrillic' => "\x{044B}",
4230         'yerudieresiscyrillic' => "\x{04F9}",
4231         'yesieungkorean' => "\x{3181}",
4232         'yesieungpansioskorean' => "\x{3183}",
4233         'yesieungsioskorean' => "\x{3182}",
4234         'yetivhebrew' => "\x{059A}",
4235         'yhook' => "\x{01B4}",
4236         'yhookabove' => "\x{1EF7}",
4237         'yiarmenian' => "\x{0575}",
4238         'yicyrillic' => "\x{0457}",
4239         'yikorean' => "\x{3162}",
4240         'yinyang' => "\x{262F}",
4241         'yiwnarmenian' => "\x{0582}",
4242         'ymonospace' => "\x{FF59}",
4243         'yod' => "\x{05D9}",
4244         'yoddagesh' => "\x{FB39}",
4245         'yoddageshhebrew' => "\x{FB39}",
4246         'yodhebrew' => "\x{05D9}",
4247         'yodyodhebrew' => "\x{05F2}",
4248         'yodyodpatahhebrew' => "\x{FB1F}",
4249         'yohiragana' => "\x{3088}",
4250         'yoikorean' => "\x{3189}",
4251         'yokatakana' => "\x{30E8}",
4252         'yokatakanahalfwidth' => "\x{FF96}",
4253         'yokorean' => "\x{315B}",
4254         'yosmallhiragana' => "\x{3087}",
4255         'yosmallkatakana' => "\x{30E7}",
4256         'yosmallkatakanahalfwidth' => "\x{FF6E}",
4257         'yotgreek' => "\x{03F3}",
4258         'yoyaekorean' => "\x{3188}",
4259         'yoyakorean' => "\x{3187}",
4260         'yoyakthai' => "\x{0E22}",
4261         'yoyingthai' => "\x{0E0D}",
4262         'yparen' => "\x{24B4}",
4263         'ypogegrammeni' => "\x{037A}",
4264         'ypogegrammenigreekcmb' => "\x{0345}",
4265         'yr' => "\x{01A6}",
4266         'yring' => "\x{1E99}",
4267         'ysuperior' => "\x{02B8}",
4268         'ytilde' => "\x{1EF9}",
4269         'yturned' => "\x{028E}",
4270         'yuhiragana' => "\x{3086}",
4271         'yuikorean' => "\x{318C}",
4272         'yukatakana' => "\x{30E6}",
4273         'yukatakanahalfwidth' => "\x{FF95}",
4274         'yukorean' => "\x{3160}",
4275         'yusbigcyrillic' => "\x{046B}",
4276         'yusbigiotifiedcyrillic' => "\x{046D}",
4277         'yuslittlecyrillic' => "\x{0467}",
4278         'yuslittleiotifiedcyrillic' => "\x{0469}",
4279         'yusmallhiragana' => "\x{3085}",
4280         'yusmallkatakana' => "\x{30E5}",
4281         'yusmallkatakanahalfwidth' => "\x{FF6D}",
4282         'yuyekorean' => "\x{318B}",
4283         'yuyeokorean' => "\x{318A}",
4284         'yyabengali' => "\x{09DF}",
4285         'yyadeva' => "\x{095F}",
4286         'zaarmenian' => "\x{0566}",
4287         'zadeva' => "\x{095B}",
4288         'zagurmukhi' => "\x{0A5B}",
4289         'zaharabic' => "\x{0638}",
4290         'zahfinalarabic' => "\x{FEC6}",
4291         'zahinitialarabic' => "\x{FEC7}",
4292         'zahiragana' => "\x{3056}",
4293         'zahmedialarabic' => "\x{FEC8}",
4294         'zainarabic' => "\x{0632}",
4295         'zainfinalarabic' => "\x{FEB0}",
4296         'zakatakana' => "\x{30B6}",
4297         'zaqefgadolhebrew' => "\x{0595}",
4298         'zaqefqatanhebrew' => "\x{0594}",
4299         'zarqahebrew' => "\x{0598}",
4300         'zayin' => "\x{05D6}",
4301         'zayindagesh' => "\x{FB36}",
4302         'zayindageshhebrew' => "\x{FB36}",
4303         'zayinhebrew' => "\x{05D6}",
4304         'zbopomofo' => "\x{3117}",
4305         'zcircle' => "\x{24E9}",
4306         'zcircumflex' => "\x{1E91}",
4307         'zcurl' => "\x{0291}",
4308         'zdot' => "\x{017C}",
4309         'zdotbelow' => "\x{1E93}",
4310         'zecyrillic' => "\x{0437}",
4311         'zedescendercyrillic' => "\x{0499}",
4312         'zedieresiscyrillic' => "\x{04DF}",
4313         'zehiragana' => "\x{305C}",
4314         'zekatakana' => "\x{30BC}",
4315         'zeroarabic' => "\x{0660}",
4316         'zerobengali' => "\x{09E6}",
4317         'zerodeva' => "\x{0966}",
4318         'zerogujarati' => "\x{0AE6}",
4319         'zerogurmukhi' => "\x{0A66}",
4320         'zerohackarabic' => "\x{0660}",
4321         'zeroinferior' => "\x{2080}",
4322         'zeromonospace' => "\x{FF10}",
4323         'zerooldstyle' => "\x{F730}",
4324         'zeropersian' => "\x{06F0}",
4325         'zerosuperior' => "\x{2070}",
4326         'zerothai' => "\x{0E50}",
4327         'zerowidthjoiner' => "\x{FEFF}",
4328         'zerowidthnonjoiner' => "\x{200C}",
4329         'zerowidthspace' => "\x{200B}",
4330         'zhbopomofo' => "\x{3113}",
4331         'zhearmenian' => "\x{056A}",
4332         'zhebrevecyrillic' => "\x{04C2}",
4333         'zhecyrillic' => "\x{0436}",
4334         'zhedescendercyrillic' => "\x{0497}",
4335         'zhedieresiscyrillic' => "\x{04DD}",
4336         'zihiragana' => "\x{3058}",
4337         'zikatakana' => "\x{30B8}",
4338         'zinorhebrew' => "\x{05AE}",
4339         'zlinebelow' => "\x{1E95}",
4340         'zmonospace' => "\x{FF5A}",
4341         'zohiragana' => "\x{305E}",
4342         'zokatakana' => "\x{30BE}",
4343         'zparen' => "\x{24B5}",
4344         'zretroflexhook' => "\x{0290}",
4345         'zstroke' => "\x{01B6}",
4346         'zuhiragana' => "\x{305A}",
4347         'zukatakana' => "\x{30BA}",
4348         );
4349
4350 # Add to this list the glyphs for new fonts (from aglfn13):
4351
4352 map { $agl{$names{$_}} = pack('U',hex ($_))} (keys %names);
4353
4354
4355 # %doubles = (map{$_ => "uni$_"} qw(0394 03A9 0162 2215 00AD 02C9 03BC 2219 00A0 0163));
4356
4357 =head2 lookup ( $usv [, $noAlt [, $noUni] ])
4358
4359 return the Adobe-recommended glyph name for a specific Unicode codepoint (integer). By default
4360 returns C<uniXXXX> names rather than C<afiiNNNNN> or C<SFnnnnnn> names
4361
4362 If C<$noAlt> is true, C<afii> and C<SF> names are returned rather than C<uniXXXX>.
4363
4364 if C<$noUni> is true, returns undef if it would have to resort to C<uniXXXX> or C<uXXXXXX> 
4365 style names. Essentially this represents a straight lookup in the Adobe-recommended list.
4366
4367 =cut
4368
4369 sub lookup
4370 {
4371     my ($num, $noalt, $noUni) = @_;
4372     my ($val) = sprintf("%04X", $num);
4373
4374     if (defined $names{$val})
4375     {
4376         return $names{$val} if ($noalt || $names{$val} !~ m/^(?:afii|SF)/o);
4377     }
4378     return undef if $noUni;
4379     if ($num > 0xFFFF)
4380     { return "u$val"; }
4381     elsif ($num)
4382     { return "uni$val"; }
4383     else
4384     { return ".notdef"; }
4385 }
4386
4387 =head2 parse ( $glyphname )
4388
4389 Parse an Adobe-conformant glyph name, generating a Unicode codepoint sequence equivalent to the glyph (or
4390 glyph components, should the name represent a ligature). In scalar context, returns a reference to an
4391 array of Unicodes (decimal). Array is empty if the glyph name is non-conformant.
4392 In list context, the first item returned is the same array reference as above. The second item
4393 is a reference to an array containing the extensions (if any) present on the glyph name. 
4394 The '.' that precedes each extension is not included.
4395
4396 =cut
4397
4398 sub parse
4399 {
4400         my ($gname, @USVs, @extensions);
4401         ($gname, @extensions) = split('\.', $_[0]);
4402         # if name originally started with . (e.g., .null) then $gname will now be '' ... need to fix that up:
4403         $gname = '.' . shift(@extensions) if $gname eq '';
4404         if (defined $gname)
4405         {
4406                 foreach $gname (split('_', $gname))
4407                 {
4408                         if ($gname =~ /^u[0-9a-fA-F]{4,6}$/)
4409                         {
4410                                 push @USVs, hex(substr($gname, 1));
4411                         }
4412                         elsif ($gname =~ /^uni([0-9a-fA-F]{4,4})+$/)
4413                         {
4414                                 push @USVs, map {hex($_)} ($gname =~ /([0-9a-fA-F]{4,4})/g)
4415                         }
4416                         elsif (exists $agl{$gname})
4417                         {
4418                                 push @USVs, unpack ('U*', $agl{$gname});
4419                         }
4420                 }
4421         }
4422         return \@USVs unless wantarray;
4423         my @res = (\@USVs, \@extensions);
4424         return @res;    
4425 }
4426
4427 #Code used to parse Adobe's agl file and generate text for %agl initialization:
4428 #while (<ARGV>) {
4429 #       chomp;
4430 #       next if m/^#/;
4431 #       my ($gname, @nums) = split(/[; ]/);
4432 #       if ($#nums > 0 or !defined ($Font::TTF::PSNames::names{$nums[0]}) or $Font::TTF::PSNames::names{$nums[0]} ne $gname)
4433 #       {
4434 #               print "\t'$gname' => \"";
4435 #               map {print "\\x{$_}" } @nums;
4436 #               print  "\",\n";
4437 #       }
4438 # }
4439
4440 =head1 AUTHOR
4441
4442 Martin Hosken Martin_Hosken@sil.org. See L<Font::TTF::Font> for copyright and
4443 licensing.
4444
4445 =cut
4446
4447 1;