package HTML::HTML5::Entities;
use 5.008001;
use base qw[Exporter];
use strict;
use utf8;
BEGIN {
$HTML::HTML5::Entities::AUTHORITY = 'cpan:TOBYINK';
$HTML::HTML5::Entities::VERSION = '0.004';
}
our (%entity2char, %char2entity, $hex, $default_unsafe_characters, @EXPORT, @EXPORT_OK);
BEGIN
{
$hex = 1;
@EXPORT = qw(encode_entities decode_entities _decode_entities);
@EXPORT_OK = qw(%entity2char %char2entity encode_entities_numeric num_entity);
$default_unsafe_characters = qr/[^\w\n\r\t !\#\$%\(-;=?-~]/x;
%entity2char = (
"AElig" => "\306",
"AElig;" => "\306",
"AMP" => "&",
"AMP;" => "&",
"Aacute" => "\301",
"Aacute;" => "\301",
"Abreve;" => "\x{102}",
"Acirc" => "\302",
"Acirc;" => "\302",
"Acy;" => "\x{410}",
"Afr;" => "\x{1d504}",
"Agrave" => "\300",
"Agrave;" => "\300",
"Alpha;" => "\x{391}",
"Amacr;" => "\x{100}",
"And;" => "\x{2a53}",
"Aogon;" => "\x{104}",
"Aopf;" => "\x{1d538}",
"ApplyFunction;" => "\x{2061}",
"Aring" => "\305",
"Aring;" => "\305",
"Ascr;" => "\x{1d49c}",
"Assign;" => "\x{2254}",
"Atilde" => "\303",
"Atilde;" => "\303",
"Auml" => "\304",
"Auml;" => "\304",
"Backslash;" => "\x{2216}",
"Barv;" => "\x{2ae7}",
"Barwed;" => "\x{2306}",
"Bcy;" => "\x{411}",
"Because;" => "\x{2235}",
"Bernoullis;" => "\x{212c}",
"Beta;" => "\x{392}",
"Bfr;" => "\x{1d505}",
"Bopf;" => "\x{1d539}",
"Breve;" => "\x{2d8}",
"Bscr;" => "\x{212c}",
"Bumpeq;" => "\x{224e}",
"CHcy;" => "\x{427}",
"COPY" => "\251",
"COPY;" => "\251",
"Cacute;" => "\x{106}",
"Cap;" => "\x{22d2}",
"CapitalDifferentialD;" => "\x{2145}",
"Cayleys;" => "\x{212d}",
"Ccaron;" => "\x{10c}",
"Ccedil" => "\307",
"Ccedil;" => "\307",
"Ccirc;" => "\x{108}",
"Cconint;" => "\x{2230}",
"Cdot;" => "\x{10a}",
"Cedilla;" => "\270",
"CenterDot;" => "\267",
"Cfr;" => "\x{212d}",
"Chi;" => "\x{3a7}",
"CircleDot;" => "\x{2299}",
"CircleMinus;" => "\x{2296}",
"CirclePlus;" => "\x{2295}",
"CircleTimes;" => "\x{2297}",
"ClockwiseContourIntegral;" => "\x{2232}",
"CloseCurlyDoubleQuote;" => "\x{201d}",
"CloseCurlyQuote;" => "\x{2019}",
"Colon;" => "\x{2237}",
"Colone;" => "\x{2a74}",
"Congruent;" => "\x{2261}",
"Conint;" => "\x{222f}",
"ContourIntegral;" => "\x{222e}",
"Copf;" => "\x{2102}",
"Coproduct;" => "\x{2210}",
"CounterClockwiseContourIntegral;" => "\x{2233}",
"Cross;" => "\x{2a2f}",
"Cscr;" => "\x{1d49e}",
"Cup;" => "\x{22d3}",
"CupCap;" => "\x{224d}",
"DD;" => "\x{2145}",
"DDotrahd;" => "\x{2911}",
"DJcy;" => "\x{402}",
"DScy;" => "\x{405}",
"DZcy;" => "\x{40f}",
"Dagger;" => "\x{2021}",
"Darr;" => "\x{21a1}",
"Dashv;" => "\x{2ae4}",
"Dcaron;" => "\x{10e}",
"Dcy;" => "\x{414}",
"Del;" => "\x{2207}",
"Delta;" => "\x{394}",
"Dfr;" => "\x{1d507}",
"DiacriticalAcute;" => "\264",
"DiacriticalDot;" => "\x{2d9}",
"DiacriticalDoubleAcute;" => "\x{2dd}",
"DiacriticalGrave;" => "`",
"DiacriticalTilde;" => "\x{2dc}",
"Diamond;" => "\x{22c4}",
"DifferentialD;" => "\x{2146}",
"Dopf;" => "\x{1d53b}",
"Dot;" => "\250",
"DotDot;" => "\x{20dc}",
"DotEqual;" => "\x{2250}",
"DoubleContourIntegral;" => "\x{222f}",
"DoubleDot;" => "\250",
"DoubleDownArrow;" => "\x{21d3}",
"DoubleLeftArrow;" => "\x{21d0}",
"DoubleLeftRightArrow;" => "\x{21d4}",
"DoubleLeftTee;" => "\x{2ae4}",
"DoubleLongLeftArrow;" => "\x{27f8}",
"DoubleLongLeftRightArrow;" => "\x{27fa}",
"DoubleLongRightArrow;" => "\x{27f9}",
"DoubleRightArrow;" => "\x{21d2}",
"DoubleRightTee;" => "\x{22a8}",
"DoubleUpArrow;" => "\x{21d1}",
"DoubleUpDownArrow;" => "\x{21d5}",
"DoubleVerticalBar;" => "\x{2225}",
"DownArrow;" => "\x{2193}",
"DownArrowBar;" => "\x{2913}",
"DownArrowUpArrow;" => "\x{21f5}",
"DownBreve;" => "\x{311}",
"DownLeftRightVector;" => "\x{2950}",
"DownLeftTeeVector;" => "\x{295e}",
"DownLeftVector;" => "\x{21bd}",
"DownLeftVectorBar;" => "\x{2956}",
"DownRightTeeVector;" => "\x{295f}",
"DownRightVector;" => "\x{21c1}",
"DownRightVectorBar;" => "\x{2957}",
"DownTee;" => "\x{22a4}",
"DownTeeArrow;" => "\x{21a7}",
"Downarrow;" => "\x{21d3}",
"Dscr;" => "\x{1d49f}",
"Dstrok;" => "\x{110}",
"ENG;" => "\x{14a}",
"ETH" => "\320",
"ETH;" => "\320",
"Eacute" => "\311",
"Eacute;" => "\311",
"Ecaron;" => "\x{11a}",
"Ecirc" => "\312",
"Ecirc;" => "\312",
"Ecy;" => "\x{42d}",
"Edot;" => "\x{116}",
"Efr;" => "\x{1d508}",
"Egrave" => "\310",
"Egrave;" => "\310",
"Element;" => "\x{2208}",
"Emacr;" => "\x{112}",
"EmptySmallSquare;" => "\x{25fb}",
"EmptyVerySmallSquare;" => "\x{25ab}",
"Eogon;" => "\x{118}",
"Eopf;" => "\x{1d53c}",
"Epsilon;" => "\x{395}",
"Equal;" => "\x{2a75}",
"EqualTilde;" => "\x{2242}",
"Equilibrium;" => "\x{21cc}",
"Escr;" => "\x{2130}",
"Esim;" => "\x{2a73}",
"Eta;" => "\x{397}",
"Euml" => "\313",
"Euml;" => "\313",
"Exists;" => "\x{2203}",
"ExponentialE;" => "\x{2147}",
"Fcy;" => "\x{424}",
"Ffr;" => "\x{1d509}",
"FilledSmallSquare;" => "\x{25fc}",
"FilledVerySmallSquare;" => "\x{25aa}",
"Fopf;" => "\x{1d53d}",
"ForAll;" => "\x{2200}",
"Fouriertrf;" => "\x{2131}",
"Fscr;" => "\x{2131}",
"GJcy;" => "\x{403}",
"GT" => ">",
"GT;" => ">",
"Gamma;" => "\x{393}",
"Gammad;" => "\x{3dc}",
"Gbreve;" => "\x{11e}",
"Gcedil;" => "\x{122}",
"Gcirc;" => "\x{11c}",
"Gcy;" => "\x{413}",
"Gdot;" => "\x{120}",
"Gfr;" => "\x{1d50a}",
"Gg;" => "\x{22d9}",
"Gopf;" => "\x{1d53e}",
"GreaterEqual;" => "\x{2265}",
"GreaterEqualLess;" => "\x{22db}",
"GreaterFullEqual;" => "\x{2267}",
"GreaterGreater;" => "\x{2aa2}",
"GreaterLess;" => "\x{2277}",
"GreaterSlantEqual;" => "\x{2a7e}",
"GreaterTilde;" => "\x{2273}",
"Gscr;" => "\x{1d4a2}",
"Gt;" => "\x{226b}",
"HARDcy;" => "\x{42a}",
"Hacek;" => "\x{2c7}",
"Hat;" => "^",
"Hcirc;" => "\x{124}",
"Hfr;" => "\x{210c}",
"HilbertSpace;" => "\x{210b}",
"Hopf;" => "\x{210d}",
"HorizontalLine;" => "\x{2500}",
"Hscr;" => "\x{210b}",
"Hstrok;" => "\x{126}",
"HumpDownHump;" => "\x{224e}",
"HumpEqual;" => "\x{224f}",
"IEcy;" => "\x{415}",
"IJlig;" => "\x{132}",
"IOcy;" => "\x{401}",
"Iacute" => "\315",
"Iacute;" => "\315",
"Icirc" => "\316",
"Icirc;" => "\316",
"Icy;" => "\x{418}",
"Idot;" => "\x{130}",
"Ifr;" => "\x{2111}",
"Igrave" => "\314",
"Igrave;" => "\314",
"Im;" => "\x{2111}",
"Imacr;" => "\x{12a}",
"ImaginaryI;" => "\x{2148}",
"Implies;" => "\x{21d2}",
"Int;" => "\x{222c}",
"Integral;" => "\x{222b}",
"Intersection;" => "\x{22c2}",
"InvisibleComma;" => "\x{2063}",
"InvisibleTimes;" => "\x{2062}",
"Iogon;" => "\x{12e}",
"Iopf;" => "\x{1d540}",
"Iota;" => "\x{399}",
"Iscr;" => "\x{2110}",
"Itilde;" => "\x{128}",
"Iukcy;" => "\x{406}",
"Iuml" => "\317",
"Iuml;" => "\317",
"Jcirc;" => "\x{134}",
"Jcy;" => "\x{419}",
"Jfr;" => "\x{1d50d}",
"Jopf;" => "\x{1d541}",
"Jscr;" => "\x{1d4a5}",
"Jsercy;" => "\x{408}",
"Jukcy;" => "\x{404}",
"KHcy;" => "\x{425}",
"KJcy;" => "\x{40c}",
"Kappa;" => "\x{39a}",
"Kcedil;" => "\x{136}",
"Kcy;" => "\x{41a}",
"Kfr;" => "\x{1d50e}",
"Kopf;" => "\x{1d542}",
"Kscr;" => "\x{1d4a6}",
"LJcy;" => "\x{409}",
"LT" => "<",
"LT;" => "<",
"Lacute;" => "\x{139}",
"Lambda;" => "\x{39b}",
"Lang;" => "\x{27ea}",
"Laplacetrf;" => "\x{2112}",
"Larr;" => "\x{219e}",
"Lcaron;" => "\x{13d}",
"Lcedil;" => "\x{13b}",
"Lcy;" => "\x{41b}",
"LeftAngleBracket;" => "\x{27e8}",
"LeftArrow;" => "\x{2190}",
"LeftArrowBar;" => "\x{21e4}",
"LeftArrowRightArrow;" => "\x{21c6}",
"LeftCeiling;" => "\x{2308}",
"LeftDoubleBracket;" => "\x{27e6}",
"LeftDownTeeVector;" => "\x{2961}",
"LeftDownVector;" => "\x{21c3}",
"LeftDownVectorBar;" => "\x{2959}",
"LeftFloor;" => "\x{230a}",
"LeftRightArrow;" => "\x{2194}",
"LeftRightVector;" => "\x{294e}",
"LeftTee;" => "\x{22a3}",
"LeftTeeArrow;" => "\x{21a4}",
"LeftTeeVector;" => "\x{295a}",
"LeftTriangle;" => "\x{22b2}",
"LeftTriangleBar;" => "\x{29cf}",
"LeftTriangleEqual;" => "\x{22b4}",
"LeftUpDownVector;" => "\x{2951}",
"LeftUpTeeVector;" => "\x{2960}",
"LeftUpVector;" => "\x{21bf}",
"LeftUpVectorBar;" => "\x{2958}",
"LeftVector;" => "\x{21bc}",
"LeftVectorBar;" => "\x{2952}",
"Leftarrow;" => "\x{21d0}",
"Leftrightarrow;" => "\x{21d4}",
"LessEqualGreater;" => "\x{22da}",
"LessFullEqual;" => "\x{2266}",
"LessGreater;" => "\x{2276}",
"LessLess;" => "\x{2aa1}",
"LessSlantEqual;" => "\x{2a7d}",
"LessTilde;" => "\x{2272}",
"Lfr;" => "\x{1d50f}",
"Ll;" => "\x{22d8}",
"Lleftarrow;" => "\x{21da}",
"Lmidot;" => "\x{13f}",
"LongLeftArrow;" => "\x{27f5}",
"LongLeftRightArrow;" => "\x{27f7}",
"LongRightArrow;" => "\x{27f6}",
"Longleftarrow;" => "\x{27f8}",
"Longleftrightarrow;" => "\x{27fa}",
"Longrightarrow;" => "\x{27f9}",
"Lopf;" => "\x{1d543}",
"LowerLeftArrow;" => "\x{2199}",
"LowerRightArrow;" => "\x{2198}",
"Lscr;" => "\x{2112}",
"Lsh;" => "\x{21b0}",
"Lstrok;" => "\x{141}",
"Lt;" => "\x{226a}",
"Map;" => "\x{2905}",
"Mcy;" => "\x{41c}",
"MediumSpace;" => "\x{205f}",
"Mellintrf;" => "\x{2133}",
"Mfr;" => "\x{1d510}",
"MinusPlus;" => "\x{2213}",
"Mopf;" => "\x{1d544}",
"Mscr;" => "\x{2133}",
"Mu;" => "\x{39c}",
"NJcy;" => "\x{40a}",
"Nacute;" => "\x{143}",
"Ncaron;" => "\x{147}",
"Ncedil;" => "\x{145}",
"Ncy;" => "\x{41d}",
"NegativeMediumSpace;" => "\x{200b}",
"NegativeThickSpace;" => "\x{200b}",
"NegativeThinSpace;" => "\x{200b}",
"NegativeVeryThinSpace;" => "\x{200b}",
"NestedGreaterGreater;" => "\x{226b}",
"NestedLessLess;" => "\x{226a}",
"NewLine;" => "\n",
"Nfr;" => "\x{1d511}",
"NoBreak;" => "\x{2060}",
"NonBreakingSpace;" => "\240",
"Nopf;" => "\x{2115}",
"Not;" => "\x{2aec}",
"NotCongruent;" => "\x{2262}",
"NotCupCap;" => "\x{226d}",
"NotDoubleVerticalBar;" => "\x{2226}",
"NotElement;" => "\x{2209}",
"NotEqual;" => "\x{2260}",
"NotEqualTilde;" => "\x{2242}\x{338}",
"NotExists;" => "\x{2204}",
"NotGreater;" => "\x{226f}",
"NotGreaterEqual;" => "\x{2271}",
"NotGreaterFullEqual;" => "\x{2267}\x{338}",
"NotGreaterGreater;" => "\x{226b}\x{338}",
"NotGreaterLess;" => "\x{2279}",
"NotGreaterSlantEqual;" => "\x{2a7e}\x{338}",
"NotGreaterTilde;" => "\x{2275}",
"NotHumpDownHump;" => "\x{224e}\x{338}",
"NotHumpEqual;" => "\x{224f}\x{338}",
"NotLeftTriangle;" => "\x{22ea}",
"NotLeftTriangleBar;" => "\x{29cf}\x{338}",
"NotLeftTriangleEqual;" => "\x{22ec}",
"NotLess;" => "\x{226e}",
"NotLessEqual;" => "\x{2270}",
"NotLessGreater;" => "\x{2278}",
"NotLessLess;" => "\x{226a}\x{338}",
"NotLessSlantEqual;" => "\x{2a7d}\x{338}",
"NotLessTilde;" => "\x{2274}",
"NotNestedGreaterGreater;" => "\x{2aa2}\x{338}",
"NotNestedLessLess;" => "\x{2aa1}\x{338}",
"NotPrecedes;" => "\x{2280}",
"NotPrecedesEqual;" => "\x{2aaf}\x{338}",
"NotPrecedesSlantEqual;" => "\x{22e0}",
"NotReverseElement;" => "\x{220c}",
"NotRightTriangle;" => "\x{22eb}",
"NotRightTriangleBar;" => "\x{29d0}\x{338}",
"NotRightTriangleEqual;" => "\x{22ed}",
"NotSquareSubset;" => "\x{228f}\x{338}",
"NotSquareSubsetEqual;" => "\x{22e2}",
"NotSquareSuperset;" => "\x{2290}\x{338}",
"NotSquareSupersetEqual;" => "\x{22e3}",
"NotSubset;" => "\x{2282}\x{20d2}",
"NotSubsetEqual;" => "\x{2288}",
"NotSucceeds;" => "\x{2281}",
"NotSucceedsEqual;" => "\x{2ab0}\x{338}",
"NotSucceedsSlantEqual;" => "\x{22e1}",
"NotSucceedsTilde;" => "\x{227f}\x{338}",
"NotSuperset;" => "\x{2283}\x{20d2}",
"NotSupersetEqual;" => "\x{2289}",
"NotTilde;" => "\x{2241}",
"NotTildeEqual;" => "\x{2244}",
"NotTildeFullEqual;" => "\x{2247}",
"NotTildeTilde;" => "\x{2249}",
"NotVerticalBar;" => "\x{2224}",
"Nscr;" => "\x{1d4a9}",
"Ntilde" => "\321",
"Ntilde;" => "\321",
"Nu;" => "\x{39d}",
"OElig;" => "\x{152}",
"Oacute" => "\323",
"Oacute;" => "\323",
"Ocirc" => "\324",
"Ocirc;" => "\324",
"Ocy;" => "\x{41e}",
"Odblac;" => "\x{150}",
"Ofr;" => "\x{1d512}",
"Ograve" => "\322",
"Ograve;" => "\322",
"Omacr;" => "\x{14c}",
"Omega;" => "\x{3a9}",
"Omicron;" => "\x{39f}",
"Oopf;" => "\x{1d546}",
"OpenCurlyDoubleQuote;" => "\x{201c}",
"OpenCurlyQuote;" => "\x{2018}",
"Or;" => "\x{2a54}",
"Oscr;" => "\x{1d4aa}",
"Oslash" => "\330",
"Oslash;" => "\330",
"Otilde" => "\325",
"Otilde;" => "\325",
"Otimes;" => "\x{2a37}",
"Ouml" => "\326",
"Ouml;" => "\326",
"OverBar;" => "\x{203e}",
"OverBrace;" => "\x{23de}",
"OverBracket;" => "\x{23b4}",
"OverParenthesis;" => "\x{23dc}",
"PartialD;" => "\x{2202}",
"Pcy;" => "\x{41f}",
"Pfr;" => "\x{1d513}",
"Phi;" => "\x{3a6}",
"Pi;" => "\x{3a0}",
"PlusMinus;" => "\261",
"Poincareplane;" => "\x{210c}",
"Popf;" => "\x{2119}",
"Pr;" => "\x{2abb}",
"Precedes;" => "\x{227a}",
"PrecedesEqual;" => "\x{2aaf}",
"PrecedesSlantEqual;" => "\x{227c}",
"PrecedesTilde;" => "\x{227e}",
"Prime;" => "\x{2033}",
"Product;" => "\x{220f}",
"Proportion;" => "\x{2237}",
"Proportional;" => "\x{221d}",
"Pscr;" => "\x{1d4ab}",
"Psi;" => "\x{3a8}",
"QUOT" => "\"",
"QUOT;" => "\"",
"Qfr;" => "\x{1d514}",
"Qopf;" => "\x{211a}",
"Qscr;" => "\x{1d4ac}",
"RBarr;" => "\x{2910}",
"REG" => "\256",
"REG;" => "\256",
"Racute;" => "\x{154}",
"Rang;" => "\x{27eb}",
"Rarr;" => "\x{21a0}",
"Rarrtl;" => "\x{2916}",
"Rcaron;" => "\x{158}",
"Rcedil;" => "\x{156}",
"Rcy;" => "\x{420}",
"Re;" => "\x{211c}",
"ReverseElement;" => "\x{220b}",
"ReverseEquilibrium;" => "\x{21cb}",
"ReverseUpEquilibrium;" => "\x{296f}",
"Rfr;" => "\x{211c}",
"Rho;" => "\x{3a1}",
"RightAngleBracket;" => "\x{27e9}",
"RightArrow;" => "\x{2192}",
"RightArrowBar;" => "\x{21e5}",
"RightArrowLeftArrow;" => "\x{21c4}",
"RightCeiling;" => "\x{2309}",
"RightDoubleBracket;" => "\x{27e7}",
"RightDownTeeVector;" => "\x{295d}",
"RightDownVector;" => "\x{21c2}",
"RightDownVectorBar;" => "\x{2955}",
"RightFloor;" => "\x{230b}",
"RightTee;" => "\x{22a2}",
"RightTeeArrow;" => "\x{21a6}",
"RightTeeVector;" => "\x{295b}",
"RightTriangle;" => "\x{22b3}",
"RightTriangleBar;" => "\x{29d0}",
"RightTriangleEqual;" => "\x{22b5}",
"RightUpDownVector;" => "\x{294f}",
"RightUpTeeVector;" => "\x{295c}",
"RightUpVector;" => "\x{21be}",
"RightUpVectorBar;" => "\x{2954}",
"RightVector;" => "\x{21c0}",
"RightVectorBar;" => "\x{2953}",
"Rightarrow;" => "\x{21d2}",
"Ropf;" => "\x{211d}",
"RoundImplies;" => "\x{2970}",
"Rrightarrow;" => "\x{21db}",
"Rscr;" => "\x{211b}",
"Rsh;" => "\x{21b1}",
"RuleDelayed;" => "\x{29f4}",
"SHCHcy;" => "\x{429}",
"SHcy;" => "\x{428}",
"SOFTcy;" => "\x{42c}",
"Sacute;" => "\x{15a}",
"Sc;" => "\x{2abc}",
"Scaron;" => "\x{160}",
"Scedil;" => "\x{15e}",
"Scirc;" => "\x{15c}",
"Scy;" => "\x{421}",
"Sfr;" => "\x{1d516}",
"ShortDownArrow;" => "\x{2193}",
"ShortLeftArrow;" => "\x{2190}",
"ShortRightArrow;" => "\x{2192}",
"ShortUpArrow;" => "\x{2191}",
"Sigma;" => "\x{3a3}",
"SmallCircle;" => "\x{2218}",
"Sopf;" => "\x{1d54a}",
"Sqrt;" => "\x{221a}",
"Square;" => "\x{25a1}",
"SquareIntersection;" => "\x{2293}",
"SquareSubset;" => "\x{228f}",
"SquareSubsetEqual;" => "\x{2291}",
"SquareSuperset;" => "\x{2290}",
"SquareSupersetEqual;" => "\x{2292}",
"SquareUnion;" => "\x{2294}",
"Sscr;" => "\x{1d4ae}",
"Star;" => "\x{22c6}",
"Sub;" => "\x{22d0}",
"Subset;" => "\x{22d0}",
"SubsetEqual;" => "\x{2286}",
"Succeeds;" => "\x{227b}",
"SucceedsEqual;" => "\x{2ab0}",
"SucceedsSlantEqual;" => "\x{227d}",
"SucceedsTilde;" => "\x{227f}",
"SuchThat;" => "\x{220b}",
"Sum;" => "\x{2211}",
"Sup;" => "\x{22d1}",
"Superset;" => "\x{2283}",
"SupersetEqual;" => "\x{2287}",
"Supset;" => "\x{22d1}",
"THORN" => "\336",
"THORN;" => "\336",
"TRADE;" => "\x{2122}",
"TSHcy;" => "\x{40b}",
"TScy;" => "\x{426}",
"Tab;" => "\t",
"Tau;" => "\x{3a4}",
"Tcaron;" => "\x{164}",
"Tcedil;" => "\x{162}",
"Tcy;" => "\x{422}",
"Tfr;" => "\x{1d517}",
"Therefore;" => "\x{2234}",
"Theta;" => "\x{398}",
"ThickSpace;" => "\x{205f}\x{200a}",
"ThinSpace;" => "\x{2009}",
"Tilde;" => "\x{223c}",
"TildeEqual;" => "\x{2243}",
"TildeFullEqual;" => "\x{2245}",
"TildeTilde;" => "\x{2248}",
"Topf;" => "\x{1d54b}",
"TripleDot;" => "\x{20db}",
"Tscr;" => "\x{1d4af}",
"Tstrok;" => "\x{166}",
"Uacute" => "\332",
"Uacute;" => "\332",
"Uarr;" => "\x{219f}",
"Uarrocir;" => "\x{2949}",
"Ubrcy;" => "\x{40e}",
"Ubreve;" => "\x{16c}",
"Ucirc" => "\333",
"Ucirc;" => "\333",
"Ucy;" => "\x{423}",
"Udblac;" => "\x{170}",
"Ufr;" => "\x{1d518}",
"Ugrave" => "\331",
"Ugrave;" => "\331",
"Umacr;" => "\x{16a}",
"UnderBar;" => "_",
"UnderBrace;" => "\x{23df}",
"UnderBracket;" => "\x{23b5}",
"UnderParenthesis;" => "\x{23dd}",
"Union;" => "\x{22c3}",
"UnionPlus;" => "\x{228e}",
"Uogon;" => "\x{172}",
"Uopf;" => "\x{1d54c}",
"UpArrow;" => "\x{2191}",
"UpArrowBar;" => "\x{2912}",
"UpArrowDownArrow;" => "\x{21c5}",
"UpDownArrow;" => "\x{2195}",
"UpEquilibrium;" => "\x{296e}",
"UpTee;" => "\x{22a5}",
"UpTeeArrow;" => "\x{21a5}",
"Uparrow;" => "\x{21d1}",
"Updownarrow;" => "\x{21d5}",
"UpperLeftArrow;" => "\x{2196}",
"UpperRightArrow;" => "\x{2197}",
"Upsi;" => "\x{3d2}",
"Upsilon;" => "\x{3a5}",
"Uring;" => "\x{16e}",
"Uscr;" => "\x{1d4b0}",
"Utilde;" => "\x{168}",
"Uuml" => "\334",
"Uuml;" => "\334",
"VDash;" => "\x{22ab}",
"Vbar;" => "\x{2aeb}",
"Vcy;" => "\x{412}",
"Vdash;" => "\x{22a9}",
"Vdashl;" => "\x{2ae6}",
"Vee;" => "\x{22c1}",
"Verbar;" => "\x{2016}",
"Vert;" => "\x{2016}",
"VerticalBar;" => "\x{2223}",
"VerticalLine;" => "|",
"VerticalSeparator;" => "\x{2758}",
"VerticalTilde;" => "\x{2240}",
"VeryThinSpace;" => "\x{200a}",
"Vfr;" => "\x{1d519}",
"Vopf;" => "\x{1d54d}",
"Vscr;" => "\x{1d4b1}",
"Vvdash;" => "\x{22aa}",
"Wcirc;" => "\x{174}",
"Wedge;" => "\x{22c0}",
"Wfr;" => "\x{1d51a}",
"Wopf;" => "\x{1d54e}",
"Wscr;" => "\x{1d4b2}",
"Xfr;" => "\x{1d51b}",
"Xi;" => "\x{39e}",
"Xopf;" => "\x{1d54f}",
"Xscr;" => "\x{1d4b3}",
"YAcy;" => "\x{42f}",
"YIcy;" => "\x{407}",
"YUcy;" => "\x{42e}",
"Yacute" => "\335",
"Yacute;" => "\335",
"Ycirc;" => "\x{176}",
"Ycy;" => "\x{42b}",
"Yfr;" => "\x{1d51c}",
"Yopf;" => "\x{1d550}",
"Yscr;" => "\x{1d4b4}",
"Yuml;" => "\x{178}",
"ZHcy;" => "\x{416}",
"Zacute;" => "\x{179}",
"Zcaron;" => "\x{17d}",
"Zcy;" => "\x{417}",
"Zdot;" => "\x{17b}",
"ZeroWidthSpace;" => "\x{200b}",
"Zeta;" => "\x{396}",
"Zfr;" => "\x{2128}",
"Zopf;" => "\x{2124}",
"Zscr;" => "\x{1d4b5}",
"aacute" => "\341",
"aacute;" => "\341",
"abreve;" => "\x{103}",
"ac;" => "\x{223e}",
"acE;" => "\x{223e}\x{333}",
"acd;" => "\x{223f}",
"acirc" => "\342",
"acirc;" => "\342",
"acute" => "\264",
"acute;" => "\264",
"acy;" => "\x{430}",
"aelig" => "\346",
"aelig;" => "\346",
"af;" => "\x{2061}",
"afr;" => "\x{1d51e}",
"agrave" => "\340",
"agrave;" => "\340",
"alefsym;" => "\x{2135}",
"aleph;" => "\x{2135}",
"alpha;" => "\x{3b1}",
"amacr;" => "\x{101}",
"amalg;" => "\x{2a3f}",
"amp" => "&",
"amp;" => "&",
"and;" => "\x{2227}",
"andand;" => "\x{2a55}",
"andd;" => "\x{2a5c}",
"andslope;" => "\x{2a58}",
"andv;" => "\x{2a5a}",
"ang;" => "\x{2220}",
"ange;" => "\x{29a4}",
"angle;" => "\x{2220}",
"angmsd;" => "\x{2221}",
"angmsdaa;" => "\x{29a8}",
"angmsdab;" => "\x{29a9}",
"angmsdac;" => "\x{29aa}",
"angmsdad;" => "\x{29ab}",
"angmsdae;" => "\x{29ac}",
"angmsdaf;" => "\x{29ad}",
"angmsdag;" => "\x{29ae}",
"angmsdah;" => "\x{29af}",
"angrt;" => "\x{221f}",
"angrtvb;" => "\x{22be}",
"angrtvbd;" => "\x{299d}",
"angsph;" => "\x{2222}",
"angst;" => "\305",
"angzarr;" => "\x{237c}",
"aogon;" => "\x{105}",
"aopf;" => "\x{1d552}",
"ap;" => "\x{2248}",
"apE;" => "\x{2a70}",
"apacir;" => "\x{2a6f}",
"ape;" => "\x{224a}",
"apid;" => "\x{224b}",
"apos;" => "'",
"approx;" => "\x{2248}",
"approxeq;" => "\x{224a}",
"aring" => "\345",
"aring;" => "\345",
"ascr;" => "\x{1d4b6}",
"ast;" => "*",
"asymp;" => "\x{2248}",
"asympeq;" => "\x{224d}",
"atilde" => "\343",
"atilde;" => "\343",
"auml" => "\344",
"auml;" => "\344",
"awconint;" => "\x{2233}",
"awint;" => "\x{2a11}",
"bNot;" => "\x{2aed}",
"backcong;" => "\x{224c}",
"backepsilon;" => "\x{3f6}",
"backprime;" => "\x{2035}",
"backsim;" => "\x{223d}",
"backsimeq;" => "\x{22cd}",
"barvee;" => "\x{22bd}",
"barwed;" => "\x{2305}",
"barwedge;" => "\x{2305}",
"bbrk;" => "\x{23b5}",
"bbrktbrk;" => "\x{23b6}",
"bcong;" => "\x{224c}",
"bcy;" => "\x{431}",
"bdquo;" => "\x{201e}",
"becaus;" => "\x{2235}",
"because;" => "\x{2235}",
"bemptyv;" => "\x{29b0}",
"bepsi;" => "\x{3f6}",
"bernou;" => "\x{212c}",
"beta;" => "\x{3b2}",
"beth;" => "\x{2136}",
"between;" => "\x{226c}",
"bfr;" => "\x{1d51f}",
"bigcap;" => "\x{22c2}",
"bigcirc;" => "\x{25ef}",
"bigcup;" => "\x{22c3}",
"bigodot;" => "\x{2a00}",
"bigoplus;" => "\x{2a01}",
"bigotimes;" => "\x{2a02}",
"bigsqcup;" => "\x{2a06}",
"bigstar;" => "\x{2605}",
"bigtriangledown;" => "\x{25bd}",
"bigtriangleup;" => "\x{25b3}",
"biguplus;" => "\x{2a04}",
"bigvee;" => "\x{22c1}",
"bigwedge;" => "\x{22c0}",
"bkarow;" => "\x{290d}",
"blacklozenge;" => "\x{29eb}",
"blacksquare;" => "\x{25aa}",
"blacktriangle;" => "\x{25b4}",
"blacktriangledown;" => "\x{25be}",
"blacktriangleleft;" => "\x{25c2}",
"blacktriangleright;" => "\x{25b8}",
"blank;" => "\x{2423}",
"blk12;" => "\x{2592}",
"blk14;" => "\x{2591}",
"blk34;" => "\x{2593}",
"block;" => "\x{2588}",
"bne;" => "=\x{20e5}",
"bnequiv;" => "\x{2261}\x{20e5}",
"bnot;" => "\x{2310}",
"bopf;" => "\x{1d553}",
"bot;" => "\x{22a5}",
"bottom;" => "\x{22a5}",
"bowtie;" => "\x{22c8}",
"boxDL;" => "\x{2557}",
"boxDR;" => "\x{2554}",
"boxDl;" => "\x{2556}",
"boxDr;" => "\x{2553}",
"boxH;" => "\x{2550}",
"boxHD;" => "\x{2566}",
"boxHU;" => "\x{2569}",
"boxHd;" => "\x{2564}",
"boxHu;" => "\x{2567}",
"boxUL;" => "\x{255d}",
"boxUR;" => "\x{255a}",
"boxUl;" => "\x{255c}",
"boxUr;" => "\x{2559}",
"boxV;" => "\x{2551}",
"boxVH;" => "\x{256c}",
"boxVL;" => "\x{2563}",
"boxVR;" => "\x{2560}",
"boxVh;" => "\x{256b}",
"boxVl;" => "\x{2562}",
"boxVr;" => "\x{255f}",
"boxbox;" => "\x{29c9}",
"boxdL;" => "\x{2555}",
"boxdR;" => "\x{2552}",
"boxdl;" => "\x{2510}",
"boxdr;" => "\x{250c}",
"boxh;" => "\x{2500}",
"boxhD;" => "\x{2565}",
"boxhU;" => "\x{2568}",
"boxhd;" => "\x{252c}",
"boxhu;" => "\x{2534}",
"boxminus;" => "\x{229f}",
"boxplus;" => "\x{229e}",
"boxtimes;" => "\x{22a0}",
"boxuL;" => "\x{255b}",
"boxuR;" => "\x{2558}",
"boxul;" => "\x{2518}",
"boxur;" => "\x{2514}",
"boxv;" => "\x{2502}",
"boxvH;" => "\x{256a}",
"boxvL;" => "\x{2561}",
"boxvR;" => "\x{255e}",
"boxvh;" => "\x{253c}",
"boxvl;" => "\x{2524}",
"boxvr;" => "\x{251c}",
"bprime;" => "\x{2035}",
"breve;" => "\x{2d8}",
"brvbar" => "\246",
"brvbar;" => "\246",
"bscr;" => "\x{1d4b7}",
"bsemi;" => "\x{204f}",
"bsim;" => "\x{223d}",
"bsime;" => "\x{22cd}",
"bsol;" => "\\",
"bsolb;" => "\x{29c5}",
"bsolhsub;" => "\x{27c8}",
"bull;" => "\x{2022}",
"bullet;" => "\x{2022}",
"bump;" => "\x{224e}",
"bumpE;" => "\x{2aae}",
"bumpe;" => "\x{224f}",
"bumpeq;" => "\x{224f}",
"cacute;" => "\x{107}",
"cap;" => "\x{2229}",
"capand;" => "\x{2a44}",
"capbrcup;" => "\x{2a49}",
"capcap;" => "\x{2a4b}",
"capcup;" => "\x{2a47}",
"capdot;" => "\x{2a40}",
"caps;" => "\x{2229}\x{fe00}",
"caret;" => "\x{2041}",
"caron;" => "\x{2c7}",
"ccaps;" => "\x{2a4d}",
"ccaron;" => "\x{10d}",
"ccedil" => "\347",
"ccedil;" => "\347",
"ccirc;" => "\x{109}",
"ccups;" => "\x{2a4c}",
"ccupssm;" => "\x{2a50}",
"cdot;" => "\x{10b}",
"cedil" => "\270",
"cedil;" => "\270",
"cemptyv;" => "\x{29b2}",
"cent" => "\242",
"cent;" => "\242",
"centerdot;" => "\267",
"cfr;" => "\x{1d520}",
"chcy;" => "\x{447}",
"check;" => "\x{2713}",
"checkmark;" => "\x{2713}",
"chi;" => "\x{3c7}",
"cir;" => "\x{25cb}",
"cirE;" => "\x{29c3}",
"circ;" => "\x{2c6}",
"circeq;" => "\x{2257}",
"circlearrowleft;" => "\x{21ba}",
"circlearrowright;" => "\x{21bb}",
"circledR;" => "\256",
"circledS;" => "\x{24c8}",
"circledast;" => "\x{229b}",
"circledcirc;" => "\x{229a}",
"circleddash;" => "\x{229d}",
"cire;" => "\x{2257}",
"cirfnint;" => "\x{2a10}",
"cirmid;" => "\x{2aef}",
"cirscir;" => "\x{29c2}",
"clubs;" => "\x{2663}",
"clubsuit;" => "\x{2663}",
"colon;" => ":",
"colone;" => "\x{2254}",
"coloneq;" => "\x{2254}",
"comma;" => ",",
"commat;" => "\@",
"comp;" => "\x{2201}",
"compfn;" => "\x{2218}",
"complement;" => "\x{2201}",
"complexes;" => "\x{2102}",
"cong;" => "\x{2245}",
"congdot;" => "\x{2a6d}",
"conint;" => "\x{222e}",
"copf;" => "\x{1d554}",
"coprod;" => "\x{2210}",
"copy" => "\251",
"copy;" => "\251",
"copysr;" => "\x{2117}",
"crarr;" => "\x{21b5}",
"cross;" => "\x{2717}",
"cscr;" => "\x{1d4b8}",
"csub;" => "\x{2acf}",
"csube;" => "\x{2ad1}",
"csup;" => "\x{2ad0}",
"csupe;" => "\x{2ad2}",
"ctdot;" => "\x{22ef}",
"cudarrl;" => "\x{2938}",
"cudarrr;" => "\x{2935}",
"cuepr;" => "\x{22de}",
"cuesc;" => "\x{22df}",
"cularr;" => "\x{21b6}",
"cularrp;" => "\x{293d}",
"cup;" => "\x{222a}",
"cupbrcap;" => "\x{2a48}",
"cupcap;" => "\x{2a46}",
"cupcup;" => "\x{2a4a}",
"cupdot;" => "\x{228d}",
"cupor;" => "\x{2a45}",
"cups;" => "\x{222a}\x{fe00}",
"curarr;" => "\x{21b7}",
"curarrm;" => "\x{293c}",
"curlyeqprec;" => "\x{22de}",
"curlyeqsucc;" => "\x{22df}",
"curlyvee;" => "\x{22ce}",
"curlywedge;" => "\x{22cf}",
"curren" => "\244",
"curren;" => "\244",
"curvearrowleft;" => "\x{21b6}",
"curvearrowright;" => "\x{21b7}",
"cuvee;" => "\x{22ce}",
"cuwed;" => "\x{22cf}",
"cwconint;" => "\x{2232}",
"cwint;" => "\x{2231}",
"cylcty;" => "\x{232d}",
"dArr;" => "\x{21d3}",
"dHar;" => "\x{2965}",
"dagger;" => "\x{2020}",
"daleth;" => "\x{2138}",
"darr;" => "\x{2193}",
"dash;" => "\x{2010}",
"dashv;" => "\x{22a3}",
"dbkarow;" => "\x{290f}",
"dblac;" => "\x{2dd}",
"dcaron;" => "\x{10f}",
"dcy;" => "\x{434}",
"dd;" => "\x{2146}",
"ddagger;" => "\x{2021}",
"ddarr;" => "\x{21ca}",
"ddotseq;" => "\x{2a77}",
"deg" => "\260",
"deg;" => "\260",
"delta;" => "\x{3b4}",
"demptyv;" => "\x{29b1}",
"dfisht;" => "\x{297f}",
"dfr;" => "\x{1d521}",
"dharl;" => "\x{21c3}",
"dharr;" => "\x{21c2}",
"diam;" => "\x{22c4}",
"diamond;" => "\x{22c4}",
"diamondsuit;" => "\x{2666}",
"diams;" => "\x{2666}",
"die;" => "\250",
"digamma;" => "\x{3dd}",
"disin;" => "\x{22f2}",
"div;" => "\367",
"divide" => "\367",
"divide;" => "\367",
"divideontimes;" => "\x{22c7}",
"divonx;" => "\x{22c7}",
"djcy;" => "\x{452}",
"dlcorn;" => "\x{231e}",
"dlcrop;" => "\x{230d}",
"dollar;" => "\$",
"dopf;" => "\x{1d555}",
"dot;" => "\x{2d9}",
"doteq;" => "\x{2250}",
"doteqdot;" => "\x{2251}",
"dotminus;" => "\x{2238}",
"dotplus;" => "\x{2214}",
"dotsquare;" => "\x{22a1}",
"doublebarwedge;" => "\x{2306}",
"downarrow;" => "\x{2193}",
"downdownarrows;" => "\x{21ca}",
"downharpoonleft;" => "\x{21c3}",
"downharpoonright;" => "\x{21c2}",
"drbkarow;" => "\x{2910}",
"drcorn;" => "\x{231f}",
"drcrop;" => "\x{230c}",
"dscr;" => "\x{1d4b9}",
"dscy;" => "\x{455}",
"dsol;" => "\x{29f6}",
"dstrok;" => "\x{111}",
"dtdot;" => "\x{22f1}",
"dtri;" => "\x{25bf}",
"dtrif;" => "\x{25be}",
"duarr;" => "\x{21f5}",
"duhar;" => "\x{296f}",
"dwangle;" => "\x{29a6}",
"dzcy;" => "\x{45f}",
"dzigrarr;" => "\x{27ff}",
"eDDot;" => "\x{2a77}",
"eDot;" => "\x{2251}",
"eacute" => "\351",
"eacute;" => "\351",
"easter;" => "\x{2a6e}",
"ecaron;" => "\x{11b}",
"ecir;" => "\x{2256}",
"ecirc" => "\352",
"ecirc;" => "\352",
"ecolon;" => "\x{2255}",
"ecy;" => "\x{44d}",
"edot;" => "\x{117}",
"ee;" => "\x{2147}",
"efDot;" => "\x{2252}",
"efr;" => "\x{1d522}",
"eg;" => "\x{2a9a}",
"egrave" => "\350",
"egrave;" => "\350",
"egs;" => "\x{2a96}",
"egsdot;" => "\x{2a98}",
"el;" => "\x{2a99}",
"elinters;" => "\x{23e7}",
"ell;" => "\x{2113}",
"els;" => "\x{2a95}",
"elsdot;" => "\x{2a97}",
"emacr;" => "\x{113}",
"empty;" => "\x{2205}",
"emptyset;" => "\x{2205}",
"emptyv;" => "\x{2205}",
"emsp13;" => "\x{2004}",
"emsp14;" => "\x{2005}",
"emsp;" => "\x{2003}",
"eng;" => "\x{14b}",
"ensp;" => "\x{2002}",
"eogon;" => "\x{119}",
"eopf;" => "\x{1d556}",
"epar;" => "\x{22d5}",
"eparsl;" => "\x{29e3}",
"eplus;" => "\x{2a71}",
"epsi;" => "\x{3b5}",
"epsilon;" => "\x{3b5}",
"epsiv;" => "\x{3f5}",
"eqcirc;" => "\x{2256}",
"eqcolon;" => "\x{2255}",
"eqsim;" => "\x{2242}",
"eqslantgtr;" => "\x{2a96}",
"eqslantless;" => "\x{2a95}",
"equals;" => "=",
"equest;" => "\x{225f}",
"equiv;" => "\x{2261}",
"equivDD;" => "\x{2a78}",
"eqvparsl;" => "\x{29e5}",
"erDot;" => "\x{2253}",
"erarr;" => "\x{2971}",
"escr;" => "\x{212f}",
"esdot;" => "\x{2250}",
"esim;" => "\x{2242}",
"eta;" => "\x{3b7}",
"eth" => "\360",
"eth;" => "\360",
"euml" => "\353",
"euml;" => "\353",
"euro;" => "\x{20ac}",
"excl;" => "!",
"exist;" => "\x{2203}",
"expectation;" => "\x{2130}",
"exponentiale;" => "\x{2147}",
"fallingdotseq;" => "\x{2252}",
"fcy;" => "\x{444}",
"female;" => "\x{2640}",
"ffilig;" => "\x{fb03}",
"fflig;" => "\x{fb00}",
"ffllig;" => "\x{fb04}",
"ffr;" => "\x{1d523}",
"filig;" => "\x{fb01}",
"fjlig;" => "fj",
"flat;" => "\x{266d}",
"fllig;" => "\x{fb02}",
"fltns;" => "\x{25b1}",
"fnof;" => "\x{192}",
"fopf;" => "\x{1d557}",
"forall;" => "\x{2200}",
"fork;" => "\x{22d4}",
"forkv;" => "\x{2ad9}",
"fpartint;" => "\x{2a0d}",
"frac12" => "\275",
"frac12;" => "\275",
"frac13;" => "\x{2153}",
"frac14" => "\274",
"frac14;" => "\274",
"frac15;" => "\x{2155}",
"frac16;" => "\x{2159}",
"frac18;" => "\x{215b}",
"frac23;" => "\x{2154}",
"frac25;" => "\x{2156}",
"frac34" => "\276",
"frac34;" => "\276",
"frac35;" => "\x{2157}",
"frac38;" => "\x{215c}",
"frac45;" => "\x{2158}",
"frac56;" => "\x{215a}",
"frac58;" => "\x{215d}",
"frac78;" => "\x{215e}",
"frasl;" => "\x{2044}",
"frown;" => "\x{2322}",
"fscr;" => "\x{1d4bb}",
"gE;" => "\x{2267}",
"gEl;" => "\x{2a8c}",
"gacute;" => "\x{1f5}",
"gamma;" => "\x{3b3}",
"gammad;" => "\x{3dd}",
"gap;" => "\x{2a86}",
"gbreve;" => "\x{11f}",
"gcirc;" => "\x{11d}",
"gcy;" => "\x{433}",
"gdot;" => "\x{121}",
"ge;" => "\x{2265}",
"gel;" => "\x{22db}",
"geq;" => "\x{2265}",
"geqq;" => "\x{2267}",
"geqslant;" => "\x{2a7e}",
"ges;" => "\x{2a7e}",
"gescc;" => "\x{2aa9}",
"gesdot;" => "\x{2a80}",
"gesdoto;" => "\x{2a82}",
"gesdotol;" => "\x{2a84}",
"gesl;" => "\x{22db}\x{fe00}",
"gesles;" => "\x{2a94}",
"gfr;" => "\x{1d524}",
"gg;" => "\x{226b}",
"ggg;" => "\x{22d9}",
"gimel;" => "\x{2137}",
"gjcy;" => "\x{453}",
"gl;" => "\x{2277}",
"glE;" => "\x{2a92}",
"gla;" => "\x{2aa5}",
"glj;" => "\x{2aa4}",
"gnE;" => "\x{2269}",
"gnap;" => "\x{2a8a}",
"gnapprox;" => "\x{2a8a}",
"gne;" => "\x{2a88}",
"gneq;" => "\x{2a88}",
"gneqq;" => "\x{2269}",
"gnsim;" => "\x{22e7}",
"gopf;" => "\x{1d558}",
"grave;" => "`",
"gscr;" => "\x{210a}",
"gsim;" => "\x{2273}",
"gsime;" => "\x{2a8e}",
"gsiml;" => "\x{2a90}",
"gt" => ">",
"gt;" => ">",
"gtcc;" => "\x{2aa7}",
"gtcir;" => "\x{2a7a}",
"gtdot;" => "\x{22d7}",
"gtlPar;" => "\x{2995}",
"gtquest;" => "\x{2a7c}",
"gtrapprox;" => "\x{2a86}",
"gtrarr;" => "\x{2978}",
"gtrdot;" => "\x{22d7}",
"gtreqless;" => "\x{22db}",
"gtreqqless;" => "\x{2a8c}",
"gtrless;" => "\x{2277}",
"gtrsim;" => "\x{2273}",
"gvertneqq;" => "\x{2269}\x{fe00}",
"gvnE;" => "\x{2269}\x{fe00}",
"hArr;" => "\x{21d4}",
"hairsp;" => "\x{200a}",
"half;" => "\275",
"hamilt;" => "\x{210b}",
"hardcy;" => "\x{44a}",
"harr;" => "\x{2194}",
"harrcir;" => "\x{2948}",
"harrw;" => "\x{21ad}",
"hbar;" => "\x{210f}",
"hcirc;" => "\x{125}",
"hearts;" => "\x{2665}",
"heartsuit;" => "\x{2665}",
"hellip;" => "\x{2026}",
"hercon;" => "\x{22b9}",
"hfr;" => "\x{1d525}",
"hksearow;" => "\x{2925}",
"hkswarow;" => "\x{2926}",
"hoarr;" => "\x{21ff}",
"homtht;" => "\x{223b}",
"hookleftarrow;" => "\x{21a9}",
"hookrightarrow;" => "\x{21aa}",
"hopf;" => "\x{1d559}",
"horbar;" => "\x{2015}",
"hscr;" => "\x{1d4bd}",
"hslash;" => "\x{210f}",
"hstrok;" => "\x{127}",
"hybull;" => "\x{2043}",
"hyphen;" => "\x{2010}",
"iacute" => "\355",
"iacute;" => "\355",
"ic;" => "\x{2063}",
"icirc" => "\356",
"icirc;" => "\356",
"icy;" => "\x{438}",
"iecy;" => "\x{435}",
"iexcl" => "\241",
"iexcl;" => "\241",
"iff;" => "\x{21d4}",
"ifr;" => "\x{1d526}",
"igrave" => "\354",
"igrave;" => "\354",
"ii;" => "\x{2148}",
"iiiint;" => "\x{2a0c}",
"iiint;" => "\x{222d}",
"iinfin;" => "\x{29dc}",
"iiota;" => "\x{2129}",
"ijlig;" => "\x{133}",
"imacr;" => "\x{12b}",
"image;" => "\x{2111}",
"imagline;" => "\x{2110}",
"imagpart;" => "\x{2111}",
"imath;" => "\x{131}",
"imof;" => "\x{22b7}",
"imped;" => "\x{1b5}",
"in;" => "\x{2208}",
"incare;" => "\x{2105}",
"infin;" => "\x{221e}",
"infintie;" => "\x{29dd}",
"inodot;" => "\x{131}",
"int;" => "\x{222b}",
"intcal;" => "\x{22ba}",
"integers;" => "\x{2124}",
"intercal;" => "\x{22ba}",
"intlarhk;" => "\x{2a17}",
"intprod;" => "\x{2a3c}",
"iocy;" => "\x{451}",
"iogon;" => "\x{12f}",
"iopf;" => "\x{1d55a}",
"iota;" => "\x{3b9}",
"iprod;" => "\x{2a3c}",
"iquest" => "\277",
"iquest;" => "\277",
"iscr;" => "\x{1d4be}",
"isin;" => "\x{2208}",
"isinE;" => "\x{22f9}",
"isindot;" => "\x{22f5}",
"isins;" => "\x{22f4}",
"isinsv;" => "\x{22f3}",
"isinv;" => "\x{2208}",
"it;" => "\x{2062}",
"itilde;" => "\x{129}",
"iukcy;" => "\x{456}",
"iuml" => "\357",
"iuml;" => "\357",
"jcirc;" => "\x{135}",
"jcy;" => "\x{439}",
"jfr;" => "\x{1d527}",
"jmath;" => "\x{237}",
"jopf;" => "\x{1d55b}",
"jscr;" => "\x{1d4bf}",
"jsercy;" => "\x{458}",
"jukcy;" => "\x{454}",
"kappa;" => "\x{3ba}",
"kappav;" => "\x{3f0}",
"kcedil;" => "\x{137}",
"kcy;" => "\x{43a}",
"kfr;" => "\x{1d528}",
"kgreen;" => "\x{138}",
"khcy;" => "\x{445}",
"kjcy;" => "\x{45c}",
"kopf;" => "\x{1d55c}",
"kscr;" => "\x{1d4c0}",
"lAarr;" => "\x{21da}",
"lArr;" => "\x{21d0}",
"lAtail;" => "\x{291b}",
"lBarr;" => "\x{290e}",
"lE;" => "\x{2266}",
"lEg;" => "\x{2a8b}",
"lHar;" => "\x{2962}",
"lacute;" => "\x{13a}",
"laemptyv;" => "\x{29b4}",
"lagran;" => "\x{2112}",
"lambda;" => "\x{3bb}",
"lang;" => "\x{27e8}",
"langd;" => "\x{2991}",
"langle;" => "\x{27e8}",
"lap;" => "\x{2a85}",
"laquo" => "\253",
"laquo;" => "\253",
"larr;" => "\x{2190}",
"larrb;" => "\x{21e4}",
"larrbfs;" => "\x{291f}",
"larrfs;" => "\x{291d}",
"larrhk;" => "\x{21a9}",
"larrlp;" => "\x{21ab}",
"larrpl;" => "\x{2939}",
"larrsim;" => "\x{2973}",
"larrtl;" => "\x{21a2}",
"lat;" => "\x{2aab}",
"latail;" => "\x{2919}",
"late;" => "\x{2aad}",
"lates;" => "\x{2aad}\x{fe00}",
"lbarr;" => "\x{290c}",
"lbbrk;" => "\x{2772}",
"lbrace;" => "{",
"lbrack;" => "[",
"lbrke;" => "\x{298b}",
"lbrksld;" => "\x{298f}",
"lbrkslu;" => "\x{298d}",
"lcaron;" => "\x{13e}",
"lcedil;" => "\x{13c}",
"lceil;" => "\x{2308}",
"lcub;" => "{",
"lcy;" => "\x{43b}",
"ldca;" => "\x{2936}",
"ldquo;" => "\x{201c}",
"ldquor;" => "\x{201e}",
"ldrdhar;" => "\x{2967}",
"ldrushar;" => "\x{294b}",
"ldsh;" => "\x{21b2}",
"le;" => "\x{2264}",
"leftarrow;" => "\x{2190}",
"leftarrowtail;" => "\x{21a2}",
"leftharpoondown;" => "\x{21bd}",
"leftharpoonup;" => "\x{21bc}",
"leftleftarrows;" => "\x{21c7}",
"leftrightarrow;" => "\x{2194}",
"leftrightarrows;" => "\x{21c6}",
"leftrightharpoons;" => "\x{21cb}",
"leftrightsquigarrow;" => "\x{21ad}",
"leftthreetimes;" => "\x{22cb}",
"leg;" => "\x{22da}",
"leq;" => "\x{2264}",
"leqq;" => "\x{2266}",
"leqslant;" => "\x{2a7d}",
"les;" => "\x{2a7d}",
"lescc;" => "\x{2aa8}",
"lesdot;" => "\x{2a7f}",
"lesdoto;" => "\x{2a81}",
"lesdotor;" => "\x{2a83}",
"lesg;" => "\x{22da}\x{fe00}",
"lesges;" => "\x{2a93}",
"lessapprox;" => "\x{2a85}",
"lessdot;" => "\x{22d6}",
"lesseqgtr;" => "\x{22da}",
"lesseqqgtr;" => "\x{2a8b}",
"lessgtr;" => "\x{2276}",
"lesssim;" => "\x{2272}",
"lfisht;" => "\x{297c}",
"lfloor;" => "\x{230a}",
"lfr;" => "\x{1d529}",
"lg;" => "\x{2276}",
"lgE;" => "\x{2a91}",
"lhard;" => "\x{21bd}",
"lharu;" => "\x{21bc}",
"lharul;" => "\x{296a}",
"lhblk;" => "\x{2584}",
"ljcy;" => "\x{459}",
"ll;" => "\x{226a}",
"llarr;" => "\x{21c7}",
"llcorner;" => "\x{231e}",
"llhard;" => "\x{296b}",
"lltri;" => "\x{25fa}",
"lmidot;" => "\x{140}",
"lmoust;" => "\x{23b0}",
"lmoustache;" => "\x{23b0}",
"lnE;" => "\x{2268}",
"lnap;" => "\x{2a89}",
"lnapprox;" => "\x{2a89}",
"lne;" => "\x{2a87}",
"lneq;" => "\x{2a87}",
"lneqq;" => "\x{2268}",
"lnsim;" => "\x{22e6}",
"loang;" => "\x{27ec}",
"loarr;" => "\x{21fd}",
"lobrk;" => "\x{27e6}",
"longleftarrow;" => "\x{27f5}",
"longleftrightarrow;" => "\x{27f7}",
"longmapsto;" => "\x{27fc}",
"longrightarrow;" => "\x{27f6}",
"looparrowleft;" => "\x{21ab}",
"looparrowright;" => "\x{21ac}",
"lopar;" => "\x{2985}",
"lopf;" => "\x{1d55d}",
"loplus;" => "\x{2a2d}",
"lotimes;" => "\x{2a34}",
"lowast;" => "\x{2217}",
"lowbar;" => "_",
"loz;" => "\x{25ca}",
"lozenge;" => "\x{25ca}",
"lozf;" => "\x{29eb}",
"lpar;" => "(",
"lparlt;" => "\x{2993}",
"lrarr;" => "\x{21c6}",
"lrcorner;" => "\x{231f}",
"lrhar;" => "\x{21cb}",
"lrhard;" => "\x{296d}",
"lrm;" => "\x{200e}",
"lrtri;" => "\x{22bf}",
"lsaquo;" => "\x{2039}",
"lscr;" => "\x{1d4c1}",
"lsh;" => "\x{21b0}",
"lsim;" => "\x{2272}",
"lsime;" => "\x{2a8d}",
"lsimg;" => "\x{2a8f}",
"lsqb;" => "[",
"lsquo;" => "\x{2018}",
"lsquor;" => "\x{201a}",
"lstrok;" => "\x{142}",
"lt" => "<",
"lt;" => "<",
"ltcc;" => "\x{2aa6}",
"ltcir;" => "\x{2a79}",
"ltdot;" => "\x{22d6}",
"lthree;" => "\x{22cb}",
"ltimes;" => "\x{22c9}",
"ltlarr;" => "\x{2976}",
"ltquest;" => "\x{2a7b}",
"ltrPar;" => "\x{2996}",
"ltri;" => "\x{25c3}",
"ltrie;" => "\x{22b4}",
"ltrif;" => "\x{25c2}",
"lurdshar;" => "\x{294a}",
"luruhar;" => "\x{2966}",
"lvertneqq;" => "\x{2268}\x{fe00}",
"lvnE;" => "\x{2268}\x{fe00}",
"mDDot;" => "\x{223a}",
"macr" => "\257",
"macr;" => "\257",
"male;" => "\x{2642}",
"malt;" => "\x{2720}",
"maltese;" => "\x{2720}",
"map;" => "\x{21a6}",
"mapsto;" => "\x{21a6}",
"mapstodown;" => "\x{21a7}",
"mapstoleft;" => "\x{21a4}",
"mapstoup;" => "\x{21a5}",
"marker;" => "\x{25ae}",
"mcomma;" => "\x{2a29}",
"mcy;" => "\x{43c}",
"mdash;" => "\x{2014}",
"measuredangle;" => "\x{2221}",
"mfr;" => "\x{1d52a}",
"mho;" => "\x{2127}",
"micro" => "\265",
"micro;" => "\265",
"mid;" => "\x{2223}",
"midast;" => "*",
"midcir;" => "\x{2af0}",
"middot" => "\267",
"middot;" => "\267",
"minus;" => "\x{2212}",
"minusb;" => "\x{229f}",
"minusd;" => "\x{2238}",
"minusdu;" => "\x{2a2a}",
"mlcp;" => "\x{2adb}",
"mldr;" => "\x{2026}",
"mnplus;" => "\x{2213}",
"models;" => "\x{22a7}",
"mopf;" => "\x{1d55e}",
"mp;" => "\x{2213}",
"mscr;" => "\x{1d4c2}",
"mstpos;" => "\x{223e}",
"mu;" => "\x{3bc}",
"multimap;" => "\x{22b8}",
"mumap;" => "\x{22b8}",
"nGg;" => "\x{22d9}\x{338}",
"nGt;" => "\x{226b}\x{20d2}",
"nGtv;" => "\x{226b}\x{338}",
"nLeftarrow;" => "\x{21cd}",
"nLeftrightarrow;" => "\x{21ce}",
"nLl;" => "\x{22d8}\x{338}",
"nLt;" => "\x{226a}\x{20d2}",
"nLtv;" => "\x{226a}\x{338}",
"nRightarrow;" => "\x{21cf}",
"nVDash;" => "\x{22af}",
"nVdash;" => "\x{22ae}",
"nabla;" => "\x{2207}",
"nacute;" => "\x{144}",
"nang;" => "\x{2220}\x{20d2}",
"nap;" => "\x{2249}",
"napE;" => "\x{2a70}\x{338}",
"napid;" => "\x{224b}\x{338}",
"napos;" => "\x{149}",
"napprox;" => "\x{2249}",
"natur;" => "\x{266e}",
"natural;" => "\x{266e}",
"naturals;" => "\x{2115}",
"nbsp" => "\240",
"nbsp;" => "\240",
"nbump;" => "\x{224e}\x{338}",
"nbumpe;" => "\x{224f}\x{338}",
"ncap;" => "\x{2a43}",
"ncaron;" => "\x{148}",
"ncedil;" => "\x{146}",
"ncong;" => "\x{2247}",
"ncongdot;" => "\x{2a6d}\x{338}",
"ncup;" => "\x{2a42}",
"ncy;" => "\x{43d}",
"ndash;" => "\x{2013}",
"ne;" => "\x{2260}",
"neArr;" => "\x{21d7}",
"nearhk;" => "\x{2924}",
"nearr;" => "\x{2197}",
"nearrow;" => "\x{2197}",
"nedot;" => "\x{2250}\x{338}",
"nequiv;" => "\x{2262}",
"nesear;" => "\x{2928}",
"nesim;" => "\x{2242}\x{338}",
"nexist;" => "\x{2204}",
"nexists;" => "\x{2204}",
"nfr;" => "\x{1d52b}",
"ngE;" => "\x{2267}\x{338}",
"nge;" => "\x{2271}",
"ngeq;" => "\x{2271}",
"ngeqq;" => "\x{2267}\x{338}",
"ngeqslant;" => "\x{2a7e}\x{338}",
"nges;" => "\x{2a7e}\x{338}",
"ngsim;" => "\x{2275}",
"ngt;" => "\x{226f}",
"ngtr;" => "\x{226f}",
"nhArr;" => "\x{21ce}",
"nharr;" => "\x{21ae}",
"nhpar;" => "\x{2af2}",
"ni;" => "\x{220b}",
"nis;" => "\x{22fc}",
"nisd;" => "\x{22fa}",
"niv;" => "\x{220b}",
"njcy;" => "\x{45a}",
"nlArr;" => "\x{21cd}",
"nlE;" => "\x{2266}\x{338}",
"nlarr;" => "\x{219a}",
"nldr;" => "\x{2025}",
"nle;" => "\x{2270}",
"nleftarrow;" => "\x{219a}",
"nleftrightarrow;" => "\x{21ae}",
"nleq;" => "\x{2270}",
"nleqq;" => "\x{2266}\x{338}",
"nleqslant;" => "\x{2a7d}\x{338}",
"nles;" => "\x{2a7d}\x{338}",
"nless;" => "\x{226e}",
"nlsim;" => "\x{2274}",
"nlt;" => "\x{226e}",
"nltri;" => "\x{22ea}",
"nltrie;" => "\x{22ec}",
"nmid;" => "\x{2224}",
"nopf;" => "\x{1d55f}",
"not" => "\254",
"not;" => "\254",
"notin;" => "\x{2209}",
"notinE;" => "\x{22f9}\x{338}",
"notindot;" => "\x{22f5}\x{338}",
"notinva;" => "\x{2209}",
"notinvb;" => "\x{22f7}",
"notinvc;" => "\x{22f6}",
"notni;" => "\x{220c}",
"notniva;" => "\x{220c}",
"notnivb;" => "\x{22fe}",
"notnivc;" => "\x{22fd}",
"npar;" => "\x{2226}",
"nparallel;" => "\x{2226}",
"nparsl;" => "\x{2afd}\x{20e5}",
"npart;" => "\x{2202}\x{338}",
"npolint;" => "\x{2a14}",
"npr;" => "\x{2280}",
"nprcue;" => "\x{22e0}",
"npre;" => "\x{2aaf}\x{338}",
"nprec;" => "\x{2280}",
"npreceq;" => "\x{2aaf}\x{338}",
"nrArr;" => "\x{21cf}",
"nrarr;" => "\x{219b}",
"nrarrc;" => "\x{2933}\x{338}",
"nrarrw;" => "\x{219d}\x{338}",
"nrightarrow;" => "\x{219b}",
"nrtri;" => "\x{22eb}",
"nrtrie;" => "\x{22ed}",
"nsc;" => "\x{2281}",
"nsccue;" => "\x{22e1}",
"nsce;" => "\x{2ab0}\x{338}",
"nscr;" => "\x{1d4c3}",
"nshortmid;" => "\x{2224}",
"nshortparallel;" => "\x{2226}",
"nsim;" => "\x{2241}",
"nsime;" => "\x{2244}",
"nsimeq;" => "\x{2244}",
"nsmid;" => "\x{2224}",
"nspar;" => "\x{2226}",
"nsqsube;" => "\x{22e2}",
"nsqsupe;" => "\x{22e3}",
"nsub;" => "\x{2284}",
"nsubE;" => "\x{2ac5}\x{338}",
"nsube;" => "\x{2288}",
"nsubset;" => "\x{2282}\x{20d2}",
"nsubseteq;" => "\x{2288}",
"nsubseteqq;" => "\x{2ac5}\x{338}",
"nsucc;" => "\x{2281}",
"nsucceq;" => "\x{2ab0}\x{338}",
"nsup;" => "\x{2285}",
"nsupE;" => "\x{2ac6}\x{338}",
"nsupe;" => "\x{2289}",
"nsupset;" => "\x{2283}\x{20d2}",
"nsupseteq;" => "\x{2289}",
"nsupseteqq;" => "\x{2ac6}\x{338}",
"ntgl;" => "\x{2279}",
"ntilde" => "\361",
"ntilde;" => "\361",
"ntlg;" => "\x{2278}",
"ntriangleleft;" => "\x{22ea}",
"ntrianglelefteq;" => "\x{22ec}",
"ntriangleright;" => "\x{22eb}",
"ntrianglerighteq;" => "\x{22ed}",
"nu;" => "\x{3bd}",
"num;" => "#",
"numero;" => "\x{2116}",
"numsp;" => "\x{2007}",
"nvDash;" => "\x{22ad}",
"nvHarr;" => "\x{2904}",
"nvap;" => "\x{224d}\x{20d2}",
"nvdash;" => "\x{22ac}",
"nvge;" => "\x{2265}\x{20d2}",
"nvgt;" => ">\x{20d2}",
"nvinfin;" => "\x{29de}",
"nvlArr;" => "\x{2902}",
"nvle;" => "\x{2264}\x{20d2}",
"nvlt;" => "<\x{20d2}",
"nvltrie;" => "\x{22b4}\x{20d2}",
"nvrArr;" => "\x{2903}",
"nvrtrie;" => "\x{22b5}\x{20d2}",
"nvsim;" => "\x{223c}\x{20d2}",
"nwArr;" => "\x{21d6}",
"nwarhk;" => "\x{2923}",
"nwarr;" => "\x{2196}",
"nwarrow;" => "\x{2196}",
"nwnear;" => "\x{2927}",
"oS;" => "\x{24c8}",
"oacute" => "\363",
"oacute;" => "\363",
"oast;" => "\x{229b}",
"ocir;" => "\x{229a}",
"ocirc" => "\364",
"ocirc;" => "\364",
"ocy;" => "\x{43e}",
"odash;" => "\x{229d}",
"odblac;" => "\x{151}",
"odiv;" => "\x{2a38}",
"odot;" => "\x{2299}",
"odsold;" => "\x{29bc}",
"oelig;" => "\x{153}",
"ofcir;" => "\x{29bf}",
"ofr;" => "\x{1d52c}",
"ogon;" => "\x{2db}",
"ograve" => "\362",
"ograve;" => "\362",
"ogt;" => "\x{29c1}",
"ohbar;" => "\x{29b5}",
"ohm;" => "\x{3a9}",
"oint;" => "\x{222e}",
"olarr;" => "\x{21ba}",
"olcir;" => "\x{29be}",
"olcross;" => "\x{29bb}",
"oline;" => "\x{203e}",
"olt;" => "\x{29c0}",
"omacr;" => "\x{14d}",
"omega;" => "\x{3c9}",
"omicron;" => "\x{3bf}",
"omid;" => "\x{29b6}",
"ominus;" => "\x{2296}",
"oopf;" => "\x{1d560}",
"opar;" => "\x{29b7}",
"operp;" => "\x{29b9}",
"oplus;" => "\x{2295}",
"or;" => "\x{2228}",
"orarr;" => "\x{21bb}",
"ord;" => "\x{2a5d}",
"order;" => "\x{2134}",
"orderof;" => "\x{2134}",
"ordf" => "\252",
"ordf;" => "\252",
"ordm" => "\272",
"ordm;" => "\272",
"origof;" => "\x{22b6}",
"oror;" => "\x{2a56}",
"orslope;" => "\x{2a57}",
"orv;" => "\x{2a5b}",
"oscr;" => "\x{2134}",
"oslash" => "\370",
"oslash;" => "\370",
"osol;" => "\x{2298}",
"otilde" => "\365",
"otilde;" => "\365",
"otimes;" => "\x{2297}",
"otimesas;" => "\x{2a36}",
"ouml" => "\366",
"ouml;" => "\366",
"ovbar;" => "\x{233d}",
"par;" => "\x{2225}",
"para" => "\266",
"para;" => "\266",
"parallel;" => "\x{2225}",
"parsim;" => "\x{2af3}",
"parsl;" => "\x{2afd}",
"part;" => "\x{2202}",
"pcy;" => "\x{43f}",
"percnt;" => "%",
"period;" => ".",
"permil;" => "\x{2030}",
"perp;" => "\x{22a5}",
"pertenk;" => "\x{2031}",
"pfr;" => "\x{1d52d}",
"phi;" => "\x{3c6}",
"phiv;" => "\x{3c5}",
"phmmat;" => "\x{2133}",
"phone;" => "\x{260e}",
"pi;" => "\x{3c0}",
"pitchfork;" => "\x{22d4}",
"piv;" => "\x{3d6}",
"planck;" => "\x{210f}",
"planckh;" => "\x{210e}",
"plankv;" => "\x{210f}",
"plus;" => "+",
"plusacir;" => "\x{2a23}",
"plusb;" => "\x{229e}",
"pluscir;" => "\x{2a22}",
"plusdo;" => "\x{2214}",
"plusdu;" => "\x{2a25}",
"pluse;" => "\x{2a72}",
"plusmn" => "\261",
"plusmn;" => "\261",
"plussim;" => "\x{2a26}",
"plustwo;" => "\x{2a27}",
"pm;" => "\261",
"pointint;" => "\x{2a15}",
"popf;" => "\x{1d561}",
"pound" => "\243",
"pound;" => "\243",
"pr;" => "\x{227a}",
"prE;" => "\x{2ab3}",
"prap;" => "\x{2ab7}",
"prcue;" => "\x{227c}",
"pre;" => "\x{2aaf}",
"prec;" => "\x{227a}",
"precapprox;" => "\x{2ab7}",
"preccurlyeq;" => "\x{227c}",
"preceq;" => "\x{2aaf}",
"precnapprox;" => "\x{2ab9}",
"precneqq;" => "\x{2ab5}",
"precnsim;" => "\x{22e8}",
"precsim;" => "\x{227e}",
"prime;" => "\x{2032}",
"primes;" => "\x{2119}",
"prnE;" => "\x{2ab5}",
"prnap;" => "\x{2ab9}",
"prnsim;" => "\x{22e8}",
"prod;" => "\x{220f}",
"profalar;" => "\x{232e}",
"profline;" => "\x{2312}",
"profsurf;" => "\x{2313}",
"prop;" => "\x{221d}",
"propto;" => "\x{221d}",
"prsim;" => "\x{227e}",
"prurel;" => "\x{22b0}",
"pscr;" => "\x{1d4c5}",
"psi;" => "\x{3c8}",
"puncsp;" => "\x{2008}",
"qfr;" => "\x{1d52e}",
"qint;" => "\x{2a0c}",
"qopf;" => "\x{1d562}",
"qprime;" => "\x{2057}",
"qscr;" => "\x{1d4c6}",
"quaternions;" => "\x{210d}",
"quatint;" => "\x{2a16}",
"quest;" => "?",
"questeq;" => "\x{225f}",
"quot" => "\"",
"quot;" => "\"",
"rAarr;" => "\x{21db}",
"rArr;" => "\x{21d2}",
"rAtail;" => "\x{291c}",
"rBarr;" => "\x{290f}",
"rHar;" => "\x{2964}",
"race;" => "\x{223d}\x{331}",
"racute;" => "\x{155}",
"radic;" => "\x{221a}",
"raemptyv;" => "\x{29b3}",
"rang;" => "\x{27e9}",
"rangd;" => "\x{2992}",
"range;" => "\x{29a5}",
"rangle;" => "\x{27e9}",
"raquo" => "\273",
"raquo;" => "\273",
"rarr;" => "\x{2192}",
"rarrap;" => "\x{2975}",
"rarrb;" => "\x{21e5}",
"rarrbfs;" => "\x{2920}",
"rarrc;" => "\x{2933}",
"rarrfs;" => "\x{291e}",
"rarrhk;" => "\x{21aa}",
"rarrlp;" => "\x{21ac}",
"rarrpl;" => "\x{2945}",
"rarrsim;" => "\x{2974}",
"rarrtl;" => "\x{21a3}",
"rarrw;" => "\x{219d}",
"ratail;" => "\x{291a}",
"ratio;" => "\x{2236}",
"rationals;" => "\x{211a}",
"rbarr;" => "\x{290d}",
"rbbrk;" => "\x{2773}",
"rbrace;" => "}",
"rbrack;" => "]",
"rbrke;" => "\x{298c}",
"rbrksld;" => "\x{298e}",
"rbrkslu;" => "\x{2990}",
"rcaron;" => "\x{159}",
"rcedil;" => "\x{157}",
"rceil;" => "\x{2309}",
"rcub;" => "}",
"rcy;" => "\x{440}",
"rdca;" => "\x{2937}",
"rdldhar;" => "\x{2969}",
"rdquo;" => "\x{201d}",
"rdquor;" => "\x{201d}",
"rdsh;" => "\x{21b3}",
"real;" => "\x{211c}",
"realine;" => "\x{211b}",
"realpart;" => "\x{211c}",
"reals;" => "\x{211d}",
"rect;" => "\x{25ad}",
"reg" => "\256",
"reg;" => "\256",
"rfisht;" => "\x{297d}",
"rfloor;" => "\x{230b}",
"rfr;" => "\x{1d52f}",
"rhard;" => "\x{21c1}",
"rharu;" => "\x{21c0}",
"rharul;" => "\x{296c}",
"rho;" => "\x{3c1}",
"rhov;" => "\x{3f1}",
"rightarrow;" => "\x{2192}",
"rightarrowtail;" => "\x{21a3}",
"rightharpoondown;" => "\x{21c1}",
"rightharpoonup;" => "\x{21c0}",
"rightleftarrows;" => "\x{21c4}",
"rightleftharpoons;" => "\x{21cc}",
"rightrightarrows;" => "\x{21c9}",
"rightsquigarrow;" => "\x{219d}",
"rightthreetimes;" => "\x{22cc}",
"ring;" => "\x{2da}",
"risingdotseq;" => "\x{2253}",
"rlarr;" => "\x{21c4}",
"rlhar;" => "\x{21cc}",
"rlm;" => "\x{200f}",
"rmoust;" => "\x{23b1}",
"rmoustache;" => "\x{23b1}",
"rnmid;" => "\x{2aee}",
"roang;" => "\x{27ed}",
"roarr;" => "\x{21fe}",
"robrk;" => "\x{27e7}",
"ropar;" => "\x{2986}",
"ropf;" => "\x{1d563}",
"roplus;" => "\x{2a2e}",
"rotimes;" => "\x{2a35}",
"rpar;" => ")",
"rpargt;" => "\x{2994}",
"rppolint;" => "\x{2a12}",
"rrarr;" => "\x{21c9}",
"rsaquo;" => "\x{203a}",
"rscr;" => "\x{1d4c7}",
"rsh;" => "\x{21b1}",
"rsqb;" => "]",
"rsquo;" => "\x{2019}",
"rsquor;" => "\x{2019}",
"rthree;" => "\x{22cc}",
"rtimes;" => "\x{22ca}",
"rtri;" => "\x{25b9}",
"rtrie;" => "\x{22b5}",
"rtrif;" => "\x{25b8}",
"rtriltri;" => "\x{29ce}",
"ruluhar;" => "\x{2968}",
"rx;" => "\x{211e}",
"sacute;" => "\x{15b}",
"sbquo;" => "\x{201a}",
"sc;" => "\x{227b}",
"scE;" => "\x{2ab4}",
"scap;" => "\x{2ab8}",
"scaron;" => "\x{161}",
"sccue;" => "\x{227d}",
"sce;" => "\x{2ab0}",
"scedil;" => "\x{15f}",
"scirc;" => "\x{15d}",
"scnE;" => "\x{2ab6}",
"scnap;" => "\x{2aba}",
"scnsim;" => "\x{22e9}",
"scpolint;" => "\x{2a13}",
"scsim;" => "\x{227f}",
"scy;" => "\x{441}",
"sdot;" => "\x{22c5}",
"sdotb;" => "\x{22a1}",
"sdote;" => "\x{2a66}",
"seArr;" => "\x{21d8}",
"searhk;" => "\x{2925}",
"searr;" => "\x{2198}",
"searrow;" => "\x{2198}",
"sect" => "\247",
"sect;" => "\247",
"semi;" => ";",
"seswar;" => "\x{2929}",
"setminus;" => "\x{2216}",
"setmn;" => "\x{2216}",
"sext;" => "\x{2736}",
"sfr;" => "\x{1d530}",
"sfrown;" => "\x{2322}",
"sharp;" => "\x{266f}",
"shchcy;" => "\x{449}",
"shcy;" => "\x{448}",
"shortmid;" => "\x{2223}",
"shortparallel;" => "\x{2225}",
"shy" => "\255",
"shy;" => "\255",
"sigma;" => "\x{3c3}",
"sigmaf;" => "\x{3c2}",
"sigmav;" => "\x{3c2}",
"sim;" => "\x{223c}",
"simdot;" => "\x{2a6a}",
"sime;" => "\x{2243}",
"simeq;" => "\x{2243}",
"simg;" => "\x{2a9e}",
"simgE;" => "\x{2aa0}",
"siml;" => "\x{2a9d}",
"simlE;" => "\x{2a9f}",
"simne;" => "\x{2246}",
"simplus;" => "\x{2a24}",
"simrarr;" => "\x{2972}",
"slarr;" => "\x{2190}",
"smallsetminus;" => "\x{2216}",
"smashp;" => "\x{2a33}",
"smeparsl;" => "\x{29e4}",
"smid;" => "\x{2223}",
"smile;" => "\x{2323}",
"smt;" => "\x{2aaa}",
"smte;" => "\x{2aac}",
"smtes;" => "\x{2aac}\x{fe00}",
"softcy;" => "\x{44c}",
"sol;" => "/",
"solb;" => "\x{29c4}",
"solbar;" => "\x{233f}",
"sopf;" => "\x{1d564}",
"spades;" => "\x{2660}",
"spadesuit;" => "\x{2660}",
"spar;" => "\x{2225}",
"sqcap;" => "\x{2293}",
"sqcaps;" => "\x{2293}\x{fe00}",
"sqcup;" => "\x{2294}",
"sqcups;" => "\x{2294}\x{fe00}",
"sqsub;" => "\x{228f}",
"sqsube;" => "\x{2291}",
"sqsubset;" => "\x{228f}",
"sqsubseteq;" => "\x{2291}",
"sqsup;" => "\x{2290}",
"sqsupe;" => "\x{2292}",
"sqsupset;" => "\x{2290}",
"sqsupseteq;" => "\x{2292}",
"squ;" => "\x{25a1}",
"square;" => "\x{25a1}",
"squarf;" => "\x{25aa}",
"squf;" => "\x{25aa}",
"srarr;" => "\x{2192}",
"sscr;" => "\x{1d4c8}",
"ssetmn;" => "\x{2216}",
"ssmile;" => "\x{2323}",
"sstarf;" => "\x{22c6}",
"star;" => "\x{2606}",
"starf;" => "\x{2605}",
"straightepsilon;" => "\x{3f5}",
"straightphi;" => "\x{3d5}",
"strns;" => "\257",
"sub;" => "\x{2282}",
"subE;" => "\x{2ac5}",
"subdot;" => "\x{2abd}",
"sube;" => "\x{2286}",
"subedot;" => "\x{2ac3}",
"submult;" => "\x{2ac1}",
"subnE;" => "\x{2acb}",
"subne;" => "\x{228a}",
"subplus;" => "\x{2abf}",
"subrarr;" => "\x{2979}",
"subset;" => "\x{2282}",
"subseteq;" => "\x{2286}",
"subseteqq;" => "\x{2ac5}",
"subsetneq;" => "\x{228a}",
"subsetneqq;" => "\x{2acb}",
"subsim;" => "\x{2ac7}",
"subsub;" => "\x{2ad5}",
"subsup;" => "\x{2ad3}",
"succ;" => "\x{227b}",
"succapprox;" => "\x{2ab8}",
"succcurlyeq;" => "\x{227d}",
"succeq;" => "\x{2ab0}",
"succnapprox;" => "\x{2aba}",
"succneqq;" => "\x{2ab6}",
"succnsim;" => "\x{22e9}",
"succsim;" => "\x{227f}",
"sum;" => "\x{2211}",
"sung;" => "\x{266a}",
"sup1" => "\271",
"sup1;" => "\271",
"sup2" => "\262",
"sup2;" => "\262",
"sup3" => "\263",
"sup3;" => "\263",
"sup;" => "\x{2283}",
"supE;" => "\x{2ac6}",
"supdot;" => "\x{2abe}",
"supdsub;" => "\x{2ad8}",
"supe;" => "\x{2287}",
"supedot;" => "\x{2ac4}",
"suphsol;" => "\x{27c9}",
"suphsub;" => "\x{2ad7}",
"suplarr;" => "\x{297b}",
"supmult;" => "\x{2ac2}",
"supnE;" => "\x{2acc}",
"supne;" => "\x{228b}",
"supplus;" => "\x{2ac0}",
"supset;" => "\x{2283}",
"supseteq;" => "\x{2287}",
"supseteqq;" => "\x{2ac6}",
"supsetneq;" => "\x{228b}",
"supsetneqq;" => "\x{2acc}",
"supsim;" => "\x{2ac8}",
"supsub;" => "\x{2ad4}",
"supsup;" => "\x{2ad6}",
"swArr;" => "\x{21d9}",
"swarhk;" => "\x{2926}",
"swarr;" => "\x{2199}",
"swarrow;" => "\x{2199}",
"swnwar;" => "\x{292a}",
"szlig" => "\337",
"szlig;" => "\337",
"target;" => "\x{2316}",
"tau;" => "\x{3c4}",
"tbrk;" => "\x{23b4}",
"tcaron;" => "\x{165}",
"tcedil;" => "\x{163}",
"tcy;" => "\x{442}",
"tdot;" => "\x{20db}",
"telrec;" => "\x{2315}",
"tfr;" => "\x{1d531}",
"there4;" => "\x{2234}",
"therefore;" => "\x{2234}",
"theta;" => "\x{3b8}",
"thetasym;" => "\x{3d1}",
"thetav;" => "\x{3d1}",
"thickapprox;" => "\x{2248}",
"thicksim;" => "\x{223c}",
"thinsp;" => "\x{2009}",
"thkap;" => "\x{2248}",
"thksim;" => "\x{223c}",
"thorn" => "\376",
"thorn;" => "\376",
"tilde;" => "\x{2dc}",
"times" => "\327",
"times;" => "\327",
"timesb;" => "\x{22a0}",
"timesbar;" => "\x{2a31}",
"timesd;" => "\x{2a30}",
"tint;" => "\x{222d}",
"toea;" => "\x{2928}",
"top;" => "\x{22a4}",
"topbot;" => "\x{2336}",
"topcir;" => "\x{2af1}",
"topf;" => "\x{1d565}",
"topfork;" => "\x{2ada}",
"tosa;" => "\x{2929}",
"tprime;" => "\x{2034}",
"trade;" => "\x{2122}",
"triangle;" => "\x{25b5}",
"triangledown;" => "\x{25bf}",
"triangleleft;" => "\x{25c3}",
"trianglelefteq;" => "\x{22b4}",
"triangleq;" => "\x{225c}",
"triangleright;" => "\x{25b9}",
"trianglerighteq;" => "\x{22b5}",
"tridot;" => "\x{25ec}",
"trie;" => "\x{225c}",
"triminus;" => "\x{2a3a}",
"triplus;" => "\x{2a39}",
"trisb;" => "\x{29cd}",
"tritime;" => "\x{2a3b}",
"trpezium;" => "\x{23e2}",
"tscr;" => "\x{1d4c9}",
"tscy;" => "\x{446}",
"tshcy;" => "\x{45b}",
"tstrok;" => "\x{167}",
"twixt;" => "\x{226c}",
"twoheadleftarrow;" => "\x{219e}",
"twoheadrightarrow;" => "\x{21a0}",
"uArr;" => "\x{21d1}",
"uHar;" => "\x{2963}",
"uacute" => "\372",
"uacute;" => "\372",
"uarr;" => "\x{2191}",
"ubrcy;" => "\x{45e}",
"ubreve;" => "\x{16d}",
"ucirc" => "\373",
"ucirc;" => "\373",
"ucy;" => "\x{443}",
"udarr;" => "\x{21c5}",
"udblac;" => "\x{171}",
"udhar;" => "\x{296e}",
"ufisht;" => "\x{297e}",
"ufr;" => "\x{1d532}",
"ugrave" => "\371",
"ugrave;" => "\371",
"uharl;" => "\x{21bf}",
"uharr;" => "\x{21be}",
"uhblk;" => "\x{2580}",
"ulcorn;" => "\x{231c}",
"ulcorner;" => "\x{231c}",
"ulcrop;" => "\x{230f}",
"ultri;" => "\x{25f8}",
"umacr;" => "\x{16b}",
"uml" => "\250",
"uml;" => "\250",
"uogon;" => "\x{173}",
"uopf;" => "\x{1d566}",
"uparrow;" => "\x{2191}",
"updownarrow;" => "\x{2195}",
"upharpoonleft;" => "\x{21bf}",
"upharpoonright;" => "\x{21be}",
"uplus;" => "\x{228e}",
"upsi;" => "\x{3c5}",
"upsih;" => "\x{3d2}",
"upsilon;" => "\x{3c5}",
"upuparrows;" => "\x{21c8}",
"urcorn;" => "\x{231d}",
"urcorner;" => "\x{231d}",
"urcrop;" => "\x{230e}",
"uring;" => "\x{16f}",
"urtri;" => "\x{25f9}",
"uscr;" => "\x{1d4ca}",
"utdot;" => "\x{22f0}",
"utilde;" => "\x{169}",
"utri;" => "\x{25b5}",
"utrif;" => "\x{25b4}",
"uuarr;" => "\x{21c8}",
"uuml" => "\374",
"uuml;" => "\374",
"uwangle;" => "\x{29a7}",
"vArr;" => "\x{21d5}",
"vBar;" => "\x{2ae8}",
"vBarv;" => "\x{2ae9}",
"vDash;" => "\x{22a8}",
"vangrt;" => "\x{299c}",
"varepsilon;" => "\x{3f5}",
"varkappa;" => "\x{3f0}",
"varnothing;" => "\x{2205}",
"varphi;" => "\x{3d5}",
"varpi;" => "\x{3d6}",
"varpropto;" => "\x{221d}",
"varr;" => "\x{2195}",
"varrho;" => "\x{3f1}",
"varsigma;" => "\x{3c2}",
"varsubsetneq;" => "\x{228a}\x{fe00}",
"varsubsetneqq;" => "\x{2acb}\x{fe00}",
"varsupsetneq;" => "\x{228b}\x{fe00}",
"varsupsetneqq;" => "\x{2acc}\x{fe00}",
"vartheta;" => "\x{3d1}",
"vartriangleleft;" => "\x{22b2}",
"vartriangleright;" => "\x{22b3}",
"vcy;" => "\x{432}",
"vdash;" => "\x{22a2}",
"vee;" => "\x{2228}",
"veebar;" => "\x{22bb}",
"veeeq;" => "\x{225a}",
"vellip;" => "\x{22ee}",
"verbar;" => "|",
"vert;" => "|",
"vfr;" => "\x{1d533}",
"vltri;" => "\x{22b2}",
"vnsub;" => "\x{2282}\x{20d2}",
"vnsup;" => "\x{2283}\x{20d2}",
"vopf;" => "\x{1d567}",
"vprop;" => "\x{221d}",
"vrtri;" => "\x{22b3}",
"vscr;" => "\x{1d4cb}",
"vsubnE;" => "\x{2acb}\x{fe00}",
"vsubne;" => "\x{228a}\x{fe00}",
"vsupnE;" => "\x{2acc}\x{fe00}",
"vsupne;" => "\x{228b}\x{fe00}",
"vzigzag;" => "\x{299a}",
"wcirc;" => "\x{175}",
"wedbar;" => "\x{2a5f}",
"wedge;" => "\x{2227}",
"wedgeq;" => "\x{2259}",
"weierp;" => "\x{2118}",
"wfr;" => "\x{1d534}",
"wopf;" => "\x{1d568}",
"wp;" => "\x{2118}",
"wr;" => "\x{2240}",
"wreath;" => "\x{2240}",
"wscr;" => "\x{1d4cc}",
"xcap;" => "\x{22c2}",
"xcirc;" => "\x{25ef}",
"xcup;" => "\x{22c3}",
"xdtri;" => "\x{25bd}",
"xfr;" => "\x{1d535}",
"xhArr;" => "\x{27fa}",
"xharr;" => "\x{27f7}",
"xi;" => "\x{3be}",
"xlArr;" => "\x{27f8}",
"xlarr;" => "\x{27f5}",
"xmap;" => "\x{27fc}",
"xnis;" => "\x{22fb}",
"xodot;" => "\x{2a00}",
"xopf;" => "\x{1d569}",
"xoplus;" => "\x{2a01}",
"xotime;" => "\x{2a02}",
"xrArr;" => "\x{27f9}",
"xrarr;" => "\x{27f6}",
"xscr;" => "\x{1d4cd}",
"xsqcup;" => "\x{2a06}",
"xuplus;" => "\x{2a04}",
"xutri;" => "\x{25b3}",
"xvee;" => "\x{22c1}",
"xwedge;" => "\x{22c0}",
"yacute" => "\375",
"yacute;" => "\375",
"yacy;" => "\x{44f}",
"ycirc;" => "\x{177}",
"ycy;" => "\x{44b}",
"yen" => "\245",
"yen;" => "\245",
"yfr;" => "\x{1d536}",
"yicy;" => "\x{457}",
"yopf;" => "\x{1d56a}",
"yscr;" => "\x{1d4ce}",
"yucy;" => "\x{44e}",
"yuml" => "\377",
"yuml;" => "\377",
"zacute;" => "\x{17a}",
"zcaron;" => "\x{17e}",
"zcy;" => "\x{437}",
"zdot;" => "\x{17c}",
"zeetrf;" => "\x{2128}",
"zeta;" => "\x{3b6}",
"zfr;" => "\x{1d537}",
"zhcy;" => "\x{436}",
"zigrarr;" => "\x{21dd}",
"zopf;" => "\x{1d56b}",
"zscr;" => "\x{1d4cf}",
"zwj;" => "\x{200d}",
"zwnj;" => "\x{200c}",
);
%char2entity = (
"\x{00a0}" => ' ',
"\x{00a1}" => '¡',
"\x{00a2}" => '¢',
"\x{00a3}" => '£',
"\x{00a4}" => '¤',
"\x{00a5}" => '¥',
"\x{00a6}" => '¦',
"\x{00a7}" => '§',
"\x{00a8}" => '¨',
"\x{00a9}" => '©',
"\x{00aa}" => 'ª',
"\x{00ab}" => '«',
"\x{00ac}" => '¬',
"\x{00ad}" => '',
"\x{00ae}" => '®',
"\x{00af}" => '¯',
"\x{00b0}" => '°',
"\x{00b1}" => '±',
"\x{00b2}" => '²',
"\x{00b3}" => '³',
"\x{00b4}" => '´',
"\x{00b5}" => 'µ',
"\x{00b6}" => '¶',
"\x{00b7}" => '·',
"\x{00b8}" => '¸',
"\x{00b9}" => '¹',
"\x{00ba}" => 'º',
"\x{00bb}" => '»',
"\x{00bc}" => '¼',
"\x{00bd}" => '½',
"\x{00be}" => '¾',
"\x{00bf}" => '¿',
"\x{00c0}" => 'À',
"\x{00c1}" => 'Á',
"\x{00c2}" => 'Â',
"\x{00c3}" => 'Ã',
"\x{00c4}" => 'Ä',
"\x{00c5}" => 'Å',
"\x{00c6}" => 'Æ',
"\x{00c7}" => 'Ç',
"\x{00c8}" => 'È',
"\x{00c9}" => 'É',
"\x{00ca}" => 'Ê',
"\x{00cb}" => 'Ë',
"\x{00cc}" => 'Ì',
"\x{00cd}" => 'Í',
"\x{00ce}" => 'Î',
"\x{00cf}" => 'Ï',
"\x{00d0}" => 'Ð',
"\x{00d1}" => 'Ñ',
"\x{00d2}" => 'Ò',
"\x{00d3}" => 'Ó',
"\x{00d4}" => 'Ô',
"\x{00d5}" => 'Õ',
"\x{00d6}" => 'Ö',
"\x{00d7}" => '×',
"\x{00d8}" => 'Ø',
"\x{00d9}" => 'Ù',
"\x{00da}" => 'Ú',
"\x{00db}" => 'Û',
"\x{00dc}" => 'Ü',
"\x{00dd}" => 'Ý',
"\x{00de}" => 'Þ',
"\x{00df}" => 'ß',
"\x{00e0}" => 'à',
"\x{00e1}" => 'á',
"\x{00e2}" => 'â',
"\x{00e3}" => 'ã',
"\x{00e4}" => 'ä',
"\x{00e5}" => 'å',
"\x{00e6}" => 'æ',
"\x{00e7}" => 'ç',
"\x{00e8}" => 'è',
"\x{00e9}" => 'é',
"\x{00ea}" => 'ê',
"\x{00eb}" => 'ë',
"\x{00ec}" => 'ì',
"\x{00ed}" => 'í',
"\x{00ee}" => 'î',
"\x{00ef}" => 'ï',
"\x{00f0}" => 'ð',
"\x{00f1}" => 'ñ',
"\x{00f2}" => 'ò',
"\x{00f3}" => 'ó',
"\x{00f4}" => 'ô',
"\x{00f5}" => 'õ',
"\x{00f6}" => 'ö',
"\x{00f7}" => '÷',
"\x{00f8}" => 'ø',
"\x{00f9}" => 'ù',
"\x{00fa}" => 'ú',
"\x{00fb}" => 'û',
"\x{00fc}" => 'ü',
"\x{00fd}" => 'ý',
"\x{00fe}" => 'þ',
"\x{00ff}" => 'ÿ',
"\x{0026}" => '&',
"\x{0022}" => '"',
"\x{003c}" => '<',
"\x{003e}" => '>',
"\x{0152}" => 'Œ',
"\x{0153}" => 'œ',
"\x{0160}" => 'Š',
"\x{0161}" => 'š',
"\x{0178}" => 'Ÿ',
"\x{02c6}" => 'ˆ',
"\x{02dc}" => '˜',
"\x{2002}" => ' ',
"\x{2003}" => ' ',
"\x{2009}" => ' ',
"\x{200c}" => '',
"\x{200d}" => '',
"\x{200e}" => '',
"\x{200f}" => '',
"\x{2013}" => '–',
"\x{2014}" => '—',
"\x{2018}" => '‘',
"\x{2019}" => '’',
"\x{201a}" => '‚',
"\x{201c}" => '“',
"\x{201d}" => '”',
"\x{201e}" => '„',
"\x{2020}" => '†',
"\x{2021}" => '‡',
"\x{2030}" => '‰',
"\x{2039}" => '‹',
"\x{203a}" => '›',
"\x{20ac}" => '€',
"\x{0192}" => 'ƒ',
"\x{0391}" => 'Α',
"\x{0392}" => 'Β',
"\x{0393}" => 'Γ',
"\x{0394}" => 'Δ',
"\x{0395}" => 'Ε',
"\x{0396}" => 'Ζ',
"\x{0397}" => 'Η',
"\x{0398}" => 'Θ',
"\x{0399}" => 'Ι',
"\x{039a}" => 'Κ',
"\x{039b}" => 'Λ',
"\x{039c}" => 'Μ',
"\x{039d}" => 'Ν',
"\x{039e}" => 'Ξ',
"\x{039f}" => 'Ο',
"\x{03a0}" => 'Π',
"\x{03a1}" => 'Ρ',
"\x{03a3}" => 'Σ',
"\x{03a4}" => 'Τ',
"\x{03a5}" => 'Υ',
"\x{03a6}" => 'Φ',
"\x{03a7}" => 'Χ',
"\x{03a8}" => 'Ψ',
"\x{03a9}" => 'Ω',
"\x{03b1}" => 'α',
"\x{03b2}" => 'β',
"\x{03b3}" => 'γ',
"\x{03b4}" => 'δ',
"\x{03b5}" => 'ε',
"\x{03b6}" => 'ζ',
"\x{03b7}" => 'η',
"\x{03b8}" => 'θ',
"\x{03b9}" => 'ι',
"\x{03ba}" => 'κ',
"\x{03bb}" => 'λ',
"\x{03bc}" => 'μ',
"\x{03bd}" => 'ν',
"\x{03be}" => 'ξ',
"\x{03bf}" => 'ο',
"\x{03c0}" => 'π',
"\x{03c1}" => 'ρ',
"\x{03c2}" => 'ς',
"\x{03c3}" => 'σ',
"\x{03c4}" => 'τ',
"\x{03c5}" => 'υ',
"\x{03c6}" => 'φ',
"\x{03c7}" => 'χ',
"\x{03c8}" => 'ψ',
"\x{03c9}" => 'ω',
"\x{03d1}" => 'ϑ',
"\x{03d2}" => 'ϒ',
"\x{03d6}" => 'ϖ',
"\x{2022}" => '•',
"\x{2026}" => '…',
"\x{2032}" => '′',
"\x{2033}" => '″',
"\x{203e}" => '‾',
"\x{2044}" => '⁄',
"\x{2118}" => '℘',
"\x{2111}" => 'ℑ',
"\x{211c}" => 'ℜ',
"\x{2122}" => '™',
"\x{2135}" => 'ℵ',
"\x{2190}" => '←',
"\x{2191}" => '↑',
"\x{2192}" => '→',
"\x{2193}" => '↓',
"\x{2194}" => '↔',
"\x{21b5}" => '↵',
"\x{21d0}" => '⇐',
"\x{21d1}" => '⇑',
"\x{21d2}" => '⇒',
"\x{21d3}" => '⇓',
"\x{21d4}" => '⇔',
"\x{2200}" => '∀',
"\x{2202}" => '∂',
"\x{2203}" => '∃',
"\x{2205}" => '∅',
"\x{2207}" => '∇',
"\x{2208}" => '∈',
"\x{2209}" => '∉',
"\x{220b}" => '∋',
"\x{220f}" => '∏',
"\x{2211}" => '∑',
"\x{2212}" => '−',
"\x{2217}" => '∗',
"\x{221a}" => '√',
"\x{221d}" => '∝',
"\x{221e}" => '∞',
"\x{2220}" => '∠',
"\x{2227}" => '∧',
"\x{2228}" => '∨',
"\x{2229}" => '∩',
"\x{222a}" => '∪',
"\x{222b}" => '∫',
"\x{2234}" => '∴',
"\x{223c}" => '∼',
"\x{2245}" => '≅',
"\x{2248}" => '≈',
"\x{2260}" => '≠',
"\x{2261}" => '≡',
"\x{2264}" => '≤',
"\x{2265}" => '≥',
"\x{2282}" => '⊂',
"\x{2283}" => '⊃',
"\x{2284}" => '⊄',
"\x{2286}" => '⊆',
"\x{2287}" => '⊇',
"\x{2295}" => '⊕',
"\x{2297}" => '⊗',
"\x{22a5}" => '⊥',
"\x{22c5}" => '⋅',
"\x{2308}" => '⌈',
"\x{2309}" => '⌉',
"\x{230a}" => '⌊',
"\x{230b}" => '⌋',
"\x{2329}" => '〈',
"\x{232a}" => '〉',
"\x{25ca}" => '◊',
"\x{2660}" => '♠',
"\x{2663}" => '♣',
"\x{2665}" => '♥',
"\x{2666}" => '♦',
);
}
sub decode_entities ($@)
{
my $array;
if (defined wantarray)
{
$array = [@_]; # copy
}
else
{
$array = \@_; # modify in-place
}
my $c;
for (@$array)
{
s/
&(
(?:
\#(\d+) | \#[xX]([0-9a-fA-F]+) | (\w+)
)
;?
)
/
if (defined $2)
{ chr($2); }
elsif (defined $3)
{ chr(hex $3); }
else
{ $entity2char{"$4;"} || "&$1"; }
/xeg;
}
wantarray ? @$array : $array->[0];
}
sub _decode_entities ($$;$)
{
my $ref = \$_[0];
my %map = %{ $_[1] || {} };
$$ref =~ s/
(&
(?:
\#(\d+) | \#[xX]([0-9a-fA-F]+) | (\w+)
)
;?
)
/
if (defined $2)
{ chr($2); }
elsif (defined $3)
{ chr(hex $3); }
elsif (defined $_[2] and $_[2])
{ $map{$4} || _search_entity($4, \%map); }
else
{ $map{$4} || $1; }
/xeg;
return $$ref;
}
sub _search_entity
{
my ($ent, $map) = @_;
my $remainder = '';
while (length $ent)
{
return $map->{$ent} . $remainder
if defined $map->{$ent};
$remainder = substr($ent, -1) . $remainder;
$ent = substr($ent, 0, -1);
}
$remainder;
}
sub encode_entities ($;$)
{
return undef unless defined $_[0];
my $ref;
if (defined wantarray)
{
my $x = $_[0];
$ref = \$x; # copy
}
else
{
$ref = \$_[0]; # modify in-place
}
my $unsafe_characters = defined $_[1] ? $_[1] : $default_unsafe_characters;
my $regexp = ref $unsafe_characters eq 'Regexp'
? $unsafe_characters
: "[".quotemeta($unsafe_characters)."]";
$$ref =~ s[ ($regexp) ][ $char2entity{$1}||num_entity($1) ]gex;
return $$ref;
}
sub encode_entities_numeric
{
local %char2entity;
return &encode_entities;
}
sub num_entity
{
sprintf $hex ? '%x;' : '%d;', ord($_[0]);
}
*decode = \&decode_entities;
*encode = \&encode_entities;
*encode_numeric = \&encode_entities_numeric;
*encode_numerically = \&encode_entities_numeric;
1;
__END__
=head1 NAME
HTML::HTML5::Entities - drop-in replacement for HTML::Entities
=head1 SYNOPSIS
use HTML::Entities;
my $enc = encode_entities('fish & chips');
print "$enc\n"; # fish & chips
my $dec = decode_entities($enc);
print "$dec\n"; # fish & chips
=head1 DESCRIPTION
This is a drop-in replacement for L, providing the character
entities defined in HTML5. Some caveats:
=over
=item * The implementation is pure perl, hence in some cases slower, especially decoding.
=item * It will not work in Perl < 5.8.1.
=back
=head2 Functions
=over
=item C<< decode_entities($string, ...) >>
This routine replaces HTML entities found in the C<< $string >> with the
corresponding Unicode character. If multiple strings are provided as
arguments they are each decoded separately and the same number of strings
are returned.
If called in void context the arguments are decoded in-place.
This routine is exported by default.
=item C<< _decode_entities($string, \%entity2char) >>
=item C<< _decode_entities($string, \%entity2char, $expand_prefix) >>
This will in-place replace HTML entities in C<< $string >>. The
C<< %entity2char >> hash must be provided. Named entities not found in
the C<< %entity2char >> hash are left alone. Numeric entities are always
expanded.
If C<< $expand_prefix >> is TRUE then entities without trailing ";" in
C<< %entity2char >> will even be expanded as a prefix of a longer
unrecognized name.
$string = "foo bar";
_decode_entities($string, { nb => "@", nbsp => "\xA0" }, 1);
print $string; # will print "foo bar"
This routine is exported by default.
=item C<< encode_entities($string) >>
=item C<< encode_entities($string, $unsafe_chars) >>
This routine replaces unsafe characters in C<< $string >> with their
entity representation. A second argument can be given to specify which
characters to consider unsafe (i.e., which to escape). This may be a
regular expression.
If called in void context the string is encoded in-place.
This routine is exported by default.
=item C<< encode_entities_numeric($string) >>
This routine works just like encode_entities, except that the
replacement entities are always numeric.
This routine is not exported by default.
=item C<< num_entity($string) >>
Given a single character string, encodes it as a numeric entity.
This routine is not exported by default.
=back
The following functions cannot be exported. They behave the same as the
exportable functions.
=over
=item C<< HTML::Entities::decode($string, ...) >>
=item C<< HTML::Entities::encode($string) >>
=item C<< HTML::Entities::encode($string, $unsafe_characters) >>
=item C<< HTML::Entities::encode_numeric($string) >>
=item C<< HTML::Entities::encode_numeric($string, $unsafe_characters) >>
=item C<< HTML::Entities::encode_numerically($string) >>
=item C<< HTML::Entities::encode_numerically($string, $unsafe_characters) >>
=back
=head2 Variables
=over
=item C<< $HTML::HTML5::Entities::hex >>
This variable controls whether numeric entities will use hexadecimal or
decimal notation. It is TRUE (hexadecimal) by default, but can be set to
FALSE.
It only affects the encoding functions. Decoding always understands both
notations.
=item C<< %HTML::HTML5::Entities::char2entity >>
=item C<< %HTML::HTML5::Entities::entity2char >>
There contain the mapping from all characters to the corresponding entities
(and vice versa, respectively). These variables may be exported.
Note that C<< %char2entity >> is a more conservative set of mappings, intended to
be safe for serialising strings to HTML4, HTML5 and XHTML 1.x. And for
hysterical raisins, C<< %entity2char >> does not include the leading ampersands,
while C<< %char2entity >> does.
=back
=head1 BUGS
Please report any bugs to
L.
=head1 SEE ALSO
L, L, L.
=head1 AUTHOR
Toby Inkster Etobyink@cpan.orgE.
=head1 COPYRIGHT AND LICENCE
=head2 Encoding and Decoding Functions
Copyright (c) 1995-2006 by Gisle Aas.
Copyright (c) 2012 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=head2 Entity Tables
Copyright (c) 2004-2007 by Apple Computer Inc, Mozilla Foundation,
and Opera Software ASA.
Copyright (c) 2007-2011 by Wakaba .
Copyright (c) 2009-2012 by Toby Inkster .
=head1 DISCLAIMER OF WARRANTIES
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.