1package HTML::HTML5::Entities;
2
3use 5.008001;
4use base qw[Exporter];
5use strict;
6use utf8;
7
8BEGIN {
9	$HTML::HTML5::Entities::AUTHORITY = 'cpan:TOBYINK';
10	$HTML::HTML5::Entities::VERSION   = '0.004';
11}
12
13our (%entity2char, %char2entity, $hex, $default_unsafe_characters, @EXPORT, @EXPORT_OK);
14
15BEGIN
16{
17	$hex       = 1;
18	@EXPORT    = qw(encode_entities decode_entities _decode_entities);
19	@EXPORT_OK = qw(%entity2char %char2entity encode_entities_numeric num_entity);
20
21	$default_unsafe_characters = qr/[^\w\n\r\t !\#\$%\(-;=?-~]/x;
22
23	%entity2char = (
24		"AElig" => "\306",
25		"AElig;" => "\306",
26		"AMP" => "&",
27		"AMP;" => "&",
28		"Aacute" => "\301",
29		"Aacute;" => "\301",
30		"Abreve;" => "\x{102}",
31		"Acirc" => "\302",
32		"Acirc;" => "\302",
33		"Acy;" => "\x{410}",
34		"Afr;" => "\x{1d504}",
35		"Agrave" => "\300",
36		"Agrave;" => "\300",
37		"Alpha;" => "\x{391}",
38		"Amacr;" => "\x{100}",
39		"And;" => "\x{2a53}",
40		"Aogon;" => "\x{104}",
41		"Aopf;" => "\x{1d538}",
42		"ApplyFunction;" => "\x{2061}",
43		"Aring" => "\305",
44		"Aring;" => "\305",
45		"Ascr;" => "\x{1d49c}",
46		"Assign;" => "\x{2254}",
47		"Atilde" => "\303",
48		"Atilde;" => "\303",
49		"Auml" => "\304",
50		"Auml;" => "\304",
51		"Backslash;" => "\x{2216}",
52		"Barv;" => "\x{2ae7}",
53		"Barwed;" => "\x{2306}",
54		"Bcy;" => "\x{411}",
55		"Because;" => "\x{2235}",
56		"Bernoullis;" => "\x{212c}",
57		"Beta;" => "\x{392}",
58		"Bfr;" => "\x{1d505}",
59		"Bopf;" => "\x{1d539}",
60		"Breve;" => "\x{2d8}",
61		"Bscr;" => "\x{212c}",
62		"Bumpeq;" => "\x{224e}",
63		"CHcy;" => "\x{427}",
64		"COPY" => "\251",
65		"COPY;" => "\251",
66		"Cacute;" => "\x{106}",
67		"Cap;" => "\x{22d2}",
68		"CapitalDifferentialD;" => "\x{2145}",
69		"Cayleys;" => "\x{212d}",
70		"Ccaron;" => "\x{10c}",
71		"Ccedil" => "\307",
72		"Ccedil;" => "\307",
73		"Ccirc;" => "\x{108}",
74		"Cconint;" => "\x{2230}",
75		"Cdot;" => "\x{10a}",
76		"Cedilla;" => "\270",
77		"CenterDot;" => "\267",
78		"Cfr;" => "\x{212d}",
79		"Chi;" => "\x{3a7}",
80		"CircleDot;" => "\x{2299}",
81		"CircleMinus;" => "\x{2296}",
82		"CirclePlus;" => "\x{2295}",
83		"CircleTimes;" => "\x{2297}",
84		"ClockwiseContourIntegral;" => "\x{2232}",
85		"CloseCurlyDoubleQuote;" => "\x{201d}",
86		"CloseCurlyQuote;" => "\x{2019}",
87		"Colon;" => "\x{2237}",
88		"Colone;" => "\x{2a74}",
89		"Congruent;" => "\x{2261}",
90		"Conint;" => "\x{222f}",
91		"ContourIntegral;" => "\x{222e}",
92		"Copf;" => "\x{2102}",
93		"Coproduct;" => "\x{2210}",
94		"CounterClockwiseContourIntegral;" => "\x{2233}",
95		"Cross;" => "\x{2a2f}",
96		"Cscr;" => "\x{1d49e}",
97		"Cup;" => "\x{22d3}",
98		"CupCap;" => "\x{224d}",
99		"DD;" => "\x{2145}",
100		"DDotrahd;" => "\x{2911}",
101		"DJcy;" => "\x{402}",
102		"DScy;" => "\x{405}",
103		"DZcy;" => "\x{40f}",
104		"Dagger;" => "\x{2021}",
105		"Darr;" => "\x{21a1}",
106		"Dashv;" => "\x{2ae4}",
107		"Dcaron;" => "\x{10e}",
108		"Dcy;" => "\x{414}",
109		"Del;" => "\x{2207}",
110		"Delta;" => "\x{394}",
111		"Dfr;" => "\x{1d507}",
112		"DiacriticalAcute;" => "\264",
113		"DiacriticalDot;" => "\x{2d9}",
114		"DiacriticalDoubleAcute;" => "\x{2dd}",
115		"DiacriticalGrave;" => "`",
116		"DiacriticalTilde;" => "\x{2dc}",
117		"Diamond;" => "\x{22c4}",
118		"DifferentialD;" => "\x{2146}",
119		"Dopf;" => "\x{1d53b}",
120		"Dot;" => "\250",
121		"DotDot;" => "\x{20dc}",
122		"DotEqual;" => "\x{2250}",
123		"DoubleContourIntegral;" => "\x{222f}",
124		"DoubleDot;" => "\250",
125		"DoubleDownArrow;" => "\x{21d3}",
126		"DoubleLeftArrow;" => "\x{21d0}",
127		"DoubleLeftRightArrow;" => "\x{21d4}",
128		"DoubleLeftTee;" => "\x{2ae4}",
129		"DoubleLongLeftArrow;" => "\x{27f8}",
130		"DoubleLongLeftRightArrow;" => "\x{27fa}",
131		"DoubleLongRightArrow;" => "\x{27f9}",
132		"DoubleRightArrow;" => "\x{21d2}",
133		"DoubleRightTee;" => "\x{22a8}",
134		"DoubleUpArrow;" => "\x{21d1}",
135		"DoubleUpDownArrow;" => "\x{21d5}",
136		"DoubleVerticalBar;" => "\x{2225}",
137		"DownArrow;" => "\x{2193}",
138		"DownArrowBar;" => "\x{2913}",
139		"DownArrowUpArrow;" => "\x{21f5}",
140		"DownBreve;" => "\x{311}",
141		"DownLeftRightVector;" => "\x{2950}",
142		"DownLeftTeeVector;" => "\x{295e}",
143		"DownLeftVector;" => "\x{21bd}",
144		"DownLeftVectorBar;" => "\x{2956}",
145		"DownRightTeeVector;" => "\x{295f}",
146		"DownRightVector;" => "\x{21c1}",
147		"DownRightVectorBar;" => "\x{2957}",
148		"DownTee;" => "\x{22a4}",
149		"DownTeeArrow;" => "\x{21a7}",
150		"Downarrow;" => "\x{21d3}",
151		"Dscr;" => "\x{1d49f}",
152		"Dstrok;" => "\x{110}",
153		"ENG;" => "\x{14a}",
154		"ETH" => "\320",
155		"ETH;" => "\320",
156		"Eacute" => "\311",
157		"Eacute;" => "\311",
158		"Ecaron;" => "\x{11a}",
159		"Ecirc" => "\312",
160		"Ecirc;" => "\312",
161		"Ecy;" => "\x{42d}",
162		"Edot;" => "\x{116}",
163		"Efr;" => "\x{1d508}",
164		"Egrave" => "\310",
165		"Egrave;" => "\310",
166		"Element;" => "\x{2208}",
167		"Emacr;" => "\x{112}",
168		"EmptySmallSquare;" => "\x{25fb}",
169		"EmptyVerySmallSquare;" => "\x{25ab}",
170		"Eogon;" => "\x{118}",
171		"Eopf;" => "\x{1d53c}",
172		"Epsilon;" => "\x{395}",
173		"Equal;" => "\x{2a75}",
174		"EqualTilde;" => "\x{2242}",
175		"Equilibrium;" => "\x{21cc}",
176		"Escr;" => "\x{2130}",
177		"Esim;" => "\x{2a73}",
178		"Eta;" => "\x{397}",
179		"Euml" => "\313",
180		"Euml;" => "\313",
181		"Exists;" => "\x{2203}",
182		"ExponentialE;" => "\x{2147}",
183		"Fcy;" => "\x{424}",
184		"Ffr;" => "\x{1d509}",
185		"FilledSmallSquare;" => "\x{25fc}",
186		"FilledVerySmallSquare;" => "\x{25aa}",
187		"Fopf;" => "\x{1d53d}",
188		"ForAll;" => "\x{2200}",
189		"Fouriertrf;" => "\x{2131}",
190		"Fscr;" => "\x{2131}",
191		"GJcy;" => "\x{403}",
192		"GT" => ">",
193		"GT;" => ">",
194		"Gamma;" => "\x{393}",
195		"Gammad;" => "\x{3dc}",
196		"Gbreve;" => "\x{11e}",
197		"Gcedil;" => "\x{122}",
198		"Gcirc;" => "\x{11c}",
199		"Gcy;" => "\x{413}",
200		"Gdot;" => "\x{120}",
201		"Gfr;" => "\x{1d50a}",
202		"Gg;" => "\x{22d9}",
203		"Gopf;" => "\x{1d53e}",
204		"GreaterEqual;" => "\x{2265}",
205		"GreaterEqualLess;" => "\x{22db}",
206		"GreaterFullEqual;" => "\x{2267}",
207		"GreaterGreater;" => "\x{2aa2}",
208		"GreaterLess;" => "\x{2277}",
209		"GreaterSlantEqual;" => "\x{2a7e}",
210		"GreaterTilde;" => "\x{2273}",
211		"Gscr;" => "\x{1d4a2}",
212		"Gt;" => "\x{226b}",
213		"HARDcy;" => "\x{42a}",
214		"Hacek;" => "\x{2c7}",
215		"Hat;" => "^",
216		"Hcirc;" => "\x{124}",
217		"Hfr;" => "\x{210c}",
218		"HilbertSpace;" => "\x{210b}",
219		"Hopf;" => "\x{210d}",
220		"HorizontalLine;" => "\x{2500}",
221		"Hscr;" => "\x{210b}",
222		"Hstrok;" => "\x{126}",
223		"HumpDownHump;" => "\x{224e}",
224		"HumpEqual;" => "\x{224f}",
225		"IEcy;" => "\x{415}",
226		"IJlig;" => "\x{132}",
227		"IOcy;" => "\x{401}",
228		"Iacute" => "\315",
229		"Iacute;" => "\315",
230		"Icirc" => "\316",
231		"Icirc;" => "\316",
232		"Icy;" => "\x{418}",
233		"Idot;" => "\x{130}",
234		"Ifr;" => "\x{2111}",
235		"Igrave" => "\314",
236		"Igrave;" => "\314",
237		"Im;" => "\x{2111}",
238		"Imacr;" => "\x{12a}",
239		"ImaginaryI;" => "\x{2148}",
240		"Implies;" => "\x{21d2}",
241		"Int;" => "\x{222c}",
242		"Integral;" => "\x{222b}",
243		"Intersection;" => "\x{22c2}",
244		"InvisibleComma;" => "\x{2063}",
245		"InvisibleTimes;" => "\x{2062}",
246		"Iogon;" => "\x{12e}",
247		"Iopf;" => "\x{1d540}",
248		"Iota;" => "\x{399}",
249		"Iscr;" => "\x{2110}",
250		"Itilde;" => "\x{128}",
251		"Iukcy;" => "\x{406}",
252		"Iuml" => "\317",
253		"Iuml;" => "\317",
254		"Jcirc;" => "\x{134}",
255		"Jcy;" => "\x{419}",
256		"Jfr;" => "\x{1d50d}",
257		"Jopf;" => "\x{1d541}",
258		"Jscr;" => "\x{1d4a5}",
259		"Jsercy;" => "\x{408}",
260		"Jukcy;" => "\x{404}",
261		"KHcy;" => "\x{425}",
262		"KJcy;" => "\x{40c}",
263		"Kappa;" => "\x{39a}",
264		"Kcedil;" => "\x{136}",
265		"Kcy;" => "\x{41a}",
266		"Kfr;" => "\x{1d50e}",
267		"Kopf;" => "\x{1d542}",
268		"Kscr;" => "\x{1d4a6}",
269		"LJcy;" => "\x{409}",
270		"LT" => "<",
271		"LT;" => "<",
272		"Lacute;" => "\x{139}",
273		"Lambda;" => "\x{39b}",
274		"Lang;" => "\x{27ea}",
275		"Laplacetrf;" => "\x{2112}",
276		"Larr;" => "\x{219e}",
277		"Lcaron;" => "\x{13d}",
278		"Lcedil;" => "\x{13b}",
279		"Lcy;" => "\x{41b}",
280		"LeftAngleBracket;" => "\x{27e8}",
281		"LeftArrow;" => "\x{2190}",
282		"LeftArrowBar;" => "\x{21e4}",
283		"LeftArrowRightArrow;" => "\x{21c6}",
284		"LeftCeiling;" => "\x{2308}",
285		"LeftDoubleBracket;" => "\x{27e6}",
286		"LeftDownTeeVector;" => "\x{2961}",
287		"LeftDownVector;" => "\x{21c3}",
288		"LeftDownVectorBar;" => "\x{2959}",
289		"LeftFloor;" => "\x{230a}",
290		"LeftRightArrow;" => "\x{2194}",
291		"LeftRightVector;" => "\x{294e}",
292		"LeftTee;" => "\x{22a3}",
293		"LeftTeeArrow;" => "\x{21a4}",
294		"LeftTeeVector;" => "\x{295a}",
295		"LeftTriangle;" => "\x{22b2}",
296		"LeftTriangleBar;" => "\x{29cf}",
297		"LeftTriangleEqual;" => "\x{22b4}",
298		"LeftUpDownVector;" => "\x{2951}",
299		"LeftUpTeeVector;" => "\x{2960}",
300		"LeftUpVector;" => "\x{21bf}",
301		"LeftUpVectorBar;" => "\x{2958}",
302		"LeftVector;" => "\x{21bc}",
303		"LeftVectorBar;" => "\x{2952}",
304		"Leftarrow;" => "\x{21d0}",
305		"Leftrightarrow;" => "\x{21d4}",
306		"LessEqualGreater;" => "\x{22da}",
307		"LessFullEqual;" => "\x{2266}",
308		"LessGreater;" => "\x{2276}",
309		"LessLess;" => "\x{2aa1}",
310		"LessSlantEqual;" => "\x{2a7d}",
311		"LessTilde;" => "\x{2272}",
312		"Lfr;" => "\x{1d50f}",
313		"Ll;" => "\x{22d8}",
314		"Lleftarrow;" => "\x{21da}",
315		"Lmidot;" => "\x{13f}",
316		"LongLeftArrow;" => "\x{27f5}",
317		"LongLeftRightArrow;" => "\x{27f7}",
318		"LongRightArrow;" => "\x{27f6}",
319		"Longleftarrow;" => "\x{27f8}",
320		"Longleftrightarrow;" => "\x{27fa}",
321		"Longrightarrow;" => "\x{27f9}",
322		"Lopf;" => "\x{1d543}",
323		"LowerLeftArrow;" => "\x{2199}",
324		"LowerRightArrow;" => "\x{2198}",
325		"Lscr;" => "\x{2112}",
326		"Lsh;" => "\x{21b0}",
327		"Lstrok;" => "\x{141}",
328		"Lt;" => "\x{226a}",
329		"Map;" => "\x{2905}",
330		"Mcy;" => "\x{41c}",
331		"MediumSpace;" => "\x{205f}",
332		"Mellintrf;" => "\x{2133}",
333		"Mfr;" => "\x{1d510}",
334		"MinusPlus;" => "\x{2213}",
335		"Mopf;" => "\x{1d544}",
336		"Mscr;" => "\x{2133}",
337		"Mu;" => "\x{39c}",
338		"NJcy;" => "\x{40a}",
339		"Nacute;" => "\x{143}",
340		"Ncaron;" => "\x{147}",
341		"Ncedil;" => "\x{145}",
342		"Ncy;" => "\x{41d}",
343		"NegativeMediumSpace;" => "\x{200b}",
344		"NegativeThickSpace;" => "\x{200b}",
345		"NegativeThinSpace;" => "\x{200b}",
346		"NegativeVeryThinSpace;" => "\x{200b}",
347		"NestedGreaterGreater;" => "\x{226b}",
348		"NestedLessLess;" => "\x{226a}",
349		"NewLine;" => "\n",
350		"Nfr;" => "\x{1d511}",
351		"NoBreak;" => "\x{2060}",
352		"NonBreakingSpace;" => "\240",
353		"Nopf;" => "\x{2115}",
354		"Not;" => "\x{2aec}",
355		"NotCongruent;" => "\x{2262}",
356		"NotCupCap;" => "\x{226d}",
357		"NotDoubleVerticalBar;" => "\x{2226}",
358		"NotElement;" => "\x{2209}",
359		"NotEqual;" => "\x{2260}",
360		"NotEqualTilde;" => "\x{2242}\x{338}",
361		"NotExists;" => "\x{2204}",
362		"NotGreater;" => "\x{226f}",
363		"NotGreaterEqual;" => "\x{2271}",
364		"NotGreaterFullEqual;" => "\x{2267}\x{338}",
365		"NotGreaterGreater;" => "\x{226b}\x{338}",
366		"NotGreaterLess;" => "\x{2279}",
367		"NotGreaterSlantEqual;" => "\x{2a7e}\x{338}",
368		"NotGreaterTilde;" => "\x{2275}",
369		"NotHumpDownHump;" => "\x{224e}\x{338}",
370		"NotHumpEqual;" => "\x{224f}\x{338}",
371		"NotLeftTriangle;" => "\x{22ea}",
372		"NotLeftTriangleBar;" => "\x{29cf}\x{338}",
373		"NotLeftTriangleEqual;" => "\x{22ec}",
374		"NotLess;" => "\x{226e}",
375		"NotLessEqual;" => "\x{2270}",
376		"NotLessGreater;" => "\x{2278}",
377		"NotLessLess;" => "\x{226a}\x{338}",
378		"NotLessSlantEqual;" => "\x{2a7d}\x{338}",
379		"NotLessTilde;" => "\x{2274}",
380		"NotNestedGreaterGreater;" => "\x{2aa2}\x{338}",
381		"NotNestedLessLess;" => "\x{2aa1}\x{338}",
382		"NotPrecedes;" => "\x{2280}",
383		"NotPrecedesEqual;" => "\x{2aaf}\x{338}",
384		"NotPrecedesSlantEqual;" => "\x{22e0}",
385		"NotReverseElement;" => "\x{220c}",
386		"NotRightTriangle;" => "\x{22eb}",
387		"NotRightTriangleBar;" => "\x{29d0}\x{338}",
388		"NotRightTriangleEqual;" => "\x{22ed}",
389		"NotSquareSubset;" => "\x{228f}\x{338}",
390		"NotSquareSubsetEqual;" => "\x{22e2}",
391		"NotSquareSuperset;" => "\x{2290}\x{338}",
392		"NotSquareSupersetEqual;" => "\x{22e3}",
393		"NotSubset;" => "\x{2282}\x{20d2}",
394		"NotSubsetEqual;" => "\x{2288}",
395		"NotSucceeds;" => "\x{2281}",
396		"NotSucceedsEqual;" => "\x{2ab0}\x{338}",
397		"NotSucceedsSlantEqual;" => "\x{22e1}",
398		"NotSucceedsTilde;" => "\x{227f}\x{338}",
399		"NotSuperset;" => "\x{2283}\x{20d2}",
400		"NotSupersetEqual;" => "\x{2289}",
401		"NotTilde;" => "\x{2241}",
402		"NotTildeEqual;" => "\x{2244}",
403		"NotTildeFullEqual;" => "\x{2247}",
404		"NotTildeTilde;" => "\x{2249}",
405		"NotVerticalBar;" => "\x{2224}",
406		"Nscr;" => "\x{1d4a9}",
407		"Ntilde" => "\321",
408		"Ntilde;" => "\321",
409		"Nu;" => "\x{39d}",
410		"OElig;" => "\x{152}",
411		"Oacute" => "\323",
412		"Oacute;" => "\323",
413		"Ocirc" => "\324",
414		"Ocirc;" => "\324",
415		"Ocy;" => "\x{41e}",
416		"Odblac;" => "\x{150}",
417		"Ofr;" => "\x{1d512}",
418		"Ograve" => "\322",
419		"Ograve;" => "\322",
420		"Omacr;" => "\x{14c}",
421		"Omega;" => "\x{3a9}",
422		"Omicron;" => "\x{39f}",
423		"Oopf;" => "\x{1d546}",
424		"OpenCurlyDoubleQuote;" => "\x{201c}",
425		"OpenCurlyQuote;" => "\x{2018}",
426		"Or;" => "\x{2a54}",
427		"Oscr;" => "\x{1d4aa}",
428		"Oslash" => "\330",
429		"Oslash;" => "\330",
430		"Otilde" => "\325",
431		"Otilde;" => "\325",
432		"Otimes;" => "\x{2a37}",
433		"Ouml" => "\326",
434		"Ouml;" => "\326",
435		"OverBar;" => "\x{203e}",
436		"OverBrace;" => "\x{23de}",
437		"OverBracket;" => "\x{23b4}",
438		"OverParenthesis;" => "\x{23dc}",
439		"PartialD;" => "\x{2202}",
440		"Pcy;" => "\x{41f}",
441		"Pfr;" => "\x{1d513}",
442		"Phi;" => "\x{3a6}",
443		"Pi;" => "\x{3a0}",
444		"PlusMinus;" => "\261",
445		"Poincareplane;" => "\x{210c}",
446		"Popf;" => "\x{2119}",
447		"Pr;" => "\x{2abb}",
448		"Precedes;" => "\x{227a}",
449		"PrecedesEqual;" => "\x{2aaf}",
450		"PrecedesSlantEqual;" => "\x{227c}",
451		"PrecedesTilde;" => "\x{227e}",
452		"Prime;" => "\x{2033}",
453		"Product;" => "\x{220f}",
454		"Proportion;" => "\x{2237}",
455		"Proportional;" => "\x{221d}",
456		"Pscr;" => "\x{1d4ab}",
457		"Psi;" => "\x{3a8}",
458		"QUOT" => "\"",
459		"QUOT;" => "\"",
460		"Qfr;" => "\x{1d514}",
461		"Qopf;" => "\x{211a}",
462		"Qscr;" => "\x{1d4ac}",
463		"RBarr;" => "\x{2910}",
464		"REG" => "\256",
465		"REG;" => "\256",
466		"Racute;" => "\x{154}",
467		"Rang;" => "\x{27eb}",
468		"Rarr;" => "\x{21a0}",
469		"Rarrtl;" => "\x{2916}",
470		"Rcaron;" => "\x{158}",
471		"Rcedil;" => "\x{156}",
472		"Rcy;" => "\x{420}",
473		"Re;" => "\x{211c}",
474		"ReverseElement;" => "\x{220b}",
475		"ReverseEquilibrium;" => "\x{21cb}",
476		"ReverseUpEquilibrium;" => "\x{296f}",
477		"Rfr;" => "\x{211c}",
478		"Rho;" => "\x{3a1}",
479		"RightAngleBracket;" => "\x{27e9}",
480		"RightArrow;" => "\x{2192}",
481		"RightArrowBar;" => "\x{21e5}",
482		"RightArrowLeftArrow;" => "\x{21c4}",
483		"RightCeiling;" => "\x{2309}",
484		"RightDoubleBracket;" => "\x{27e7}",
485		"RightDownTeeVector;" => "\x{295d}",
486		"RightDownVector;" => "\x{21c2}",
487		"RightDownVectorBar;" => "\x{2955}",
488		"RightFloor;" => "\x{230b}",
489		"RightTee;" => "\x{22a2}",
490		"RightTeeArrow;" => "\x{21a6}",
491		"RightTeeVector;" => "\x{295b}",
492		"RightTriangle;" => "\x{22b3}",
493		"RightTriangleBar;" => "\x{29d0}",
494		"RightTriangleEqual;" => "\x{22b5}",
495		"RightUpDownVector;" => "\x{294f}",
496		"RightUpTeeVector;" => "\x{295c}",
497		"RightUpVector;" => "\x{21be}",
498		"RightUpVectorBar;" => "\x{2954}",
499		"RightVector;" => "\x{21c0}",
500		"RightVectorBar;" => "\x{2953}",
501		"Rightarrow;" => "\x{21d2}",
502		"Ropf;" => "\x{211d}",
503		"RoundImplies;" => "\x{2970}",
504		"Rrightarrow;" => "\x{21db}",
505		"Rscr;" => "\x{211b}",
506		"Rsh;" => "\x{21b1}",
507		"RuleDelayed;" => "\x{29f4}",
508		"SHCHcy;" => "\x{429}",
509		"SHcy;" => "\x{428}",
510		"SOFTcy;" => "\x{42c}",
511		"Sacute;" => "\x{15a}",
512		"Sc;" => "\x{2abc}",
513		"Scaron;" => "\x{160}",
514		"Scedil;" => "\x{15e}",
515		"Scirc;" => "\x{15c}",
516		"Scy;" => "\x{421}",
517		"Sfr;" => "\x{1d516}",
518		"ShortDownArrow;" => "\x{2193}",
519		"ShortLeftArrow;" => "\x{2190}",
520		"ShortRightArrow;" => "\x{2192}",
521		"ShortUpArrow;" => "\x{2191}",
522		"Sigma;" => "\x{3a3}",
523		"SmallCircle;" => "\x{2218}",
524		"Sopf;" => "\x{1d54a}",
525		"Sqrt;" => "\x{221a}",
526		"Square;" => "\x{25a1}",
527		"SquareIntersection;" => "\x{2293}",
528		"SquareSubset;" => "\x{228f}",
529		"SquareSubsetEqual;" => "\x{2291}",
530		"SquareSuperset;" => "\x{2290}",
531		"SquareSupersetEqual;" => "\x{2292}",
532		"SquareUnion;" => "\x{2294}",
533		"Sscr;" => "\x{1d4ae}",
534		"Star;" => "\x{22c6}",
535		"Sub;" => "\x{22d0}",
536		"Subset;" => "\x{22d0}",
537		"SubsetEqual;" => "\x{2286}",
538		"Succeeds;" => "\x{227b}",
539		"SucceedsEqual;" => "\x{2ab0}",
540		"SucceedsSlantEqual;" => "\x{227d}",
541		"SucceedsTilde;" => "\x{227f}",
542		"SuchThat;" => "\x{220b}",
543		"Sum;" => "\x{2211}",
544		"Sup;" => "\x{22d1}",
545		"Superset;" => "\x{2283}",
546		"SupersetEqual;" => "\x{2287}",
547		"Supset;" => "\x{22d1}",
548		"THORN" => "\336",
549		"THORN;" => "\336",
550		"TRADE;" => "\x{2122}",
551		"TSHcy;" => "\x{40b}",
552		"TScy;" => "\x{426}",
553		"Tab;" => "\t",
554		"Tau;" => "\x{3a4}",
555		"Tcaron;" => "\x{164}",
556		"Tcedil;" => "\x{162}",
557		"Tcy;" => "\x{422}",
558		"Tfr;" => "\x{1d517}",
559		"Therefore;" => "\x{2234}",
560		"Theta;" => "\x{398}",
561		"ThickSpace;" => "\x{205f}\x{200a}",
562		"ThinSpace;" => "\x{2009}",
563		"Tilde;" => "\x{223c}",
564		"TildeEqual;" => "\x{2243}",
565		"TildeFullEqual;" => "\x{2245}",
566		"TildeTilde;" => "\x{2248}",
567		"Topf;" => "\x{1d54b}",
568		"TripleDot;" => "\x{20db}",
569		"Tscr;" => "\x{1d4af}",
570		"Tstrok;" => "\x{166}",
571		"Uacute" => "\332",
572		"Uacute;" => "\332",
573		"Uarr;" => "\x{219f}",
574		"Uarrocir;" => "\x{2949}",
575		"Ubrcy;" => "\x{40e}",
576		"Ubreve;" => "\x{16c}",
577		"Ucirc" => "\333",
578		"Ucirc;" => "\333",
579		"Ucy;" => "\x{423}",
580		"Udblac;" => "\x{170}",
581		"Ufr;" => "\x{1d518}",
582		"Ugrave" => "\331",
583		"Ugrave;" => "\331",
584		"Umacr;" => "\x{16a}",
585		"UnderBar;" => "_",
586		"UnderBrace;" => "\x{23df}",
587		"UnderBracket;" => "\x{23b5}",
588		"UnderParenthesis;" => "\x{23dd}",
589		"Union;" => "\x{22c3}",
590		"UnionPlus;" => "\x{228e}",
591		"Uogon;" => "\x{172}",
592		"Uopf;" => "\x{1d54c}",
593		"UpArrow;" => "\x{2191}",
594		"UpArrowBar;" => "\x{2912}",
595		"UpArrowDownArrow;" => "\x{21c5}",
596		"UpDownArrow;" => "\x{2195}",
597		"UpEquilibrium;" => "\x{296e}",
598		"UpTee;" => "\x{22a5}",
599		"UpTeeArrow;" => "\x{21a5}",
600		"Uparrow;" => "\x{21d1}",
601		"Updownarrow;" => "\x{21d5}",
602		"UpperLeftArrow;" => "\x{2196}",
603		"UpperRightArrow;" => "\x{2197}",
604		"Upsi;" => "\x{3d2}",
605		"Upsilon;" => "\x{3a5}",
606		"Uring;" => "\x{16e}",
607		"Uscr;" => "\x{1d4b0}",
608		"Utilde;" => "\x{168}",
609		"Uuml" => "\334",
610		"Uuml;" => "\334",
611		"VDash;" => "\x{22ab}",
612		"Vbar;" => "\x{2aeb}",
613		"Vcy;" => "\x{412}",
614		"Vdash;" => "\x{22a9}",
615		"Vdashl;" => "\x{2ae6}",
616		"Vee;" => "\x{22c1}",
617		"Verbar;" => "\x{2016}",
618		"Vert;" => "\x{2016}",
619		"VerticalBar;" => "\x{2223}",
620		"VerticalLine;" => "|",
621		"VerticalSeparator;" => "\x{2758}",
622		"VerticalTilde;" => "\x{2240}",
623		"VeryThinSpace;" => "\x{200a}",
624		"Vfr;" => "\x{1d519}",
625		"Vopf;" => "\x{1d54d}",
626		"Vscr;" => "\x{1d4b1}",
627		"Vvdash;" => "\x{22aa}",
628		"Wcirc;" => "\x{174}",
629		"Wedge;" => "\x{22c0}",
630		"Wfr;" => "\x{1d51a}",
631		"Wopf;" => "\x{1d54e}",
632		"Wscr;" => "\x{1d4b2}",
633		"Xfr;" => "\x{1d51b}",
634		"Xi;" => "\x{39e}",
635		"Xopf;" => "\x{1d54f}",
636		"Xscr;" => "\x{1d4b3}",
637		"YAcy;" => "\x{42f}",
638		"YIcy;" => "\x{407}",
639		"YUcy;" => "\x{42e}",
640		"Yacute" => "\335",
641		"Yacute;" => "\335",
642		"Ycirc;" => "\x{176}",
643		"Ycy;" => "\x{42b}",
644		"Yfr;" => "\x{1d51c}",
645		"Yopf;" => "\x{1d550}",
646		"Yscr;" => "\x{1d4b4}",
647		"Yuml;" => "\x{178}",
648		"ZHcy;" => "\x{416}",
649		"Zacute;" => "\x{179}",
650		"Zcaron;" => "\x{17d}",
651		"Zcy;" => "\x{417}",
652		"Zdot;" => "\x{17b}",
653		"ZeroWidthSpace;" => "\x{200b}",
654		"Zeta;" => "\x{396}",
655		"Zfr;" => "\x{2128}",
656		"Zopf;" => "\x{2124}",
657		"Zscr;" => "\x{1d4b5}",
658		"aacute" => "\341",
659		"aacute;" => "\341",
660		"abreve;" => "\x{103}",
661		"ac;" => "\x{223e}",
662		"acE;" => "\x{223e}\x{333}",
663		"acd;" => "\x{223f}",
664		"acirc" => "\342",
665		"acirc;" => "\342",
666		"acute" => "\264",
667		"acute;" => "\264",
668		"acy;" => "\x{430}",
669		"aelig" => "\346",
670		"aelig;" => "\346",
671		"af;" => "\x{2061}",
672		"afr;" => "\x{1d51e}",
673		"agrave" => "\340",
674		"agrave;" => "\340",
675		"alefsym;" => "\x{2135}",
676		"aleph;" => "\x{2135}",
677		"alpha;" => "\x{3b1}",
678		"amacr;" => "\x{101}",
679		"amalg;" => "\x{2a3f}",
680		"amp" => "&",
681		"amp;" => "&",
682		"and;" => "\x{2227}",
683		"andand;" => "\x{2a55}",
684		"andd;" => "\x{2a5c}",
685		"andslope;" => "\x{2a58}",
686		"andv;" => "\x{2a5a}",
687		"ang;" => "\x{2220}",
688		"ange;" => "\x{29a4}",
689		"angle;" => "\x{2220}",
690		"angmsd;" => "\x{2221}",
691		"angmsdaa;" => "\x{29a8}",
692		"angmsdab;" => "\x{29a9}",
693		"angmsdac;" => "\x{29aa}",
694		"angmsdad;" => "\x{29ab}",
695		"angmsdae;" => "\x{29ac}",
696		"angmsdaf;" => "\x{29ad}",
697		"angmsdag;" => "\x{29ae}",
698		"angmsdah;" => "\x{29af}",
699		"angrt;" => "\x{221f}",
700		"angrtvb;" => "\x{22be}",
701		"angrtvbd;" => "\x{299d}",
702		"angsph;" => "\x{2222}",
703		"angst;" => "\305",
704		"angzarr;" => "\x{237c}",
705		"aogon;" => "\x{105}",
706		"aopf;" => "\x{1d552}",
707		"ap;" => "\x{2248}",
708		"apE;" => "\x{2a70}",
709		"apacir;" => "\x{2a6f}",
710		"ape;" => "\x{224a}",
711		"apid;" => "\x{224b}",
712		"apos;" => "'",
713		"approx;" => "\x{2248}",
714		"approxeq;" => "\x{224a}",
715		"aring" => "\345",
716		"aring;" => "\345",
717		"ascr;" => "\x{1d4b6}",
718		"ast;" => "*",
719		"asymp;" => "\x{2248}",
720		"asympeq;" => "\x{224d}",
721		"atilde" => "\343",
722		"atilde;" => "\343",
723		"auml" => "\344",
724		"auml;" => "\344",
725		"awconint;" => "\x{2233}",
726		"awint;" => "\x{2a11}",
727		"bNot;" => "\x{2aed}",
728		"backcong;" => "\x{224c}",
729		"backepsilon;" => "\x{3f6}",
730		"backprime;" => "\x{2035}",
731		"backsim;" => "\x{223d}",
732		"backsimeq;" => "\x{22cd}",
733		"barvee;" => "\x{22bd}",
734		"barwed;" => "\x{2305}",
735		"barwedge;" => "\x{2305}",
736		"bbrk;" => "\x{23b5}",
737		"bbrktbrk;" => "\x{23b6}",
738		"bcong;" => "\x{224c}",
739		"bcy;" => "\x{431}",
740		"bdquo;" => "\x{201e}",
741		"becaus;" => "\x{2235}",
742		"because;" => "\x{2235}",
743		"bemptyv;" => "\x{29b0}",
744		"bepsi;" => "\x{3f6}",
745		"bernou;" => "\x{212c}",
746		"beta;" => "\x{3b2}",
747		"beth;" => "\x{2136}",
748		"between;" => "\x{226c}",
749		"bfr;" => "\x{1d51f}",
750		"bigcap;" => "\x{22c2}",
751		"bigcirc;" => "\x{25ef}",
752		"bigcup;" => "\x{22c3}",
753		"bigodot;" => "\x{2a00}",
754		"bigoplus;" => "\x{2a01}",
755		"bigotimes;" => "\x{2a02}",
756		"bigsqcup;" => "\x{2a06}",
757		"bigstar;" => "\x{2605}",
758		"bigtriangledown;" => "\x{25bd}",
759		"bigtriangleup;" => "\x{25b3}",
760		"biguplus;" => "\x{2a04}",
761		"bigvee;" => "\x{22c1}",
762		"bigwedge;" => "\x{22c0}",
763		"bkarow;" => "\x{290d}",
764		"blacklozenge;" => "\x{29eb}",
765		"blacksquare;" => "\x{25aa}",
766		"blacktriangle;" => "\x{25b4}",
767		"blacktriangledown;" => "\x{25be}",
768		"blacktriangleleft;" => "\x{25c2}",
769		"blacktriangleright;" => "\x{25b8}",
770		"blank;" => "\x{2423}",
771		"blk12;" => "\x{2592}",
772		"blk14;" => "\x{2591}",
773		"blk34;" => "\x{2593}",
774		"block;" => "\x{2588}",
775		"bne;" => "=\x{20e5}",
776		"bnequiv;" => "\x{2261}\x{20e5}",
777		"bnot;" => "\x{2310}",
778		"bopf;" => "\x{1d553}",
779		"bot;" => "\x{22a5}",
780		"bottom;" => "\x{22a5}",
781		"bowtie;" => "\x{22c8}",
782		"boxDL;" => "\x{2557}",
783		"boxDR;" => "\x{2554}",
784		"boxDl;" => "\x{2556}",
785		"boxDr;" => "\x{2553}",
786		"boxH;" => "\x{2550}",
787		"boxHD;" => "\x{2566}",
788		"boxHU;" => "\x{2569}",
789		"boxHd;" => "\x{2564}",
790		"boxHu;" => "\x{2567}",
791		"boxUL;" => "\x{255d}",
792		"boxUR;" => "\x{255a}",
793		"boxUl;" => "\x{255c}",
794		"boxUr;" => "\x{2559}",
795		"boxV;" => "\x{2551}",
796		"boxVH;" => "\x{256c}",
797		"boxVL;" => "\x{2563}",
798		"boxVR;" => "\x{2560}",
799		"boxVh;" => "\x{256b}",
800		"boxVl;" => "\x{2562}",
801		"boxVr;" => "\x{255f}",
802		"boxbox;" => "\x{29c9}",
803		"boxdL;" => "\x{2555}",
804		"boxdR;" => "\x{2552}",
805		"boxdl;" => "\x{2510}",
806		"boxdr;" => "\x{250c}",
807		"boxh;" => "\x{2500}",
808		"boxhD;" => "\x{2565}",
809		"boxhU;" => "\x{2568}",
810		"boxhd;" => "\x{252c}",
811		"boxhu;" => "\x{2534}",
812		"boxminus;" => "\x{229f}",
813		"boxplus;" => "\x{229e}",
814		"boxtimes;" => "\x{22a0}",
815		"boxuL;" => "\x{255b}",
816		"boxuR;" => "\x{2558}",
817		"boxul;" => "\x{2518}",
818		"boxur;" => "\x{2514}",
819		"boxv;" => "\x{2502}",
820		"boxvH;" => "\x{256a}",
821		"boxvL;" => "\x{2561}",
822		"boxvR;" => "\x{255e}",
823		"boxvh;" => "\x{253c}",
824		"boxvl;" => "\x{2524}",
825		"boxvr;" => "\x{251c}",
826		"bprime;" => "\x{2035}",
827		"breve;" => "\x{2d8}",
828		"brvbar" => "\246",
829		"brvbar;" => "\246",
830		"bscr;" => "\x{1d4b7}",
831		"bsemi;" => "\x{204f}",
832		"bsim;" => "\x{223d}",
833		"bsime;" => "\x{22cd}",
834		"bsol;" => "\\",
835		"bsolb;" => "\x{29c5}",
836		"bsolhsub;" => "\x{27c8}",
837		"bull;" => "\x{2022}",
838		"bullet;" => "\x{2022}",
839		"bump;" => "\x{224e}",
840		"bumpE;" => "\x{2aae}",
841		"bumpe;" => "\x{224f}",
842		"bumpeq;" => "\x{224f}",
843		"cacute;" => "\x{107}",
844		"cap;" => "\x{2229}",
845		"capand;" => "\x{2a44}",
846		"capbrcup;" => "\x{2a49}",
847		"capcap;" => "\x{2a4b}",
848		"capcup;" => "\x{2a47}",
849		"capdot;" => "\x{2a40}",
850		"caps;" => "\x{2229}\x{fe00}",
851		"caret;" => "\x{2041}",
852		"caron;" => "\x{2c7}",
853		"ccaps;" => "\x{2a4d}",
854		"ccaron;" => "\x{10d}",
855		"ccedil" => "\347",
856		"ccedil;" => "\347",
857		"ccirc;" => "\x{109}",
858		"ccups;" => "\x{2a4c}",
859		"ccupssm;" => "\x{2a50}",
860		"cdot;" => "\x{10b}",
861		"cedil" => "\270",
862		"cedil;" => "\270",
863		"cemptyv;" => "\x{29b2}",
864		"cent" => "\242",
865		"cent;" => "\242",
866		"centerdot;" => "\267",
867		"cfr;" => "\x{1d520}",
868		"chcy;" => "\x{447}",
869		"check;" => "\x{2713}",
870		"checkmark;" => "\x{2713}",
871		"chi;" => "\x{3c7}",
872		"cir;" => "\x{25cb}",
873		"cirE;" => "\x{29c3}",
874		"circ;" => "\x{2c6}",
875		"circeq;" => "\x{2257}",
876		"circlearrowleft;" => "\x{21ba}",
877		"circlearrowright;" => "\x{21bb}",
878		"circledR;" => "\256",
879		"circledS;" => "\x{24c8}",
880		"circledast;" => "\x{229b}",
881		"circledcirc;" => "\x{229a}",
882		"circleddash;" => "\x{229d}",
883		"cire;" => "\x{2257}",
884		"cirfnint;" => "\x{2a10}",
885		"cirmid;" => "\x{2aef}",
886		"cirscir;" => "\x{29c2}",
887		"clubs;" => "\x{2663}",
888		"clubsuit;" => "\x{2663}",
889		"colon;" => ":",
890		"colone;" => "\x{2254}",
891		"coloneq;" => "\x{2254}",
892		"comma;" => ",",
893		"commat;" => "\@",
894		"comp;" => "\x{2201}",
895		"compfn;" => "\x{2218}",
896		"complement;" => "\x{2201}",
897		"complexes;" => "\x{2102}",
898		"cong;" => "\x{2245}",
899		"congdot;" => "\x{2a6d}",
900		"conint;" => "\x{222e}",
901		"copf;" => "\x{1d554}",
902		"coprod;" => "\x{2210}",
903		"copy" => "\251",
904		"copy;" => "\251",
905		"copysr;" => "\x{2117}",
906		"crarr;" => "\x{21b5}",
907		"cross;" => "\x{2717}",
908		"cscr;" => "\x{1d4b8}",
909		"csub;" => "\x{2acf}",
910		"csube;" => "\x{2ad1}",
911		"csup;" => "\x{2ad0}",
912		"csupe;" => "\x{2ad2}",
913		"ctdot;" => "\x{22ef}",
914		"cudarrl;" => "\x{2938}",
915		"cudarrr;" => "\x{2935}",
916		"cuepr;" => "\x{22de}",
917		"cuesc;" => "\x{22df}",
918		"cularr;" => "\x{21b6}",
919		"cularrp;" => "\x{293d}",
920		"cup;" => "\x{222a}",
921		"cupbrcap;" => "\x{2a48}",
922		"cupcap;" => "\x{2a46}",
923		"cupcup;" => "\x{2a4a}",
924		"cupdot;" => "\x{228d}",
925		"cupor;" => "\x{2a45}",
926		"cups;" => "\x{222a}\x{fe00}",
927		"curarr;" => "\x{21b7}",
928		"curarrm;" => "\x{293c}",
929		"curlyeqprec;" => "\x{22de}",
930		"curlyeqsucc;" => "\x{22df}",
931		"curlyvee;" => "\x{22ce}",
932		"curlywedge;" => "\x{22cf}",
933		"curren" => "\244",
934		"curren;" => "\244",
935		"curvearrowleft;" => "\x{21b6}",
936		"curvearrowright;" => "\x{21b7}",
937		"cuvee;" => "\x{22ce}",
938		"cuwed;" => "\x{22cf}",
939		"cwconint;" => "\x{2232}",
940		"cwint;" => "\x{2231}",
941		"cylcty;" => "\x{232d}",
942		"dArr;" => "\x{21d3}",
943		"dHar;" => "\x{2965}",
944		"dagger;" => "\x{2020}",
945		"daleth;" => "\x{2138}",
946		"darr;" => "\x{2193}",
947		"dash;" => "\x{2010}",
948		"dashv;" => "\x{22a3}",
949		"dbkarow;" => "\x{290f}",
950		"dblac;" => "\x{2dd}",
951		"dcaron;" => "\x{10f}",
952		"dcy;" => "\x{434}",
953		"dd;" => "\x{2146}",
954		"ddagger;" => "\x{2021}",
955		"ddarr;" => "\x{21ca}",
956		"ddotseq;" => "\x{2a77}",
957		"deg" => "\260",
958		"deg;" => "\260",
959		"delta;" => "\x{3b4}",
960		"demptyv;" => "\x{29b1}",
961		"dfisht;" => "\x{297f}",
962		"dfr;" => "\x{1d521}",
963		"dharl;" => "\x{21c3}",
964		"dharr;" => "\x{21c2}",
965		"diam;" => "\x{22c4}",
966		"diamond;" => "\x{22c4}",
967		"diamondsuit;" => "\x{2666}",
968		"diams;" => "\x{2666}",
969		"die;" => "\250",
970		"digamma;" => "\x{3dd}",
971		"disin;" => "\x{22f2}",
972		"div;" => "\367",
973		"divide" => "\367",
974		"divide;" => "\367",
975		"divideontimes;" => "\x{22c7}",
976		"divonx;" => "\x{22c7}",
977		"djcy;" => "\x{452}",
978		"dlcorn;" => "\x{231e}",
979		"dlcrop;" => "\x{230d}",
980		"dollar;" => "\$",
981		"dopf;" => "\x{1d555}",
982		"dot;" => "\x{2d9}",
983		"doteq;" => "\x{2250}",
984		"doteqdot;" => "\x{2251}",
985		"dotminus;" => "\x{2238}",
986		"dotplus;" => "\x{2214}",
987		"dotsquare;" => "\x{22a1}",
988		"doublebarwedge;" => "\x{2306}",
989		"downarrow;" => "\x{2193}",
990		"downdownarrows;" => "\x{21ca}",
991		"downharpoonleft;" => "\x{21c3}",
992		"downharpoonright;" => "\x{21c2}",
993		"drbkarow;" => "\x{2910}",
994		"drcorn;" => "\x{231f}",
995		"drcrop;" => "\x{230c}",
996		"dscr;" => "\x{1d4b9}",
997		"dscy;" => "\x{455}",
998		"dsol;" => "\x{29f6}",
999		"dstrok;" => "\x{111}",
1000		"dtdot;" => "\x{22f1}",
1001		"dtri;" => "\x{25bf}",
1002		"dtrif;" => "\x{25be}",
1003		"duarr;" => "\x{21f5}",
1004		"duhar;" => "\x{296f}",
1005		"dwangle;" => "\x{29a6}",
1006		"dzcy;" => "\x{45f}",
1007		"dzigrarr;" => "\x{27ff}",
1008		"eDDot;" => "\x{2a77}",
1009		"eDot;" => "\x{2251}",
1010		"eacute" => "\351",
1011		"eacute;" => "\351",
1012		"easter;" => "\x{2a6e}",
1013		"ecaron;" => "\x{11b}",
1014		"ecir;" => "\x{2256}",
1015		"ecirc" => "\352",
1016		"ecirc;" => "\352",
1017		"ecolon;" => "\x{2255}",
1018		"ecy;" => "\x{44d}",
1019		"edot;" => "\x{117}",
1020		"ee;" => "\x{2147}",
1021		"efDot;" => "\x{2252}",
1022		"efr;" => "\x{1d522}",
1023		"eg;" => "\x{2a9a}",
1024		"egrave" => "\350",
1025		"egrave;" => "\350",
1026		"egs;" => "\x{2a96}",
1027		"egsdot;" => "\x{2a98}",
1028		"el;" => "\x{2a99}",
1029		"elinters;" => "\x{23e7}",
1030		"ell;" => "\x{2113}",
1031		"els;" => "\x{2a95}",
1032		"elsdot;" => "\x{2a97}",
1033		"emacr;" => "\x{113}",
1034		"empty;" => "\x{2205}",
1035		"emptyset;" => "\x{2205}",
1036		"emptyv;" => "\x{2205}",
1037		"emsp13;" => "\x{2004}",
1038		"emsp14;" => "\x{2005}",
1039		"emsp;" => "\x{2003}",
1040		"eng;" => "\x{14b}",
1041		"ensp;" => "\x{2002}",
1042		"eogon;" => "\x{119}",
1043		"eopf;" => "\x{1d556}",
1044		"epar;" => "\x{22d5}",
1045		"eparsl;" => "\x{29e3}",
1046		"eplus;" => "\x{2a71}",
1047		"epsi;" => "\x{3b5}",
1048		"epsilon;" => "\x{3b5}",
1049		"epsiv;" => "\x{3f5}",
1050		"eqcirc;" => "\x{2256}",
1051		"eqcolon;" => "\x{2255}",
1052		"eqsim;" => "\x{2242}",
1053		"eqslantgtr;" => "\x{2a96}",
1054		"eqslantless;" => "\x{2a95}",
1055		"equals;" => "=",
1056		"equest;" => "\x{225f}",
1057		"equiv;" => "\x{2261}",
1058		"equivDD;" => "\x{2a78}",
1059		"eqvparsl;" => "\x{29e5}",
1060		"erDot;" => "\x{2253}",
1061		"erarr;" => "\x{2971}",
1062		"escr;" => "\x{212f}",
1063		"esdot;" => "\x{2250}",
1064		"esim;" => "\x{2242}",
1065		"eta;" => "\x{3b7}",
1066		"eth" => "\360",
1067		"eth;" => "\360",
1068		"euml" => "\353",
1069		"euml;" => "\353",
1070		"euro;" => "\x{20ac}",
1071		"excl;" => "!",
1072		"exist;" => "\x{2203}",
1073		"expectation;" => "\x{2130}",
1074		"exponentiale;" => "\x{2147}",
1075		"fallingdotseq;" => "\x{2252}",
1076		"fcy;" => "\x{444}",
1077		"female;" => "\x{2640}",
1078		"ffilig;" => "\x{fb03}",
1079		"fflig;" => "\x{fb00}",
1080		"ffllig;" => "\x{fb04}",
1081		"ffr;" => "\x{1d523}",
1082		"filig;" => "\x{fb01}",
1083		"fjlig;" => "fj",
1084		"flat;" => "\x{266d}",
1085		"fllig;" => "\x{fb02}",
1086		"fltns;" => "\x{25b1}",
1087		"fnof;" => "\x{192}",
1088		"fopf;" => "\x{1d557}",
1089		"forall;" => "\x{2200}",
1090		"fork;" => "\x{22d4}",
1091		"forkv;" => "\x{2ad9}",
1092		"fpartint;" => "\x{2a0d}",
1093		"frac12" => "\275",
1094		"frac12;" => "\275",
1095		"frac13;" => "\x{2153}",
1096		"frac14" => "\274",
1097		"frac14;" => "\274",
1098		"frac15;" => "\x{2155}",
1099		"frac16;" => "\x{2159}",
1100		"frac18;" => "\x{215b}",
1101		"frac23;" => "\x{2154}",
1102		"frac25;" => "\x{2156}",
1103		"frac34" => "\276",
1104		"frac34;" => "\276",
1105		"frac35;" => "\x{2157}",
1106		"frac38;" => "\x{215c}",
1107		"frac45;" => "\x{2158}",
1108		"frac56;" => "\x{215a}",
1109		"frac58;" => "\x{215d}",
1110		"frac78;" => "\x{215e}",
1111		"frasl;" => "\x{2044}",
1112		"frown;" => "\x{2322}",
1113		"fscr;" => "\x{1d4bb}",
1114		"gE;" => "\x{2267}",
1115		"gEl;" => "\x{2a8c}",
1116		"gacute;" => "\x{1f5}",
1117		"gamma;" => "\x{3b3}",
1118		"gammad;" => "\x{3dd}",
1119		"gap;" => "\x{2a86}",
1120		"gbreve;" => "\x{11f}",
1121		"gcirc;" => "\x{11d}",
1122		"gcy;" => "\x{433}",
1123		"gdot;" => "\x{121}",
1124		"ge;" => "\x{2265}",
1125		"gel;" => "\x{22db}",
1126		"geq;" => "\x{2265}",
1127		"geqq;" => "\x{2267}",
1128		"geqslant;" => "\x{2a7e}",
1129		"ges;" => "\x{2a7e}",
1130		"gescc;" => "\x{2aa9}",
1131		"gesdot;" => "\x{2a80}",
1132		"gesdoto;" => "\x{2a82}",
1133		"gesdotol;" => "\x{2a84}",
1134		"gesl;" => "\x{22db}\x{fe00}",
1135		"gesles;" => "\x{2a94}",
1136		"gfr;" => "\x{1d524}",
1137		"gg;" => "\x{226b}",
1138		"ggg;" => "\x{22d9}",
1139		"gimel;" => "\x{2137}",
1140		"gjcy;" => "\x{453}",
1141		"gl;" => "\x{2277}",
1142		"glE;" => "\x{2a92}",
1143		"gla;" => "\x{2aa5}",
1144		"glj;" => "\x{2aa4}",
1145		"gnE;" => "\x{2269}",
1146		"gnap;" => "\x{2a8a}",
1147		"gnapprox;" => "\x{2a8a}",
1148		"gne;" => "\x{2a88}",
1149		"gneq;" => "\x{2a88}",
1150		"gneqq;" => "\x{2269}",
1151		"gnsim;" => "\x{22e7}",
1152		"gopf;" => "\x{1d558}",
1153		"grave;" => "`",
1154		"gscr;" => "\x{210a}",
1155		"gsim;" => "\x{2273}",
1156		"gsime;" => "\x{2a8e}",
1157		"gsiml;" => "\x{2a90}",
1158		"gt" => ">",
1159		"gt;" => ">",
1160		"gtcc;" => "\x{2aa7}",
1161		"gtcir;" => "\x{2a7a}",
1162		"gtdot;" => "\x{22d7}",
1163		"gtlPar;" => "\x{2995}",
1164		"gtquest;" => "\x{2a7c}",
1165		"gtrapprox;" => "\x{2a86}",
1166		"gtrarr;" => "\x{2978}",
1167		"gtrdot;" => "\x{22d7}",
1168		"gtreqless;" => "\x{22db}",
1169		"gtreqqless;" => "\x{2a8c}",
1170		"gtrless;" => "\x{2277}",
1171		"gtrsim;" => "\x{2273}",
1172		"gvertneqq;" => "\x{2269}\x{fe00}",
1173		"gvnE;" => "\x{2269}\x{fe00}",
1174		"hArr;" => "\x{21d4}",
1175		"hairsp;" => "\x{200a}",
1176		"half;" => "\275",
1177		"hamilt;" => "\x{210b}",
1178		"hardcy;" => "\x{44a}",
1179		"harr;" => "\x{2194}",
1180		"harrcir;" => "\x{2948}",
1181		"harrw;" => "\x{21ad}",
1182		"hbar;" => "\x{210f}",
1183		"hcirc;" => "\x{125}",
1184		"hearts;" => "\x{2665}",
1185		"heartsuit;" => "\x{2665}",
1186		"hellip;" => "\x{2026}",
1187		"hercon;" => "\x{22b9}",
1188		"hfr;" => "\x{1d525}",
1189		"hksearow;" => "\x{2925}",
1190		"hkswarow;" => "\x{2926}",
1191		"hoarr;" => "\x{21ff}",
1192		"homtht;" => "\x{223b}",
1193		"hookleftarrow;" => "\x{21a9}",
1194		"hookrightarrow;" => "\x{21aa}",
1195		"hopf;" => "\x{1d559}",
1196		"horbar;" => "\x{2015}",
1197		"hscr;" => "\x{1d4bd}",
1198		"hslash;" => "\x{210f}",
1199		"hstrok;" => "\x{127}",
1200		"hybull;" => "\x{2043}",
1201		"hyphen;" => "\x{2010}",
1202		"iacute" => "\355",
1203		"iacute;" => "\355",
1204		"ic;" => "\x{2063}",
1205		"icirc" => "\356",
1206		"icirc;" => "\356",
1207		"icy;" => "\x{438}",
1208		"iecy;" => "\x{435}",
1209		"iexcl" => "\241",
1210		"iexcl;" => "\241",
1211		"iff;" => "\x{21d4}",
1212		"ifr;" => "\x{1d526}",
1213		"igrave" => "\354",
1214		"igrave;" => "\354",
1215		"ii;" => "\x{2148}",
1216		"iiiint;" => "\x{2a0c}",
1217		"iiint;" => "\x{222d}",
1218		"iinfin;" => "\x{29dc}",
1219		"iiota;" => "\x{2129}",
1220		"ijlig;" => "\x{133}",
1221		"imacr;" => "\x{12b}",
1222		"image;" => "\x{2111}",
1223		"imagline;" => "\x{2110}",
1224		"imagpart;" => "\x{2111}",
1225		"imath;" => "\x{131}",
1226		"imof;" => "\x{22b7}",
1227		"imped;" => "\x{1b5}",
1228		"in;" => "\x{2208}",
1229		"incare;" => "\x{2105}",
1230		"infin;" => "\x{221e}",
1231		"infintie;" => "\x{29dd}",
1232		"inodot;" => "\x{131}",
1233		"int;" => "\x{222b}",
1234		"intcal;" => "\x{22ba}",
1235		"integers;" => "\x{2124}",
1236		"intercal;" => "\x{22ba}",
1237		"intlarhk;" => "\x{2a17}",
1238		"intprod;" => "\x{2a3c}",
1239		"iocy;" => "\x{451}",
1240		"iogon;" => "\x{12f}",
1241		"iopf;" => "\x{1d55a}",
1242		"iota;" => "\x{3b9}",
1243		"iprod;" => "\x{2a3c}",
1244		"iquest" => "\277",
1245		"iquest;" => "\277",
1246		"iscr;" => "\x{1d4be}",
1247		"isin;" => "\x{2208}",
1248		"isinE;" => "\x{22f9}",
1249		"isindot;" => "\x{22f5}",
1250		"isins;" => "\x{22f4}",
1251		"isinsv;" => "\x{22f3}",
1252		"isinv;" => "\x{2208}",
1253		"it;" => "\x{2062}",
1254		"itilde;" => "\x{129}",
1255		"iukcy;" => "\x{456}",
1256		"iuml" => "\357",
1257		"iuml;" => "\357",
1258		"jcirc;" => "\x{135}",
1259		"jcy;" => "\x{439}",
1260		"jfr;" => "\x{1d527}",
1261		"jmath;" => "\x{237}",
1262		"jopf;" => "\x{1d55b}",
1263		"jscr;" => "\x{1d4bf}",
1264		"jsercy;" => "\x{458}",
1265		"jukcy;" => "\x{454}",
1266		"kappa;" => "\x{3ba}",
1267		"kappav;" => "\x{3f0}",
1268		"kcedil;" => "\x{137}",
1269		"kcy;" => "\x{43a}",
1270		"kfr;" => "\x{1d528}",
1271		"kgreen;" => "\x{138}",
1272		"khcy;" => "\x{445}",
1273		"kjcy;" => "\x{45c}",
1274		"kopf;" => "\x{1d55c}",
1275		"kscr;" => "\x{1d4c0}",
1276		"lAarr;" => "\x{21da}",
1277		"lArr;" => "\x{21d0}",
1278		"lAtail;" => "\x{291b}",
1279		"lBarr;" => "\x{290e}",
1280		"lE;" => "\x{2266}",
1281		"lEg;" => "\x{2a8b}",
1282		"lHar;" => "\x{2962}",
1283		"lacute;" => "\x{13a}",
1284		"laemptyv;" => "\x{29b4}",
1285		"lagran;" => "\x{2112}",
1286		"lambda;" => "\x{3bb}",
1287		"lang;" => "\x{27e8}",
1288		"langd;" => "\x{2991}",
1289		"langle;" => "\x{27e8}",
1290		"lap;" => "\x{2a85}",
1291		"laquo" => "\253",
1292		"laquo;" => "\253",
1293		"larr;" => "\x{2190}",
1294		"larrb;" => "\x{21e4}",
1295		"larrbfs;" => "\x{291f}",
1296		"larrfs;" => "\x{291d}",
1297		"larrhk;" => "\x{21a9}",
1298		"larrlp;" => "\x{21ab}",
1299		"larrpl;" => "\x{2939}",
1300		"larrsim;" => "\x{2973}",
1301		"larrtl;" => "\x{21a2}",
1302		"lat;" => "\x{2aab}",
1303		"latail;" => "\x{2919}",
1304		"late;" => "\x{2aad}",
1305		"lates;" => "\x{2aad}\x{fe00}",
1306		"lbarr;" => "\x{290c}",
1307		"lbbrk;" => "\x{2772}",
1308		"lbrace;" => "{",
1309		"lbrack;" => "[",
1310		"lbrke;" => "\x{298b}",
1311		"lbrksld;" => "\x{298f}",
1312		"lbrkslu;" => "\x{298d}",
1313		"lcaron;" => "\x{13e}",
1314		"lcedil;" => "\x{13c}",
1315		"lceil;" => "\x{2308}",
1316		"lcub;" => "{",
1317		"lcy;" => "\x{43b}",
1318		"ldca;" => "\x{2936}",
1319		"ldquo;" => "\x{201c}",
1320		"ldquor;" => "\x{201e}",
1321		"ldrdhar;" => "\x{2967}",
1322		"ldrushar;" => "\x{294b}",
1323		"ldsh;" => "\x{21b2}",
1324		"le;" => "\x{2264}",
1325		"leftarrow;" => "\x{2190}",
1326		"leftarrowtail;" => "\x{21a2}",
1327		"leftharpoondown;" => "\x{21bd}",
1328		"leftharpoonup;" => "\x{21bc}",
1329		"leftleftarrows;" => "\x{21c7}",
1330		"leftrightarrow;" => "\x{2194}",
1331		"leftrightarrows;" => "\x{21c6}",
1332		"leftrightharpoons;" => "\x{21cb}",
1333		"leftrightsquigarrow;" => "\x{21ad}",
1334		"leftthreetimes;" => "\x{22cb}",
1335		"leg;" => "\x{22da}",
1336		"leq;" => "\x{2264}",
1337		"leqq;" => "\x{2266}",
1338		"leqslant;" => "\x{2a7d}",
1339		"les;" => "\x{2a7d}",
1340		"lescc;" => "\x{2aa8}",
1341		"lesdot;" => "\x{2a7f}",
1342		"lesdoto;" => "\x{2a81}",
1343		"lesdotor;" => "\x{2a83}",
1344		"lesg;" => "\x{22da}\x{fe00}",
1345		"lesges;" => "\x{2a93}",
1346		"lessapprox;" => "\x{2a85}",
1347		"lessdot;" => "\x{22d6}",
1348		"lesseqgtr;" => "\x{22da}",
1349		"lesseqqgtr;" => "\x{2a8b}",
1350		"lessgtr;" => "\x{2276}",
1351		"lesssim;" => "\x{2272}",
1352		"lfisht;" => "\x{297c}",
1353		"lfloor;" => "\x{230a}",
1354		"lfr;" => "\x{1d529}",
1355		"lg;" => "\x{2276}",
1356		"lgE;" => "\x{2a91}",
1357		"lhard;" => "\x{21bd}",
1358		"lharu;" => "\x{21bc}",
1359		"lharul;" => "\x{296a}",
1360		"lhblk;" => "\x{2584}",
1361		"ljcy;" => "\x{459}",
1362		"ll;" => "\x{226a}",
1363		"llarr;" => "\x{21c7}",
1364		"llcorner;" => "\x{231e}",
1365		"llhard;" => "\x{296b}",
1366		"lltri;" => "\x{25fa}",
1367		"lmidot;" => "\x{140}",
1368		"lmoust;" => "\x{23b0}",
1369		"lmoustache;" => "\x{23b0}",
1370		"lnE;" => "\x{2268}",
1371		"lnap;" => "\x{2a89}",
1372		"lnapprox;" => "\x{2a89}",
1373		"lne;" => "\x{2a87}",
1374		"lneq;" => "\x{2a87}",
1375		"lneqq;" => "\x{2268}",
1376		"lnsim;" => "\x{22e6}",
1377		"loang;" => "\x{27ec}",
1378		"loarr;" => "\x{21fd}",
1379		"lobrk;" => "\x{27e6}",
1380		"longleftarrow;" => "\x{27f5}",
1381		"longleftrightarrow;" => "\x{27f7}",
1382		"longmapsto;" => "\x{27fc}",
1383		"longrightarrow;" => "\x{27f6}",
1384		"looparrowleft;" => "\x{21ab}",
1385		"looparrowright;" => "\x{21ac}",
1386		"lopar;" => "\x{2985}",
1387		"lopf;" => "\x{1d55d}",
1388		"loplus;" => "\x{2a2d}",
1389		"lotimes;" => "\x{2a34}",
1390		"lowast;" => "\x{2217}",
1391		"lowbar;" => "_",
1392		"loz;" => "\x{25ca}",
1393		"lozenge;" => "\x{25ca}",
1394		"lozf;" => "\x{29eb}",
1395		"lpar;" => "(",
1396		"lparlt;" => "\x{2993}",
1397		"lrarr;" => "\x{21c6}",
1398		"lrcorner;" => "\x{231f}",
1399		"lrhar;" => "\x{21cb}",
1400		"lrhard;" => "\x{296d}",
1401		"lrm;" => "\x{200e}",
1402		"lrtri;" => "\x{22bf}",
1403		"lsaquo;" => "\x{2039}",
1404		"lscr;" => "\x{1d4c1}",
1405		"lsh;" => "\x{21b0}",
1406		"lsim;" => "\x{2272}",
1407		"lsime;" => "\x{2a8d}",
1408		"lsimg;" => "\x{2a8f}",
1409		"lsqb;" => "[",
1410		"lsquo;" => "\x{2018}",
1411		"lsquor;" => "\x{201a}",
1412		"lstrok;" => "\x{142}",
1413		"lt" => "<",
1414		"lt;" => "<",
1415		"ltcc;" => "\x{2aa6}",
1416		"ltcir;" => "\x{2a79}",
1417		"ltdot;" => "\x{22d6}",
1418		"lthree;" => "\x{22cb}",
1419		"ltimes;" => "\x{22c9}",
1420		"ltlarr;" => "\x{2976}",
1421		"ltquest;" => "\x{2a7b}",
1422		"ltrPar;" => "\x{2996}",
1423		"ltri;" => "\x{25c3}",
1424		"ltrie;" => "\x{22b4}",
1425		"ltrif;" => "\x{25c2}",
1426		"lurdshar;" => "\x{294a}",
1427		"luruhar;" => "\x{2966}",
1428		"lvertneqq;" => "\x{2268}\x{fe00}",
1429		"lvnE;" => "\x{2268}\x{fe00}",
1430		"mDDot;" => "\x{223a}",
1431		"macr" => "\257",
1432		"macr;" => "\257",
1433		"male;" => "\x{2642}",
1434		"malt;" => "\x{2720}",
1435		"maltese;" => "\x{2720}",
1436		"map;" => "\x{21a6}",
1437		"mapsto;" => "\x{21a6}",
1438		"mapstodown;" => "\x{21a7}",
1439		"mapstoleft;" => "\x{21a4}",
1440		"mapstoup;" => "\x{21a5}",
1441		"marker;" => "\x{25ae}",
1442		"mcomma;" => "\x{2a29}",
1443		"mcy;" => "\x{43c}",
1444		"mdash;" => "\x{2014}",
1445		"measuredangle;" => "\x{2221}",
1446		"mfr;" => "\x{1d52a}",
1447		"mho;" => "\x{2127}",
1448		"micro" => "\265",
1449		"micro;" => "\265",
1450		"mid;" => "\x{2223}",
1451		"midast;" => "*",
1452		"midcir;" => "\x{2af0}",
1453		"middot" => "\267",
1454		"middot;" => "\267",
1455		"minus;" => "\x{2212}",
1456		"minusb;" => "\x{229f}",
1457		"minusd;" => "\x{2238}",
1458		"minusdu;" => "\x{2a2a}",
1459		"mlcp;" => "\x{2adb}",
1460		"mldr;" => "\x{2026}",
1461		"mnplus;" => "\x{2213}",
1462		"models;" => "\x{22a7}",
1463		"mopf;" => "\x{1d55e}",
1464		"mp;" => "\x{2213}",
1465		"mscr;" => "\x{1d4c2}",
1466		"mstpos;" => "\x{223e}",
1467		"mu;" => "\x{3bc}",
1468		"multimap;" => "\x{22b8}",
1469		"mumap;" => "\x{22b8}",
1470		"nGg;" => "\x{22d9}\x{338}",
1471		"nGt;" => "\x{226b}\x{20d2}",
1472		"nGtv;" => "\x{226b}\x{338}",
1473		"nLeftarrow;" => "\x{21cd}",
1474		"nLeftrightarrow;" => "\x{21ce}",
1475		"nLl;" => "\x{22d8}\x{338}",
1476		"nLt;" => "\x{226a}\x{20d2}",
1477		"nLtv;" => "\x{226a}\x{338}",
1478		"nRightarrow;" => "\x{21cf}",
1479		"nVDash;" => "\x{22af}",
1480		"nVdash;" => "\x{22ae}",
1481		"nabla;" => "\x{2207}",
1482		"nacute;" => "\x{144}",
1483		"nang;" => "\x{2220}\x{20d2}",
1484		"nap;" => "\x{2249}",
1485		"napE;" => "\x{2a70}\x{338}",
1486		"napid;" => "\x{224b}\x{338}",
1487		"napos;" => "\x{149}",
1488		"napprox;" => "\x{2249}",
1489		"natur;" => "\x{266e}",
1490		"natural;" => "\x{266e}",
1491		"naturals;" => "\x{2115}",
1492		"nbsp" => "\240",
1493		"nbsp;" => "\240",
1494		"nbump;" => "\x{224e}\x{338}",
1495		"nbumpe;" => "\x{224f}\x{338}",
1496		"ncap;" => "\x{2a43}",
1497		"ncaron;" => "\x{148}",
1498		"ncedil;" => "\x{146}",
1499		"ncong;" => "\x{2247}",
1500		"ncongdot;" => "\x{2a6d}\x{338}",
1501		"ncup;" => "\x{2a42}",
1502		"ncy;" => "\x{43d}",
1503		"ndash;" => "\x{2013}",
1504		"ne;" => "\x{2260}",
1505		"neArr;" => "\x{21d7}",
1506		"nearhk;" => "\x{2924}",
1507		"nearr;" => "\x{2197}",
1508		"nearrow;" => "\x{2197}",
1509		"nedot;" => "\x{2250}\x{338}",
1510		"nequiv;" => "\x{2262}",
1511		"nesear;" => "\x{2928}",
1512		"nesim;" => "\x{2242}\x{338}",
1513		"nexist;" => "\x{2204}",
1514		"nexists;" => "\x{2204}",
1515		"nfr;" => "\x{1d52b}",
1516		"ngE;" => "\x{2267}\x{338}",
1517		"nge;" => "\x{2271}",
1518		"ngeq;" => "\x{2271}",
1519		"ngeqq;" => "\x{2267}\x{338}",
1520		"ngeqslant;" => "\x{2a7e}\x{338}",
1521		"nges;" => "\x{2a7e}\x{338}",
1522		"ngsim;" => "\x{2275}",
1523		"ngt;" => "\x{226f}",
1524		"ngtr;" => "\x{226f}",
1525		"nhArr;" => "\x{21ce}",
1526		"nharr;" => "\x{21ae}",
1527		"nhpar;" => "\x{2af2}",
1528		"ni;" => "\x{220b}",
1529		"nis;" => "\x{22fc}",
1530		"nisd;" => "\x{22fa}",
1531		"niv;" => "\x{220b}",
1532		"njcy;" => "\x{45a}",
1533		"nlArr;" => "\x{21cd}",
1534		"nlE;" => "\x{2266}\x{338}",
1535		"nlarr;" => "\x{219a}",
1536		"nldr;" => "\x{2025}",
1537		"nle;" => "\x{2270}",
1538		"nleftarrow;" => "\x{219a}",
1539		"nleftrightarrow;" => "\x{21ae}",
1540		"nleq;" => "\x{2270}",
1541		"nleqq;" => "\x{2266}\x{338}",
1542		"nleqslant;" => "\x{2a7d}\x{338}",
1543		"nles;" => "\x{2a7d}\x{338}",
1544		"nless;" => "\x{226e}",
1545		"nlsim;" => "\x{2274}",
1546		"nlt;" => "\x{226e}",
1547		"nltri;" => "\x{22ea}",
1548		"nltrie;" => "\x{22ec}",
1549		"nmid;" => "\x{2224}",
1550		"nopf;" => "\x{1d55f}",
1551		"not" => "\254",
1552		"not;" => "\254",
1553		"notin;" => "\x{2209}",
1554		"notinE;" => "\x{22f9}\x{338}",
1555		"notindot;" => "\x{22f5}\x{338}",
1556		"notinva;" => "\x{2209}",
1557		"notinvb;" => "\x{22f7}",
1558		"notinvc;" => "\x{22f6}",
1559		"notni;" => "\x{220c}",
1560		"notniva;" => "\x{220c}",
1561		"notnivb;" => "\x{22fe}",
1562		"notnivc;" => "\x{22fd}",
1563		"npar;" => "\x{2226}",
1564		"nparallel;" => "\x{2226}",
1565		"nparsl;" => "\x{2afd}\x{20e5}",
1566		"npart;" => "\x{2202}\x{338}",
1567		"npolint;" => "\x{2a14}",
1568		"npr;" => "\x{2280}",
1569		"nprcue;" => "\x{22e0}",
1570		"npre;" => "\x{2aaf}\x{338}",
1571		"nprec;" => "\x{2280}",
1572		"npreceq;" => "\x{2aaf}\x{338}",
1573		"nrArr;" => "\x{21cf}",
1574		"nrarr;" => "\x{219b}",
1575		"nrarrc;" => "\x{2933}\x{338}",
1576		"nrarrw;" => "\x{219d}\x{338}",
1577		"nrightarrow;" => "\x{219b}",
1578		"nrtri;" => "\x{22eb}",
1579		"nrtrie;" => "\x{22ed}",
1580		"nsc;" => "\x{2281}",
1581		"nsccue;" => "\x{22e1}",
1582		"nsce;" => "\x{2ab0}\x{338}",
1583		"nscr;" => "\x{1d4c3}",
1584		"nshortmid;" => "\x{2224}",
1585		"nshortparallel;" => "\x{2226}",
1586		"nsim;" => "\x{2241}",
1587		"nsime;" => "\x{2244}",
1588		"nsimeq;" => "\x{2244}",
1589		"nsmid;" => "\x{2224}",
1590		"nspar;" => "\x{2226}",
1591		"nsqsube;" => "\x{22e2}",
1592		"nsqsupe;" => "\x{22e3}",
1593		"nsub;" => "\x{2284}",
1594		"nsubE;" => "\x{2ac5}\x{338}",
1595		"nsube;" => "\x{2288}",
1596		"nsubset;" => "\x{2282}\x{20d2}",
1597		"nsubseteq;" => "\x{2288}",
1598		"nsubseteqq;" => "\x{2ac5}\x{338}",
1599		"nsucc;" => "\x{2281}",
1600		"nsucceq;" => "\x{2ab0}\x{338}",
1601		"nsup;" => "\x{2285}",
1602		"nsupE;" => "\x{2ac6}\x{338}",
1603		"nsupe;" => "\x{2289}",
1604		"nsupset;" => "\x{2283}\x{20d2}",
1605		"nsupseteq;" => "\x{2289}",
1606		"nsupseteqq;" => "\x{2ac6}\x{338}",
1607		"ntgl;" => "\x{2279}",
1608		"ntilde" => "\361",
1609		"ntilde;" => "\361",
1610		"ntlg;" => "\x{2278}",
1611		"ntriangleleft;" => "\x{22ea}",
1612		"ntrianglelefteq;" => "\x{22ec}",
1613		"ntriangleright;" => "\x{22eb}",
1614		"ntrianglerighteq;" => "\x{22ed}",
1615		"nu;" => "\x{3bd}",
1616		"num;" => "#",
1617		"numero;" => "\x{2116}",
1618		"numsp;" => "\x{2007}",
1619		"nvDash;" => "\x{22ad}",
1620		"nvHarr;" => "\x{2904}",
1621		"nvap;" => "\x{224d}\x{20d2}",
1622		"nvdash;" => "\x{22ac}",
1623		"nvge;" => "\x{2265}\x{20d2}",
1624		"nvgt;" => ">\x{20d2}",
1625		"nvinfin;" => "\x{29de}",
1626		"nvlArr;" => "\x{2902}",
1627		"nvle;" => "\x{2264}\x{20d2}",
1628		"nvlt;" => "<\x{20d2}",
1629		"nvltrie;" => "\x{22b4}\x{20d2}",
1630		"nvrArr;" => "\x{2903}",
1631		"nvrtrie;" => "\x{22b5}\x{20d2}",
1632		"nvsim;" => "\x{223c}\x{20d2}",
1633		"nwArr;" => "\x{21d6}",
1634		"nwarhk;" => "\x{2923}",
1635		"nwarr;" => "\x{2196}",
1636		"nwarrow;" => "\x{2196}",
1637		"nwnear;" => "\x{2927}",
1638		"oS;" => "\x{24c8}",
1639		"oacute" => "\363",
1640		"oacute;" => "\363",
1641		"oast;" => "\x{229b}",
1642		"ocir;" => "\x{229a}",
1643		"ocirc" => "\364",
1644		"ocirc;" => "\364",
1645		"ocy;" => "\x{43e}",
1646		"odash;" => "\x{229d}",
1647		"odblac;" => "\x{151}",
1648		"odiv;" => "\x{2a38}",
1649		"odot;" => "\x{2299}",
1650		"odsold;" => "\x{29bc}",
1651		"oelig;" => "\x{153}",
1652		"ofcir;" => "\x{29bf}",
1653		"ofr;" => "\x{1d52c}",
1654		"ogon;" => "\x{2db}",
1655		"ograve" => "\362",
1656		"ograve;" => "\362",
1657		"ogt;" => "\x{29c1}",
1658		"ohbar;" => "\x{29b5}",
1659		"ohm;" => "\x{3a9}",
1660		"oint;" => "\x{222e}",
1661		"olarr;" => "\x{21ba}",
1662		"olcir;" => "\x{29be}",
1663		"olcross;" => "\x{29bb}",
1664		"oline;" => "\x{203e}",
1665		"olt;" => "\x{29c0}",
1666		"omacr;" => "\x{14d}",
1667		"omega;" => "\x{3c9}",
1668		"omicron;" => "\x{3bf}",
1669		"omid;" => "\x{29b6}",
1670		"ominus;" => "\x{2296}",
1671		"oopf;" => "\x{1d560}",
1672		"opar;" => "\x{29b7}",
1673		"operp;" => "\x{29b9}",
1674		"oplus;" => "\x{2295}",
1675		"or;" => "\x{2228}",
1676		"orarr;" => "\x{21bb}",
1677		"ord;" => "\x{2a5d}",
1678		"order;" => "\x{2134}",
1679		"orderof;" => "\x{2134}",
1680		"ordf" => "\252",
1681		"ordf;" => "\252",
1682		"ordm" => "\272",
1683		"ordm;" => "\272",
1684		"origof;" => "\x{22b6}",
1685		"oror;" => "\x{2a56}",
1686		"orslope;" => "\x{2a57}",
1687		"orv;" => "\x{2a5b}",
1688		"oscr;" => "\x{2134}",
1689		"oslash" => "\370",
1690		"oslash;" => "\370",
1691		"osol;" => "\x{2298}",
1692		"otilde" => "\365",
1693		"otilde;" => "\365",
1694		"otimes;" => "\x{2297}",
1695		"otimesas;" => "\x{2a36}",
1696		"ouml" => "\366",
1697		"ouml;" => "\366",
1698		"ovbar;" => "\x{233d}",
1699		"par;" => "\x{2225}",
1700		"para" => "\266",
1701		"para;" => "\266",
1702		"parallel;" => "\x{2225}",
1703		"parsim;" => "\x{2af3}",
1704		"parsl;" => "\x{2afd}",
1705		"part;" => "\x{2202}",
1706		"pcy;" => "\x{43f}",
1707		"percnt;" => "%",
1708		"period;" => ".",
1709		"permil;" => "\x{2030}",
1710		"perp;" => "\x{22a5}",
1711		"pertenk;" => "\x{2031}",
1712		"pfr;" => "\x{1d52d}",
1713		"phi;" => "\x{3c6}",
1714		"phiv;" => "\x{3c5}",
1715		"phmmat;" => "\x{2133}",
1716		"phone;" => "\x{260e}",
1717		"pi;" => "\x{3c0}",
1718		"pitchfork;" => "\x{22d4}",
1719		"piv;" => "\x{3d6}",
1720		"planck;" => "\x{210f}",
1721		"planckh;" => "\x{210e}",
1722		"plankv;" => "\x{210f}",
1723		"plus;" => "+",
1724		"plusacir;" => "\x{2a23}",
1725		"plusb;" => "\x{229e}",
1726		"pluscir;" => "\x{2a22}",
1727		"plusdo;" => "\x{2214}",
1728		"plusdu;" => "\x{2a25}",
1729		"pluse;" => "\x{2a72}",
1730		"plusmn" => "\261",
1731		"plusmn;" => "\261",
1732		"plussim;" => "\x{2a26}",
1733		"plustwo;" => "\x{2a27}",
1734		"pm;" => "\261",
1735		"pointint;" => "\x{2a15}",
1736		"popf;" => "\x{1d561}",
1737		"pound" => "\243",
1738		"pound;" => "\243",
1739		"pr;" => "\x{227a}",
1740		"prE;" => "\x{2ab3}",
1741		"prap;" => "\x{2ab7}",
1742		"prcue;" => "\x{227c}",
1743		"pre;" => "\x{2aaf}",
1744		"prec;" => "\x{227a}",
1745		"precapprox;" => "\x{2ab7}",
1746		"preccurlyeq;" => "\x{227c}",
1747		"preceq;" => "\x{2aaf}",
1748		"precnapprox;" => "\x{2ab9}",
1749		"precneqq;" => "\x{2ab5}",
1750		"precnsim;" => "\x{22e8}",
1751		"precsim;" => "\x{227e}",
1752		"prime;" => "\x{2032}",
1753		"primes;" => "\x{2119}",
1754		"prnE;" => "\x{2ab5}",
1755		"prnap;" => "\x{2ab9}",
1756		"prnsim;" => "\x{22e8}",
1757		"prod;" => "\x{220f}",
1758		"profalar;" => "\x{232e}",
1759		"profline;" => "\x{2312}",
1760		"profsurf;" => "\x{2313}",
1761		"prop;" => "\x{221d}",
1762		"propto;" => "\x{221d}",
1763		"prsim;" => "\x{227e}",
1764		"prurel;" => "\x{22b0}",
1765		"pscr;" => "\x{1d4c5}",
1766		"psi;" => "\x{3c8}",
1767		"puncsp;" => "\x{2008}",
1768		"qfr;" => "\x{1d52e}",
1769		"qint;" => "\x{2a0c}",
1770		"qopf;" => "\x{1d562}",
1771		"qprime;" => "\x{2057}",
1772		"qscr;" => "\x{1d4c6}",
1773		"quaternions;" => "\x{210d}",
1774		"quatint;" => "\x{2a16}",
1775		"quest;" => "?",
1776		"questeq;" => "\x{225f}",
1777		"quot" => "\"",
1778		"quot;" => "\"",
1779		"rAarr;" => "\x{21db}",
1780		"rArr;" => "\x{21d2}",
1781		"rAtail;" => "\x{291c}",
1782		"rBarr;" => "\x{290f}",
1783		"rHar;" => "\x{2964}",
1784		"race;" => "\x{223d}\x{331}",
1785		"racute;" => "\x{155}",
1786		"radic;" => "\x{221a}",
1787		"raemptyv;" => "\x{29b3}",
1788		"rang;" => "\x{27e9}",
1789		"rangd;" => "\x{2992}",
1790		"range;" => "\x{29a5}",
1791		"rangle;" => "\x{27e9}",
1792		"raquo" => "\273",
1793		"raquo;" => "\273",
1794		"rarr;" => "\x{2192}",
1795		"rarrap;" => "\x{2975}",
1796		"rarrb;" => "\x{21e5}",
1797		"rarrbfs;" => "\x{2920}",
1798		"rarrc;" => "\x{2933}",
1799		"rarrfs;" => "\x{291e}",
1800		"rarrhk;" => "\x{21aa}",
1801		"rarrlp;" => "\x{21ac}",
1802		"rarrpl;" => "\x{2945}",
1803		"rarrsim;" => "\x{2974}",
1804		"rarrtl;" => "\x{21a3}",
1805		"rarrw;" => "\x{219d}",
1806		"ratail;" => "\x{291a}",
1807		"ratio;" => "\x{2236}",
1808		"rationals;" => "\x{211a}",
1809		"rbarr;" => "\x{290d}",
1810		"rbbrk;" => "\x{2773}",
1811		"rbrace;" => "}",
1812		"rbrack;" => "]",
1813		"rbrke;" => "\x{298c}",
1814		"rbrksld;" => "\x{298e}",
1815		"rbrkslu;" => "\x{2990}",
1816		"rcaron;" => "\x{159}",
1817		"rcedil;" => "\x{157}",
1818		"rceil;" => "\x{2309}",
1819		"rcub;" => "}",
1820		"rcy;" => "\x{440}",
1821		"rdca;" => "\x{2937}",
1822		"rdldhar;" => "\x{2969}",
1823		"rdquo;" => "\x{201d}",
1824		"rdquor;" => "\x{201d}",
1825		"rdsh;" => "\x{21b3}",
1826		"real;" => "\x{211c}",
1827		"realine;" => "\x{211b}",
1828		"realpart;" => "\x{211c}",
1829		"reals;" => "\x{211d}",
1830		"rect;" => "\x{25ad}",
1831		"reg" => "\256",
1832		"reg;" => "\256",
1833		"rfisht;" => "\x{297d}",
1834		"rfloor;" => "\x{230b}",
1835		"rfr;" => "\x{1d52f}",
1836		"rhard;" => "\x{21c1}",
1837		"rharu;" => "\x{21c0}",
1838		"rharul;" => "\x{296c}",
1839		"rho;" => "\x{3c1}",
1840		"rhov;" => "\x{3f1}",
1841		"rightarrow;" => "\x{2192}",
1842		"rightarrowtail;" => "\x{21a3}",
1843		"rightharpoondown;" => "\x{21c1}",
1844		"rightharpoonup;" => "\x{21c0}",
1845		"rightleftarrows;" => "\x{21c4}",
1846		"rightleftharpoons;" => "\x{21cc}",
1847		"rightrightarrows;" => "\x{21c9}",
1848		"rightsquigarrow;" => "\x{219d}",
1849		"rightthreetimes;" => "\x{22cc}",
1850		"ring;" => "\x{2da}",
1851		"risingdotseq;" => "\x{2253}",
1852		"rlarr;" => "\x{21c4}",
1853		"rlhar;" => "\x{21cc}",
1854		"rlm;" => "\x{200f}",
1855		"rmoust;" => "\x{23b1}",
1856		"rmoustache;" => "\x{23b1}",
1857		"rnmid;" => "\x{2aee}",
1858		"roang;" => "\x{27ed}",
1859		"roarr;" => "\x{21fe}",
1860		"robrk;" => "\x{27e7}",
1861		"ropar;" => "\x{2986}",
1862		"ropf;" => "\x{1d563}",
1863		"roplus;" => "\x{2a2e}",
1864		"rotimes;" => "\x{2a35}",
1865		"rpar;" => ")",
1866		"rpargt;" => "\x{2994}",
1867		"rppolint;" => "\x{2a12}",
1868		"rrarr;" => "\x{21c9}",
1869		"rsaquo;" => "\x{203a}",
1870		"rscr;" => "\x{1d4c7}",
1871		"rsh;" => "\x{21b1}",
1872		"rsqb;" => "]",
1873		"rsquo;" => "\x{2019}",
1874		"rsquor;" => "\x{2019}",
1875		"rthree;" => "\x{22cc}",
1876		"rtimes;" => "\x{22ca}",
1877		"rtri;" => "\x{25b9}",
1878		"rtrie;" => "\x{22b5}",
1879		"rtrif;" => "\x{25b8}",
1880		"rtriltri;" => "\x{29ce}",
1881		"ruluhar;" => "\x{2968}",
1882		"rx;" => "\x{211e}",
1883		"sacute;" => "\x{15b}",
1884		"sbquo;" => "\x{201a}",
1885		"sc;" => "\x{227b}",
1886		"scE;" => "\x{2ab4}",
1887		"scap;" => "\x{2ab8}",
1888		"scaron;" => "\x{161}",
1889		"sccue;" => "\x{227d}",
1890		"sce;" => "\x{2ab0}",
1891		"scedil;" => "\x{15f}",
1892		"scirc;" => "\x{15d}",
1893		"scnE;" => "\x{2ab6}",
1894		"scnap;" => "\x{2aba}",
1895		"scnsim;" => "\x{22e9}",
1896		"scpolint;" => "\x{2a13}",
1897		"scsim;" => "\x{227f}",
1898		"scy;" => "\x{441}",
1899		"sdot;" => "\x{22c5}",
1900		"sdotb;" => "\x{22a1}",
1901		"sdote;" => "\x{2a66}",
1902		"seArr;" => "\x{21d8}",
1903		"searhk;" => "\x{2925}",
1904		"searr;" => "\x{2198}",
1905		"searrow;" => "\x{2198}",
1906		"sect" => "\247",
1907		"sect;" => "\247",
1908		"semi;" => ";",
1909		"seswar;" => "\x{2929}",
1910		"setminus;" => "\x{2216}",
1911		"setmn;" => "\x{2216}",
1912		"sext;" => "\x{2736}",
1913		"sfr;" => "\x{1d530}",
1914		"sfrown;" => "\x{2322}",
1915		"sharp;" => "\x{266f}",
1916		"shchcy;" => "\x{449}",
1917		"shcy;" => "\x{448}",
1918		"shortmid;" => "\x{2223}",
1919		"shortparallel;" => "\x{2225}",
1920		"shy" => "\255",
1921		"shy;" => "\255",
1922		"sigma;" => "\x{3c3}",
1923		"sigmaf;" => "\x{3c2}",
1924		"sigmav;" => "\x{3c2}",
1925		"sim;" => "\x{223c}",
1926		"simdot;" => "\x{2a6a}",
1927		"sime;" => "\x{2243}",
1928		"simeq;" => "\x{2243}",
1929		"simg;" => "\x{2a9e}",
1930		"simgE;" => "\x{2aa0}",
1931		"siml;" => "\x{2a9d}",
1932		"simlE;" => "\x{2a9f}",
1933		"simne;" => "\x{2246}",
1934		"simplus;" => "\x{2a24}",
1935		"simrarr;" => "\x{2972}",
1936		"slarr;" => "\x{2190}",
1937		"smallsetminus;" => "\x{2216}",
1938		"smashp;" => "\x{2a33}",
1939		"smeparsl;" => "\x{29e4}",
1940		"smid;" => "\x{2223}",
1941		"smile;" => "\x{2323}",
1942		"smt;" => "\x{2aaa}",
1943		"smte;" => "\x{2aac}",
1944		"smtes;" => "\x{2aac}\x{fe00}",
1945		"softcy;" => "\x{44c}",
1946		"sol;" => "/",
1947		"solb;" => "\x{29c4}",
1948		"solbar;" => "\x{233f}",
1949		"sopf;" => "\x{1d564}",
1950		"spades;" => "\x{2660}",
1951		"spadesuit;" => "\x{2660}",
1952		"spar;" => "\x{2225}",
1953		"sqcap;" => "\x{2293}",
1954		"sqcaps;" => "\x{2293}\x{fe00}",
1955		"sqcup;" => "\x{2294}",
1956		"sqcups;" => "\x{2294}\x{fe00}",
1957		"sqsub;" => "\x{228f}",
1958		"sqsube;" => "\x{2291}",
1959		"sqsubset;" => "\x{228f}",
1960		"sqsubseteq;" => "\x{2291}",
1961		"sqsup;" => "\x{2290}",
1962		"sqsupe;" => "\x{2292}",
1963		"sqsupset;" => "\x{2290}",
1964		"sqsupseteq;" => "\x{2292}",
1965		"squ;" => "\x{25a1}",
1966		"square;" => "\x{25a1}",
1967		"squarf;" => "\x{25aa}",
1968		"squf;" => "\x{25aa}",
1969		"srarr;" => "\x{2192}",
1970		"sscr;" => "\x{1d4c8}",
1971		"ssetmn;" => "\x{2216}",
1972		"ssmile;" => "\x{2323}",
1973		"sstarf;" => "\x{22c6}",
1974		"star;" => "\x{2606}",
1975		"starf;" => "\x{2605}",
1976		"straightepsilon;" => "\x{3f5}",
1977		"straightphi;" => "\x{3d5}",
1978		"strns;" => "\257",
1979		"sub;" => "\x{2282}",
1980		"subE;" => "\x{2ac5}",
1981		"subdot;" => "\x{2abd}",
1982		"sube;" => "\x{2286}",
1983		"subedot;" => "\x{2ac3}",
1984		"submult;" => "\x{2ac1}",
1985		"subnE;" => "\x{2acb}",
1986		"subne;" => "\x{228a}",
1987		"subplus;" => "\x{2abf}",
1988		"subrarr;" => "\x{2979}",
1989		"subset;" => "\x{2282}",
1990		"subseteq;" => "\x{2286}",
1991		"subseteqq;" => "\x{2ac5}",
1992		"subsetneq;" => "\x{228a}",
1993		"subsetneqq;" => "\x{2acb}",
1994		"subsim;" => "\x{2ac7}",
1995		"subsub;" => "\x{2ad5}",
1996		"subsup;" => "\x{2ad3}",
1997		"succ;" => "\x{227b}",
1998		"succapprox;" => "\x{2ab8}",
1999		"succcurlyeq;" => "\x{227d}",
2000		"succeq;" => "\x{2ab0}",
2001		"succnapprox;" => "\x{2aba}",
2002		"succneqq;" => "\x{2ab6}",
2003		"succnsim;" => "\x{22e9}",
2004		"succsim;" => "\x{227f}",
2005		"sum;" => "\x{2211}",
2006		"sung;" => "\x{266a}",
2007		"sup1" => "\271",
2008		"sup1;" => "\271",
2009		"sup2" => "\262",
2010		"sup2;" => "\262",
2011		"sup3" => "\263",
2012		"sup3;" => "\263",
2013		"sup;" => "\x{2283}",
2014		"supE;" => "\x{2ac6}",
2015		"supdot;" => "\x{2abe}",
2016		"supdsub;" => "\x{2ad8}",
2017		"supe;" => "\x{2287}",
2018		"supedot;" => "\x{2ac4}",
2019		"suphsol;" => "\x{27c9}",
2020		"suphsub;" => "\x{2ad7}",
2021		"suplarr;" => "\x{297b}",
2022		"supmult;" => "\x{2ac2}",
2023		"supnE;" => "\x{2acc}",
2024		"supne;" => "\x{228b}",
2025		"supplus;" => "\x{2ac0}",
2026		"supset;" => "\x{2283}",
2027		"supseteq;" => "\x{2287}",
2028		"supseteqq;" => "\x{2ac6}",
2029		"supsetneq;" => "\x{228b}",
2030		"supsetneqq;" => "\x{2acc}",
2031		"supsim;" => "\x{2ac8}",
2032		"supsub;" => "\x{2ad4}",
2033		"supsup;" => "\x{2ad6}",
2034		"swArr;" => "\x{21d9}",
2035		"swarhk;" => "\x{2926}",
2036		"swarr;" => "\x{2199}",
2037		"swarrow;" => "\x{2199}",
2038		"swnwar;" => "\x{292a}",
2039		"szlig" => "\337",
2040		"szlig;" => "\337",
2041		"target;" => "\x{2316}",
2042		"tau;" => "\x{3c4}",
2043		"tbrk;" => "\x{23b4}",
2044		"tcaron;" => "\x{165}",
2045		"tcedil;" => "\x{163}",
2046		"tcy;" => "\x{442}",
2047		"tdot;" => "\x{20db}",
2048		"telrec;" => "\x{2315}",
2049		"tfr;" => "\x{1d531}",
2050		"there4;" => "\x{2234}",
2051		"therefore;" => "\x{2234}",
2052		"theta;" => "\x{3b8}",
2053		"thetasym;" => "\x{3d1}",
2054		"thetav;" => "\x{3d1}",
2055		"thickapprox;" => "\x{2248}",
2056		"thicksim;" => "\x{223c}",
2057		"thinsp;" => "\x{2009}",
2058		"thkap;" => "\x{2248}",
2059		"thksim;" => "\x{223c}",
2060		"thorn" => "\376",
2061		"thorn;" => "\376",
2062		"tilde;" => "\x{2dc}",
2063		"times" => "\327",
2064		"times;" => "\327",
2065		"timesb;" => "\x{22a0}",
2066		"timesbar;" => "\x{2a31}",
2067		"timesd;" => "\x{2a30}",
2068		"tint;" => "\x{222d}",
2069		"toea;" => "\x{2928}",
2070		"top;" => "\x{22a4}",
2071		"topbot;" => "\x{2336}",
2072		"topcir;" => "\x{2af1}",
2073		"topf;" => "\x{1d565}",
2074		"topfork;" => "\x{2ada}",
2075		"tosa;" => "\x{2929}",
2076		"tprime;" => "\x{2034}",
2077		"trade;" => "\x{2122}",
2078		"triangle;" => "\x{25b5}",
2079		"triangledown;" => "\x{25bf}",
2080		"triangleleft;" => "\x{25c3}",
2081		"trianglelefteq;" => "\x{22b4}",
2082		"triangleq;" => "\x{225c}",
2083		"triangleright;" => "\x{25b9}",
2084		"trianglerighteq;" => "\x{22b5}",
2085		"tridot;" => "\x{25ec}",
2086		"trie;" => "\x{225c}",
2087		"triminus;" => "\x{2a3a}",
2088		"triplus;" => "\x{2a39}",
2089		"trisb;" => "\x{29cd}",
2090		"tritime;" => "\x{2a3b}",
2091		"trpezium;" => "\x{23e2}",
2092		"tscr;" => "\x{1d4c9}",
2093		"tscy;" => "\x{446}",
2094		"tshcy;" => "\x{45b}",
2095		"tstrok;" => "\x{167}",
2096		"twixt;" => "\x{226c}",
2097		"twoheadleftarrow;" => "\x{219e}",
2098		"twoheadrightarrow;" => "\x{21a0}",
2099		"uArr;" => "\x{21d1}",
2100		"uHar;" => "\x{2963}",
2101		"uacute" => "\372",
2102		"uacute;" => "\372",
2103		"uarr;" => "\x{2191}",
2104		"ubrcy;" => "\x{45e}",
2105		"ubreve;" => "\x{16d}",
2106		"ucirc" => "\373",
2107		"ucirc;" => "\373",
2108		"ucy;" => "\x{443}",
2109		"udarr;" => "\x{21c5}",
2110		"udblac;" => "\x{171}",
2111		"udhar;" => "\x{296e}",
2112		"ufisht;" => "\x{297e}",
2113		"ufr;" => "\x{1d532}",
2114		"ugrave" => "\371",
2115		"ugrave;" => "\371",
2116		"uharl;" => "\x{21bf}",
2117		"uharr;" => "\x{21be}",
2118		"uhblk;" => "\x{2580}",
2119		"ulcorn;" => "\x{231c}",
2120		"ulcorner;" => "\x{231c}",
2121		"ulcrop;" => "\x{230f}",
2122		"ultri;" => "\x{25f8}",
2123		"umacr;" => "\x{16b}",
2124		"uml" => "\250",
2125		"uml;" => "\250",
2126		"uogon;" => "\x{173}",
2127		"uopf;" => "\x{1d566}",
2128		"uparrow;" => "\x{2191}",
2129		"updownarrow;" => "\x{2195}",
2130		"upharpoonleft;" => "\x{21bf}",
2131		"upharpoonright;" => "\x{21be}",
2132		"uplus;" => "\x{228e}",
2133		"upsi;" => "\x{3c5}",
2134		"upsih;" => "\x{3d2}",
2135		"upsilon;" => "\x{3c5}",
2136		"upuparrows;" => "\x{21c8}",
2137		"urcorn;" => "\x{231d}",
2138		"urcorner;" => "\x{231d}",
2139		"urcrop;" => "\x{230e}",
2140		"uring;" => "\x{16f}",
2141		"urtri;" => "\x{25f9}",
2142		"uscr;" => "\x{1d4ca}",
2143		"utdot;" => "\x{22f0}",
2144		"utilde;" => "\x{169}",
2145		"utri;" => "\x{25b5}",
2146		"utrif;" => "\x{25b4}",
2147		"uuarr;" => "\x{21c8}",
2148		"uuml" => "\374",
2149		"uuml;" => "\374",
2150		"uwangle;" => "\x{29a7}",
2151		"vArr;" => "\x{21d5}",
2152		"vBar;" => "\x{2ae8}",
2153		"vBarv;" => "\x{2ae9}",
2154		"vDash;" => "\x{22a8}",
2155		"vangrt;" => "\x{299c}",
2156		"varepsilon;" => "\x{3f5}",
2157		"varkappa;" => "\x{3f0}",
2158		"varnothing;" => "\x{2205}",
2159		"varphi;" => "\x{3d5}",
2160		"varpi;" => "\x{3d6}",
2161		"varpropto;" => "\x{221d}",
2162		"varr;" => "\x{2195}",
2163		"varrho;" => "\x{3f1}",
2164		"varsigma;" => "\x{3c2}",
2165		"varsubsetneq;" => "\x{228a}\x{fe00}",
2166		"varsubsetneqq;" => "\x{2acb}\x{fe00}",
2167		"varsupsetneq;" => "\x{228b}\x{fe00}",
2168		"varsupsetneqq;" => "\x{2acc}\x{fe00}",
2169		"vartheta;" => "\x{3d1}",
2170		"vartriangleleft;" => "\x{22b2}",
2171		"vartriangleright;" => "\x{22b3}",
2172		"vcy;" => "\x{432}",
2173		"vdash;" => "\x{22a2}",
2174		"vee;" => "\x{2228}",
2175		"veebar;" => "\x{22bb}",
2176		"veeeq;" => "\x{225a}",
2177		"vellip;" => "\x{22ee}",
2178		"verbar;" => "|",
2179		"vert;" => "|",
2180		"vfr;" => "\x{1d533}",
2181		"vltri;" => "\x{22b2}",
2182		"vnsub;" => "\x{2282}\x{20d2}",
2183		"vnsup;" => "\x{2283}\x{20d2}",
2184		"vopf;" => "\x{1d567}",
2185		"vprop;" => "\x{221d}",
2186		"vrtri;" => "\x{22b3}",
2187		"vscr;" => "\x{1d4cb}",
2188		"vsubnE;" => "\x{2acb}\x{fe00}",
2189		"vsubne;" => "\x{228a}\x{fe00}",
2190		"vsupnE;" => "\x{2acc}\x{fe00}",
2191		"vsupne;" => "\x{228b}\x{fe00}",
2192		"vzigzag;" => "\x{299a}",
2193		"wcirc;" => "\x{175}",
2194		"wedbar;" => "\x{2a5f}",
2195		"wedge;" => "\x{2227}",
2196		"wedgeq;" => "\x{2259}",
2197		"weierp;" => "\x{2118}",
2198		"wfr;" => "\x{1d534}",
2199		"wopf;" => "\x{1d568}",
2200		"wp;" => "\x{2118}",
2201		"wr;" => "\x{2240}",
2202		"wreath;" => "\x{2240}",
2203		"wscr;" => "\x{1d4cc}",
2204		"xcap;" => "\x{22c2}",
2205		"xcirc;" => "\x{25ef}",
2206		"xcup;" => "\x{22c3}",
2207		"xdtri;" => "\x{25bd}",
2208		"xfr;" => "\x{1d535}",
2209		"xhArr;" => "\x{27fa}",
2210		"xharr;" => "\x{27f7}",
2211		"xi;" => "\x{3be}",
2212		"xlArr;" => "\x{27f8}",
2213		"xlarr;" => "\x{27f5}",
2214		"xmap;" => "\x{27fc}",
2215		"xnis;" => "\x{22fb}",
2216		"xodot;" => "\x{2a00}",
2217		"xopf;" => "\x{1d569}",
2218		"xoplus;" => "\x{2a01}",
2219		"xotime;" => "\x{2a02}",
2220		"xrArr;" => "\x{27f9}",
2221		"xrarr;" => "\x{27f6}",
2222		"xscr;" => "\x{1d4cd}",
2223		"xsqcup;" => "\x{2a06}",
2224		"xuplus;" => "\x{2a04}",
2225		"xutri;" => "\x{25b3}",
2226		"xvee;" => "\x{22c1}",
2227		"xwedge;" => "\x{22c0}",
2228		"yacute" => "\375",
2229		"yacute;" => "\375",
2230		"yacy;" => "\x{44f}",
2231		"ycirc;" => "\x{177}",
2232		"ycy;" => "\x{44b}",
2233		"yen" => "\245",
2234		"yen;" => "\245",
2235		"yfr;" => "\x{1d536}",
2236		"yicy;" => "\x{457}",
2237		"yopf;" => "\x{1d56a}",
2238		"yscr;" => "\x{1d4ce}",
2239		"yucy;" => "\x{44e}",
2240		"yuml" => "\377",
2241		"yuml;" => "\377",
2242		"zacute;" => "\x{17a}",
2243		"zcaron;" => "\x{17e}",
2244		"zcy;" => "\x{437}",
2245		"zdot;" => "\x{17c}",
2246		"zeetrf;" => "\x{2128}",
2247		"zeta;" => "\x{3b6}",
2248		"zfr;" => "\x{1d537}",
2249		"zhcy;" => "\x{436}",
2250		"zigrarr;" => "\x{21dd}",
2251		"zopf;" => "\x{1d56b}",
2252		"zscr;" => "\x{1d4cf}",
2253		"zwj;" => "\x{200d}",
2254		"zwnj;" => "\x{200c}",
2255		);
2256
2257	%char2entity = (
2258		"\x{00a0}"  => '&nbsp;',
2259		"\x{00a1}"  => '&iexcl;',
2260		"\x{00a2}"  => '&cent;',
2261		"\x{00a3}"  => '&pound;',
2262		"\x{00a4}"  => '&curren;',
2263		"\x{00a5}"  => '&yen;',
2264		"\x{00a6}"  => '&brvbar;',
2265		"\x{00a7}"  => '&sect;',
2266		"\x{00a8}"  => '&uml;',
2267		"\x{00a9}"  => '&copy;',
2268		"\x{00aa}"  => '&ordf;',
2269		"\x{00ab}"  => '&laquo;',
2270		"\x{00ac}"  => '&not;',
2271		"\x{00ad}"  => '&shy;',
2272		"\x{00ae}"  => '&reg;',
2273		"\x{00af}"  => '&macr;',
2274		"\x{00b0}"  => '&deg;',
2275		"\x{00b1}"  => '&plusmn;',
2276		"\x{00b2}"  => '&sup2;',
2277		"\x{00b3}"  => '&sup3;',
2278		"\x{00b4}"  => '&acute;',
2279		"\x{00b5}"  => '&micro;',
2280		"\x{00b6}"  => '&para;',
2281		"\x{00b7}"  => '&middot;',
2282		"\x{00b8}"  => '&cedil;',
2283		"\x{00b9}"  => '&sup1;',
2284		"\x{00ba}"  => '&ordm;',
2285		"\x{00bb}"  => '&raquo;',
2286		"\x{00bc}"  => '&frac14;',
2287		"\x{00bd}"  => '&frac12;',
2288		"\x{00be}"  => '&frac34;',
2289		"\x{00bf}"  => '&iquest;',
2290		"\x{00c0}"  => '&Agrave;',
2291		"\x{00c1}"  => '&Aacute;',
2292		"\x{00c2}"  => '&Acirc;',
2293		"\x{00c3}"  => '&Atilde;',
2294		"\x{00c4}"  => '&Auml;',
2295		"\x{00c5}"  => '&Aring;',
2296		"\x{00c6}"  => '&AElig;',
2297		"\x{00c7}"  => '&Ccedil;',
2298		"\x{00c8}"  => '&Egrave;',
2299		"\x{00c9}"  => '&Eacute;',
2300		"\x{00ca}"  => '&Ecirc;',
2301		"\x{00cb}"  => '&Euml;',
2302		"\x{00cc}"  => '&Igrave;',
2303		"\x{00cd}"  => '&Iacute;',
2304		"\x{00ce}"  => '&Icirc;',
2305		"\x{00cf}"  => '&Iuml;',
2306		"\x{00d0}"  => '&ETH;',
2307		"\x{00d1}"  => '&Ntilde;',
2308		"\x{00d2}"  => '&Ograve;',
2309		"\x{00d3}"  => '&Oacute;',
2310		"\x{00d4}"  => '&Ocirc;',
2311		"\x{00d5}"  => '&Otilde;',
2312		"\x{00d6}"  => '&Ouml;',
2313		"\x{00d7}"  => '&times;',
2314		"\x{00d8}"  => '&Oslash;',
2315		"\x{00d9}"  => '&Ugrave;',
2316		"\x{00da}"  => '&Uacute;',
2317		"\x{00db}"  => '&Ucirc;',
2318		"\x{00dc}"  => '&Uuml;',
2319		"\x{00dd}"  => '&Yacute;',
2320		"\x{00de}"  => '&THORN;',
2321		"\x{00df}"  => '&szlig;',
2322		"\x{00e0}"  => '&agrave;',
2323		"\x{00e1}"  => '&aacute;',
2324		"\x{00e2}"  => '&acirc;',
2325		"\x{00e3}"  => '&atilde;',
2326		"\x{00e4}"  => '&auml;',
2327		"\x{00e5}"  => '&aring;',
2328		"\x{00e6}"  => '&aelig;',
2329		"\x{00e7}"  => '&ccedil;',
2330		"\x{00e8}"  => '&egrave;',
2331		"\x{00e9}"  => '&eacute;',
2332		"\x{00ea}"  => '&ecirc;',
2333		"\x{00eb}"  => '&euml;',
2334		"\x{00ec}"  => '&igrave;',
2335		"\x{00ed}"  => '&iacute;',
2336		"\x{00ee}"  => '&icirc;',
2337		"\x{00ef}"  => '&iuml;',
2338		"\x{00f0}"  => '&eth;',
2339		"\x{00f1}"  => '&ntilde;',
2340		"\x{00f2}"  => '&ograve;',
2341		"\x{00f3}"  => '&oacute;',
2342		"\x{00f4}"  => '&ocirc;',
2343		"\x{00f5}"  => '&otilde;',
2344		"\x{00f6}"  => '&ouml;',
2345		"\x{00f7}"  => '&divide;',
2346		"\x{00f8}"  => '&oslash;',
2347		"\x{00f9}"  => '&ugrave;',
2348		"\x{00fa}"  => '&uacute;',
2349		"\x{00fb}"  => '&ucirc;',
2350		"\x{00fc}"  => '&uuml;',
2351		"\x{00fd}"  => '&yacute;',
2352		"\x{00fe}"  => '&thorn;',
2353		"\x{00ff}"  => '&yuml;',
2354		"\x{0026}"  => '&amp;',
2355		"\x{0022}"  => '&quot;',
2356		"\x{003c}"  => '&lt;',
2357		"\x{003e}"  => '&gt;',
2358		"\x{0152}"  => '&OElig;',
2359		"\x{0153}"  => '&oelig;',
2360		"\x{0160}"  => '&Scaron;',
2361		"\x{0161}"  => '&scaron;',
2362		"\x{0178}"  => '&Yuml;',
2363		"\x{02c6}"  => '&circ;',
2364		"\x{02dc}"  => '&tilde;',
2365		"\x{2002}"  => '&ensp;',
2366		"\x{2003}"  => '&emsp;',
2367		"\x{2009}"  => '&thinsp;',
2368		"\x{200c}"  => '&zwnj;',
2369		"\x{200d}"  => '&zwj;',
2370		"\x{200e}"  => '&lrm;',
2371		"\x{200f}"  => '&rlm;',
2372		"\x{2013}"  => '&ndash;',
2373		"\x{2014}"  => '&mdash;',
2374		"\x{2018}"  => '&lsquo;',
2375		"\x{2019}"  => '&rsquo;',
2376		"\x{201a}"  => '&sbquo;',
2377		"\x{201c}"  => '&ldquo;',
2378		"\x{201d}"  => '&rdquo;',
2379		"\x{201e}"  => '&bdquo;',
2380		"\x{2020}"  => '&dagger;',
2381		"\x{2021}"  => '&Dagger;',
2382		"\x{2030}"  => '&permil;',
2383		"\x{2039}"  => '&lsaquo;',
2384		"\x{203a}"  => '&rsaquo;',
2385		"\x{20ac}"  => '&euro;',
2386		"\x{0192}"  => '&fnof;',
2387		"\x{0391}"  => '&Alpha;',
2388		"\x{0392}"  => '&Beta;',
2389		"\x{0393}"  => '&Gamma;',
2390		"\x{0394}"  => '&Delta;',
2391		"\x{0395}"  => '&Epsilon;',
2392		"\x{0396}"  => '&Zeta;',
2393		"\x{0397}"  => '&Eta;',
2394		"\x{0398}"  => '&Theta;',
2395		"\x{0399}"  => '&Iota;',
2396		"\x{039a}"  => '&Kappa;',
2397		"\x{039b}"  => '&Lambda;',
2398		"\x{039c}"  => '&Mu;',
2399		"\x{039d}"  => '&Nu;',
2400		"\x{039e}"  => '&Xi;',
2401		"\x{039f}"  => '&Omicron;',
2402		"\x{03a0}"  => '&Pi;',
2403		"\x{03a1}"  => '&Rho;',
2404		"\x{03a3}"  => '&Sigma;',
2405		"\x{03a4}"  => '&Tau;',
2406		"\x{03a5}"  => '&Upsilon;',
2407		"\x{03a6}"  => '&Phi;',
2408		"\x{03a7}"  => '&Chi;',
2409		"\x{03a8}"  => '&Psi;',
2410		"\x{03a9}"  => '&Omega;',
2411		"\x{03b1}"  => '&alpha;',
2412		"\x{03b2}"  => '&beta;',
2413		"\x{03b3}"  => '&gamma;',
2414		"\x{03b4}"  => '&delta;',
2415		"\x{03b5}"  => '&epsilon;',
2416		"\x{03b6}"  => '&zeta;',
2417		"\x{03b7}"  => '&eta;',
2418		"\x{03b8}"  => '&theta;',
2419		"\x{03b9}"  => '&iota;',
2420		"\x{03ba}"  => '&kappa;',
2421		"\x{03bb}"  => '&lambda;',
2422		"\x{03bc}"  => '&mu;',
2423		"\x{03bd}"  => '&nu;',
2424		"\x{03be}"  => '&xi;',
2425		"\x{03bf}"  => '&omicron;',
2426		"\x{03c0}"  => '&pi;',
2427		"\x{03c1}"  => '&rho;',
2428		"\x{03c2}"  => '&sigmaf;',
2429		"\x{03c3}"  => '&sigma;',
2430		"\x{03c4}"  => '&tau;',
2431		"\x{03c5}"  => '&upsilon;',
2432		"\x{03c6}"  => '&phi;',
2433		"\x{03c7}"  => '&chi;',
2434		"\x{03c8}"  => '&psi;',
2435		"\x{03c9}"  => '&omega;',
2436		"\x{03d1}"  => '&thetasym;',
2437		"\x{03d2}"  => '&upsih;',
2438		"\x{03d6}"  => '&piv;',
2439		"\x{2022}"  => '&bull;',
2440		"\x{2026}"  => '&hellip;',
2441		"\x{2032}"  => '&prime;',
2442		"\x{2033}"  => '&Prime;',
2443		"\x{203e}"  => '&oline;',
2444		"\x{2044}"  => '&frasl;',
2445		"\x{2118}"  => '&weierp;',
2446		"\x{2111}"  => '&image;',
2447		"\x{211c}"  => '&real;',
2448		"\x{2122}"  => '&trade;',
2449		"\x{2135}"  => '&alefsym;',
2450		"\x{2190}"  => '&larr;',
2451		"\x{2191}"  => '&uarr;',
2452		"\x{2192}"  => '&rarr;',
2453		"\x{2193}"  => '&darr;',
2454		"\x{2194}"  => '&harr;',
2455		"\x{21b5}"  => '&crarr;',
2456		"\x{21d0}"  => '&lArr;',
2457		"\x{21d1}"  => '&uArr;',
2458		"\x{21d2}"  => '&rArr;',
2459		"\x{21d3}"  => '&dArr;',
2460		"\x{21d4}"  => '&hArr;',
2461		"\x{2200}"  => '&forall;',
2462		"\x{2202}"  => '&part;',
2463		"\x{2203}"  => '&exist;',
2464		"\x{2205}"  => '&empty;',
2465		"\x{2207}"  => '&nabla;',
2466		"\x{2208}"  => '&isin;',
2467		"\x{2209}"  => '&notin;',
2468		"\x{220b}"  => '&ni;',
2469		"\x{220f}"  => '&prod;',
2470		"\x{2211}"  => '&sum;',
2471		"\x{2212}"  => '&minus;',
2472		"\x{2217}"  => '&lowast;',
2473		"\x{221a}"  => '&radic;',
2474		"\x{221d}"  => '&prop;',
2475		"\x{221e}"  => '&infin;',
2476		"\x{2220}"  => '&ang;',
2477		"\x{2227}"  => '&and;',
2478		"\x{2228}"  => '&or;',
2479		"\x{2229}"  => '&cap;',
2480		"\x{222a}"  => '&cup;',
2481		"\x{222b}"  => '&int;',
2482		"\x{2234}"  => '&there4;',
2483		"\x{223c}"  => '&sim;',
2484		"\x{2245}"  => '&cong;',
2485		"\x{2248}"  => '&asymp;',
2486		"\x{2260}"  => '&ne;',
2487		"\x{2261}"  => '&equiv;',
2488		"\x{2264}"  => '&le;',
2489		"\x{2265}"  => '&ge;',
2490		"\x{2282}"  => '&sub;',
2491		"\x{2283}"  => '&sup;',
2492		"\x{2284}"  => '&nsub;',
2493		"\x{2286}"  => '&sube;',
2494		"\x{2287}"  => '&supe;',
2495		"\x{2295}"  => '&oplus;',
2496		"\x{2297}"  => '&otimes;',
2497		"\x{22a5}"  => '&perp;',
2498		"\x{22c5}"  => '&sdot;',
2499		"\x{2308}"  => '&lceil;',
2500		"\x{2309}"  => '&rceil;',
2501		"\x{230a}"  => '&lfloor;',
2502		"\x{230b}"  => '&rfloor;',
2503		"\x{2329}"  => '&lang;',
2504		"\x{232a}"  => '&rang;',
2505		"\x{25ca}"  => '&loz;',
2506		"\x{2660}"  => '&spades;',
2507		"\x{2663}"  => '&clubs;',
2508		"\x{2665}"  => '&hearts;',
2509		"\x{2666}"  => '&diams;',
2510		);
2511}
2512
2513sub decode_entities ($@)
2514{
2515	my $array;
2516	if (defined wantarray)
2517	{
2518		$array = [@_]; # copy
2519	}
2520	else
2521	{
2522		$array = \@_;  # modify in-place
2523	}
2524
2525	my $c;
2526	for (@$array)
2527	{
2528		s/
2529			&(
2530				(?:
2531					\#(\d+)  |  \#[xX]([0-9a-fA-F]+)  |  (\w+)
2532				)
2533				;?
2534			)
2535		/
2536			if (defined $2)
2537				{ chr($2); }
2538			elsif (defined $3)
2539				{ chr(hex $3); }
2540			else
2541				{ $entity2char{"$4;"} || "&$1"; }
2542		/xeg;
2543	}
2544
2545	wantarray ? @$array : $array->[0];
2546}
2547
2548sub _decode_entities ($$;$)
2549{
2550	my $ref = \$_[0];
2551	my %map = %{ $_[1] || {} };
2552
2553	$$ref =~ s/
2554			(&
2555				(?:
2556					\#(\d+)  |  \#[xX]([0-9a-fA-F]+)  |  (\w+)
2557				)
2558				;?
2559			)
2560		/
2561			if (defined $2)
2562				{ chr($2); }
2563			elsif (defined $3)
2564				{ chr(hex $3); }
2565			elsif (defined $_[2] and $_[2])
2566				{ $map{$4} || _search_entity($4, \%map); }
2567			else
2568				{ $map{$4} || $1; }
2569		/xeg;
2570
2571	return $$ref;
2572}
2573
2574sub _search_entity
2575{
2576	my ($ent, $map) = @_;
2577	my $remainder = '';
2578
2579	while (length $ent)
2580	{
2581		return $map->{$ent} . $remainder
2582			if defined $map->{$ent};
2583
2584		$remainder = substr($ent, -1) . $remainder;
2585		$ent       = substr($ent, 0, -1);
2586	}
2587
2588	$remainder;
2589}
2590
2591sub encode_entities ($;$)
2592{
2593	return undef unless defined $_[0];
2594
2595	my $ref;
2596	if (defined wantarray)
2597	{
2598		my $x = $_[0];
2599		$ref = \$x;     # copy
2600	}
2601	else
2602	{
2603		$ref = \$_[0];  # modify in-place
2604	}
2605
2606	my $unsafe_characters = defined $_[1] ? $_[1] : $default_unsafe_characters;
2607	my $regexp = ref $unsafe_characters eq 'Regexp'
2608		? $unsafe_characters
2609		: "[".quotemeta($unsafe_characters)."]";
2610
2611	$$ref =~ s[ ($regexp) ][ $char2entity{$1}||num_entity($1) ]gex;
2612
2613	return $$ref;
2614}
2615
2616sub encode_entities_numeric
2617{
2618	local %char2entity;
2619	return &encode_entities;
2620}
2621
2622sub num_entity
2623{
2624	sprintf $hex ? '&#x%x;' : '&#%d;', ord($_[0]);
2625}
2626
2627*decode = \&decode_entities;
2628*encode = \&encode_entities;
2629*encode_numeric = \&encode_entities_numeric;
2630*encode_numerically = \&encode_entities_numeric;
2631
26321;
2633
2634__END__
2635
2636=head1 NAME
2637
2638HTML::HTML5::Entities - drop-in replacement for HTML::Entities
2639
2640=head1 SYNOPSIS
2641
2642 use HTML::Entities;
2643
2644 my $enc = encode_entities('fish & chips');
2645 print "$enc\n";   # fish &amp; chips
2646
2647 my $dec = decode_entities($enc);
2648 print "$dec\n";   # fish & chips
2649
2650=head1 DESCRIPTION
2651
2652This is a drop-in replacement for L<HTML::Entities>, providing the character
2653entities defined in HTML5. Some caveats:
2654
2655=over
2656
2657=item * The implementation is pure perl, hence in some cases slower, especially decoding.
2658
2659=item * It will not work in Perl < 5.8.1.
2660
2661=back
2662
2663=head2 Functions
2664
2665=over
2666
2667=item C<< decode_entities($string, ...) >>
2668
2669This routine replaces HTML entities found in the C<< $string >> with the
2670corresponding Unicode character. If multiple strings are provided as
2671arguments they are each decoded separately and the same number of strings
2672are returned.
2673
2674If called in void context the arguments are decoded in-place.
2675
2676This routine is exported by default.
2677
2678=item C<< _decode_entities($string, \%entity2char) >>
2679
2680=item C<< _decode_entities($string, \%entity2char, $expand_prefix) >>
2681
2682This will in-place replace HTML entities in C<< $string >>. The
2683C<< %entity2char >> hash must be provided. Named entities not found in
2684the C<< %entity2char >> hash are left alone. Numeric entities are always
2685expanded.
2686
2687If C<< $expand_prefix >> is TRUE then entities without trailing ";" in
2688C<< %entity2char >> will even be expanded as a prefix of a longer
2689unrecognized name.
2690
2691 $string = "foo&nbspbar";
2692 _decode_entities($string, { nb => "@", nbsp => "\xA0" }, 1);
2693 print $string;  # will print "foo bar"
2694
2695This routine is exported by default.
2696
2697=item C<< encode_entities($string) >>
2698
2699=item C<< encode_entities($string, $unsafe_chars) >>
2700
2701This routine replaces unsafe characters in C<< $string >> with their
2702entity representation. A second argument can be given to specify which
2703characters to consider unsafe (i.e., which to escape). This may be a
2704regular expression.
2705
2706If called in void context the string is encoded in-place.
2707
2708This routine is exported by default.
2709
2710=item C<< encode_entities_numeric($string) >>
2711
2712This routine works just like encode_entities, except that the
2713replacement entities are always numeric.
2714
2715This routine is not exported by default.
2716
2717=item C<< num_entity($string) >>
2718
2719Given a single character string, encodes it as a numeric entity.
2720
2721This routine is not exported by default.
2722
2723=back
2724
2725The following functions cannot be exported. They behave the same as the
2726exportable functions.
2727
2728=over
2729
2730=item C<< HTML::Entities::decode($string, ...) >>
2731
2732=item C<< HTML::Entities::encode($string) >>
2733
2734=item C<< HTML::Entities::encode($string, $unsafe_characters) >>
2735
2736=item C<< HTML::Entities::encode_numeric($string) >>
2737
2738=item C<< HTML::Entities::encode_numeric($string, $unsafe_characters) >>
2739
2740=item C<< HTML::Entities::encode_numerically($string) >>
2741
2742=item C<< HTML::Entities::encode_numerically($string, $unsafe_characters) >>
2743
2744=back
2745
2746=head2 Variables
2747
2748=over
2749
2750=item C<< $HTML::HTML5::Entities::hex >>
2751
2752This variable controls whether numeric entities will use hexadecimal or
2753decimal notation. It is TRUE (hexadecimal) by default, but can be set to
2754FALSE.
2755
2756It only affects the encoding functions. Decoding always understands both
2757notations.
2758
2759=item C<< %HTML::HTML5::Entities::char2entity >>
2760
2761=item C<< %HTML::HTML5::Entities::entity2char >>
2762
2763There contain the mapping from all characters to the corresponding entities
2764(and vice versa, respectively). These variables may be exported.
2765
2766Note that C<< %char2entity >> is a more conservative set of mappings, intended to
2767be safe for serialising strings to HTML4, HTML5 and XHTML 1.x. And for
2768hysterical raisins, C<< %entity2char >> does not include the leading ampersands,
2769while C<< %char2entity >> does.
2770
2771=back
2772
2773=head1 BUGS
2774
2775Please report any bugs to
2776L<http://rt.cpan.org/Dist/Display.html?Queue=HTML-HTML5-Entities>.
2777
2778=head1 SEE ALSO
2779
2780L<HTML::Entities>, L<HTML::HTML5::Parser>, L<HTML::HTML5::Writer>.
2781
2782=head1 AUTHOR
2783
2784Toby Inkster E<lt>tobyink@cpan.orgE<gt>.
2785
2786=head1 COPYRIGHT AND LICENCE
2787
2788=head2 Encoding and Decoding Functions
2789
2790Copyright (c) 1995-2006 by Gisle Aas.
2791
2792Copyright (c) 2012 by Toby Inkster.
2793
2794This is free software; you can redistribute it and/or modify it under
2795the same terms as the Perl 5 programming language system itself.
2796
2797=head2 Entity Tables
2798
2799Copyright (c) 2004-2007 by Apple Computer Inc, Mozilla Foundation,
2800and Opera Software ASA.
2801
2802Copyright (c) 2007-2011 by Wakaba <w@suika.fam.cx>.
2803
2804Copyright (c) 2009-2012 by Toby Inkster <tobyink@cpan.org>.
2805
2806=head1 DISCLAIMER OF WARRANTIES
2807
2808THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
2809WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
2810MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
2811
2812