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%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.