]> gitweb.factorcode.org Git - factor.git/blob - extra/html/entities/entities.factor
b47c53e640e9d8a53d5dc002e54c6477e0950903
[factor.git] / extra / html / entities / entities.factor
1 ! Copyright (C) 2014 John Benediktsson
2 ! See http://factorcode.org/license.txt for BSD license
3
4 USING: assocs combinators.short-circuit kernel make math
5 math.order math.parser math.ranges regexp sequences splitting
6 strings ;
7
8 IN: html.entities
9
10 <PRIVATE
11
12 CONSTANT: html-escapes {
13     { CHAR: & "&amp;" }
14     { CHAR: < "&lt;" }
15     { CHAR: > "&gt;" }
16     { CHAR: \" "&quot;" }
17     { CHAR: ' "&#39;" }
18 }
19
20 : next-escape ( seq -- i elt )
21     [ html-escapes key? ] find ;
22
23 : escape, ( seq i elt -- seq' )
24     [ [ head-slice , ] [ 1 + tail-slice ] 2bi ]
25     [ html-escapes at , ] bi* ;
26
27 PRIVATE>
28
29 : html-escape ( str -- newstr )
30     [
31         [ dup next-escape ] [ escape, ] while* drop ,
32     ] { } make dup length 1 > [ concat ] [ first ] if ;
33
34 <PRIVATE
35
36 ! see http://www.w3.org/TR/html5/syntax.html#tokenizing-character-references
37
38 CONSTANT: invalid-charrefs H{
39     { 0x00 "\u00fffd" }  ! REPLACEMENT CHARACTER
40     { 0x0d "\r"       }  ! CARRIAGE RETURN
41     { 0x80 "\u0020ac" }  ! EURO SIGN
42     { 0x81 "\x81"     }  ! <control>
43     { 0x82 "\u00201a" }  ! SINGLE LOW-9 QUOTATION MARK
44     { 0x83 "\u000192" }  ! LATIN SMALL LETTER F WITH HOOK
45     { 0x84 "\u00201e" }  ! DOUBLE LOW-9 QUOTATION MARK
46     { 0x85 "\u002026" }  ! HORIZONTAL ELLIPSIS
47     { 0x86 "\u002020" }  ! DAGGER
48     { 0x87 "\u002021" }  ! DOUBLE DAGGER
49     { 0x88 "\u0002c6" }  ! MODIFIER LETTER CIRCUMFLEX ACCENT
50     { 0x89 "\u002030" }  ! PER MILLE SIGN
51     { 0x8a "\u000160" }  ! LATIN CAPITAL LETTER S WITH CARON
52     { 0x8b "\u002039" }  ! SINGLE LEFT-POINTING ANGLE QUOTATION MARK
53     { 0x8c "\u000152" }  ! LATIN CAPITAL LIGATURE OE
54     { 0x8d "\x8d"     }  ! <control>
55     { 0x8e "\u00017d" }  ! LATIN CAPITAL LETTER Z WITH CARON
56     { 0x8f "\x8f"     }  ! <control>
57     { 0x90 "\x90"     }  ! <control>
58     { 0x91 "\u002018" }  ! LEFT SINGLE QUOTATION MARK
59     { 0x92 "\u002019" }  ! RIGHT SINGLE QUOTATION MARK
60     { 0x93 "\u00201c" }  ! LEFT DOUBLE QUOTATION MARK
61     { 0x94 "\u00201d" }  ! RIGHT DOUBLE QUOTATION MARK
62     { 0x95 "\u002022" }  ! BULLET
63     { 0x96 "\u002013" }  ! EN DASH
64     { 0x97 "\u002014" }  ! EM DASH
65     { 0x98 "\u0002dc" }  ! SMALL TILDE
66     { 0x99 "\u002122" }  ! TRADE MARK SIGN
67     { 0x9a "\u000161" }  ! LATIN SMALL LETTER S WITH CARON
68     { 0x9b "\u00203a" }  ! SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
69     { 0x9c "\u000153" }  ! LATIN SMALL LIGATURE OE
70     { 0x9d "\x9d"     }  ! <control>
71     { 0x9e "\u00017e" }  ! LATIN SMALL LETTER Z WITH CARON
72     { 0x9f "\u000178" }  ! LATIN CAPITAL LETTER Y WITH DIAERESIS
73 }
74
75 CONSTANT: invalid-codepoints {
76     ! 0x0001 to 0x0008
77     0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8
78     ! 0x000E to 0x001F
79     0xe 0xf 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19
80     0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
81     ! 0x007F to 0x009F
82     0x7f 0x80 0x81 0x82 0x83 0x84 0x85 0x86 0x87 0x88 0x89 0x8a
83     0x8b 0x8c 0x8d 0x8e 0x8f 0x90 0x91 0x92 0x93 0x94 0x95 0x96
84     0x97 0x98 0x99 0x9a 0x9b 0x9c 0x9d 0x9e 0x9f
85     ! 0xFDD0 to 0xFDEF
86     0xfdd0 0xfdd1 0xfdd2 0xfdd3 0xfdd4 0xfdd5 0xfdd6 0xfdd7 0xfdd8
87     0xfdd9 0xfdda 0xfddb 0xfddc 0xfddd 0xfdde 0xfddf 0xfde0 0xfde1
88     0xfde2 0xfde3 0xfde4 0xfde5 0xfde6 0xfde7 0xfde8 0xfde9 0xfdea
89     0xfdeb 0xfdec 0xfded 0xfdee 0xfdef
90     ! others
91     0xb 0xfffe 0xffff 0x1fffe 0x1ffff 0x2fffe 0x2ffff 0x3fffe 0x3ffff
92     0x4fffe 0x4ffff 0x5fffe 0x5ffff 0x6fffe 0x6ffff 0x7fffe 0x7ffff
93     0x8fffe 0x8ffff 0x9fffe 0x9ffff 0xafffe 0xaffff 0xbfffe 0xbffff
94     0xcfffe 0xcffff 0xdfffe 0xdffff 0xefffe 0xeffff 0xffffe 0xfffff
95     0x10fffe 0x10ffff
96 }
97
98 ! see http://www.w3.org/TR/html5/syntax.html#named-character-references
99
100 CONSTANT: html5 H{
101     { "Aacute" "\xc1" }
102     { "aacute" "\xe1" }
103     { "Aacute;" "\xc1" }
104     { "aacute;" "\xe1" }
105     { "Abreve;" "\u000102" }
106     { "abreve;" "\u000103" }
107     { "ac;" "\u00223e" }
108     { "acd;" "\u00223f" }
109     { "acE;" "\u00223e\u000333" }
110     { "Acirc" "\xc2" }
111     { "acirc" "\xe2" }
112     { "Acirc;" "\xc2" }
113     { "acirc;" "\xe2" }
114     { "acute" "\xb4" }
115     { "acute;" "\xb4" }
116     { "Acy;" "\u000410" }
117     { "acy;" "\u000430" }
118     { "AElig" "\xc6" }
119     { "aelig" "\xe6" }
120     { "AElig;" "\xc6" }
121     { "aelig;" "\xe6" }
122     { "af;" "\u002061" }
123     { "Afr;" "\u01d504" }
124     { "afr;" "\u01d51e" }
125     { "Agrave" "\xc0" }
126     { "agrave" "\xe0" }
127     { "Agrave;" "\xc0" }
128     { "agrave;" "\xe0" }
129     { "alefsym;" "\u002135" }
130     { "aleph;" "\u002135" }
131     { "Alpha;" "\u000391" }
132     { "alpha;" "\u0003b1" }
133     { "Amacr;" "\u000100" }
134     { "amacr;" "\u000101" }
135     { "amalg;" "\u002a3f" }
136     { "AMP" "&" }
137     { "amp" "&" }
138     { "AMP;" "&" }
139     { "amp;" "&" }
140     { "And;" "\u002a53" }
141     { "and;" "\u002227" }
142     { "andand;" "\u002a55" }
143     { "andd;" "\u002a5c" }
144     { "andslope;" "\u002a58" }
145     { "andv;" "\u002a5a" }
146     { "ang;" "\u002220" }
147     { "ange;" "\u0029a4" }
148     { "angle;" "\u002220" }
149     { "angmsd;" "\u002221" }
150     { "angmsdaa;" "\u0029a8" }
151     { "angmsdab;" "\u0029a9" }
152     { "angmsdac;" "\u0029aa" }
153     { "angmsdad;" "\u0029ab" }
154     { "angmsdae;" "\u0029ac" }
155     { "angmsdaf;" "\u0029ad" }
156     { "angmsdag;" "\u0029ae" }
157     { "angmsdah;" "\u0029af" }
158     { "angrt;" "\u00221f" }
159     { "angrtvb;" "\u0022be" }
160     { "angrtvbd;" "\u00299d" }
161     { "angsph;" "\u002222" }
162     { "angst;" "\xc5" }
163     { "angzarr;" "\u00237c" }
164     { "Aogon;" "\u000104" }
165     { "aogon;" "\u000105" }
166     { "Aopf;" "\u01d538" }
167     { "aopf;" "\u01d552" }
168     { "ap;" "\u002248" }
169     { "apacir;" "\u002a6f" }
170     { "apE;" "\u002a70" }
171     { "ape;" "\u00224a" }
172     { "apid;" "\u00224b" }
173     { "apos;" "'" }
174     { "ApplyFunction;" "\u002061" }
175     { "approx;" "\u002248" }
176     { "approxeq;" "\u00224a" }
177     { "Aring" "\xc5" }
178     { "aring" "\xe5" }
179     { "Aring;" "\xc5" }
180     { "aring;" "\xe5" }
181     { "Ascr;" "\u01d49c" }
182     { "ascr;" "\u01d4b6" }
183     { "Assign;" "\u002254" }
184     { "ast;" "*" }
185     { "asymp;" "\u002248" }
186     { "asympeq;" "\u00224d" }
187     { "Atilde" "\xc3" }
188     { "atilde" "\xe3" }
189     { "Atilde;" "\xc3" }
190     { "atilde;" "\xe3" }
191     { "Auml" "\xc4" }
192     { "auml" "\xe4" }
193     { "Auml;" "\xc4" }
194     { "auml;" "\xe4" }
195     { "awconint;" "\u002233" }
196     { "awint;" "\u002a11" }
197     { "backcong;" "\u00224c" }
198     { "backepsilon;" "\u0003f6" }
199     { "backprime;" "\u002035" }
200     { "backsim;" "\u00223d" }
201     { "backsimeq;" "\u0022cd" }
202     { "Backslash;" "\u002216" }
203     { "Barv;" "\u002ae7" }
204     { "barvee;" "\u0022bd" }
205     { "Barwed;" "\u002306" }
206     { "barwed;" "\u002305" }
207     { "barwedge;" "\u002305" }
208     { "bbrk;" "\u0023b5" }
209     { "bbrktbrk;" "\u0023b6" }
210     { "bcong;" "\u00224c" }
211     { "Bcy;" "\u000411" }
212     { "bcy;" "\u000431" }
213     { "bdquo;" "\u00201e" }
214     { "becaus;" "\u002235" }
215     { "Because;" "\u002235" }
216     { "because;" "\u002235" }
217     { "bemptyv;" "\u0029b0" }
218     { "bepsi;" "\u0003f6" }
219     { "bernou;" "\u00212c" }
220     { "Bernoullis;" "\u00212c" }
221     { "Beta;" "\u000392" }
222     { "beta;" "\u0003b2" }
223     { "beth;" "\u002136" }
224     { "between;" "\u00226c" }
225     { "Bfr;" "\u01d505" }
226     { "bfr;" "\u01d51f" }
227     { "bigcap;" "\u0022c2" }
228     { "bigcirc;" "\u0025ef" }
229     { "bigcup;" "\u0022c3" }
230     { "bigodot;" "\u002a00" }
231     { "bigoplus;" "\u002a01" }
232     { "bigotimes;" "\u002a02" }
233     { "bigsqcup;" "\u002a06" }
234     { "bigstar;" "\u002605" }
235     { "bigtriangledown;" "\u0025bd" }
236     { "bigtriangleup;" "\u0025b3" }
237     { "biguplus;" "\u002a04" }
238     { "bigvee;" "\u0022c1" }
239     { "bigwedge;" "\u0022c0" }
240     { "bkarow;" "\u00290d" }
241     { "blacklozenge;" "\u0029eb" }
242     { "blacksquare;" "\u0025aa" }
243     { "blacktriangle;" "\u0025b4" }
244     { "blacktriangledown;" "\u0025be" }
245     { "blacktriangleleft;" "\u0025c2" }
246     { "blacktriangleright;" "\u0025b8" }
247     { "blank;" "\u002423" }
248     { "blk12;" "\u002592" }
249     { "blk14;" "\u002591" }
250     { "blk34;" "\u002593" }
251     { "block;" "\u002588" }
252     { "bne;" "=\u0020e5" }
253     { "bnequiv;" "\u002261\u0020e5" }
254     { "bNot;" "\u002aed" }
255     { "bnot;" "\u002310" }
256     { "Bopf;" "\u01d539" }
257     { "bopf;" "\u01d553" }
258     { "bot;" "\u0022a5" }
259     { "bottom;" "\u0022a5" }
260     { "bowtie;" "\u0022c8" }
261     { "boxbox;" "\u0029c9" }
262     { "boxDL;" "\u002557" }
263     { "boxDl;" "\u002556" }
264     { "boxdL;" "\u002555" }
265     { "boxdl;" "\u002510" }
266     { "boxDR;" "\u002554" }
267     { "boxDr;" "\u002553" }
268     { "boxdR;" "\u002552" }
269     { "boxdr;" "\u00250c" }
270     { "boxH;" "\u002550" }
271     { "boxh;" "\u002500" }
272     { "boxHD;" "\u002566" }
273     { "boxHd;" "\u002564" }
274     { "boxhD;" "\u002565" }
275     { "boxhd;" "\u00252c" }
276     { "boxHU;" "\u002569" }
277     { "boxHu;" "\u002567" }
278     { "boxhU;" "\u002568" }
279     { "boxhu;" "\u002534" }
280     { "boxminus;" "\u00229f" }
281     { "boxplus;" "\u00229e" }
282     { "boxtimes;" "\u0022a0" }
283     { "boxUL;" "\u00255d" }
284     { "boxUl;" "\u00255c" }
285     { "boxuL;" "\u00255b" }
286     { "boxul;" "\u002518" }
287     { "boxUR;" "\u00255a" }
288     { "boxUr;" "\u002559" }
289     { "boxuR;" "\u002558" }
290     { "boxur;" "\u002514" }
291     { "boxV;" "\u002551" }
292     { "boxv;" "\u002502" }
293     { "boxVH;" "\u00256c" }
294     { "boxVh;" "\u00256b" }
295     { "boxvH;" "\u00256a" }
296     { "boxvh;" "\u00253c" }
297     { "boxVL;" "\u002563" }
298     { "boxVl;" "\u002562" }
299     { "boxvL;" "\u002561" }
300     { "boxvl;" "\u002524" }
301     { "boxVR;" "\u002560" }
302     { "boxVr;" "\u00255f" }
303     { "boxvR;" "\u00255e" }
304     { "boxvr;" "\u00251c" }
305     { "bprime;" "\u002035" }
306     { "Breve;" "\u0002d8" }
307     { "breve;" "\u0002d8" }
308     { "brvbar" "\xa6" }
309     { "brvbar;" "\xa6" }
310     { "Bscr;" "\u00212c" }
311     { "bscr;" "\u01d4b7" }
312     { "bsemi;" "\u00204f" }
313     { "bsim;" "\u00223d" }
314     { "bsime;" "\u0022cd" }
315     { "bsol;" "\\" }
316     { "bsolb;" "\u0029c5" }
317     { "bsolhsub;" "\u0027c8" }
318     { "bull;" "\u002022" }
319     { "bullet;" "\u002022" }
320     { "bump;" "\u00224e" }
321     { "bumpE;" "\u002aae" }
322     { "bumpe;" "\u00224f" }
323     { "Bumpeq;" "\u00224e" }
324     { "bumpeq;" "\u00224f" }
325     { "Cacute;" "\u000106" }
326     { "cacute;" "\u000107" }
327     { "Cap;" "\u0022d2" }
328     { "cap;" "\u002229" }
329     { "capand;" "\u002a44" }
330     { "capbrcup;" "\u002a49" }
331     { "capcap;" "\u002a4b" }
332     { "capcup;" "\u002a47" }
333     { "capdot;" "\u002a40" }
334     { "CapitalDifferentialD;" "\u002145" }
335     { "caps;" "\u002229\u00fe00" }
336     { "caret;" "\u002041" }
337     { "caron;" "\u0002c7" }
338     { "Cayleys;" "\u00212d" }
339     { "ccaps;" "\u002a4d" }
340     { "Ccaron;" "\u00010c" }
341     { "ccaron;" "\u00010d" }
342     { "Ccedil" "\xc7" }
343     { "ccedil" "\xe7" }
344     { "Ccedil;" "\xc7" }
345     { "ccedil;" "\xe7" }
346     { "Ccirc;" "\u000108" }
347     { "ccirc;" "\u000109" }
348     { "Cconint;" "\u002230" }
349     { "ccups;" "\u002a4c" }
350     { "ccupssm;" "\u002a50" }
351     { "Cdot;" "\u00010a" }
352     { "cdot;" "\u00010b" }
353     { "cedil" "\xb8" }
354     { "cedil;" "\xb8" }
355     { "Cedilla;" "\xb8" }
356     { "cemptyv;" "\u0029b2" }
357     { "cent" "\xa2" }
358     { "cent;" "\xa2" }
359     { "CenterDot;" "\xb7" }
360     { "centerdot;" "\xb7" }
361     { "Cfr;" "\u00212d" }
362     { "cfr;" "\u01d520" }
363     { "CHcy;" "\u000427" }
364     { "chcy;" "\u000447" }
365     { "check;" "\u002713" }
366     { "checkmark;" "\u002713" }
367     { "Chi;" "\u0003a7" }
368     { "chi;" "\u0003c7" }
369     { "cir;" "\u0025cb" }
370     { "circ;" "\u0002c6" }
371     { "circeq;" "\u002257" }
372     { "circlearrowleft;" "\u0021ba" }
373     { "circlearrowright;" "\u0021bb" }
374     { "circledast;" "\u00229b" }
375     { "circledcirc;" "\u00229a" }
376     { "circleddash;" "\u00229d" }
377     { "CircleDot;" "\u002299" }
378     { "circledR;" "\xae" }
379     { "circledS;" "\u0024c8" }
380     { "CircleMinus;" "\u002296" }
381     { "CirclePlus;" "\u002295" }
382     { "CircleTimes;" "\u002297" }
383     { "cirE;" "\u0029c3" }
384     { "cire;" "\u002257" }
385     { "cirfnint;" "\u002a10" }
386     { "cirmid;" "\u002aef" }
387     { "cirscir;" "\u0029c2" }
388     { "ClockwiseContourIntegral;" "\u002232" }
389     { "CloseCurlyDoubleQuote;" "\u00201d" }
390     { "CloseCurlyQuote;" "\u002019" }
391     { "clubs;" "\u002663" }
392     { "clubsuit;" "\u002663" }
393     { "Colon;" "\u002237" }
394     { "colon;" ":" }
395     { "Colone;" "\u002a74" }
396     { "colone;" "\u002254" }
397     { "coloneq;" "\u002254" }
398     { "comma;" " }" }
399     { "commat;" "@" }
400     { "comp;" "\u002201" }
401     { "compfn;" "\u002218" }
402     { "complement;" "\u002201" }
403     { "complexes;" "\u002102" }
404     { "cong;" "\u002245" }
405     { "congdot;" "\u002a6d" }
406     { "Congruent;" "\u002261" }
407     { "Conint;" "\u00222f" }
408     { "conint;" "\u00222e" }
409     { "ContourIntegral;" "\u00222e" }
410     { "Copf;" "\u002102" }
411     { "copf;" "\u01d554" }
412     { "coprod;" "\u002210" }
413     { "Coproduct;" "\u002210" }
414     { "COPY" "\xa9" }
415     { "copy" "\xa9" }
416     { "COPY;" "\xa9" }
417     { "copy;" "\xa9" }
418     { "copysr;" "\u002117" }
419     { "CounterClockwiseContourIntegral;" "\u002233" }
420     { "crarr;" "\u0021b5" }
421     { "Cross;" "\u002a2f" }
422     { "cross;" "\u002717" }
423     { "Cscr;" "\u01d49e" }
424     { "cscr;" "\u01d4b8" }
425     { "csub;" "\u002acf" }
426     { "csube;" "\u002ad1" }
427     { "csup;" "\u002ad0" }
428     { "csupe;" "\u002ad2" }
429     { "ctdot;" "\u0022ef" }
430     { "cudarrl;" "\u002938" }
431     { "cudarrr;" "\u002935" }
432     { "cuepr;" "\u0022de" }
433     { "cuesc;" "\u0022df" }
434     { "cularr;" "\u0021b6" }
435     { "cularrp;" "\u00293d" }
436     { "Cup;" "\u0022d3" }
437     { "cup;" "\u00222a" }
438     { "cupbrcap;" "\u002a48" }
439     { "CupCap;" "\u00224d" }
440     { "cupcap;" "\u002a46" }
441     { "cupcup;" "\u002a4a" }
442     { "cupdot;" "\u00228d" }
443     { "cupor;" "\u002a45" }
444     { "cups;" "\u00222a\u00fe00" }
445     { "curarr;" "\u0021b7" }
446     { "curarrm;" "\u00293c" }
447     { "curlyeqprec;" "\u0022de" }
448     { "curlyeqsucc;" "\u0022df" }
449     { "curlyvee;" "\u0022ce" }
450     { "curlywedge;" "\u0022cf" }
451     { "curren" "\xa4" }
452     { "curren;" "\xa4" }
453     { "curvearrowleft;" "\u0021b6" }
454     { "curvearrowright;" "\u0021b7" }
455     { "cuvee;" "\u0022ce" }
456     { "cuwed;" "\u0022cf" }
457     { "cwconint;" "\u002232" }
458     { "cwint;" "\u002231" }
459     { "cylcty;" "\u00232d" }
460     { "Dagger;" "\u002021" }
461     { "dagger;" "\u002020" }
462     { "daleth;" "\u002138" }
463     { "Darr;" "\u0021a1" }
464     { "dArr;" "\u0021d3" }
465     { "darr;" "\u002193" }
466     { "dash;" "\u002010" }
467     { "Dashv;" "\u002ae4" }
468     { "dashv;" "\u0022a3" }
469     { "dbkarow;" "\u00290f" }
470     { "dblac;" "\u0002dd" }
471     { "Dcaron;" "\u00010e" }
472     { "dcaron;" "\u00010f" }
473     { "Dcy;" "\u000414" }
474     { "dcy;" "\u000434" }
475     { "DD;" "\u002145" }
476     { "dd;" "\u002146" }
477     { "ddagger;" "\u002021" }
478     { "ddarr;" "\u0021ca" }
479     { "DDotrahd;" "\u002911" }
480     { "ddotseq;" "\u002a77" }
481     { "deg" "\xb0" }
482     { "deg;" "\xb0" }
483     { "Del;" "\u002207" }
484     { "Delta;" "\u000394" }
485     { "delta;" "\u0003b4" }
486     { "demptyv;" "\u0029b1" }
487     { "dfisht;" "\u00297f" }
488     { "Dfr;" "\u01d507" }
489     { "dfr;" "\u01d521" }
490     { "dHar;" "\u002965" }
491     { "dharl;" "\u0021c3" }
492     { "dharr;" "\u0021c2" }
493     { "DiacriticalAcute;" "\xb4" }
494     { "DiacriticalDot;" "\u0002d9" }
495     { "DiacriticalDoubleAcute;" "\u0002dd" }
496     { "DiacriticalGrave;" "`" }
497     { "DiacriticalTilde;" "\u0002dc" }
498     { "diam;" "\u0022c4" }
499     { "Diamond;" "\u0022c4" }
500     { "diamond;" "\u0022c4" }
501     { "diamondsuit;" "\u002666" }
502     { "diams;" "\u002666" }
503     { "die;" "\xa8" }
504     { "DifferentialD;" "\u002146" }
505     { "digamma;" "\u0003dd" }
506     { "disin;" "\u0022f2" }
507     { "div;" "\xf7" }
508     { "divide" "\xf7" }
509     { "divide;" "\xf7" }
510     { "divideontimes;" "\u0022c7" }
511     { "divonx;" "\u0022c7" }
512     { "DJcy;" "\u000402" }
513     { "djcy;" "\u000452" }
514     { "dlcorn;" "\u00231e" }
515     { "dlcrop;" "\u00230d" }
516     { "dollar;" "$" }
517     { "Dopf;" "\u01d53b" }
518     { "dopf;" "\u01d555" }
519     { "Dot;" "\xa8" }
520     { "dot;" "\u0002d9" }
521     { "DotDot;" "\u0020dc" }
522     { "doteq;" "\u002250" }
523     { "doteqdot;" "\u002251" }
524     { "DotEqual;" "\u002250" }
525     { "dotminus;" "\u002238" }
526     { "dotplus;" "\u002214" }
527     { "dotsquare;" "\u0022a1" }
528     { "doublebarwedge;" "\u002306" }
529     { "DoubleContourIntegral;" "\u00222f" }
530     { "DoubleDot;" "\xa8" }
531     { "DoubleDownArrow;" "\u0021d3" }
532     { "DoubleLeftArrow;" "\u0021d0" }
533     { "DoubleLeftRightArrow;" "\u0021d4" }
534     { "DoubleLeftTee;" "\u002ae4" }
535     { "DoubleLongLeftArrow;" "\u0027f8" }
536     { "DoubleLongLeftRightArrow;" "\u0027fa" }
537     { "DoubleLongRightArrow;" "\u0027f9" }
538     { "DoubleRightArrow;" "\u0021d2" }
539     { "DoubleRightTee;" "\u0022a8" }
540     { "DoubleUpArrow;" "\u0021d1" }
541     { "DoubleUpDownArrow;" "\u0021d5" }
542     { "DoubleVerticalBar;" "\u002225" }
543     { "DownArrow;" "\u002193" }
544     { "Downarrow;" "\u0021d3" }
545     { "downarrow;" "\u002193" }
546     { "DownArrowBar;" "\u002913" }
547     { "DownArrowUpArrow;" "\u0021f5" }
548     { "DownBreve;" "\u000311" }
549     { "downdownarrows;" "\u0021ca" }
550     { "downharpoonleft;" "\u0021c3" }
551     { "downharpoonright;" "\u0021c2" }
552     { "DownLeftRightVector;" "\u002950" }
553     { "DownLeftTeeVector;" "\u00295e" }
554     { "DownLeftVector;" "\u0021bd" }
555     { "DownLeftVectorBar;" "\u002956" }
556     { "DownRightTeeVector;" "\u00295f" }
557     { "DownRightVector;" "\u0021c1" }
558     { "DownRightVectorBar;" "\u002957" }
559     { "DownTee;" "\u0022a4" }
560     { "DownTeeArrow;" "\u0021a7" }
561     { "drbkarow;" "\u002910" }
562     { "drcorn;" "\u00231f" }
563     { "drcrop;" "\u00230c" }
564     { "Dscr;" "\u01d49f" }
565     { "dscr;" "\u01d4b9" }
566     { "DScy;" "\u000405" }
567     { "dscy;" "\u000455" }
568     { "dsol;" "\u0029f6" }
569     { "Dstrok;" "\u000110" }
570     { "dstrok;" "\u000111" }
571     { "dtdot;" "\u0022f1" }
572     { "dtri;" "\u0025bf" }
573     { "dtrif;" "\u0025be" }
574     { "duarr;" "\u0021f5" }
575     { "duhar;" "\u00296f" }
576     { "dwangle;" "\u0029a6" }
577     { "DZcy;" "\u00040f" }
578     { "dzcy;" "\u00045f" }
579     { "dzigrarr;" "\u0027ff" }
580     { "Eacute" "\xc9" }
581     { "eacute" "\xe9" }
582     { "Eacute;" "\xc9" }
583     { "eacute;" "\xe9" }
584     { "easter;" "\u002a6e" }
585     { "Ecaron;" "\u00011a" }
586     { "ecaron;" "\u00011b" }
587     { "ecir;" "\u002256" }
588     { "Ecirc" "\xca" }
589     { "ecirc" "\xea" }
590     { "Ecirc;" "\xca" }
591     { "ecirc;" "\xea" }
592     { "ecolon;" "\u002255" }
593     { "Ecy;" "\u00042d" }
594     { "ecy;" "\u00044d" }
595     { "eDDot;" "\u002a77" }
596     { "Edot;" "\u000116" }
597     { "eDot;" "\u002251" }
598     { "edot;" "\u000117" }
599     { "ee;" "\u002147" }
600     { "efDot;" "\u002252" }
601     { "Efr;" "\u01d508" }
602     { "efr;" "\u01d522" }
603     { "eg;" "\u002a9a" }
604     { "Egrave" "\xc8" }
605     { "egrave" "\xe8" }
606     { "Egrave;" "\xc8" }
607     { "egrave;" "\xe8" }
608     { "egs;" "\u002a96" }
609     { "egsdot;" "\u002a98" }
610     { "el;" "\u002a99" }
611     { "Element;" "\u002208" }
612     { "elinters;" "\u0023e7" }
613     { "ell;" "\u002113" }
614     { "els;" "\u002a95" }
615     { "elsdot;" "\u002a97" }
616     { "Emacr;" "\u000112" }
617     { "emacr;" "\u000113" }
618     { "empty;" "\u002205" }
619     { "emptyset;" "\u002205" }
620     { "EmptySmallSquare;" "\u0025fb" }
621     { "emptyv;" "\u002205" }
622     { "EmptyVerySmallSquare;" "\u0025ab" }
623     { "emsp13;" "\u002004" }
624     { "emsp14;" "\u002005" }
625     { "emsp;" "\u002003" }
626     { "ENG;" "\u00014a" }
627     { "eng;" "\u00014b" }
628     { "ensp;" "\u002002" }
629     { "Eogon;" "\u000118" }
630     { "eogon;" "\u000119" }
631     { "Eopf;" "\u01d53c" }
632     { "eopf;" "\u01d556" }
633     { "epar;" "\u0022d5" }
634     { "eparsl;" "\u0029e3" }
635     { "eplus;" "\u002a71" }
636     { "epsi;" "\u0003b5" }
637     { "Epsilon;" "\u000395" }
638     { "epsilon;" "\u0003b5" }
639     { "epsiv;" "\u0003f5" }
640     { "eqcirc;" "\u002256" }
641     { "eqcolon;" "\u002255" }
642     { "eqsim;" "\u002242" }
643     { "eqslantgtr;" "\u002a96" }
644     { "eqslantless;" "\u002a95" }
645     { "Equal;" "\u002a75" }
646     { "equals;" "=" }
647     { "EqualTilde;" "\u002242" }
648     { "equest;" "\u00225f" }
649     { "Equilibrium;" "\u0021cc" }
650     { "equiv;" "\u002261" }
651     { "equivDD;" "\u002a78" }
652     { "eqvparsl;" "\u0029e5" }
653     { "erarr;" "\u002971" }
654     { "erDot;" "\u002253" }
655     { "Escr;" "\u002130" }
656     { "escr;" "\u00212f" }
657     { "esdot;" "\u002250" }
658     { "Esim;" "\u002a73" }
659     { "esim;" "\u002242" }
660     { "Eta;" "\u000397" }
661     { "eta;" "\u0003b7" }
662     { "ETH" "\xd0" }
663     { "eth" "\xf0" }
664     { "ETH;" "\xd0" }
665     { "eth;" "\xf0" }
666     { "Euml" "\xcb" }
667     { "euml" "\xeb" }
668     { "Euml;" "\xcb" }
669     { "euml;" "\xeb" }
670     { "euro;" "\u0020ac" }
671     { "excl;" "!" }
672     { "exist;" "\u002203" }
673     { "Exists;" "\u002203" }
674     { "expectation;" "\u002130" }
675     { "ExponentialE;" "\u002147" }
676     { "exponentiale;" "\u002147" }
677     { "fallingdotseq;" "\u002252" }
678     { "Fcy;" "\u000424" }
679     { "fcy;" "\u000444" }
680     { "female;" "\u002640" }
681     { "ffilig;" "\u00fb03" }
682     { "fflig;" "\u00fb00" }
683     { "ffllig;" "\u00fb04" }
684     { "Ffr;" "\u01d509" }
685     { "ffr;" "\u01d523" }
686     { "filig;" "\u00fb01" }
687     { "FilledSmallSquare;" "\u0025fc" }
688     { "FilledVerySmallSquare;" "\u0025aa" }
689     { "fjlig;" "fj" }
690     { "flat;" "\u00266d" }
691     { "fllig;" "\u00fb02" }
692     { "fltns;" "\u0025b1" }
693     { "fnof;" "\u000192" }
694     { "Fopf;" "\u01d53d" }
695     { "fopf;" "\u01d557" }
696     { "ForAll;" "\u002200" }
697     { "forall;" "\u002200" }
698     { "fork;" "\u0022d4" }
699     { "forkv;" "\u002ad9" }
700     { "Fouriertrf;" "\u002131" }
701     { "fpartint;" "\u002a0d" }
702     { "frac12" "\xbd" }
703     { "frac12;" "\xbd" }
704     { "frac13;" "\u002153" }
705     { "frac14" "\xbc" }
706     { "frac14;" "\xbc" }
707     { "frac15;" "\u002155" }
708     { "frac16;" "\u002159" }
709     { "frac18;" "\u00215b" }
710     { "frac23;" "\u002154" }
711     { "frac25;" "\u002156" }
712     { "frac34" "\xbe" }
713     { "frac34;" "\xbe" }
714     { "frac35;" "\u002157" }
715     { "frac38;" "\u00215c" }
716     { "frac45;" "\u002158" }
717     { "frac56;" "\u00215a" }
718     { "frac58;" "\u00215d" }
719     { "frac78;" "\u00215e" }
720     { "frasl;" "\u002044" }
721     { "frown;" "\u002322" }
722     { "Fscr;" "\u002131" }
723     { "fscr;" "\u01d4bb" }
724     { "gacute;" "\u0001f5" }
725     { "Gamma;" "\u000393" }
726     { "gamma;" "\u0003b3" }
727     { "Gammad;" "\u0003dc" }
728     { "gammad;" "\u0003dd" }
729     { "gap;" "\u002a86" }
730     { "Gbreve;" "\u00011e" }
731     { "gbreve;" "\u00011f" }
732     { "Gcedil;" "\u000122" }
733     { "Gcirc;" "\u00011c" }
734     { "gcirc;" "\u00011d" }
735     { "Gcy;" "\u000413" }
736     { "gcy;" "\u000433" }
737     { "Gdot;" "\u000120" }
738     { "gdot;" "\u000121" }
739     { "gE;" "\u002267" }
740     { "ge;" "\u002265" }
741     { "gEl;" "\u002a8c" }
742     { "gel;" "\u0022db" }
743     { "geq;" "\u002265" }
744     { "geqq;" "\u002267" }
745     { "geqslant;" "\u002a7e" }
746     { "ges;" "\u002a7e" }
747     { "gescc;" "\u002aa9" }
748     { "gesdot;" "\u002a80" }
749     { "gesdoto;" "\u002a82" }
750     { "gesdotol;" "\u002a84" }
751     { "gesl;" "\u0022db\u00fe00" }
752     { "gesles;" "\u002a94" }
753     { "Gfr;" "\u01d50a" }
754     { "gfr;" "\u01d524" }
755     { "Gg;" "\u0022d9" }
756     { "gg;" "\u00226b" }
757     { "ggg;" "\u0022d9" }
758     { "gimel;" "\u002137" }
759     { "GJcy;" "\u000403" }
760     { "gjcy;" "\u000453" }
761     { "gl;" "\u002277" }
762     { "gla;" "\u002aa5" }
763     { "glE;" "\u002a92" }
764     { "glj;" "\u002aa4" }
765     { "gnap;" "\u002a8a" }
766     { "gnapprox;" "\u002a8a" }
767     { "gnE;" "\u002269" }
768     { "gne;" "\u002a88" }
769     { "gneq;" "\u002a88" }
770     { "gneqq;" "\u002269" }
771     { "gnsim;" "\u0022e7" }
772     { "Gopf;" "\u01d53e" }
773     { "gopf;" "\u01d558" }
774     { "grave;" "`" }
775     { "GreaterEqual;" "\u002265" }
776     { "GreaterEqualLess;" "\u0022db" }
777     { "GreaterFullEqual;" "\u002267" }
778     { "GreaterGreater;" "\u002aa2" }
779     { "GreaterLess;" "\u002277" }
780     { "GreaterSlantEqual;" "\u002a7e" }
781     { "GreaterTilde;" "\u002273" }
782     { "Gscr;" "\u01d4a2" }
783     { "gscr;" "\u00210a" }
784     { "gsim;" "\u002273" }
785     { "gsime;" "\u002a8e" }
786     { "gsiml;" "\u002a90" }
787     { "GT" ">" }
788     { "gt" ">" }
789     { "GT;" ">" }
790     { "Gt;" "\u00226b" }
791     { "gt;" ">" }
792     { "gtcc;" "\u002aa7" }
793     { "gtcir;" "\u002a7a" }
794     { "gtdot;" "\u0022d7" }
795     { "gtlPar;" "\u002995" }
796     { "gtquest;" "\u002a7c" }
797     { "gtrapprox;" "\u002a86" }
798     { "gtrarr;" "\u002978" }
799     { "gtrdot;" "\u0022d7" }
800     { "gtreqless;" "\u0022db" }
801     { "gtreqqless;" "\u002a8c" }
802     { "gtrless;" "\u002277" }
803     { "gtrsim;" "\u002273" }
804     { "gvertneqq;" "\u002269\u00fe00" }
805     { "gvnE;" "\u002269\u00fe00" }
806     { "Hacek;" "\u0002c7" }
807     { "hairsp;" "\u00200a" }
808     { "half;" "\xbd" }
809     { "hamilt;" "\u00210b" }
810     { "HARDcy;" "\u00042a" }
811     { "hardcy;" "\u00044a" }
812     { "hArr;" "\u0021d4" }
813     { "harr;" "\u002194" }
814     { "harrcir;" "\u002948" }
815     { "harrw;" "\u0021ad" }
816     { "Hat;" "^" }
817     { "hbar;" "\u00210f" }
818     { "Hcirc;" "\u000124" }
819     { "hcirc;" "\u000125" }
820     { "hearts;" "\u002665" }
821     { "heartsuit;" "\u002665" }
822     { "hellip;" "\u002026" }
823     { "hercon;" "\u0022b9" }
824     { "Hfr;" "\u00210c" }
825     { "hfr;" "\u01d525" }
826     { "HilbertSpace;" "\u00210b" }
827     { "hksearow;" "\u002925" }
828     { "hkswarow;" "\u002926" }
829     { "hoarr;" "\u0021ff" }
830     { "homtht;" "\u00223b" }
831     { "hookleftarrow;" "\u0021a9" }
832     { "hookrightarrow;" "\u0021aa" }
833     { "Hopf;" "\u00210d" }
834     { "hopf;" "\u01d559" }
835     { "horbar;" "\u002015" }
836     { "HorizontalLine;" "\u002500" }
837     { "Hscr;" "\u00210b" }
838     { "hscr;" "\u01d4bd" }
839     { "hslash;" "\u00210f" }
840     { "Hstrok;" "\u000126" }
841     { "hstrok;" "\u000127" }
842     { "HumpDownHump;" "\u00224e" }
843     { "HumpEqual;" "\u00224f" }
844     { "hybull;" "\u002043" }
845     { "hyphen;" "\u002010" }
846     { "Iacute" "\xcd" }
847     { "iacute" "\xed" }
848     { "Iacute;" "\xcd" }
849     { "iacute;" "\xed" }
850     { "ic;" "\u002063" }
851     { "Icirc" "\xce" }
852     { "icirc" "\xee" }
853     { "Icirc;" "\xce" }
854     { "icirc;" "\xee" }
855     { "Icy;" "\u000418" }
856     { "icy;" "\u000438" }
857     { "Idot;" "\u000130" }
858     { "IEcy;" "\u000415" }
859     { "iecy;" "\u000435" }
860     { "iexcl" "\xa1" }
861     { "iexcl;" "\xa1" }
862     { "iff;" "\u0021d4" }
863     { "Ifr;" "\u002111" }
864     { "ifr;" "\u01d526" }
865     { "Igrave" "\xcc" }
866     { "igrave" "\xec" }
867     { "Igrave;" "\xcc" }
868     { "igrave;" "\xec" }
869     { "ii;" "\u002148" }
870     { "iiiint;" "\u002a0c" }
871     { "iiint;" "\u00222d" }
872     { "iinfin;" "\u0029dc" }
873     { "iiota;" "\u002129" }
874     { "IJlig;" "\u000132" }
875     { "ijlig;" "\u000133" }
876     { "Im;" "\u002111" }
877     { "Imacr;" "\u00012a" }
878     { "imacr;" "\u00012b" }
879     { "image;" "\u002111" }
880     { "ImaginaryI;" "\u002148" }
881     { "imagline;" "\u002110" }
882     { "imagpart;" "\u002111" }
883     { "imath;" "\u000131" }
884     { "imof;" "\u0022b7" }
885     { "imped;" "\u0001b5" }
886     { "Implies;" "\u0021d2" }
887     { "in;" "\u002208" }
888     { "incare;" "\u002105" }
889     { "infin;" "\u00221e" }
890     { "infintie;" "\u0029dd" }
891     { "inodot;" "\u000131" }
892     { "Int;" "\u00222c" }
893     { "int;" "\u00222b" }
894     { "intcal;" "\u0022ba" }
895     { "integers;" "\u002124" }
896     { "Integral;" "\u00222b" }
897     { "intercal;" "\u0022ba" }
898     { "Intersection;" "\u0022c2" }
899     { "intlarhk;" "\u002a17" }
900     { "intprod;" "\u002a3c" }
901     { "InvisibleComma;" "\u002063" }
902     { "InvisibleTimes;" "\u002062" }
903     { "IOcy;" "\u000401" }
904     { "iocy;" "\u000451" }
905     { "Iogon;" "\u00012e" }
906     { "iogon;" "\u00012f" }
907     { "Iopf;" "\u01d540" }
908     { "iopf;" "\u01d55a" }
909     { "Iota;" "\u000399" }
910     { "iota;" "\u0003b9" }
911     { "iprod;" "\u002a3c" }
912     { "iquest" "\xbf" }
913     { "iquest;" "\xbf" }
914     { "Iscr;" "\u002110" }
915     { "iscr;" "\u01d4be" }
916     { "isin;" "\u002208" }
917     { "isindot;" "\u0022f5" }
918     { "isinE;" "\u0022f9" }
919     { "isins;" "\u0022f4" }
920     { "isinsv;" "\u0022f3" }
921     { "isinv;" "\u002208" }
922     { "it;" "\u002062" }
923     { "Itilde;" "\u000128" }
924     { "itilde;" "\u000129" }
925     { "Iukcy;" "\u000406" }
926     { "iukcy;" "\u000456" }
927     { "Iuml" "\xcf" }
928     { "iuml" "\xef" }
929     { "Iuml;" "\xcf" }
930     { "iuml;" "\xef" }
931     { "Jcirc;" "\u000134" }
932     { "jcirc;" "\u000135" }
933     { "Jcy;" "\u000419" }
934     { "jcy;" "\u000439" }
935     { "Jfr;" "\u01d50d" }
936     { "jfr;" "\u01d527" }
937     { "jmath;" "\u000237" }
938     { "Jopf;" "\u01d541" }
939     { "jopf;" "\u01d55b" }
940     { "Jscr;" "\u01d4a5" }
941     { "jscr;" "\u01d4bf" }
942     { "Jsercy;" "\u000408" }
943     { "jsercy;" "\u000458" }
944     { "Jukcy;" "\u000404" }
945     { "jukcy;" "\u000454" }
946     { "Kappa;" "\u00039a" }
947     { "kappa;" "\u0003ba" }
948     { "kappav;" "\u0003f0" }
949     { "Kcedil;" "\u000136" }
950     { "kcedil;" "\u000137" }
951     { "Kcy;" "\u00041a" }
952     { "kcy;" "\u00043a" }
953     { "Kfr;" "\u01d50e" }
954     { "kfr;" "\u01d528" }
955     { "kgreen;" "\u000138" }
956     { "KHcy;" "\u000425" }
957     { "khcy;" "\u000445" }
958     { "KJcy;" "\u00040c" }
959     { "kjcy;" "\u00045c" }
960     { "Kopf;" "\u01d542" }
961     { "kopf;" "\u01d55c" }
962     { "Kscr;" "\u01d4a6" }
963     { "kscr;" "\u01d4c0" }
964     { "lAarr;" "\u0021da" }
965     { "Lacute;" "\u000139" }
966     { "lacute;" "\u00013a" }
967     { "laemptyv;" "\u0029b4" }
968     { "lagran;" "\u002112" }
969     { "Lambda;" "\u00039b" }
970     { "lambda;" "\u0003bb" }
971     { "Lang;" "\u0027ea" }
972     { "lang;" "\u0027e8" }
973     { "langd;" "\u002991" }
974     { "langle;" "\u0027e8" }
975     { "lap;" "\u002a85" }
976     { "Laplacetrf;" "\u002112" }
977     { "laquo" "\xab" }
978     { "laquo;" "\xab" }
979     { "Larr;" "\u00219e" }
980     { "lArr;" "\u0021d0" }
981     { "larr;" "\u002190" }
982     { "larrb;" "\u0021e4" }
983     { "larrbfs;" "\u00291f" }
984     { "larrfs;" "\u00291d" }
985     { "larrhk;" "\u0021a9" }
986     { "larrlp;" "\u0021ab" }
987     { "larrpl;" "\u002939" }
988     { "larrsim;" "\u002973" }
989     { "larrtl;" "\u0021a2" }
990     { "lat;" "\u002aab" }
991     { "lAtail;" "\u00291b" }
992     { "latail;" "\u002919" }
993     { "late;" "\u002aad" }
994     { "lates;" "\u002aad\u00fe00" }
995     { "lBarr;" "\u00290e" }
996     { "lbarr;" "\u00290c" }
997     { "lbbrk;" "\u002772" }
998     { "lbrace;" "{" }
999     { "lbrack;" "[" }
1000     { "lbrke;" "\u00298b" }
1001     { "lbrksld;" "\u00298f" }
1002     { "lbrkslu;" "\u00298d" }
1003     { "Lcaron;" "\u00013d" }
1004     { "lcaron;" "\u00013e" }
1005     { "Lcedil;" "\u00013b" }
1006     { "lcedil;" "\u00013c" }
1007     { "lceil;" "\u002308" }
1008     { "lcub;" "{" }
1009     { "Lcy;" "\u00041b" }
1010     { "lcy;" "\u00043b" }
1011     { "ldca;" "\u002936" }
1012     { "ldquo;" "\u00201c" }
1013     { "ldquor;" "\u00201e" }
1014     { "ldrdhar;" "\u002967" }
1015     { "ldrushar;" "\u00294b" }
1016     { "ldsh;" "\u0021b2" }
1017     { "lE;" "\u002266" }
1018     { "le;" "\u002264" }
1019     { "LeftAngleBracket;" "\u0027e8" }
1020     { "LeftArrow;" "\u002190" }
1021     { "Leftarrow;" "\u0021d0" }
1022     { "leftarrow;" "\u002190" }
1023     { "LeftArrowBar;" "\u0021e4" }
1024     { "LeftArrowRightArrow;" "\u0021c6" }
1025     { "leftarrowtail;" "\u0021a2" }
1026     { "LeftCeiling;" "\u002308" }
1027     { "LeftDoubleBracket;" "\u0027e6" }
1028     { "LeftDownTeeVector;" "\u002961" }
1029     { "LeftDownVector;" "\u0021c3" }
1030     { "LeftDownVectorBar;" "\u002959" }
1031     { "LeftFloor;" "\u00230a" }
1032     { "leftharpoondown;" "\u0021bd" }
1033     { "leftharpoonup;" "\u0021bc" }
1034     { "leftleftarrows;" "\u0021c7" }
1035     { "LeftRightArrow;" "\u002194" }
1036     { "Leftrightarrow;" "\u0021d4" }
1037     { "leftrightarrow;" "\u002194" }
1038     { "leftrightarrows;" "\u0021c6" }
1039     { "leftrightharpoons;" "\u0021cb" }
1040     { "leftrightsquigarrow;" "\u0021ad" }
1041     { "LeftRightVector;" "\u00294e" }
1042     { "LeftTee;" "\u0022a3" }
1043     { "LeftTeeArrow;" "\u0021a4" }
1044     { "LeftTeeVector;" "\u00295a" }
1045     { "leftthreetimes;" "\u0022cb" }
1046     { "LeftTriangle;" "\u0022b2" }
1047     { "LeftTriangleBar;" "\u0029cf" }
1048     { "LeftTriangleEqual;" "\u0022b4" }
1049     { "LeftUpDownVector;" "\u002951" }
1050     { "LeftUpTeeVector;" "\u002960" }
1051     { "LeftUpVector;" "\u0021bf" }
1052     { "LeftUpVectorBar;" "\u002958" }
1053     { "LeftVector;" "\u0021bc" }
1054     { "LeftVectorBar;" "\u002952" }
1055     { "lEg;" "\u002a8b" }
1056     { "leg;" "\u0022da" }
1057     { "leq;" "\u002264" }
1058     { "leqq;" "\u002266" }
1059     { "leqslant;" "\u002a7d" }
1060     { "les;" "\u002a7d" }
1061     { "lescc;" "\u002aa8" }
1062     { "lesdot;" "\u002a7f" }
1063     { "lesdoto;" "\u002a81" }
1064     { "lesdotor;" "\u002a83" }
1065     { "lesg;" "\u0022da\u00fe00" }
1066     { "lesges;" "\u002a93" }
1067     { "lessapprox;" "\u002a85" }
1068     { "lessdot;" "\u0022d6" }
1069     { "lesseqgtr;" "\u0022da" }
1070     { "lesseqqgtr;" "\u002a8b" }
1071     { "LessEqualGreater;" "\u0022da" }
1072     { "LessFullEqual;" "\u002266" }
1073     { "LessGreater;" "\u002276" }
1074     { "lessgtr;" "\u002276" }
1075     { "LessLess;" "\u002aa1" }
1076     { "lesssim;" "\u002272" }
1077     { "LessSlantEqual;" "\u002a7d" }
1078     { "LessTilde;" "\u002272" }
1079     { "lfisht;" "\u00297c" }
1080     { "lfloor;" "\u00230a" }
1081     { "Lfr;" "\u01d50f" }
1082     { "lfr;" "\u01d529" }
1083     { "lg;" "\u002276" }
1084     { "lgE;" "\u002a91" }
1085     { "lHar;" "\u002962" }
1086     { "lhard;" "\u0021bd" }
1087     { "lharu;" "\u0021bc" }
1088     { "lharul;" "\u00296a" }
1089     { "lhblk;" "\u002584" }
1090     { "LJcy;" "\u000409" }
1091     { "ljcy;" "\u000459" }
1092     { "Ll;" "\u0022d8" }
1093     { "ll;" "\u00226a" }
1094     { "llarr;" "\u0021c7" }
1095     { "llcorner;" "\u00231e" }
1096     { "Lleftarrow;" "\u0021da" }
1097     { "llhard;" "\u00296b" }
1098     { "lltri;" "\u0025fa" }
1099     { "Lmidot;" "\u00013f" }
1100     { "lmidot;" "\u000140" }
1101     { "lmoust;" "\u0023b0" }
1102     { "lmoustache;" "\u0023b0" }
1103     { "lnap;" "\u002a89" }
1104     { "lnapprox;" "\u002a89" }
1105     { "lnE;" "\u002268" }
1106     { "lne;" "\u002a87" }
1107     { "lneq;" "\u002a87" }
1108     { "lneqq;" "\u002268" }
1109     { "lnsim;" "\u0022e6" }
1110     { "loang;" "\u0027ec" }
1111     { "loarr;" "\u0021fd" }
1112     { "lobrk;" "\u0027e6" }
1113     { "LongLeftArrow;" "\u0027f5" }
1114     { "Longleftarrow;" "\u0027f8" }
1115     { "longleftarrow;" "\u0027f5" }
1116     { "LongLeftRightArrow;" "\u0027f7" }
1117     { "Longleftrightarrow;" "\u0027fa" }
1118     { "longleftrightarrow;" "\u0027f7" }
1119     { "longmapsto;" "\u0027fc" }
1120     { "LongRightArrow;" "\u0027f6" }
1121     { "Longrightarrow;" "\u0027f9" }
1122     { "longrightarrow;" "\u0027f6" }
1123     { "looparrowleft;" "\u0021ab" }
1124     { "looparrowright;" "\u0021ac" }
1125     { "lopar;" "\u002985" }
1126     { "Lopf;" "\u01d543" }
1127     { "lopf;" "\u01d55d" }
1128     { "loplus;" "\u002a2d" }
1129     { "lotimes;" "\u002a34" }
1130     { "lowast;" "\u002217" }
1131     { "lowbar;" "_" }
1132     { "LowerLeftArrow;" "\u002199" }
1133     { "LowerRightArrow;" "\u002198" }
1134     { "loz;" "\u0025ca" }
1135     { "lozenge;" "\u0025ca" }
1136     { "lozf;" "\u0029eb" }
1137     { "lpar;" "(" }
1138     { "lparlt;" "\u002993" }
1139     { "lrarr;" "\u0021c6" }
1140     { "lrcorner;" "\u00231f" }
1141     { "lrhar;" "\u0021cb" }
1142     { "lrhard;" "\u00296d" }
1143     { "lrm;" "\u00200e" }
1144     { "lrtri;" "\u0022bf" }
1145     { "lsaquo;" "\u002039" }
1146     { "Lscr;" "\u002112" }
1147     { "lscr;" "\u01d4c1" }
1148     { "Lsh;" "\u0021b0" }
1149     { "lsh;" "\u0021b0" }
1150     { "lsim;" "\u002272" }
1151     { "lsime;" "\u002a8d" }
1152     { "lsimg;" "\u002a8f" }
1153     { "lsqb;" "[" }
1154     { "lsquo;" "\u002018" }
1155     { "lsquor;" "\u00201a" }
1156     { "Lstrok;" "\u000141" }
1157     { "lstrok;" "\u000142" }
1158     { "LT" "<" }
1159     { "lt" "<" }
1160     { "LT;" "<" }
1161     { "Lt;" "\u00226a" }
1162     { "lt;" "<" }
1163     { "ltcc;" "\u002aa6" }
1164     { "ltcir;" "\u002a79" }
1165     { "ltdot;" "\u0022d6" }
1166     { "lthree;" "\u0022cb" }
1167     { "ltimes;" "\u0022c9" }
1168     { "ltlarr;" "\u002976" }
1169     { "ltquest;" "\u002a7b" }
1170     { "ltri;" "\u0025c3" }
1171     { "ltrie;" "\u0022b4" }
1172     { "ltrif;" "\u0025c2" }
1173     { "ltrPar;" "\u002996" }
1174     { "lurdshar;" "\u00294a" }
1175     { "luruhar;" "\u002966" }
1176     { "lvertneqq;" "\u002268\u00fe00" }
1177     { "lvnE;" "\u002268\u00fe00" }
1178     { "macr" "\xaf" }
1179     { "macr;" "\xaf" }
1180     { "male;" "\u002642" }
1181     { "malt;" "\u002720" }
1182     { "maltese;" "\u002720" }
1183     { "Map;" "\u002905" }
1184     { "map;" "\u0021a6" }
1185     { "mapsto;" "\u0021a6" }
1186     { "mapstodown;" "\u0021a7" }
1187     { "mapstoleft;" "\u0021a4" }
1188     { "mapstoup;" "\u0021a5" }
1189     { "marker;" "\u0025ae" }
1190     { "mcomma;" "\u002a29" }
1191     { "Mcy;" "\u00041c" }
1192     { "mcy;" "\u00043c" }
1193     { "mdash;" "\u002014" }
1194     { "mDDot;" "\u00223a" }
1195     { "measuredangle;" "\u002221" }
1196     { "MediumSpace;" "\u00205f" }
1197     { "Mellintrf;" "\u002133" }
1198     { "Mfr;" "\u01d510" }
1199     { "mfr;" "\u01d52a" }
1200     { "mho;" "\u002127" }
1201     { "micro" "\xb5" }
1202     { "micro;" "\xb5" }
1203     { "mid;" "\u002223" }
1204     { "midast;" "*" }
1205     { "midcir;" "\u002af0" }
1206     { "middot" "\xb7" }
1207     { "middot;" "\xb7" }
1208     { "minus;" "\u002212" }
1209     { "minusb;" "\u00229f" }
1210     { "minusd;" "\u002238" }
1211     { "minusdu;" "\u002a2a" }
1212     { "MinusPlus;" "\u002213" }
1213     { "mlcp;" "\u002adb" }
1214     { "mldr;" "\u002026" }
1215     { "mnplus;" "\u002213" }
1216     { "models;" "\u0022a7" }
1217     { "Mopf;" "\u01d544" }
1218     { "mopf;" "\u01d55e" }
1219     { "mp;" "\u002213" }
1220     { "Mscr;" "\u002133" }
1221     { "mscr;" "\u01d4c2" }
1222     { "mstpos;" "\u00223e" }
1223     { "Mu;" "\u00039c" }
1224     { "mu;" "\u0003bc" }
1225     { "multimap;" "\u0022b8" }
1226     { "mumap;" "\u0022b8" }
1227     { "nabla;" "\u002207" }
1228     { "Nacute;" "\u000143" }
1229     { "nacute;" "\u000144" }
1230     { "nang;" "\u002220\u0020d2" }
1231     { "nap;" "\u002249" }
1232     { "napE;" "\u002a70\u000338" }
1233     { "napid;" "\u00224b\u000338" }
1234     { "napos;" "\u000149" }
1235     { "napprox;" "\u002249" }
1236     { "natur;" "\u00266e" }
1237     { "natural;" "\u00266e" }
1238     { "naturals;" "\u002115" }
1239     { "nbsp" "\xa0" }
1240     { "nbsp;" "\xa0" }
1241     { "nbump;" "\u00224e\u000338" }
1242     { "nbumpe;" "\u00224f\u000338" }
1243     { "ncap;" "\u002a43" }
1244     { "Ncaron;" "\u000147" }
1245     { "ncaron;" "\u000148" }
1246     { "Ncedil;" "\u000145" }
1247     { "ncedil;" "\u000146" }
1248     { "ncong;" "\u002247" }
1249     { "ncongdot;" "\u002a6d\u000338" }
1250     { "ncup;" "\u002a42" }
1251     { "Ncy;" "\u00041d" }
1252     { "ncy;" "\u00043d" }
1253     { "ndash;" "\u002013" }
1254     { "ne;" "\u002260" }
1255     { "nearhk;" "\u002924" }
1256     { "neArr;" "\u0021d7" }
1257     { "nearr;" "\u002197" }
1258     { "nearrow;" "\u002197" }
1259     { "nedot;" "\u002250\u000338" }
1260     { "NegativeMediumSpace;" "\u00200b" }
1261     { "NegativeThickSpace;" "\u00200b" }
1262     { "NegativeThinSpace;" "\u00200b" }
1263     { "NegativeVeryThinSpace;" "\u00200b" }
1264     { "nequiv;" "\u002262" }
1265     { "nesear;" "\u002928" }
1266     { "nesim;" "\u002242\u000338" }
1267     { "NestedGreaterGreater;" "\u00226b" }
1268     { "NestedLessLess;" "\u00226a" }
1269     { "NewLine;" "\n" }
1270     { "nexist;" "\u002204" }
1271     { "nexists;" "\u002204" }
1272     { "Nfr;" "\u01d511" }
1273     { "nfr;" "\u01d52b" }
1274     { "ngE;" "\u002267\u000338" }
1275     { "nge;" "\u002271" }
1276     { "ngeq;" "\u002271" }
1277     { "ngeqq;" "\u002267\u000338" }
1278     { "ngeqslant;" "\u002a7e\u000338" }
1279     { "nges;" "\u002a7e\u000338" }
1280     { "nGg;" "\u0022d9\u000338" }
1281     { "ngsim;" "\u002275" }
1282     { "nGt;" "\u00226b\u0020d2" }
1283     { "ngt;" "\u00226f" }
1284     { "ngtr;" "\u00226f" }
1285     { "nGtv;" "\u00226b\u000338" }
1286     { "nhArr;" "\u0021ce" }
1287     { "nharr;" "\u0021ae" }
1288     { "nhpar;" "\u002af2" }
1289     { "ni;" "\u00220b" }
1290     { "nis;" "\u0022fc" }
1291     { "nisd;" "\u0022fa" }
1292     { "niv;" "\u00220b" }
1293     { "NJcy;" "\u00040a" }
1294     { "njcy;" "\u00045a" }
1295     { "nlArr;" "\u0021cd" }
1296     { "nlarr;" "\u00219a" }
1297     { "nldr;" "\u002025" }
1298     { "nlE;" "\u002266\u000338" }
1299     { "nle;" "\u002270" }
1300     { "nLeftarrow;" "\u0021cd" }
1301     { "nleftarrow;" "\u00219a" }
1302     { "nLeftrightarrow;" "\u0021ce" }
1303     { "nleftrightarrow;" "\u0021ae" }
1304     { "nleq;" "\u002270" }
1305     { "nleqq;" "\u002266\u000338" }
1306     { "nleqslant;" "\u002a7d\u000338" }
1307     { "nles;" "\u002a7d\u000338" }
1308     { "nless;" "\u00226e" }
1309     { "nLl;" "\u0022d8\u000338" }
1310     { "nlsim;" "\u002274" }
1311     { "nLt;" "\u00226a\u0020d2" }
1312     { "nlt;" "\u00226e" }
1313     { "nltri;" "\u0022ea" }
1314     { "nltrie;" "\u0022ec" }
1315     { "nLtv;" "\u00226a\u000338" }
1316     { "nmid;" "\u002224" }
1317     { "NoBreak;" "\u002060" }
1318     { "NonBreakingSpace;" "\xa0" }
1319     { "Nopf;" "\u002115" }
1320     { "nopf;" "\u01d55f" }
1321     { "not" "\xac" }
1322     { "Not;" "\u002aec" }
1323     { "not;" "\xac" }
1324     { "NotCongruent;" "\u002262" }
1325     { "NotCupCap;" "\u00226d" }
1326     { "NotDoubleVerticalBar;" "\u002226" }
1327     { "NotElement;" "\u002209" }
1328     { "NotEqual;" "\u002260" }
1329     { "NotEqualTilde;" "\u002242\u000338" }
1330     { "NotExists;" "\u002204" }
1331     { "NotGreater;" "\u00226f" }
1332     { "NotGreaterEqual;" "\u002271" }
1333     { "NotGreaterFullEqual;" "\u002267\u000338" }
1334     { "NotGreaterGreater;" "\u00226b\u000338" }
1335     { "NotGreaterLess;" "\u002279" }
1336     { "NotGreaterSlantEqual;" "\u002a7e\u000338" }
1337     { "NotGreaterTilde;" "\u002275" }
1338     { "NotHumpDownHump;" "\u00224e\u000338" }
1339     { "NotHumpEqual;" "\u00224f\u000338" }
1340     { "notin;" "\u002209" }
1341     { "notindot;" "\u0022f5\u000338" }
1342     { "notinE;" "\u0022f9\u000338" }
1343     { "notinva;" "\u002209" }
1344     { "notinvb;" "\u0022f7" }
1345     { "notinvc;" "\u0022f6" }
1346     { "NotLeftTriangle;" "\u0022ea" }
1347     { "NotLeftTriangleBar;" "\u0029cf\u000338" }
1348     { "NotLeftTriangleEqual;" "\u0022ec" }
1349     { "NotLess;" "\u00226e" }
1350     { "NotLessEqual;" "\u002270" }
1351     { "NotLessGreater;" "\u002278" }
1352     { "NotLessLess;" "\u00226a\u000338" }
1353     { "NotLessSlantEqual;" "\u002a7d\u000338" }
1354     { "NotLessTilde;" "\u002274" }
1355     { "NotNestedGreaterGreater;" "\u002aa2\u000338" }
1356     { "NotNestedLessLess;" "\u002aa1\u000338" }
1357     { "notni;" "\u00220c" }
1358     { "notniva;" "\u00220c" }
1359     { "notnivb;" "\u0022fe" }
1360     { "notnivc;" "\u0022fd" }
1361     { "NotPrecedes;" "\u002280" }
1362     { "NotPrecedesEqual;" "\u002aaf\u000338" }
1363     { "NotPrecedesSlantEqual;" "\u0022e0" }
1364     { "NotReverseElement;" "\u00220c" }
1365     { "NotRightTriangle;" "\u0022eb" }
1366     { "NotRightTriangleBar;" "\u0029d0\u000338" }
1367     { "NotRightTriangleEqual;" "\u0022ed" }
1368     { "NotSquareSubset;" "\u00228f\u000338" }
1369     { "NotSquareSubsetEqual;" "\u0022e2" }
1370     { "NotSquareSuperset;" "\u002290\u000338" }
1371     { "NotSquareSupersetEqual;" "\u0022e3" }
1372     { "NotSubset;" "\u002282\u0020d2" }
1373     { "NotSubsetEqual;" "\u002288" }
1374     { "NotSucceeds;" "\u002281" }
1375     { "NotSucceedsEqual;" "\u002ab0\u000338" }
1376     { "NotSucceedsSlantEqual;" "\u0022e1" }
1377     { "NotSucceedsTilde;" "\u00227f\u000338" }
1378     { "NotSuperset;" "\u002283\u0020d2" }
1379     { "NotSupersetEqual;" "\u002289" }
1380     { "NotTilde;" "\u002241" }
1381     { "NotTildeEqual;" "\u002244" }
1382     { "NotTildeFullEqual;" "\u002247" }
1383     { "NotTildeTilde;" "\u002249" }
1384     { "NotVerticalBar;" "\u002224" }
1385     { "npar;" "\u002226" }
1386     { "nparallel;" "\u002226" }
1387     { "nparsl;" "\u002afd\u0020e5" }
1388     { "npart;" "\u002202\u000338" }
1389     { "npolint;" "\u002a14" }
1390     { "npr;" "\u002280" }
1391     { "nprcue;" "\u0022e0" }
1392     { "npre;" "\u002aaf\u000338" }
1393     { "nprec;" "\u002280" }
1394     { "npreceq;" "\u002aaf\u000338" }
1395     { "nrArr;" "\u0021cf" }
1396     { "nrarr;" "\u00219b" }
1397     { "nrarrc;" "\u002933\u000338" }
1398     { "nrarrw;" "\u00219d\u000338" }
1399     { "nRightarrow;" "\u0021cf" }
1400     { "nrightarrow;" "\u00219b" }
1401     { "nrtri;" "\u0022eb" }
1402     { "nrtrie;" "\u0022ed" }
1403     { "nsc;" "\u002281" }
1404     { "nsccue;" "\u0022e1" }
1405     { "nsce;" "\u002ab0\u000338" }
1406     { "Nscr;" "\u01d4a9" }
1407     { "nscr;" "\u01d4c3" }
1408     { "nshortmid;" "\u002224" }
1409     { "nshortparallel;" "\u002226" }
1410     { "nsim;" "\u002241" }
1411     { "nsime;" "\u002244" }
1412     { "nsimeq;" "\u002244" }
1413     { "nsmid;" "\u002224" }
1414     { "nspar;" "\u002226" }
1415     { "nsqsube;" "\u0022e2" }
1416     { "nsqsupe;" "\u0022e3" }
1417     { "nsub;" "\u002284" }
1418     { "nsubE;" "\u002ac5\u000338" }
1419     { "nsube;" "\u002288" }
1420     { "nsubset;" "\u002282\u0020d2" }
1421     { "nsubseteq;" "\u002288" }
1422     { "nsubseteqq;" "\u002ac5\u000338" }
1423     { "nsucc;" "\u002281" }
1424     { "nsucceq;" "\u002ab0\u000338" }
1425     { "nsup;" "\u002285" }
1426     { "nsupE;" "\u002ac6\u000338" }
1427     { "nsupe;" "\u002289" }
1428     { "nsupset;" "\u002283\u0020d2" }
1429     { "nsupseteq;" "\u002289" }
1430     { "nsupseteqq;" "\u002ac6\u000338" }
1431     { "ntgl;" "\u002279" }
1432     { "Ntilde" "\xd1" }
1433     { "ntilde" "\xf1" }
1434     { "Ntilde;" "\xd1" }
1435     { "ntilde;" "\xf1" }
1436     { "ntlg;" "\u002278" }
1437     { "ntriangleleft;" "\u0022ea" }
1438     { "ntrianglelefteq;" "\u0022ec" }
1439     { "ntriangleright;" "\u0022eb" }
1440     { "ntrianglerighteq;" "\u0022ed" }
1441     { "Nu;" "\u00039d" }
1442     { "nu;" "\u0003bd" }
1443     { "num;" "#" }
1444     { "numero;" "\u002116" }
1445     { "numsp;" "\u002007" }
1446     { "nvap;" "\u00224d\u0020d2" }
1447     { "nVDash;" "\u0022af" }
1448     { "nVdash;" "\u0022ae" }
1449     { "nvDash;" "\u0022ad" }
1450     { "nvdash;" "\u0022ac" }
1451     { "nvge;" "\u002265\u0020d2" }
1452     { "nvgt;" ">\u0020d2" }
1453     { "nvHarr;" "\u002904" }
1454     { "nvinfin;" "\u0029de" }
1455     { "nvlArr;" "\u002902" }
1456     { "nvle;" "\u002264\u0020d2" }
1457     { "nvlt;" "<\u0020d2" }
1458     { "nvltrie;" "\u0022b4\u0020d2" }
1459     { "nvrArr;" "\u002903" }
1460     { "nvrtrie;" "\u0022b5\u0020d2" }
1461     { "nvsim;" "\u00223c\u0020d2" }
1462     { "nwarhk;" "\u002923" }
1463     { "nwArr;" "\u0021d6" }
1464     { "nwarr;" "\u002196" }
1465     { "nwarrow;" "\u002196" }
1466     { "nwnear;" "\u002927" }
1467     { "Oacute" "\xd3" }
1468     { "oacute" "\xf3" }
1469     { "Oacute;" "\xd3" }
1470     { "oacute;" "\xf3" }
1471     { "oast;" "\u00229b" }
1472     { "ocir;" "\u00229a" }
1473     { "Ocirc" "\xd4" }
1474     { "ocirc" "\xf4" }
1475     { "Ocirc;" "\xd4" }
1476     { "ocirc;" "\xf4" }
1477     { "Ocy;" "\u00041e" }
1478     { "ocy;" "\u00043e" }
1479     { "odash;" "\u00229d" }
1480     { "Odblac;" "\u000150" }
1481     { "odblac;" "\u000151" }
1482     { "odiv;" "\u002a38" }
1483     { "odot;" "\u002299" }
1484     { "odsold;" "\u0029bc" }
1485     { "OElig;" "\u000152" }
1486     { "oelig;" "\u000153" }
1487     { "ofcir;" "\u0029bf" }
1488     { "Ofr;" "\u01d512" }
1489     { "ofr;" "\u01d52c" }
1490     { "ogon;" "\u0002db" }
1491     { "Ograve" "\xd2" }
1492     { "ograve" "\xf2" }
1493     { "Ograve;" "\xd2" }
1494     { "ograve;" "\xf2" }
1495     { "ogt;" "\u0029c1" }
1496     { "ohbar;" "\u0029b5" }
1497     { "ohm;" "\u0003a9" }
1498     { "oint;" "\u00222e" }
1499     { "olarr;" "\u0021ba" }
1500     { "olcir;" "\u0029be" }
1501     { "olcross;" "\u0029bb" }
1502     { "oline;" "\u00203e" }
1503     { "olt;" "\u0029c0" }
1504     { "Omacr;" "\u00014c" }
1505     { "omacr;" "\u00014d" }
1506     { "Omega;" "\u0003a9" }
1507     { "omega;" "\u0003c9" }
1508     { "Omicron;" "\u00039f" }
1509     { "omicron;" "\u0003bf" }
1510     { "omid;" "\u0029b6" }
1511     { "ominus;" "\u002296" }
1512     { "Oopf;" "\u01d546" }
1513     { "oopf;" "\u01d560" }
1514     { "opar;" "\u0029b7" }
1515     { "OpenCurlyDoubleQuote;" "\u00201c" }
1516     { "OpenCurlyQuote;" "\u002018" }
1517     { "operp;" "\u0029b9" }
1518     { "oplus;" "\u002295" }
1519     { "Or;" "\u002a54" }
1520     { "or;" "\u002228" }
1521     { "orarr;" "\u0021bb" }
1522     { "ord;" "\u002a5d" }
1523     { "order;" "\u002134" }
1524     { "orderof;" "\u002134" }
1525     { "ordf" "\xaa" }
1526     { "ordf;" "\xaa" }
1527     { "ordm" "\xba" }
1528     { "ordm;" "\xba" }
1529     { "origof;" "\u0022b6" }
1530     { "oror;" "\u002a56" }
1531     { "orslope;" "\u002a57" }
1532     { "orv;" "\u002a5b" }
1533     { "oS;" "\u0024c8" }
1534     { "Oscr;" "\u01d4aa" }
1535     { "oscr;" "\u002134" }
1536     { "Oslash" "\xd8" }
1537     { "oslash" "\xf8" }
1538     { "Oslash;" "\xd8" }
1539     { "oslash;" "\xf8" }
1540     { "osol;" "\u002298" }
1541     { "Otilde" "\xd5" }
1542     { "otilde" "\xf5" }
1543     { "Otilde;" "\xd5" }
1544     { "otilde;" "\xf5" }
1545     { "Otimes;" "\u002a37" }
1546     { "otimes;" "\u002297" }
1547     { "otimesas;" "\u002a36" }
1548     { "Ouml" "\xd6" }
1549     { "ouml" "\xf6" }
1550     { "Ouml;" "\xd6" }
1551     { "ouml;" "\xf6" }
1552     { "ovbar;" "\u00233d" }
1553     { "OverBar;" "\u00203e" }
1554     { "OverBrace;" "\u0023de" }
1555     { "OverBracket;" "\u0023b4" }
1556     { "OverParenthesis;" "\u0023dc" }
1557     { "par;" "\u002225" }
1558     { "para" "\xb6" }
1559     { "para;" "\xb6" }
1560     { "parallel;" "\u002225" }
1561     { "parsim;" "\u002af3" }
1562     { "parsl;" "\u002afd" }
1563     { "part;" "\u002202" }
1564     { "PartialD;" "\u002202" }
1565     { "Pcy;" "\u00041f" }
1566     { "pcy;" "\u00043f" }
1567     { "percnt;" "%" }
1568     { "period;" "." }
1569     { "permil;" "\u002030" }
1570     { "perp;" "\u0022a5" }
1571     { "pertenk;" "\u002031" }
1572     { "Pfr;" "\u01d513" }
1573     { "pfr;" "\u01d52d" }
1574     { "Phi;" "\u0003a6" }
1575     { "phi;" "\u0003c6" }
1576     { "phiv;" "\u0003d5" }
1577     { "phmmat;" "\u002133" }
1578     { "phone;" "\u00260e" }
1579     { "Pi;" "\u0003a0" }
1580     { "pi;" "\u0003c0" }
1581     { "pitchfork;" "\u0022d4" }
1582     { "piv;" "\u0003d6" }
1583     { "planck;" "\u00210f" }
1584     { "planckh;" "\u00210e" }
1585     { "plankv;" "\u00210f" }
1586     { "plus;" "+" }
1587     { "plusacir;" "\u002a23" }
1588     { "plusb;" "\u00229e" }
1589     { "pluscir;" "\u002a22" }
1590     { "plusdo;" "\u002214" }
1591     { "plusdu;" "\u002a25" }
1592     { "pluse;" "\u002a72" }
1593     { "PlusMinus;" "\xb1" }
1594     { "plusmn" "\xb1" }
1595     { "plusmn;" "\xb1" }
1596     { "plussim;" "\u002a26" }
1597     { "plustwo;" "\u002a27" }
1598     { "pm;" "\xb1" }
1599     { "Poincareplane;" "\u00210c" }
1600     { "pointint;" "\u002a15" }
1601     { "Popf;" "\u002119" }
1602     { "popf;" "\u01d561" }
1603     { "pound" "\xa3" }
1604     { "pound;" "\xa3" }
1605     { "Pr;" "\u002abb" }
1606     { "pr;" "\u00227a" }
1607     { "prap;" "\u002ab7" }
1608     { "prcue;" "\u00227c" }
1609     { "prE;" "\u002ab3" }
1610     { "pre;" "\u002aaf" }
1611     { "prec;" "\u00227a" }
1612     { "precapprox;" "\u002ab7" }
1613     { "preccurlyeq;" "\u00227c" }
1614     { "Precedes;" "\u00227a" }
1615     { "PrecedesEqual;" "\u002aaf" }
1616     { "PrecedesSlantEqual;" "\u00227c" }
1617     { "PrecedesTilde;" "\u00227e" }
1618     { "preceq;" "\u002aaf" }
1619     { "precnapprox;" "\u002ab9" }
1620     { "precneqq;" "\u002ab5" }
1621     { "precnsim;" "\u0022e8" }
1622     { "precsim;" "\u00227e" }
1623     { "Prime;" "\u002033" }
1624     { "prime;" "\u002032" }
1625     { "primes;" "\u002119" }
1626     { "prnap;" "\u002ab9" }
1627     { "prnE;" "\u002ab5" }
1628     { "prnsim;" "\u0022e8" }
1629     { "prod;" "\u00220f" }
1630     { "Product;" "\u00220f" }
1631     { "profalar;" "\u00232e" }
1632     { "profline;" "\u002312" }
1633     { "profsurf;" "\u002313" }
1634     { "prop;" "\u00221d" }
1635     { "Proportion;" "\u002237" }
1636     { "Proportional;" "\u00221d" }
1637     { "propto;" "\u00221d" }
1638     { "prsim;" "\u00227e" }
1639     { "prurel;" "\u0022b0" }
1640     { "Pscr;" "\u01d4ab" }
1641     { "pscr;" "\u01d4c5" }
1642     { "Psi;" "\u0003a8" }
1643     { "psi;" "\u0003c8" }
1644     { "puncsp;" "\u002008" }
1645     { "Qfr;" "\u01d514" }
1646     { "qfr;" "\u01d52e" }
1647     { "qint;" "\u002a0c" }
1648     { "Qopf;" "\u00211a" }
1649     { "qopf;" "\u01d562" }
1650     { "qprime;" "\u002057" }
1651     { "Qscr;" "\u01d4ac" }
1652     { "qscr;" "\u01d4c6" }
1653     { "quaternions;" "\u00210d" }
1654     { "quatint;" "\u002a16" }
1655     { "quest;" "?" }
1656     { "questeq;" "\u00225f" }
1657     { "QUOT" "\"" }
1658     { "QUOT;" "\"" }
1659     { "quot" "\"" }
1660     { "quot;" "\"" }
1661     { "rAarr;" "\u0021db" }
1662     { "race;" "\u00223d\u000331" }
1663     { "Racute;" "\u000154" }
1664     { "racute;" "\u000155" }
1665     { "radic;" "\u00221a" }
1666     { "raemptyv;" "\u0029b3" }
1667     { "Rang;" "\u0027eb" }
1668     { "rang;" "\u0027e9" }
1669     { "rangd;" "\u002992" }
1670     { "range;" "\u0029a5" }
1671     { "rangle;" "\u0027e9" }
1672     { "raquo" "\xbb" }
1673     { "raquo;" "\xbb" }
1674     { "Rarr;" "\u0021a0" }
1675     { "rArr;" "\u0021d2" }
1676     { "rarr;" "\u002192" }
1677     { "rarrap;" "\u002975" }
1678     { "rarrb;" "\u0021e5" }
1679     { "rarrbfs;" "\u002920" }
1680     { "rarrc;" "\u002933" }
1681     { "rarrfs;" "\u00291e" }
1682     { "rarrhk;" "\u0021aa" }
1683     { "rarrlp;" "\u0021ac" }
1684     { "rarrpl;" "\u002945" }
1685     { "rarrsim;" "\u002974" }
1686     { "Rarrtl;" "\u002916" }
1687     { "rarrtl;" "\u0021a3" }
1688     { "rarrw;" "\u00219d" }
1689     { "rAtail;" "\u00291c" }
1690     { "ratail;" "\u00291a" }
1691     { "ratio;" "\u002236" }
1692     { "rationals;" "\u00211a" }
1693     { "RBarr;" "\u002910" }
1694     { "rBarr;" "\u00290f" }
1695     { "rbarr;" "\u00290d" }
1696     { "rbbrk;" "\u002773" }
1697     { "rbrace;" "}" }
1698     { "rbrack;" "]" }
1699     { "rbrke;" "\u00298c" }
1700     { "rbrksld;" "\u00298e" }
1701     { "rbrkslu;" "\u002990" }
1702     { "Rcaron;" "\u000158" }
1703     { "rcaron;" "\u000159" }
1704     { "Rcedil;" "\u000156" }
1705     { "rcedil;" "\u000157" }
1706     { "rceil;" "\u002309" }
1707     { "rcub;" "}" }
1708     { "Rcy;" "\u000420" }
1709     { "rcy;" "\u000440" }
1710     { "rdca;" "\u002937" }
1711     { "rdldhar;" "\u002969" }
1712     { "rdquo;" "\u00201d" }
1713     { "rdquor;" "\u00201d" }
1714     { "rdsh;" "\u0021b3" }
1715     { "Re;" "\u00211c" }
1716     { "real;" "\u00211c" }
1717     { "realine;" "\u00211b" }
1718     { "realpart;" "\u00211c" }
1719     { "reals;" "\u00211d" }
1720     { "rect;" "\u0025ad" }
1721     { "REG" "\xae" }
1722     { "reg" "\xae" }
1723     { "REG;" "\xae" }
1724     { "reg;" "\xae" }
1725     { "ReverseElement;" "\u00220b" }
1726     { "ReverseEquilibrium;" "\u0021cb" }
1727     { "ReverseUpEquilibrium;" "\u00296f" }
1728     { "rfisht;" "\u00297d" }
1729     { "rfloor;" "\u00230b" }
1730     { "Rfr;" "\u00211c" }
1731     { "rfr;" "\u01d52f" }
1732     { "rHar;" "\u002964" }
1733     { "rhard;" "\u0021c1" }
1734     { "rharu;" "\u0021c0" }
1735     { "rharul;" "\u00296c" }
1736     { "Rho;" "\u0003a1" }
1737     { "rho;" "\u0003c1" }
1738     { "rhov;" "\u0003f1" }
1739     { "RightAngleBracket;" "\u0027e9" }
1740     { "RightArrow;" "\u002192" }
1741     { "Rightarrow;" "\u0021d2" }
1742     { "rightarrow;" "\u002192" }
1743     { "RightArrowBar;" "\u0021e5" }
1744     { "RightArrowLeftArrow;" "\u0021c4" }
1745     { "rightarrowtail;" "\u0021a3" }
1746     { "RightCeiling;" "\u002309" }
1747     { "RightDoubleBracket;" "\u0027e7" }
1748     { "RightDownTeeVector;" "\u00295d" }
1749     { "RightDownVector;" "\u0021c2" }
1750     { "RightDownVectorBar;" "\u002955" }
1751     { "RightFloor;" "\u00230b" }
1752     { "rightharpoondown;" "\u0021c1" }
1753     { "rightharpoonup;" "\u0021c0" }
1754     { "rightleftarrows;" "\u0021c4" }
1755     { "rightleftharpoons;" "\u0021cc" }
1756     { "rightrightarrows;" "\u0021c9" }
1757     { "rightsquigarrow;" "\u00219d" }
1758     { "RightTee;" "\u0022a2" }
1759     { "RightTeeArrow;" "\u0021a6" }
1760     { "RightTeeVector;" "\u00295b" }
1761     { "rightthreetimes;" "\u0022cc" }
1762     { "RightTriangle;" "\u0022b3" }
1763     { "RightTriangleBar;" "\u0029d0" }
1764     { "RightTriangleEqual;" "\u0022b5" }
1765     { "RightUpDownVector;" "\u00294f" }
1766     { "RightUpTeeVector;" "\u00295c" }
1767     { "RightUpVector;" "\u0021be" }
1768     { "RightUpVectorBar;" "\u002954" }
1769     { "RightVector;" "\u0021c0" }
1770     { "RightVectorBar;" "\u002953" }
1771     { "ring;" "\u0002da" }
1772     { "risingdotseq;" "\u002253" }
1773     { "rlarr;" "\u0021c4" }
1774     { "rlhar;" "\u0021cc" }
1775     { "rlm;" "\u00200f" }
1776     { "rmoust;" "\u0023b1" }
1777     { "rmoustache;" "\u0023b1" }
1778     { "rnmid;" "\u002aee" }
1779     { "roang;" "\u0027ed" }
1780     { "roarr;" "\u0021fe" }
1781     { "robrk;" "\u0027e7" }
1782     { "ropar;" "\u002986" }
1783     { "Ropf;" "\u00211d" }
1784     { "ropf;" "\u01d563" }
1785     { "roplus;" "\u002a2e" }
1786     { "rotimes;" "\u002a35" }
1787     { "RoundImplies;" "\u002970" }
1788     { "rpar;" ")" }
1789     { "rpargt;" "\u002994" }
1790     { "rppolint;" "\u002a12" }
1791     { "rrarr;" "\u0021c9" }
1792     { "Rrightarrow;" "\u0021db" }
1793     { "rsaquo;" "\u00203a" }
1794     { "Rscr;" "\u00211b" }
1795     { "rscr;" "\u01d4c7" }
1796     { "Rsh;" "\u0021b1" }
1797     { "rsh;" "\u0021b1" }
1798     { "rsqb;" "]" }
1799     { "rsquo;" "\u002019" }
1800     { "rsquor;" "\u002019" }
1801     { "rthree;" "\u0022cc" }
1802     { "rtimes;" "\u0022ca" }
1803     { "rtri;" "\u0025b9" }
1804     { "rtrie;" "\u0022b5" }
1805     { "rtrif;" "\u0025b8" }
1806     { "rtriltri;" "\u0029ce" }
1807     { "RuleDelayed;" "\u0029f4" }
1808     { "ruluhar;" "\u002968" }
1809     { "rx;" "\u00211e" }
1810     { "Sacute;" "\u00015a" }
1811     { "sacute;" "\u00015b" }
1812     { "sbquo;" "\u00201a" }
1813     { "Sc;" "\u002abc" }
1814     { "sc;" "\u00227b" }
1815     { "scap;" "\u002ab8" }
1816     { "Scaron;" "\u000160" }
1817     { "scaron;" "\u000161" }
1818     { "sccue;" "\u00227d" }
1819     { "scE;" "\u002ab4" }
1820     { "sce;" "\u002ab0" }
1821     { "Scedil;" "\u00015e" }
1822     { "scedil;" "\u00015f" }
1823     { "Scirc;" "\u00015c" }
1824     { "scirc;" "\u00015d" }
1825     { "scnap;" "\u002aba" }
1826     { "scnE;" "\u002ab6" }
1827     { "scnsim;" "\u0022e9" }
1828     { "scpolint;" "\u002a13" }
1829     { "scsim;" "\u00227f" }
1830     { "Scy;" "\u000421" }
1831     { "scy;" "\u000441" }
1832     { "sdot;" "\u0022c5" }
1833     { "sdotb;" "\u0022a1" }
1834     { "sdote;" "\u002a66" }
1835     { "searhk;" "\u002925" }
1836     { "seArr;" "\u0021d8" }
1837     { "searr;" "\u002198" }
1838     { "searrow;" "\u002198" }
1839     { "sect" "\xa7" }
1840     { "sect;" "\xa7" }
1841     { "semi;" ";" }
1842     { "seswar;" "\u002929" }
1843     { "setminus;" "\u002216" }
1844     { "setmn;" "\u002216" }
1845     { "sext;" "\u002736" }
1846     { "Sfr;" "\u01d516" }
1847     { "sfr;" "\u01d530" }
1848     { "sfrown;" "\u002322" }
1849     { "sharp;" "\u00266f" }
1850     { "SHCHcy;" "\u000429" }
1851     { "shchcy;" "\u000449" }
1852     { "SHcy;" "\u000428" }
1853     { "shcy;" "\u000448" }
1854     { "ShortDownArrow;" "\u002193" }
1855     { "ShortLeftArrow;" "\u002190" }
1856     { "shortmid;" "\u002223" }
1857     { "shortparallel;" "\u002225" }
1858     { "ShortRightArrow;" "\u002192" }
1859     { "ShortUpArrow;" "\u002191" }
1860     { "shy" "\xad" }
1861     { "shy;" "\xad" }
1862     { "Sigma;" "\u0003a3" }
1863     { "sigma;" "\u0003c3" }
1864     { "sigmaf;" "\u0003c2" }
1865     { "sigmav;" "\u0003c2" }
1866     { "sim;" "\u00223c" }
1867     { "simdot;" "\u002a6a" }
1868     { "sime;" "\u002243" }
1869     { "simeq;" "\u002243" }
1870     { "simg;" "\u002a9e" }
1871     { "simgE;" "\u002aa0" }
1872     { "siml;" "\u002a9d" }
1873     { "simlE;" "\u002a9f" }
1874     { "simne;" "\u002246" }
1875     { "simplus;" "\u002a24" }
1876     { "simrarr;" "\u002972" }
1877     { "slarr;" "\u002190" }
1878     { "SmallCircle;" "\u002218" }
1879     { "smallsetminus;" "\u002216" }
1880     { "smashp;" "\u002a33" }
1881     { "smeparsl;" "\u0029e4" }
1882     { "smid;" "\u002223" }
1883     { "smile;" "\u002323" }
1884     { "smt;" "\u002aaa" }
1885     { "smte;" "\u002aac" }
1886     { "smtes;" "\u002aac\u00fe00" }
1887     { "SOFTcy;" "\u00042c" }
1888     { "softcy;" "\u00044c" }
1889     { "sol;" "/" }
1890     { "solb;" "\u0029c4" }
1891     { "solbar;" "\u00233f" }
1892     { "Sopf;" "\u01d54a" }
1893     { "sopf;" "\u01d564" }
1894     { "spades;" "\u002660" }
1895     { "spadesuit;" "\u002660" }
1896     { "spar;" "\u002225" }
1897     { "sqcap;" "\u002293" }
1898     { "sqcaps;" "\u002293\u00fe00" }
1899     { "sqcup;" "\u002294" }
1900     { "sqcups;" "\u002294\u00fe00" }
1901     { "Sqrt;" "\u00221a" }
1902     { "sqsub;" "\u00228f" }
1903     { "sqsube;" "\u002291" }
1904     { "sqsubset;" "\u00228f" }
1905     { "sqsubseteq;" "\u002291" }
1906     { "sqsup;" "\u002290" }
1907     { "sqsupe;" "\u002292" }
1908     { "sqsupset;" "\u002290" }
1909     { "sqsupseteq;" "\u002292" }
1910     { "squ;" "\u0025a1" }
1911     { "Square;" "\u0025a1" }
1912     { "square;" "\u0025a1" }
1913     { "SquareIntersection;" "\u002293" }
1914     { "SquareSubset;" "\u00228f" }
1915     { "SquareSubsetEqual;" "\u002291" }
1916     { "SquareSuperset;" "\u002290" }
1917     { "SquareSupersetEqual;" "\u002292" }
1918     { "SquareUnion;" "\u002294" }
1919     { "squarf;" "\u0025aa" }
1920     { "squf;" "\u0025aa" }
1921     { "srarr;" "\u002192" }
1922     { "Sscr;" "\u01d4ae" }
1923     { "sscr;" "\u01d4c8" }
1924     { "ssetmn;" "\u002216" }
1925     { "ssmile;" "\u002323" }
1926     { "sstarf;" "\u0022c6" }
1927     { "Star;" "\u0022c6" }
1928     { "star;" "\u002606" }
1929     { "starf;" "\u002605" }
1930     { "straightepsilon;" "\u0003f5" }
1931     { "straightphi;" "\u0003d5" }
1932     { "strns;" "\xaf" }
1933     { "Sub;" "\u0022d0" }
1934     { "sub;" "\u002282" }
1935     { "subdot;" "\u002abd" }
1936     { "subE;" "\u002ac5" }
1937     { "sube;" "\u002286" }
1938     { "subedot;" "\u002ac3" }
1939     { "submult;" "\u002ac1" }
1940     { "subnE;" "\u002acb" }
1941     { "subne;" "\u00228a" }
1942     { "subplus;" "\u002abf" }
1943     { "subrarr;" "\u002979" }
1944     { "Subset;" "\u0022d0" }
1945     { "subset;" "\u002282" }
1946     { "subseteq;" "\u002286" }
1947     { "subseteqq;" "\u002ac5" }
1948     { "SubsetEqual;" "\u002286" }
1949     { "subsetneq;" "\u00228a" }
1950     { "subsetneqq;" "\u002acb" }
1951     { "subsim;" "\u002ac7" }
1952     { "subsub;" "\u002ad5" }
1953     { "subsup;" "\u002ad3" }
1954     { "succ;" "\u00227b" }
1955     { "succapprox;" "\u002ab8" }
1956     { "succcurlyeq;" "\u00227d" }
1957     { "Succeeds;" "\u00227b" }
1958     { "SucceedsEqual;" "\u002ab0" }
1959     { "SucceedsSlantEqual;" "\u00227d" }
1960     { "SucceedsTilde;" "\u00227f" }
1961     { "succeq;" "\u002ab0" }
1962     { "succnapprox;" "\u002aba" }
1963     { "succneqq;" "\u002ab6" }
1964     { "succnsim;" "\u0022e9" }
1965     { "succsim;" "\u00227f" }
1966     { "SuchThat;" "\u00220b" }
1967     { "Sum;" "\u002211" }
1968     { "sum;" "\u002211" }
1969     { "sung;" "\u00266a" }
1970     { "sup1" "\xb9" }
1971     { "sup1;" "\xb9" }
1972     { "sup2" "\xb2" }
1973     { "sup2;" "\xb2" }
1974     { "sup3" "\xb3" }
1975     { "sup3;" "\xb3" }
1976     { "Sup;" "\u0022d1" }
1977     { "sup;" "\u002283" }
1978     { "supdot;" "\u002abe" }
1979     { "supdsub;" "\u002ad8" }
1980     { "supE;" "\u002ac6" }
1981     { "supe;" "\u002287" }
1982     { "supedot;" "\u002ac4" }
1983     { "Superset;" "\u002283" }
1984     { "SupersetEqual;" "\u002287" }
1985     { "suphsol;" "\u0027c9" }
1986     { "suphsub;" "\u002ad7" }
1987     { "suplarr;" "\u00297b" }
1988     { "supmult;" "\u002ac2" }
1989     { "supnE;" "\u002acc" }
1990     { "supne;" "\u00228b" }
1991     { "supplus;" "\u002ac0" }
1992     { "Supset;" "\u0022d1" }
1993     { "supset;" "\u002283" }
1994     { "supseteq;" "\u002287" }
1995     { "supseteqq;" "\u002ac6" }
1996     { "supsetneq;" "\u00228b" }
1997     { "supsetneqq;" "\u002acc" }
1998     { "supsim;" "\u002ac8" }
1999     { "supsub;" "\u002ad4" }
2000     { "supsup;" "\u002ad6" }
2001     { "swarhk;" "\u002926" }
2002     { "swArr;" "\u0021d9" }
2003     { "swarr;" "\u002199" }
2004     { "swarrow;" "\u002199" }
2005     { "swnwar;" "\u00292a" }
2006     { "szlig" "\xdf" }
2007     { "szlig;" "\xdf" }
2008     { "Tab;" "\t" }
2009     { "target;" "\u002316" }
2010     { "Tau;" "\u0003a4" }
2011     { "tau;" "\u0003c4" }
2012     { "tbrk;" "\u0023b4" }
2013     { "Tcaron;" "\u000164" }
2014     { "tcaron;" "\u000165" }
2015     { "Tcedil;" "\u000162" }
2016     { "tcedil;" "\u000163" }
2017     { "Tcy;" "\u000422" }
2018     { "tcy;" "\u000442" }
2019     { "tdot;" "\u0020db" }
2020     { "telrec;" "\u002315" }
2021     { "Tfr;" "\u01d517" }
2022     { "tfr;" "\u01d531" }
2023     { "there4;" "\u002234" }
2024     { "Therefore;" "\u002234" }
2025     { "therefore;" "\u002234" }
2026     { "Theta;" "\u000398" }
2027     { "theta;" "\u0003b8" }
2028     { "thetasym;" "\u0003d1" }
2029     { "thetav;" "\u0003d1" }
2030     { "thickapprox;" "\u002248" }
2031     { "thicksim;" "\u00223c" }
2032     { "ThickSpace;" "\u00205f\u00200a" }
2033     { "thinsp;" "\u002009" }
2034     { "ThinSpace;" "\u002009" }
2035     { "thkap;" "\u002248" }
2036     { "thksim;" "\u00223c" }
2037     { "THORN" "\xde" }
2038     { "thorn" "\xfe" }
2039     { "THORN;" "\xde" }
2040     { "thorn;" "\xfe" }
2041     { "Tilde;" "\u00223c" }
2042     { "tilde;" "\u0002dc" }
2043     { "TildeEqual;" "\u002243" }
2044     { "TildeFullEqual;" "\u002245" }
2045     { "TildeTilde;" "\u002248" }
2046     { "times" "\xd7" }
2047     { "times;" "\xd7" }
2048     { "timesb;" "\u0022a0" }
2049     { "timesbar;" "\u002a31" }
2050     { "timesd;" "\u002a30" }
2051     { "tint;" "\u00222d" }
2052     { "toea;" "\u002928" }
2053     { "top;" "\u0022a4" }
2054     { "topbot;" "\u002336" }
2055     { "topcir;" "\u002af1" }
2056     { "Topf;" "\u01d54b" }
2057     { "topf;" "\u01d565" }
2058     { "topfork;" "\u002ada" }
2059     { "tosa;" "\u002929" }
2060     { "tprime;" "\u002034" }
2061     { "TRADE;" "\u002122" }
2062     { "trade;" "\u002122" }
2063     { "triangle;" "\u0025b5" }
2064     { "triangledown;" "\u0025bf" }
2065     { "triangleleft;" "\u0025c3" }
2066     { "trianglelefteq;" "\u0022b4" }
2067     { "triangleq;" "\u00225c" }
2068     { "triangleright;" "\u0025b9" }
2069     { "trianglerighteq;" "\u0022b5" }
2070     { "tridot;" "\u0025ec" }
2071     { "trie;" "\u00225c" }
2072     { "triminus;" "\u002a3a" }
2073     { "TripleDot;" "\u0020db" }
2074     { "triplus;" "\u002a39" }
2075     { "trisb;" "\u0029cd" }
2076     { "tritime;" "\u002a3b" }
2077     { "trpezium;" "\u0023e2" }
2078     { "Tscr;" "\u01d4af" }
2079     { "tscr;" "\u01d4c9" }
2080     { "TScy;" "\u000426" }
2081     { "tscy;" "\u000446" }
2082     { "TSHcy;" "\u00040b" }
2083     { "tshcy;" "\u00045b" }
2084     { "Tstrok;" "\u000166" }
2085     { "tstrok;" "\u000167" }
2086     { "twixt;" "\u00226c" }
2087     { "twoheadleftarrow;" "\u00219e" }
2088     { "twoheadrightarrow;" "\u0021a0" }
2089     { "Uacute" "\xda" }
2090     { "uacute" "\xfa" }
2091     { "Uacute;" "\xda" }
2092     { "uacute;" "\xfa" }
2093     { "Uarr;" "\u00219f" }
2094     { "uArr;" "\u0021d1" }
2095     { "uarr;" "\u002191" }
2096     { "Uarrocir;" "\u002949" }
2097     { "Ubrcy;" "\u00040e" }
2098     { "ubrcy;" "\u00045e" }
2099     { "Ubreve;" "\u00016c" }
2100     { "ubreve;" "\u00016d" }
2101     { "Ucirc" "\xdb" }
2102     { "ucirc" "\xfb" }
2103     { "Ucirc;" "\xdb" }
2104     { "ucirc;" "\xfb" }
2105     { "Ucy;" "\u000423" }
2106     { "ucy;" "\u000443" }
2107     { "udarr;" "\u0021c5" }
2108     { "Udblac;" "\u000170" }
2109     { "udblac;" "\u000171" }
2110     { "udhar;" "\u00296e" }
2111     { "ufisht;" "\u00297e" }
2112     { "Ufr;" "\u01d518" }
2113     { "ufr;" "\u01d532" }
2114     { "Ugrave" "\xd9" }
2115     { "ugrave" "\xf9" }
2116     { "Ugrave;" "\xd9" }
2117     { "ugrave;" "\xf9" }
2118     { "uHar;" "\u002963" }
2119     { "uharl;" "\u0021bf" }
2120     { "uharr;" "\u0021be" }
2121     { "uhblk;" "\u002580" }
2122     { "ulcorn;" "\u00231c" }
2123     { "ulcorner;" "\u00231c" }
2124     { "ulcrop;" "\u00230f" }
2125     { "ultri;" "\u0025f8" }
2126     { "Umacr;" "\u00016a" }
2127     { "umacr;" "\u00016b" }
2128     { "uml" "\xa8" }
2129     { "uml;" "\xa8" }
2130     { "UnderBar;" "_" }
2131     { "UnderBrace;" "\u0023df" }
2132     { "UnderBracket;" "\u0023b5" }
2133     { "UnderParenthesis;" "\u0023dd" }
2134     { "Union;" "\u0022c3" }
2135     { "UnionPlus;" "\u00228e" }
2136     { "Uogon;" "\u000172" }
2137     { "uogon;" "\u000173" }
2138     { "Uopf;" "\u01d54c" }
2139     { "uopf;" "\u01d566" }
2140     { "UpArrow;" "\u002191" }
2141     { "Uparrow;" "\u0021d1" }
2142     { "uparrow;" "\u002191" }
2143     { "UpArrowBar;" "\u002912" }
2144     { "UpArrowDownArrow;" "\u0021c5" }
2145     { "UpDownArrow;" "\u002195" }
2146     { "Updownarrow;" "\u0021d5" }
2147     { "updownarrow;" "\u002195" }
2148     { "UpEquilibrium;" "\u00296e" }
2149     { "upharpoonleft;" "\u0021bf" }
2150     { "upharpoonright;" "\u0021be" }
2151     { "uplus;" "\u00228e" }
2152     { "UpperLeftArrow;" "\u002196" }
2153     { "UpperRightArrow;" "\u002197" }
2154     { "Upsi;" "\u0003d2" }
2155     { "upsi;" "\u0003c5" }
2156     { "upsih;" "\u0003d2" }
2157     { "Upsilon;" "\u0003a5" }
2158     { "upsilon;" "\u0003c5" }
2159     { "UpTee;" "\u0022a5" }
2160     { "UpTeeArrow;" "\u0021a5" }
2161     { "upuparrows;" "\u0021c8" }
2162     { "urcorn;" "\u00231d" }
2163     { "urcorner;" "\u00231d" }
2164     { "urcrop;" "\u00230e" }
2165     { "Uring;" "\u00016e" }
2166     { "uring;" "\u00016f" }
2167     { "urtri;" "\u0025f9" }
2168     { "Uscr;" "\u01d4b0" }
2169     { "uscr;" "\u01d4ca" }
2170     { "utdot;" "\u0022f0" }
2171     { "Utilde;" "\u000168" }
2172     { "utilde;" "\u000169" }
2173     { "utri;" "\u0025b5" }
2174     { "utrif;" "\u0025b4" }
2175     { "uuarr;" "\u0021c8" }
2176     { "Uuml" "\xdc" }
2177     { "uuml" "\xfc" }
2178     { "Uuml;" "\xdc" }
2179     { "uuml;" "\xfc" }
2180     { "uwangle;" "\u0029a7" }
2181     { "vangrt;" "\u00299c" }
2182     { "varepsilon;" "\u0003f5" }
2183     { "varkappa;" "\u0003f0" }
2184     { "varnothing;" "\u002205" }
2185     { "varphi;" "\u0003d5" }
2186     { "varpi;" "\u0003d6" }
2187     { "varpropto;" "\u00221d" }
2188     { "vArr;" "\u0021d5" }
2189     { "varr;" "\u002195" }
2190     { "varrho;" "\u0003f1" }
2191     { "varsigma;" "\u0003c2" }
2192     { "varsubsetneq;" "\u00228a\u00fe00" }
2193     { "varsubsetneqq;" "\u002acb\u00fe00" }
2194     { "varsupsetneq;" "\u00228b\u00fe00" }
2195     { "varsupsetneqq;" "\u002acc\u00fe00" }
2196     { "vartheta;" "\u0003d1" }
2197     { "vartriangleleft;" "\u0022b2" }
2198     { "vartriangleright;" "\u0022b3" }
2199     { "Vbar;" "\u002aeb" }
2200     { "vBar;" "\u002ae8" }
2201     { "vBarv;" "\u002ae9" }
2202     { "Vcy;" "\u000412" }
2203     { "vcy;" "\u000432" }
2204     { "VDash;" "\u0022ab" }
2205     { "Vdash;" "\u0022a9" }
2206     { "vDash;" "\u0022a8" }
2207     { "vdash;" "\u0022a2" }
2208     { "Vdashl;" "\u002ae6" }
2209     { "Vee;" "\u0022c1" }
2210     { "vee;" "\u002228" }
2211     { "veebar;" "\u0022bb" }
2212     { "veeeq;" "\u00225a" }
2213     { "vellip;" "\u0022ee" }
2214     { "Verbar;" "\u002016" }
2215     { "verbar;" "|" }
2216     { "Vert;" "\u002016" }
2217     { "vert;" "|" }
2218     { "VerticalBar;" "\u002223" }
2219     { "VerticalLine;" "|" }
2220     { "VerticalSeparator;" "\u002758" }
2221     { "VerticalTilde;" "\u002240" }
2222     { "VeryThinSpace;" "\u00200a" }
2223     { "Vfr;" "\u01d519" }
2224     { "vfr;" "\u01d533" }
2225     { "vltri;" "\u0022b2" }
2226     { "vnsub;" "\u002282\u0020d2" }
2227     { "vnsup;" "\u002283\u0020d2" }
2228     { "Vopf;" "\u01d54d" }
2229     { "vopf;" "\u01d567" }
2230     { "vprop;" "\u00221d" }
2231     { "vrtri;" "\u0022b3" }
2232     { "Vscr;" "\u01d4b1" }
2233     { "vscr;" "\u01d4cb" }
2234     { "vsubnE;" "\u002acb\u00fe00" }
2235     { "vsubne;" "\u00228a\u00fe00" }
2236     { "vsupnE;" "\u002acc\u00fe00" }
2237     { "vsupne;" "\u00228b\u00fe00" }
2238     { "Vvdash;" "\u0022aa" }
2239     { "vzigzag;" "\u00299a" }
2240     { "Wcirc;" "\u000174" }
2241     { "wcirc;" "\u000175" }
2242     { "wedbar;" "\u002a5f" }
2243     { "Wedge;" "\u0022c0" }
2244     { "wedge;" "\u002227" }
2245     { "wedgeq;" "\u002259" }
2246     { "weierp;" "\u002118" }
2247     { "Wfr;" "\u01d51a" }
2248     { "wfr;" "\u01d534" }
2249     { "Wopf;" "\u01d54e" }
2250     { "wopf;" "\u01d568" }
2251     { "wp;" "\u002118" }
2252     { "wr;" "\u002240" }
2253     { "wreath;" "\u002240" }
2254     { "Wscr;" "\u01d4b2" }
2255     { "wscr;" "\u01d4cc" }
2256     { "xcap;" "\u0022c2" }
2257     { "xcirc;" "\u0025ef" }
2258     { "xcup;" "\u0022c3" }
2259     { "xdtri;" "\u0025bd" }
2260     { "Xfr;" "\u01d51b" }
2261     { "xfr;" "\u01d535" }
2262     { "xhArr;" "\u0027fa" }
2263     { "xharr;" "\u0027f7" }
2264     { "Xi;" "\u00039e" }
2265     { "xi;" "\u0003be" }
2266     { "xlArr;" "\u0027f8" }
2267     { "xlarr;" "\u0027f5" }
2268     { "xmap;" "\u0027fc" }
2269     { "xnis;" "\u0022fb" }
2270     { "xodot;" "\u002a00" }
2271     { "Xopf;" "\u01d54f" }
2272     { "xopf;" "\u01d569" }
2273     { "xoplus;" "\u002a01" }
2274     { "xotime;" "\u002a02" }
2275     { "xrArr;" "\u0027f9" }
2276     { "xrarr;" "\u0027f6" }
2277     { "Xscr;" "\u01d4b3" }
2278     { "xscr;" "\u01d4cd" }
2279     { "xsqcup;" "\u002a06" }
2280     { "xuplus;" "\u002a04" }
2281     { "xutri;" "\u0025b3" }
2282     { "xvee;" "\u0022c1" }
2283     { "xwedge;" "\u0022c0" }
2284     { "Yacute" "\xdd" }
2285     { "yacute" "\xfd" }
2286     { "Yacute;" "\xdd" }
2287     { "yacute;" "\xfd" }
2288     { "YAcy;" "\u00042f" }
2289     { "yacy;" "\u00044f" }
2290     { "Ycirc;" "\u000176" }
2291     { "ycirc;" "\u000177" }
2292     { "Ycy;" "\u00042b" }
2293     { "ycy;" "\u00044b" }
2294     { "yen" "\xa5" }
2295     { "yen;" "\xa5" }
2296     { "Yfr;" "\u01d51c" }
2297     { "yfr;" "\u01d536" }
2298     { "YIcy;" "\u000407" }
2299     { "yicy;" "\u000457" }
2300     { "Yopf;" "\u01d550" }
2301     { "yopf;" "\u01d56a" }
2302     { "Yscr;" "\u01d4b4" }
2303     { "yscr;" "\u01d4ce" }
2304     { "YUcy;" "\u00042e" }
2305     { "yucy;" "\u00044e" }
2306     { "yuml" "\xff" }
2307     { "Yuml;" "\u000178" }
2308     { "yuml;" "\xff" }
2309     { "Zacute;" "\u000179" }
2310     { "zacute;" "\u00017a" }
2311     { "Zcaron;" "\u00017d" }
2312     { "zcaron;" "\u00017e" }
2313     { "Zcy;" "\u000417" }
2314     { "zcy;" "\u000437" }
2315     { "Zdot;" "\u00017b" }
2316     { "zdot;" "\u00017c" }
2317     { "zeetrf;" "\u002128" }
2318     { "ZeroWidthSpace;" "\u00200b" }
2319     { "Zeta;" "\u000396" }
2320     { "zeta;" "\u0003b6" }
2321     { "Zfr;" "\u002128" }
2322     { "zfr;" "\u01d537" }
2323     { "ZHcy;" "\u000416" }
2324     { "zhcy;" "\u000436" }
2325     { "zigrarr;" "\u0021dd" }
2326     { "Zopf;" "\u002124" }
2327     { "zopf;" "\u01d56b" }
2328     { "Zscr;" "\u01d4b5" }
2329     { "zscr;" "\u01d4cf" }
2330     { "zwj;" "\u00200d" }
2331     { "zwnj;" "\u00200c" }
2332 }
2333
2334 : numeric-charref ( str -- newstr )
2335     ";" ?tail drop dup first "xX" member?
2336     [ rest hex> ] [ dec> ] if invalid-charrefs ?at [
2337         dup { [ 0xD800 0xDFFF between? ] [ 0x10FFFF > ] } 1||
2338         [ drop "\u0FFFFD" ] [
2339             dup invalid-codepoints member?
2340             [ drop "" ] [ 1string ] if
2341         ] if
2342     ] unless ;
2343
2344 : named-charref ( str -- newstr )
2345     html5 ?at [
2346         ! find the longest matching name
2347         dup dup length 1 (a..b) [ head html5 at ] with map-find
2348         [ swapd tail append ] [ drop "&" prepend ] if*
2349     ] unless ;
2350
2351 : replace-charref ( str -- newstr )
2352     "#" ?head [ numeric-charref ] [ named-charref ] if ;
2353
2354 CONSTANT: re-charref
2355 R/ &(#[0-9]+|#[xX][0-9a-fA-F]+|[^\t\n\f <&#;]{1,32});?/
2356
2357 PRIVATE>
2358
2359 : html-unescape ( str -- newstr )
2360     re-charref [ rest replace-charref ] re-replace-with ;