-- | This module converts between HTML/XML entities (i.e. @&@) and -- the characters they represent. module Text.HTML.TagSoup.Entity( lookupEntity, lookupNamedEntity, lookupNumericEntity, escapeXML, xmlEntities, htmlEntities ) where import Data.Char (chr, ord) import qualified Data.IntMap as IntMap import Data.Ix import qualified Data.Map as Map import Numeric (readHex) -- | Lookup an entity, using 'lookupNumericEntity' if it starts with -- @#@ and 'lookupNamedEntity' otherwise lookupEntity :: String -> Maybe String lookupEntity ('#':xs) = lookupNumericEntity xs lookupEntity xs = lookupNamedEntity xs -- | Lookup a numeric entity, the leading @\'#\'@ must have already been removed. -- -- > lookupNumericEntity "65" == Just "A" -- > lookupNumericEntity "x41" == Just "A" -- > lookupNumericEntity "x4E" === Just "N" -- > lookupNumericEntity "x4e" === Just "N" -- > lookupNumericEntity "X4e" === Just "N" -- > lookupNumericEntity "Haskell" == Nothing -- > lookupNumericEntity "" == Nothing -- > lookupNumericEntity "89439085908539082" == Nothing lookupNumericEntity :: String -> Maybe String lookupNumericEntity = f -- entity = '&#' [0-9]+ ';' | '&#x' [0-9a-fA-F]+ ';' where f (x:xs) | x `elem` "xX" = g [('0','9'),('a','f'),('A','F')] readHex xs f xs = g [('0','9')] reads xs g :: [(Char,Char)] -> ReadS Integer -> String -> Maybe String g valid reader xs = do let test b = if b then Just () else Nothing test $ isValid valid xs test $ not $ null xs case reader xs of [(a,"")] -> do test $ inRange (toInteger $ ord minBound, toInteger $ ord maxBound) a return [chr $ fromInteger a] _ -> Nothing isValid :: [(Char,Char)] -> String -> Bool isValid valid xs = all (\x -> any (`inRange` x) valid) xs -- | Lookup a named entity, using 'htmlEntities' -- -- > lookupNamedEntity "amp" == Just "&" -- > lookupNamedEntity "haskell" == Nothing lookupNamedEntity :: String -> Maybe String lookupNamedEntity = \x -> Map.lookup x mp where mp = Map.fromList htmlEntities -- | Escape an XML string. -- -- > escapeXML "hello world" == "hello world" -- > escapeXML "hello & world" == "hello & world" escapeXML :: String -> String escapeXML = concatMap $ \x -> IntMap.findWithDefault [x] (ord x) mp where mp = IntMap.fromList [(ord b, "&"++a++";") | (a,[b]) <- xmlEntities] -- | A table mapping XML entity names to resolved strings. All strings are a single character long. -- Does /not/ include @apos@ as Internet Explorer does not know about it. xmlEntities :: [(String, String)] xmlEntities = let a*b = (a,[b]) in ["quot" * '"' ,"amp" * '&' -- ,"apos" * '\'' -- Internet Explorer does not know that ,"lt" * '<' ,"gt" * '>' ] -- | A table mapping HTML entity names to resolved strings. Most resolved strings are a single character long, -- but some (e.g. @"ngeqq"@) are two characters long. The list is taken from -- . htmlEntities :: [(String, String)] htmlEntities = let (*) = (,) in ["Aacute" * "\x00C1" ,"aacute" * "\x00E1" ,"Aacute;" * "\x00C1" ,"aacute;" * "\x00E1" ,"Abreve;" * "\x0102" ,"abreve;" * "\x0103" ,"ac;" * "\x223E" ,"acd;" * "\x223F" ,"acE;" * "\x223E\x0333" ,"Acirc" * "\x00C2" ,"acirc" * "\x00E2" ,"Acirc;" * "\x00C2" ,"acirc;" * "\x00E2" ,"acute" * "\x00B4" ,"acute;" * "\x00B4" ,"Acy;" * "\x0410" ,"acy;" * "\x0430" ,"AElig" * "\x00C6" ,"aelig" * "\x00E6" ,"AElig;" * "\x00C6" ,"aelig;" * "\x00E6" ,"af;" * "\x2061" ,"Afr;" * "\x1D504" ,"afr;" * "\x1D51E" ,"Agrave" * "\x00C0" ,"agrave" * "\x00E0" ,"Agrave;" * "\x00C0" ,"agrave;" * "\x00E0" ,"alefsym;" * "\x2135" ,"aleph;" * "\x2135" ,"Alpha;" * "\x0391" ,"alpha;" * "\x03B1" ,"Amacr;" * "\x0100" ,"amacr;" * "\x0101" ,"amalg;" * "\x2A3F" ,"AMP" * "\x0026" ,"amp" * "\x0026" ,"AMP;" * "\x0026" ,"amp;" * "\x0026" ,"and;" * "\x2227" ,"And;" * "\x2A53" ,"andand;" * "\x2A55" ,"andd;" * "\x2A5C" ,"andslope;" * "\x2A58" ,"andv;" * "\x2A5A" ,"ang;" * "\x2220" ,"ange;" * "\x29A4" ,"angle;" * "\x2220" ,"angmsd;" * "\x2221" ,"angmsdaa;" * "\x29A8" ,"angmsdab;" * "\x29A9" ,"angmsdac;" * "\x29AA" ,"angmsdad;" * "\x29AB" ,"angmsdae;" * "\x29AC" ,"angmsdaf;" * "\x29AD" ,"angmsdag;" * "\x29AE" ,"angmsdah;" * "\x29AF" ,"angrt;" * "\x221F" ,"angrtvb;" * "\x22BE" ,"angrtvbd;" * "\x299D" ,"angsph;" * "\x2222" ,"angst;" * "\x00C5" ,"angzarr;" * "\x237C" ,"Aogon;" * "\x0104" ,"aogon;" * "\x0105" ,"Aopf;" * "\x1D538" ,"aopf;" * "\x1D552" ,"ap;" * "\x2248" ,"apacir;" * "\x2A6F" ,"ape;" * "\x224A" ,"apE;" * "\x2A70" ,"apid;" * "\x224B" ,"apos;" * "\x0027" ,"ApplyFunction;" * "\x2061" ,"approx;" * "\x2248" ,"approxeq;" * "\x224A" ,"Aring" * "\x00C5" ,"aring" * "\x00E5" ,"Aring;" * "\x00C5" ,"aring;" * "\x00E5" ,"Ascr;" * "\x1D49C" ,"ascr;" * "\x1D4B6" ,"Assign;" * "\x2254" ,"ast;" * "\x002A" ,"asymp;" * "\x2248" ,"asympeq;" * "\x224D" ,"Atilde" * "\x00C3" ,"atilde" * "\x00E3" ,"Atilde;" * "\x00C3" ,"atilde;" * "\x00E3" ,"Auml" * "\x00C4" ,"auml" * "\x00E4" ,"Auml;" * "\x00C4" ,"auml;" * "\x00E4" ,"awconint;" * "\x2233" ,"awint;" * "\x2A11" ,"backcong;" * "\x224C" ,"backepsilon;" * "\x03F6" ,"backprime;" * "\x2035" ,"backsim;" * "\x223D" ,"backsimeq;" * "\x22CD" ,"Backslash;" * "\x2216" ,"Barv;" * "\x2AE7" ,"barvee;" * "\x22BD" ,"barwed;" * "\x2305" ,"Barwed;" * "\x2306" ,"barwedge;" * "\x2305" ,"bbrk;" * "\x23B5" ,"bbrktbrk;" * "\x23B6" ,"bcong;" * "\x224C" ,"Bcy;" * "\x0411" ,"bcy;" * "\x0431" ,"bdquo;" * "\x201E" ,"becaus;" * "\x2235" ,"Because;" * "\x2235" ,"because;" * "\x2235" ,"bemptyv;" * "\x29B0" ,"bepsi;" * "\x03F6" ,"bernou;" * "\x212C" ,"Bernoullis;" * "\x212C" ,"Beta;" * "\x0392" ,"beta;" * "\x03B2" ,"beth;" * "\x2136" ,"between;" * "\x226C" ,"Bfr;" * "\x1D505" ,"bfr;" * "\x1D51F" ,"bigcap;" * "\x22C2" ,"bigcirc;" * "\x25EF" ,"bigcup;" * "\x22C3" ,"bigodot;" * "\x2A00" ,"bigoplus;" * "\x2A01" ,"bigotimes;" * "\x2A02" ,"bigsqcup;" * "\x2A06" ,"bigstar;" * "\x2605" ,"bigtriangledown;" * "\x25BD" ,"bigtriangleup;" * "\x25B3" ,"biguplus;" * "\x2A04" ,"bigvee;" * "\x22C1" ,"bigwedge;" * "\x22C0" ,"bkarow;" * "\x290D" ,"blacklozenge;" * "\x29EB" ,"blacksquare;" * "\x25AA" ,"blacktriangle;" * "\x25B4" ,"blacktriangledown;" * "\x25BE" ,"blacktriangleleft;" * "\x25C2" ,"blacktriangleright;" * "\x25B8" ,"blank;" * "\x2423" ,"blk12;" * "\x2592" ,"blk14;" * "\x2591" ,"blk34;" * "\x2593" ,"block;" * "\x2588" ,"bne;" * "\x003D\x20E5" ,"bnequiv;" * "\x2261\x20E5" ,"bnot;" * "\x2310" ,"bNot;" * "\x2AED" ,"Bopf;" * "\x1D539" ,"bopf;" * "\x1D553" ,"bot;" * "\x22A5" ,"bottom;" * "\x22A5" ,"bowtie;" * "\x22C8" ,"boxbox;" * "\x29C9" ,"boxdl;" * "\x2510" ,"boxdL;" * "\x2555" ,"boxDl;" * "\x2556" ,"boxDL;" * "\x2557" ,"boxdr;" * "\x250C" ,"boxdR;" * "\x2552" ,"boxDr;" * "\x2553" ,"boxDR;" * "\x2554" ,"boxh;" * "\x2500" ,"boxH;" * "\x2550" ,"boxhd;" * "\x252C" ,"boxHd;" * "\x2564" ,"boxhD;" * "\x2565" ,"boxHD;" * "\x2566" ,"boxhu;" * "\x2534" ,"boxHu;" * "\x2567" ,"boxhU;" * "\x2568" ,"boxHU;" * "\x2569" ,"boxminus;" * "\x229F" ,"boxplus;" * "\x229E" ,"boxtimes;" * "\x22A0" ,"boxul;" * "\x2518" ,"boxuL;" * "\x255B" ,"boxUl;" * "\x255C" ,"boxUL;" * "\x255D" ,"boxur;" * "\x2514" ,"boxuR;" * "\x2558" ,"boxUr;" * "\x2559" ,"boxUR;" * "\x255A" ,"boxv;" * "\x2502" ,"boxV;" * "\x2551" ,"boxvh;" * "\x253C" ,"boxvH;" * "\x256A" ,"boxVh;" * "\x256B" ,"boxVH;" * "\x256C" ,"boxvl;" * "\x2524" ,"boxvL;" * "\x2561" ,"boxVl;" * "\x2562" ,"boxVL;" * "\x2563" ,"boxvr;" * "\x251C" ,"boxvR;" * "\x255E" ,"boxVr;" * "\x255F" ,"boxVR;" * "\x2560" ,"bprime;" * "\x2035" ,"Breve;" * "\x02D8" ,"breve;" * "\x02D8" ,"brvbar" * "\x00A6" ,"brvbar;" * "\x00A6" ,"Bscr;" * "\x212C" ,"bscr;" * "\x1D4B7" ,"bsemi;" * "\x204F" ,"bsim;" * "\x223D" ,"bsime;" * "\x22CD" ,"bsol;" * "\x005C" ,"bsolb;" * "\x29C5" ,"bsolhsub;" * "\x27C8" ,"bull;" * "\x2022" ,"bullet;" * "\x2022" ,"bump;" * "\x224E" ,"bumpe;" * "\x224F" ,"bumpE;" * "\x2AAE" ,"Bumpeq;" * "\x224E" ,"bumpeq;" * "\x224F" ,"Cacute;" * "\x0106" ,"cacute;" * "\x0107" ,"cap;" * "\x2229" ,"Cap;" * "\x22D2" ,"capand;" * "\x2A44" ,"capbrcup;" * "\x2A49" ,"capcap;" * "\x2A4B" ,"capcup;" * "\x2A47" ,"capdot;" * "\x2A40" ,"CapitalDifferentialD;" * "\x2145" ,"caps;" * "\x2229\xFE00" ,"caret;" * "\x2041" ,"caron;" * "\x02C7" ,"Cayleys;" * "\x212D" ,"ccaps;" * "\x2A4D" ,"Ccaron;" * "\x010C" ,"ccaron;" * "\x010D" ,"Ccedil" * "\x00C7" ,"ccedil" * "\x00E7" ,"Ccedil;" * "\x00C7" ,"ccedil;" * "\x00E7" ,"Ccirc;" * "\x0108" ,"ccirc;" * "\x0109" ,"Cconint;" * "\x2230" ,"ccups;" * "\x2A4C" ,"ccupssm;" * "\x2A50" ,"Cdot;" * "\x010A" ,"cdot;" * "\x010B" ,"cedil" * "\x00B8" ,"cedil;" * "\x00B8" ,"Cedilla;" * "\x00B8" ,"cemptyv;" * "\x29B2" ,"cent" * "\x00A2" ,"cent;" * "\x00A2" ,"CenterDot;" * "\x00B7" ,"centerdot;" * "\x00B7" ,"Cfr;" * "\x212D" ,"cfr;" * "\x1D520" ,"CHcy;" * "\x0427" ,"chcy;" * "\x0447" ,"check;" * "\x2713" ,"checkmark;" * "\x2713" ,"Chi;" * "\x03A7" ,"chi;" * "\x03C7" ,"cir;" * "\x25CB" ,"circ;" * "\x02C6" ,"circeq;" * "\x2257" ,"circlearrowleft;" * "\x21BA" ,"circlearrowright;" * "\x21BB" ,"circledast;" * "\x229B" ,"circledcirc;" * "\x229A" ,"circleddash;" * "\x229D" ,"CircleDot;" * "\x2299" ,"circledR;" * "\x00AE" ,"circledS;" * "\x24C8" ,"CircleMinus;" * "\x2296" ,"CirclePlus;" * "\x2295" ,"CircleTimes;" * "\x2297" ,"cire;" * "\x2257" ,"cirE;" * "\x29C3" ,"cirfnint;" * "\x2A10" ,"cirmid;" * "\x2AEF" ,"cirscir;" * "\x29C2" ,"ClockwiseContourIntegral;" * "\x2232" ,"CloseCurlyDoubleQuote;" * "\x201D" ,"CloseCurlyQuote;" * "\x2019" ,"clubs;" * "\x2663" ,"clubsuit;" * "\x2663" ,"colon;" * "\x003A" ,"Colon;" * "\x2237" ,"colone;" * "\x2254" ,"Colone;" * "\x2A74" ,"coloneq;" * "\x2254" ,"comma;" * "\x002C" ,"commat;" * "\x0040" ,"comp;" * "\x2201" ,"compfn;" * "\x2218" ,"complement;" * "\x2201" ,"complexes;" * "\x2102" ,"cong;" * "\x2245" ,"congdot;" * "\x2A6D" ,"Congruent;" * "\x2261" ,"conint;" * "\x222E" ,"Conint;" * "\x222F" ,"ContourIntegral;" * "\x222E" ,"Copf;" * "\x2102" ,"copf;" * "\x1D554" ,"coprod;" * "\x2210" ,"Coproduct;" * "\x2210" ,"COPY" * "\x00A9" ,"copy" * "\x00A9" ,"COPY;" * "\x00A9" ,"copy;" * "\x00A9" ,"copysr;" * "\x2117" ,"CounterClockwiseContourIntegral;" * "\x2233" ,"crarr;" * "\x21B5" ,"cross;" * "\x2717" ,"Cross;" * "\x2A2F" ,"Cscr;" * "\x1D49E" ,"cscr;" * "\x1D4B8" ,"csub;" * "\x2ACF" ,"csube;" * "\x2AD1" ,"csup;" * "\x2AD0" ,"csupe;" * "\x2AD2" ,"ctdot;" * "\x22EF" ,"cudarrl;" * "\x2938" ,"cudarrr;" * "\x2935" ,"cuepr;" * "\x22DE" ,"cuesc;" * "\x22DF" ,"cularr;" * "\x21B6" ,"cularrp;" * "\x293D" ,"cup;" * "\x222A" ,"Cup;" * "\x22D3" ,"cupbrcap;" * "\x2A48" ,"CupCap;" * "\x224D" ,"cupcap;" * "\x2A46" ,"cupcup;" * "\x2A4A" ,"cupdot;" * "\x228D" ,"cupor;" * "\x2A45" ,"cups;" * "\x222A\xFE00" ,"curarr;" * "\x21B7" ,"curarrm;" * "\x293C" ,"curlyeqprec;" * "\x22DE" ,"curlyeqsucc;" * "\x22DF" ,"curlyvee;" * "\x22CE" ,"curlywedge;" * "\x22CF" ,"curren" * "\x00A4" ,"curren;" * "\x00A4" ,"curvearrowleft;" * "\x21B6" ,"curvearrowright;" * "\x21B7" ,"cuvee;" * "\x22CE" ,"cuwed;" * "\x22CF" ,"cwconint;" * "\x2232" ,"cwint;" * "\x2231" ,"cylcty;" * "\x232D" ,"dagger;" * "\x2020" ,"Dagger;" * "\x2021" ,"daleth;" * "\x2138" ,"darr;" * "\x2193" ,"Darr;" * "\x21A1" ,"dArr;" * "\x21D3" ,"dash;" * "\x2010" ,"dashv;" * "\x22A3" ,"Dashv;" * "\x2AE4" ,"dbkarow;" * "\x290F" ,"dblac;" * "\x02DD" ,"Dcaron;" * "\x010E" ,"dcaron;" * "\x010F" ,"Dcy;" * "\x0414" ,"dcy;" * "\x0434" ,"DD;" * "\x2145" ,"dd;" * "\x2146" ,"ddagger;" * "\x2021" ,"ddarr;" * "\x21CA" ,"DDotrahd;" * "\x2911" ,"ddotseq;" * "\x2A77" ,"deg" * "\x00B0" ,"deg;" * "\x00B0" ,"Del;" * "\x2207" ,"Delta;" * "\x0394" ,"delta;" * "\x03B4" ,"demptyv;" * "\x29B1" ,"dfisht;" * "\x297F" ,"Dfr;" * "\x1D507" ,"dfr;" * "\x1D521" ,"dHar;" * "\x2965" ,"dharl;" * "\x21C3" ,"dharr;" * "\x21C2" ,"DiacriticalAcute;" * "\x00B4" ,"DiacriticalDot;" * "\x02D9" ,"DiacriticalDoubleAcute;" * "\x02DD" ,"DiacriticalGrave;" * "\x0060" ,"DiacriticalTilde;" * "\x02DC" ,"diam;" * "\x22C4" ,"Diamond;" * "\x22C4" ,"diamond;" * "\x22C4" ,"diamondsuit;" * "\x2666" ,"diams;" * "\x2666" ,"die;" * "\x00A8" ,"DifferentialD;" * "\x2146" ,"digamma;" * "\x03DD" ,"disin;" * "\x22F2" ,"div;" * "\x00F7" ,"divide" * "\x00F7" ,"divide;" * "\x00F7" ,"divideontimes;" * "\x22C7" ,"divonx;" * "\x22C7" ,"DJcy;" * "\x0402" ,"djcy;" * "\x0452" ,"dlcorn;" * "\x231E" ,"dlcrop;" * "\x230D" ,"dollar;" * "\x0024" ,"Dopf;" * "\x1D53B" ,"dopf;" * "\x1D555" ,"Dot;" * "\x00A8" ,"dot;" * "\x02D9" ,"DotDot;" * "\x20DC" ,"doteq;" * "\x2250" ,"doteqdot;" * "\x2251" ,"DotEqual;" * "\x2250" ,"dotminus;" * "\x2238" ,"dotplus;" * "\x2214" ,"dotsquare;" * "\x22A1" ,"doublebarwedge;" * "\x2306" ,"DoubleContourIntegral;" * "\x222F" ,"DoubleDot;" * "\x00A8" ,"DoubleDownArrow;" * "\x21D3" ,"DoubleLeftArrow;" * "\x21D0" ,"DoubleLeftRightArrow;" * "\x21D4" ,"DoubleLeftTee;" * "\x2AE4" ,"DoubleLongLeftArrow;" * "\x27F8" ,"DoubleLongLeftRightArrow;" * "\x27FA" ,"DoubleLongRightArrow;" * "\x27F9" ,"DoubleRightArrow;" * "\x21D2" ,"DoubleRightTee;" * "\x22A8" ,"DoubleUpArrow;" * "\x21D1" ,"DoubleUpDownArrow;" * "\x21D5" ,"DoubleVerticalBar;" * "\x2225" ,"DownArrow;" * "\x2193" ,"downarrow;" * "\x2193" ,"Downarrow;" * "\x21D3" ,"DownArrowBar;" * "\x2913" ,"DownArrowUpArrow;" * "\x21F5" ,"DownBreve;" * "\x0311" ,"downdownarrows;" * "\x21CA" ,"downharpoonleft;" * "\x21C3" ,"downharpoonright;" * "\x21C2" ,"DownLeftRightVector;" * "\x2950" ,"DownLeftTeeVector;" * "\x295E" ,"DownLeftVector;" * "\x21BD" ,"DownLeftVectorBar;" * "\x2956" ,"DownRightTeeVector;" * "\x295F" ,"DownRightVector;" * "\x21C1" ,"DownRightVectorBar;" * "\x2957" ,"DownTee;" * "\x22A4" ,"DownTeeArrow;" * "\x21A7" ,"drbkarow;" * "\x2910" ,"drcorn;" * "\x231F" ,"drcrop;" * "\x230C" ,"Dscr;" * "\x1D49F" ,"dscr;" * "\x1D4B9" ,"DScy;" * "\x0405" ,"dscy;" * "\x0455" ,"dsol;" * "\x29F6" ,"Dstrok;" * "\x0110" ,"dstrok;" * "\x0111" ,"dtdot;" * "\x22F1" ,"dtri;" * "\x25BF" ,"dtrif;" * "\x25BE" ,"duarr;" * "\x21F5" ,"duhar;" * "\x296F" ,"dwangle;" * "\x29A6" ,"DZcy;" * "\x040F" ,"dzcy;" * "\x045F" ,"dzigrarr;" * "\x27FF" ,"Eacute" * "\x00C9" ,"eacute" * "\x00E9" ,"Eacute;" * "\x00C9" ,"eacute;" * "\x00E9" ,"easter;" * "\x2A6E" ,"Ecaron;" * "\x011A" ,"ecaron;" * "\x011B" ,"ecir;" * "\x2256" ,"Ecirc" * "\x00CA" ,"ecirc" * "\x00EA" ,"Ecirc;" * "\x00CA" ,"ecirc;" * "\x00EA" ,"ecolon;" * "\x2255" ,"Ecy;" * "\x042D" ,"ecy;" * "\x044D" ,"eDDot;" * "\x2A77" ,"Edot;" * "\x0116" ,"edot;" * "\x0117" ,"eDot;" * "\x2251" ,"ee;" * "\x2147" ,"efDot;" * "\x2252" ,"Efr;" * "\x1D508" ,"efr;" * "\x1D522" ,"eg;" * "\x2A9A" ,"Egrave" * "\x00C8" ,"egrave" * "\x00E8" ,"Egrave;" * "\x00C8" ,"egrave;" * "\x00E8" ,"egs;" * "\x2A96" ,"egsdot;" * "\x2A98" ,"el;" * "\x2A99" ,"Element;" * "\x2208" ,"elinters;" * "\x23E7" ,"ell;" * "\x2113" ,"els;" * "\x2A95" ,"elsdot;" * "\x2A97" ,"Emacr;" * "\x0112" ,"emacr;" * "\x0113" ,"empty;" * "\x2205" ,"emptyset;" * "\x2205" ,"EmptySmallSquare;" * "\x25FB" ,"emptyv;" * "\x2205" ,"EmptyVerySmallSquare;" * "\x25AB" ,"emsp13;" * "\x2004" ,"emsp14;" * "\x2005" ,"emsp;" * "\x2003" ,"ENG;" * "\x014A" ,"eng;" * "\x014B" ,"ensp;" * "\x2002" ,"Eogon;" * "\x0118" ,"eogon;" * "\x0119" ,"Eopf;" * "\x1D53C" ,"eopf;" * "\x1D556" ,"epar;" * "\x22D5" ,"eparsl;" * "\x29E3" ,"eplus;" * "\x2A71" ,"epsi;" * "\x03B5" ,"Epsilon;" * "\x0395" ,"epsilon;" * "\x03B5" ,"epsiv;" * "\x03F5" ,"eqcirc;" * "\x2256" ,"eqcolon;" * "\x2255" ,"eqsim;" * "\x2242" ,"eqslantgtr;" * "\x2A96" ,"eqslantless;" * "\x2A95" ,"Equal;" * "\x2A75" ,"equals;" * "\x003D" ,"EqualTilde;" * "\x2242" ,"equest;" * "\x225F" ,"Equilibrium;" * "\x21CC" ,"equiv;" * "\x2261" ,"equivDD;" * "\x2A78" ,"eqvparsl;" * "\x29E5" ,"erarr;" * "\x2971" ,"erDot;" * "\x2253" ,"escr;" * "\x212F" ,"Escr;" * "\x2130" ,"esdot;" * "\x2250" ,"esim;" * "\x2242" ,"Esim;" * "\x2A73" ,"Eta;" * "\x0397" ,"eta;" * "\x03B7" ,"ETH" * "\x00D0" ,"eth" * "\x00F0" ,"ETH;" * "\x00D0" ,"eth;" * "\x00F0" ,"Euml" * "\x00CB" ,"euml" * "\x00EB" ,"Euml;" * "\x00CB" ,"euml;" * "\x00EB" ,"euro;" * "\x20AC" ,"excl;" * "\x0021" ,"exist;" * "\x2203" ,"Exists;" * "\x2203" ,"expectation;" * "\x2130" ,"ExponentialE;" * "\x2147" ,"exponentiale;" * "\x2147" ,"fallingdotseq;" * "\x2252" ,"Fcy;" * "\x0424" ,"fcy;" * "\x0444" ,"female;" * "\x2640" ,"ffilig;" * "\xFB03" ,"fflig;" * "\xFB00" ,"ffllig;" * "\xFB04" ,"Ffr;" * "\x1D509" ,"ffr;" * "\x1D523" ,"filig;" * "\xFB01" ,"FilledSmallSquare;" * "\x25FC" ,"FilledVerySmallSquare;" * "\x25AA" ,"fjlig;" * "\x0066\x006A" ,"flat;" * "\x266D" ,"fllig;" * "\xFB02" ,"fltns;" * "\x25B1" ,"fnof;" * "\x0192" ,"Fopf;" * "\x1D53D" ,"fopf;" * "\x1D557" ,"ForAll;" * "\x2200" ,"forall;" * "\x2200" ,"fork;" * "\x22D4" ,"forkv;" * "\x2AD9" ,"Fouriertrf;" * "\x2131" ,"fpartint;" * "\x2A0D" ,"frac12" * "\x00BD" ,"frac12;" * "\x00BD" ,"frac13;" * "\x2153" ,"frac14" * "\x00BC" ,"frac14;" * "\x00BC" ,"frac15;" * "\x2155" ,"frac16;" * "\x2159" ,"frac18;" * "\x215B" ,"frac23;" * "\x2154" ,"frac25;" * "\x2156" ,"frac34" * "\x00BE" ,"frac34;" * "\x00BE" ,"frac35;" * "\x2157" ,"frac38;" * "\x215C" ,"frac45;" * "\x2158" ,"frac56;" * "\x215A" ,"frac58;" * "\x215D" ,"frac78;" * "\x215E" ,"frasl;" * "\x2044" ,"frown;" * "\x2322" ,"Fscr;" * "\x2131" ,"fscr;" * "\x1D4BB" ,"gacute;" * "\x01F5" ,"Gamma;" * "\x0393" ,"gamma;" * "\x03B3" ,"Gammad;" * "\x03DC" ,"gammad;" * "\x03DD" ,"gap;" * "\x2A86" ,"Gbreve;" * "\x011E" ,"gbreve;" * "\x011F" ,"Gcedil;" * "\x0122" ,"Gcirc;" * "\x011C" ,"gcirc;" * "\x011D" ,"Gcy;" * "\x0413" ,"gcy;" * "\x0433" ,"Gdot;" * "\x0120" ,"gdot;" * "\x0121" ,"ge;" * "\x2265" ,"gE;" * "\x2267" ,"gel;" * "\x22DB" ,"gEl;" * "\x2A8C" ,"geq;" * "\x2265" ,"geqq;" * "\x2267" ,"geqslant;" * "\x2A7E" ,"ges;" * "\x2A7E" ,"gescc;" * "\x2AA9" ,"gesdot;" * "\x2A80" ,"gesdoto;" * "\x2A82" ,"gesdotol;" * "\x2A84" ,"gesl;" * "\x22DB\xFE00" ,"gesles;" * "\x2A94" ,"Gfr;" * "\x1D50A" ,"gfr;" * "\x1D524" ,"gg;" * "\x226B" ,"Gg;" * "\x22D9" ,"ggg;" * "\x22D9" ,"gimel;" * "\x2137" ,"GJcy;" * "\x0403" ,"gjcy;" * "\x0453" ,"gl;" * "\x2277" ,"gla;" * "\x2AA5" ,"glE;" * "\x2A92" ,"glj;" * "\x2AA4" ,"gnap;" * "\x2A8A" ,"gnapprox;" * "\x2A8A" ,"gnE;" * "\x2269" ,"gne;" * "\x2A88" ,"gneq;" * "\x2A88" ,"gneqq;" * "\x2269" ,"gnsim;" * "\x22E7" ,"Gopf;" * "\x1D53E" ,"gopf;" * "\x1D558" ,"grave;" * "\x0060" ,"GreaterEqual;" * "\x2265" ,"GreaterEqualLess;" * "\x22DB" ,"GreaterFullEqual;" * "\x2267" ,"GreaterGreater;" * "\x2AA2" ,"GreaterLess;" * "\x2277" ,"GreaterSlantEqual;" * "\x2A7E" ,"GreaterTilde;" * "\x2273" ,"gscr;" * "\x210A" ,"Gscr;" * "\x1D4A2" ,"gsim;" * "\x2273" ,"gsime;" * "\x2A8E" ,"gsiml;" * "\x2A90" ,"GT" * "\x003E" ,"gt" * "\x003E" ,"GT;" * "\x003E" ,"gt;" * "\x003E" ,"Gt;" * "\x226B" ,"gtcc;" * "\x2AA7" ,"gtcir;" * "\x2A7A" ,"gtdot;" * "\x22D7" ,"gtlPar;" * "\x2995" ,"gtquest;" * "\x2A7C" ,"gtrapprox;" * "\x2A86" ,"gtrarr;" * "\x2978" ,"gtrdot;" * "\x22D7" ,"gtreqless;" * "\x22DB" ,"gtreqqless;" * "\x2A8C" ,"gtrless;" * "\x2277" ,"gtrsim;" * "\x2273" ,"gvertneqq;" * "\x2269\xFE00" ,"gvnE;" * "\x2269\xFE00" ,"Hacek;" * "\x02C7" ,"hairsp;" * "\x200A" ,"half;" * "\x00BD" ,"hamilt;" * "\x210B" ,"HARDcy;" * "\x042A" ,"hardcy;" * "\x044A" ,"harr;" * "\x2194" ,"hArr;" * "\x21D4" ,"harrcir;" * "\x2948" ,"harrw;" * "\x21AD" ,"Hat;" * "\x005E" ,"hbar;" * "\x210F" ,"Hcirc;" * "\x0124" ,"hcirc;" * "\x0125" ,"hearts;" * "\x2665" ,"heartsuit;" * "\x2665" ,"hellip;" * "\x2026" ,"hercon;" * "\x22B9" ,"Hfr;" * "\x210C" ,"hfr;" * "\x1D525" ,"HilbertSpace;" * "\x210B" ,"hksearow;" * "\x2925" ,"hkswarow;" * "\x2926" ,"hoarr;" * "\x21FF" ,"homtht;" * "\x223B" ,"hookleftarrow;" * "\x21A9" ,"hookrightarrow;" * "\x21AA" ,"Hopf;" * "\x210D" ,"hopf;" * "\x1D559" ,"horbar;" * "\x2015" ,"HorizontalLine;" * "\x2500" ,"Hscr;" * "\x210B" ,"hscr;" * "\x1D4BD" ,"hslash;" * "\x210F" ,"Hstrok;" * "\x0126" ,"hstrok;" * "\x0127" ,"HumpDownHump;" * "\x224E" ,"HumpEqual;" * "\x224F" ,"hybull;" * "\x2043" ,"hyphen;" * "\x2010" ,"Iacute" * "\x00CD" ,"iacute" * "\x00ED" ,"Iacute;" * "\x00CD" ,"iacute;" * "\x00ED" ,"ic;" * "\x2063" ,"Icirc" * "\x00CE" ,"icirc" * "\x00EE" ,"Icirc;" * "\x00CE" ,"icirc;" * "\x00EE" ,"Icy;" * "\x0418" ,"icy;" * "\x0438" ,"Idot;" * "\x0130" ,"IEcy;" * "\x0415" ,"iecy;" * "\x0435" ,"iexcl" * "\x00A1" ,"iexcl;" * "\x00A1" ,"iff;" * "\x21D4" ,"Ifr;" * "\x2111" ,"ifr;" * "\x1D526" ,"Igrave" * "\x00CC" ,"igrave" * "\x00EC" ,"Igrave;" * "\x00CC" ,"igrave;" * "\x00EC" ,"ii;" * "\x2148" ,"iiiint;" * "\x2A0C" ,"iiint;" * "\x222D" ,"iinfin;" * "\x29DC" ,"iiota;" * "\x2129" ,"IJlig;" * "\x0132" ,"ijlig;" * "\x0133" ,"Im;" * "\x2111" ,"Imacr;" * "\x012A" ,"imacr;" * "\x012B" ,"image;" * "\x2111" ,"ImaginaryI;" * "\x2148" ,"imagline;" * "\x2110" ,"imagpart;" * "\x2111" ,"imath;" * "\x0131" ,"imof;" * "\x22B7" ,"imped;" * "\x01B5" ,"Implies;" * "\x21D2" ,"in;" * "\x2208" ,"incare;" * "\x2105" ,"infin;" * "\x221E" ,"infintie;" * "\x29DD" ,"inodot;" * "\x0131" ,"int;" * "\x222B" ,"Int;" * "\x222C" ,"intcal;" * "\x22BA" ,"integers;" * "\x2124" ,"Integral;" * "\x222B" ,"intercal;" * "\x22BA" ,"Intersection;" * "\x22C2" ,"intlarhk;" * "\x2A17" ,"intprod;" * "\x2A3C" ,"InvisibleComma;" * "\x2063" ,"InvisibleTimes;" * "\x2062" ,"IOcy;" * "\x0401" ,"iocy;" * "\x0451" ,"Iogon;" * "\x012E" ,"iogon;" * "\x012F" ,"Iopf;" * "\x1D540" ,"iopf;" * "\x1D55A" ,"Iota;" * "\x0399" ,"iota;" * "\x03B9" ,"iprod;" * "\x2A3C" ,"iquest" * "\x00BF" ,"iquest;" * "\x00BF" ,"Iscr;" * "\x2110" ,"iscr;" * "\x1D4BE" ,"isin;" * "\x2208" ,"isindot;" * "\x22F5" ,"isinE;" * "\x22F9" ,"isins;" * "\x22F4" ,"isinsv;" * "\x22F3" ,"isinv;" * "\x2208" ,"it;" * "\x2062" ,"Itilde;" * "\x0128" ,"itilde;" * "\x0129" ,"Iukcy;" * "\x0406" ,"iukcy;" * "\x0456" ,"Iuml" * "\x00CF" ,"iuml" * "\x00EF" ,"Iuml;" * "\x00CF" ,"iuml;" * "\x00EF" ,"Jcirc;" * "\x0134" ,"jcirc;" * "\x0135" ,"Jcy;" * "\x0419" ,"jcy;" * "\x0439" ,"Jfr;" * "\x1D50D" ,"jfr;" * "\x1D527" ,"jmath;" * "\x0237" ,"Jopf;" * "\x1D541" ,"jopf;" * "\x1D55B" ,"Jscr;" * "\x1D4A5" ,"jscr;" * "\x1D4BF" ,"Jsercy;" * "\x0408" ,"jsercy;" * "\x0458" ,"Jukcy;" * "\x0404" ,"jukcy;" * "\x0454" ,"Kappa;" * "\x039A" ,"kappa;" * "\x03BA" ,"kappav;" * "\x03F0" ,"Kcedil;" * "\x0136" ,"kcedil;" * "\x0137" ,"Kcy;" * "\x041A" ,"kcy;" * "\x043A" ,"Kfr;" * "\x1D50E" ,"kfr;" * "\x1D528" ,"kgreen;" * "\x0138" ,"KHcy;" * "\x0425" ,"khcy;" * "\x0445" ,"KJcy;" * "\x040C" ,"kjcy;" * "\x045C" ,"Kopf;" * "\x1D542" ,"kopf;" * "\x1D55C" ,"Kscr;" * "\x1D4A6" ,"kscr;" * "\x1D4C0" ,"lAarr;" * "\x21DA" ,"Lacute;" * "\x0139" ,"lacute;" * "\x013A" ,"laemptyv;" * "\x29B4" ,"lagran;" * "\x2112" ,"Lambda;" * "\x039B" ,"lambda;" * "\x03BB" ,"lang;" * "\x27E8" ,"Lang;" * "\x27EA" ,"langd;" * "\x2991" ,"langle;" * "\x27E8" ,"lap;" * "\x2A85" ,"Laplacetrf;" * "\x2112" ,"laquo" * "\x00AB" ,"laquo;" * "\x00AB" ,"larr;" * "\x2190" ,"Larr;" * "\x219E" ,"lArr;" * "\x21D0" ,"larrb;" * "\x21E4" ,"larrbfs;" * "\x291F" ,"larrfs;" * "\x291D" ,"larrhk;" * "\x21A9" ,"larrlp;" * "\x21AB" ,"larrpl;" * "\x2939" ,"larrsim;" * "\x2973" ,"larrtl;" * "\x21A2" ,"lat;" * "\x2AAB" ,"latail;" * "\x2919" ,"lAtail;" * "\x291B" ,"late;" * "\x2AAD" ,"lates;" * "\x2AAD\xFE00" ,"lbarr;" * "\x290C" ,"lBarr;" * "\x290E" ,"lbbrk;" * "\x2772" ,"lbrace;" * "\x007B" ,"lbrack;" * "\x005B" ,"lbrke;" * "\x298B" ,"lbrksld;" * "\x298F" ,"lbrkslu;" * "\x298D" ,"Lcaron;" * "\x013D" ,"lcaron;" * "\x013E" ,"Lcedil;" * "\x013B" ,"lcedil;" * "\x013C" ,"lceil;" * "\x2308" ,"lcub;" * "\x007B" ,"Lcy;" * "\x041B" ,"lcy;" * "\x043B" ,"ldca;" * "\x2936" ,"ldquo;" * "\x201C" ,"ldquor;" * "\x201E" ,"ldrdhar;" * "\x2967" ,"ldrushar;" * "\x294B" ,"ldsh;" * "\x21B2" ,"le;" * "\x2264" ,"lE;" * "\x2266" ,"LeftAngleBracket;" * "\x27E8" ,"LeftArrow;" * "\x2190" ,"leftarrow;" * "\x2190" ,"Leftarrow;" * "\x21D0" ,"LeftArrowBar;" * "\x21E4" ,"LeftArrowRightArrow;" * "\x21C6" ,"leftarrowtail;" * "\x21A2" ,"LeftCeiling;" * "\x2308" ,"LeftDoubleBracket;" * "\x27E6" ,"LeftDownTeeVector;" * "\x2961" ,"LeftDownVector;" * "\x21C3" ,"LeftDownVectorBar;" * "\x2959" ,"LeftFloor;" * "\x230A" ,"leftharpoondown;" * "\x21BD" ,"leftharpoonup;" * "\x21BC" ,"leftleftarrows;" * "\x21C7" ,"LeftRightArrow;" * "\x2194" ,"leftrightarrow;" * "\x2194" ,"Leftrightarrow;" * "\x21D4" ,"leftrightarrows;" * "\x21C6" ,"leftrightharpoons;" * "\x21CB" ,"leftrightsquigarrow;" * "\x21AD" ,"LeftRightVector;" * "\x294E" ,"LeftTee;" * "\x22A3" ,"LeftTeeArrow;" * "\x21A4" ,"LeftTeeVector;" * "\x295A" ,"leftthreetimes;" * "\x22CB" ,"LeftTriangle;" * "\x22B2" ,"LeftTriangleBar;" * "\x29CF" ,"LeftTriangleEqual;" * "\x22B4" ,"LeftUpDownVector;" * "\x2951" ,"LeftUpTeeVector;" * "\x2960" ,"LeftUpVector;" * "\x21BF" ,"LeftUpVectorBar;" * "\x2958" ,"LeftVector;" * "\x21BC" ,"LeftVectorBar;" * "\x2952" ,"leg;" * "\x22DA" ,"lEg;" * "\x2A8B" ,"leq;" * "\x2264" ,"leqq;" * "\x2266" ,"leqslant;" * "\x2A7D" ,"les;" * "\x2A7D" ,"lescc;" * "\x2AA8" ,"lesdot;" * "\x2A7F" ,"lesdoto;" * "\x2A81" ,"lesdotor;" * "\x2A83" ,"lesg;" * "\x22DA\xFE00" ,"lesges;" * "\x2A93" ,"lessapprox;" * "\x2A85" ,"lessdot;" * "\x22D6" ,"lesseqgtr;" * "\x22DA" ,"lesseqqgtr;" * "\x2A8B" ,"LessEqualGreater;" * "\x22DA" ,"LessFullEqual;" * "\x2266" ,"LessGreater;" * "\x2276" ,"lessgtr;" * "\x2276" ,"LessLess;" * "\x2AA1" ,"lesssim;" * "\x2272" ,"LessSlantEqual;" * "\x2A7D" ,"LessTilde;" * "\x2272" ,"lfisht;" * "\x297C" ,"lfloor;" * "\x230A" ,"Lfr;" * "\x1D50F" ,"lfr;" * "\x1D529" ,"lg;" * "\x2276" ,"lgE;" * "\x2A91" ,"lHar;" * "\x2962" ,"lhard;" * "\x21BD" ,"lharu;" * "\x21BC" ,"lharul;" * "\x296A" ,"lhblk;" * "\x2584" ,"LJcy;" * "\x0409" ,"ljcy;" * "\x0459" ,"ll;" * "\x226A" ,"Ll;" * "\x22D8" ,"llarr;" * "\x21C7" ,"llcorner;" * "\x231E" ,"Lleftarrow;" * "\x21DA" ,"llhard;" * "\x296B" ,"lltri;" * "\x25FA" ,"Lmidot;" * "\x013F" ,"lmidot;" * "\x0140" ,"lmoust;" * "\x23B0" ,"lmoustache;" * "\x23B0" ,"lnap;" * "\x2A89" ,"lnapprox;" * "\x2A89" ,"lnE;" * "\x2268" ,"lne;" * "\x2A87" ,"lneq;" * "\x2A87" ,"lneqq;" * "\x2268" ,"lnsim;" * "\x22E6" ,"loang;" * "\x27EC" ,"loarr;" * "\x21FD" ,"lobrk;" * "\x27E6" ,"LongLeftArrow;" * "\x27F5" ,"longleftarrow;" * "\x27F5" ,"Longleftarrow;" * "\x27F8" ,"LongLeftRightArrow;" * "\x27F7" ,"longleftrightarrow;" * "\x27F7" ,"Longleftrightarrow;" * "\x27FA" ,"longmapsto;" * "\x27FC" ,"LongRightArrow;" * "\x27F6" ,"longrightarrow;" * "\x27F6" ,"Longrightarrow;" * "\x27F9" ,"looparrowleft;" * "\x21AB" ,"looparrowright;" * "\x21AC" ,"lopar;" * "\x2985" ,"Lopf;" * "\x1D543" ,"lopf;" * "\x1D55D" ,"loplus;" * "\x2A2D" ,"lotimes;" * "\x2A34" ,"lowast;" * "\x2217" ,"lowbar;" * "\x005F" ,"LowerLeftArrow;" * "\x2199" ,"LowerRightArrow;" * "\x2198" ,"loz;" * "\x25CA" ,"lozenge;" * "\x25CA" ,"lozf;" * "\x29EB" ,"lpar;" * "\x0028" ,"lparlt;" * "\x2993" ,"lrarr;" * "\x21C6" ,"lrcorner;" * "\x231F" ,"lrhar;" * "\x21CB" ,"lrhard;" * "\x296D" ,"lrm;" * "\x200E" ,"lrtri;" * "\x22BF" ,"lsaquo;" * "\x2039" ,"Lscr;" * "\x2112" ,"lscr;" * "\x1D4C1" ,"Lsh;" * "\x21B0" ,"lsh;" * "\x21B0" ,"lsim;" * "\x2272" ,"lsime;" * "\x2A8D" ,"lsimg;" * "\x2A8F" ,"lsqb;" * "\x005B" ,"lsquo;" * "\x2018" ,"lsquor;" * "\x201A" ,"Lstrok;" * "\x0141" ,"lstrok;" * "\x0142" ,"LT" * "\x003C" ,"lt" * "\x003C" ,"LT;" * "\x003C" ,"lt;" * "\x003C" ,"Lt;" * "\x226A" ,"ltcc;" * "\x2AA6" ,"ltcir;" * "\x2A79" ,"ltdot;" * "\x22D6" ,"lthree;" * "\x22CB" ,"ltimes;" * "\x22C9" ,"ltlarr;" * "\x2976" ,"ltquest;" * "\x2A7B" ,"ltri;" * "\x25C3" ,"ltrie;" * "\x22B4" ,"ltrif;" * "\x25C2" ,"ltrPar;" * "\x2996" ,"lurdshar;" * "\x294A" ,"luruhar;" * "\x2966" ,"lvertneqq;" * "\x2268\xFE00" ,"lvnE;" * "\x2268\xFE00" ,"macr" * "\x00AF" ,"macr;" * "\x00AF" ,"male;" * "\x2642" ,"malt;" * "\x2720" ,"maltese;" * "\x2720" ,"map;" * "\x21A6" ,"Map;" * "\x2905" ,"mapsto;" * "\x21A6" ,"mapstodown;" * "\x21A7" ,"mapstoleft;" * "\x21A4" ,"mapstoup;" * "\x21A5" ,"marker;" * "\x25AE" ,"mcomma;" * "\x2A29" ,"Mcy;" * "\x041C" ,"mcy;" * "\x043C" ,"mdash;" * "\x2014" ,"mDDot;" * "\x223A" ,"measuredangle;" * "\x2221" ,"MediumSpace;" * "\x205F" ,"Mellintrf;" * "\x2133" ,"Mfr;" * "\x1D510" ,"mfr;" * "\x1D52A" ,"mho;" * "\x2127" ,"micro" * "\x00B5" ,"micro;" * "\x00B5" ,"mid;" * "\x2223" ,"midast;" * "\x002A" ,"midcir;" * "\x2AF0" ,"middot" * "\x00B7" ,"middot;" * "\x00B7" ,"minus;" * "\x2212" ,"minusb;" * "\x229F" ,"minusd;" * "\x2238" ,"minusdu;" * "\x2A2A" ,"MinusPlus;" * "\x2213" ,"mlcp;" * "\x2ADB" ,"mldr;" * "\x2026" ,"mnplus;" * "\x2213" ,"models;" * "\x22A7" ,"Mopf;" * "\x1D544" ,"mopf;" * "\x1D55E" ,"mp;" * "\x2213" ,"Mscr;" * "\x2133" ,"mscr;" * "\x1D4C2" ,"mstpos;" * "\x223E" ,"Mu;" * "\x039C" ,"mu;" * "\x03BC" ,"multimap;" * "\x22B8" ,"mumap;" * "\x22B8" ,"nabla;" * "\x2207" ,"Nacute;" * "\x0143" ,"nacute;" * "\x0144" ,"nang;" * "\x2220\x20D2" ,"nap;" * "\x2249" ,"napE;" * "\x2A70\x0338" ,"napid;" * "\x224B\x0338" ,"napos;" * "\x0149" ,"napprox;" * "\x2249" ,"natur;" * "\x266E" ,"natural;" * "\x266E" ,"naturals;" * "\x2115" ,"nbsp" * "\x00A0" ,"nbsp;" * "\x00A0" ,"nbump;" * "\x224E\x0338" ,"nbumpe;" * "\x224F\x0338" ,"ncap;" * "\x2A43" ,"Ncaron;" * "\x0147" ,"ncaron;" * "\x0148" ,"Ncedil;" * "\x0145" ,"ncedil;" * "\x0146" ,"ncong;" * "\x2247" ,"ncongdot;" * "\x2A6D\x0338" ,"ncup;" * "\x2A42" ,"Ncy;" * "\x041D" ,"ncy;" * "\x043D" ,"ndash;" * "\x2013" ,"ne;" * "\x2260" ,"nearhk;" * "\x2924" ,"nearr;" * "\x2197" ,"neArr;" * "\x21D7" ,"nearrow;" * "\x2197" ,"nedot;" * "\x2250\x0338" ,"NegativeMediumSpace;" * "\x200B" ,"NegativeThickSpace;" * "\x200B" ,"NegativeThinSpace;" * "\x200B" ,"NegativeVeryThinSpace;" * "\x200B" ,"nequiv;" * "\x2262" ,"nesear;" * "\x2928" ,"nesim;" * "\x2242\x0338" ,"NestedGreaterGreater;" * "\x226B" ,"NestedLessLess;" * "\x226A" ,"NewLine;" * "\x000A" ,"nexist;" * "\x2204" ,"nexists;" * "\x2204" ,"Nfr;" * "\x1D511" ,"nfr;" * "\x1D52B" ,"ngE;" * "\x2267\x0338" ,"nge;" * "\x2271" ,"ngeq;" * "\x2271" ,"ngeqq;" * "\x2267\x0338" ,"ngeqslant;" * "\x2A7E\x0338" ,"nges;" * "\x2A7E\x0338" ,"nGg;" * "\x22D9\x0338" ,"ngsim;" * "\x2275" ,"nGt;" * "\x226B\x20D2" ,"ngt;" * "\x226F" ,"ngtr;" * "\x226F" ,"nGtv;" * "\x226B\x0338" ,"nharr;" * "\x21AE" ,"nhArr;" * "\x21CE" ,"nhpar;" * "\x2AF2" ,"ni;" * "\x220B" ,"nis;" * "\x22FC" ,"nisd;" * "\x22FA" ,"niv;" * "\x220B" ,"NJcy;" * "\x040A" ,"njcy;" * "\x045A" ,"nlarr;" * "\x219A" ,"nlArr;" * "\x21CD" ,"nldr;" * "\x2025" ,"nlE;" * "\x2266\x0338" ,"nle;" * "\x2270" ,"nleftarrow;" * "\x219A" ,"nLeftarrow;" * "\x21CD" ,"nleftrightarrow;" * "\x21AE" ,"nLeftrightarrow;" * "\x21CE" ,"nleq;" * "\x2270" ,"nleqq;" * "\x2266\x0338" ,"nleqslant;" * "\x2A7D\x0338" ,"nles;" * "\x2A7D\x0338" ,"nless;" * "\x226E" ,"nLl;" * "\x22D8\x0338" ,"nlsim;" * "\x2274" ,"nLt;" * "\x226A\x20D2" ,"nlt;" * "\x226E" ,"nltri;" * "\x22EA" ,"nltrie;" * "\x22EC" ,"nLtv;" * "\x226A\x0338" ,"nmid;" * "\x2224" ,"NoBreak;" * "\x2060" ,"NonBreakingSpace;" * "\x00A0" ,"Nopf;" * "\x2115" ,"nopf;" * "\x1D55F" ,"not" * "\x00AC" ,"not;" * "\x00AC" ,"Not;" * "\x2AEC" ,"NotCongruent;" * "\x2262" ,"NotCupCap;" * "\x226D" ,"NotDoubleVerticalBar;" * "\x2226" ,"NotElement;" * "\x2209" ,"NotEqual;" * "\x2260" ,"NotEqualTilde;" * "\x2242\x0338" ,"NotExists;" * "\x2204" ,"NotGreater;" * "\x226F" ,"NotGreaterEqual;" * "\x2271" ,"NotGreaterFullEqual;" * "\x2267\x0338" ,"NotGreaterGreater;" * "\x226B\x0338" ,"NotGreaterLess;" * "\x2279" ,"NotGreaterSlantEqual;" * "\x2A7E\x0338" ,"NotGreaterTilde;" * "\x2275" ,"NotHumpDownHump;" * "\x224E\x0338" ,"NotHumpEqual;" * "\x224F\x0338" ,"notin;" * "\x2209" ,"notindot;" * "\x22F5\x0338" ,"notinE;" * "\x22F9\x0338" ,"notinva;" * "\x2209" ,"notinvb;" * "\x22F7" ,"notinvc;" * "\x22F6" ,"NotLeftTriangle;" * "\x22EA" ,"NotLeftTriangleBar;" * "\x29CF\x0338" ,"NotLeftTriangleEqual;" * "\x22EC" ,"NotLess;" * "\x226E" ,"NotLessEqual;" * "\x2270" ,"NotLessGreater;" * "\x2278" ,"NotLessLess;" * "\x226A\x0338" ,"NotLessSlantEqual;" * "\x2A7D\x0338" ,"NotLessTilde;" * "\x2274" ,"NotNestedGreaterGreater;" * "\x2AA2\x0338" ,"NotNestedLessLess;" * "\x2AA1\x0338" ,"notni;" * "\x220C" ,"notniva;" * "\x220C" ,"notnivb;" * "\x22FE" ,"notnivc;" * "\x22FD" ,"NotPrecedes;" * "\x2280" ,"NotPrecedesEqual;" * "\x2AAF\x0338" ,"NotPrecedesSlantEqual;" * "\x22E0" ,"NotReverseElement;" * "\x220C" ,"NotRightTriangle;" * "\x22EB" ,"NotRightTriangleBar;" * "\x29D0\x0338" ,"NotRightTriangleEqual;" * "\x22ED" ,"NotSquareSubset;" * "\x228F\x0338" ,"NotSquareSubsetEqual;" * "\x22E2" ,"NotSquareSuperset;" * "\x2290\x0338" ,"NotSquareSupersetEqual;" * "\x22E3" ,"NotSubset;" * "\x2282\x20D2" ,"NotSubsetEqual;" * "\x2288" ,"NotSucceeds;" * "\x2281" ,"NotSucceedsEqual;" * "\x2AB0\x0338" ,"NotSucceedsSlantEqual;" * "\x22E1" ,"NotSucceedsTilde;" * "\x227F\x0338" ,"NotSuperset;" * "\x2283\x20D2" ,"NotSupersetEqual;" * "\x2289" ,"NotTilde;" * "\x2241" ,"NotTildeEqual;" * "\x2244" ,"NotTildeFullEqual;" * "\x2247" ,"NotTildeTilde;" * "\x2249" ,"NotVerticalBar;" * "\x2224" ,"npar;" * "\x2226" ,"nparallel;" * "\x2226" ,"nparsl;" * "\x2AFD\x20E5" ,"npart;" * "\x2202\x0338" ,"npolint;" * "\x2A14" ,"npr;" * "\x2280" ,"nprcue;" * "\x22E0" ,"npre;" * "\x2AAF\x0338" ,"nprec;" * "\x2280" ,"npreceq;" * "\x2AAF\x0338" ,"nrarr;" * "\x219B" ,"nrArr;" * "\x21CF" ,"nrarrc;" * "\x2933\x0338" ,"nrarrw;" * "\x219D\x0338" ,"nrightarrow;" * "\x219B" ,"nRightarrow;" * "\x21CF" ,"nrtri;" * "\x22EB" ,"nrtrie;" * "\x22ED" ,"nsc;" * "\x2281" ,"nsccue;" * "\x22E1" ,"nsce;" * "\x2AB0\x0338" ,"Nscr;" * "\x1D4A9" ,"nscr;" * "\x1D4C3" ,"nshortmid;" * "\x2224" ,"nshortparallel;" * "\x2226" ,"nsim;" * "\x2241" ,"nsime;" * "\x2244" ,"nsimeq;" * "\x2244" ,"nsmid;" * "\x2224" ,"nspar;" * "\x2226" ,"nsqsube;" * "\x22E2" ,"nsqsupe;" * "\x22E3" ,"nsub;" * "\x2284" ,"nsube;" * "\x2288" ,"nsubE;" * "\x2AC5\x0338" ,"nsubset;" * "\x2282\x20D2" ,"nsubseteq;" * "\x2288" ,"nsubseteqq;" * "\x2AC5\x0338" ,"nsucc;" * "\x2281" ,"nsucceq;" * "\x2AB0\x0338" ,"nsup;" * "\x2285" ,"nsupe;" * "\x2289" ,"nsupE;" * "\x2AC6\x0338" ,"nsupset;" * "\x2283\x20D2" ,"nsupseteq;" * "\x2289" ,"nsupseteqq;" * "\x2AC6\x0338" ,"ntgl;" * "\x2279" ,"Ntilde" * "\x00D1" ,"ntilde" * "\x00F1" ,"Ntilde;" * "\x00D1" ,"ntilde;" * "\x00F1" ,"ntlg;" * "\x2278" ,"ntriangleleft;" * "\x22EA" ,"ntrianglelefteq;" * "\x22EC" ,"ntriangleright;" * "\x22EB" ,"ntrianglerighteq;" * "\x22ED" ,"Nu;" * "\x039D" ,"nu;" * "\x03BD" ,"num;" * "\x0023" ,"numero;" * "\x2116" ,"numsp;" * "\x2007" ,"nvap;" * "\x224D\x20D2" ,"nvdash;" * "\x22AC" ,"nvDash;" * "\x22AD" ,"nVdash;" * "\x22AE" ,"nVDash;" * "\x22AF" ,"nvge;" * "\x2265\x20D2" ,"nvgt;" * "\x003E\x20D2" ,"nvHarr;" * "\x2904" ,"nvinfin;" * "\x29DE" ,"nvlArr;" * "\x2902" ,"nvle;" * "\x2264\x20D2" ,"nvlt;" * "\x003C\x20D2" ,"nvltrie;" * "\x22B4\x20D2" ,"nvrArr;" * "\x2903" ,"nvrtrie;" * "\x22B5\x20D2" ,"nvsim;" * "\x223C\x20D2" ,"nwarhk;" * "\x2923" ,"nwarr;" * "\x2196" ,"nwArr;" * "\x21D6" ,"nwarrow;" * "\x2196" ,"nwnear;" * "\x2927" ,"Oacute" * "\x00D3" ,"oacute" * "\x00F3" ,"Oacute;" * "\x00D3" ,"oacute;" * "\x00F3" ,"oast;" * "\x229B" ,"ocir;" * "\x229A" ,"Ocirc" * "\x00D4" ,"ocirc" * "\x00F4" ,"Ocirc;" * "\x00D4" ,"ocirc;" * "\x00F4" ,"Ocy;" * "\x041E" ,"ocy;" * "\x043E" ,"odash;" * "\x229D" ,"Odblac;" * "\x0150" ,"odblac;" * "\x0151" ,"odiv;" * "\x2A38" ,"odot;" * "\x2299" ,"odsold;" * "\x29BC" ,"OElig;" * "\x0152" ,"oelig;" * "\x0153" ,"ofcir;" * "\x29BF" ,"Ofr;" * "\x1D512" ,"ofr;" * "\x1D52C" ,"ogon;" * "\x02DB" ,"Ograve" * "\x00D2" ,"ograve" * "\x00F2" ,"Ograve;" * "\x00D2" ,"ograve;" * "\x00F2" ,"ogt;" * "\x29C1" ,"ohbar;" * "\x29B5" ,"ohm;" * "\x03A9" ,"oint;" * "\x222E" ,"olarr;" * "\x21BA" ,"olcir;" * "\x29BE" ,"olcross;" * "\x29BB" ,"oline;" * "\x203E" ,"olt;" * "\x29C0" ,"Omacr;" * "\x014C" ,"omacr;" * "\x014D" ,"Omega;" * "\x03A9" ,"omega;" * "\x03C9" ,"Omicron;" * "\x039F" ,"omicron;" * "\x03BF" ,"omid;" * "\x29B6" ,"ominus;" * "\x2296" ,"Oopf;" * "\x1D546" ,"oopf;" * "\x1D560" ,"opar;" * "\x29B7" ,"OpenCurlyDoubleQuote;" * "\x201C" ,"OpenCurlyQuote;" * "\x2018" ,"operp;" * "\x29B9" ,"oplus;" * "\x2295" ,"or;" * "\x2228" ,"Or;" * "\x2A54" ,"orarr;" * "\x21BB" ,"ord;" * "\x2A5D" ,"order;" * "\x2134" ,"orderof;" * "\x2134" ,"ordf" * "\x00AA" ,"ordf;" * "\x00AA" ,"ordm" * "\x00BA" ,"ordm;" * "\x00BA" ,"origof;" * "\x22B6" ,"oror;" * "\x2A56" ,"orslope;" * "\x2A57" ,"orv;" * "\x2A5B" ,"oS;" * "\x24C8" ,"oscr;" * "\x2134" ,"Oscr;" * "\x1D4AA" ,"Oslash" * "\x00D8" ,"oslash" * "\x00F8" ,"Oslash;" * "\x00D8" ,"oslash;" * "\x00F8" ,"osol;" * "\x2298" ,"Otilde" * "\x00D5" ,"otilde" * "\x00F5" ,"Otilde;" * "\x00D5" ,"otilde;" * "\x00F5" ,"otimes;" * "\x2297" ,"Otimes;" * "\x2A37" ,"otimesas;" * "\x2A36" ,"Ouml" * "\x00D6" ,"ouml" * "\x00F6" ,"Ouml;" * "\x00D6" ,"ouml;" * "\x00F6" ,"ovbar;" * "\x233D" ,"OverBar;" * "\x203E" ,"OverBrace;" * "\x23DE" ,"OverBracket;" * "\x23B4" ,"OverParenthesis;" * "\x23DC" ,"par;" * "\x2225" ,"para" * "\x00B6" ,"para;" * "\x00B6" ,"parallel;" * "\x2225" ,"parsim;" * "\x2AF3" ,"parsl;" * "\x2AFD" ,"part;" * "\x2202" ,"PartialD;" * "\x2202" ,"Pcy;" * "\x041F" ,"pcy;" * "\x043F" ,"percnt;" * "\x0025" ,"period;" * "\x002E" ,"permil;" * "\x2030" ,"perp;" * "\x22A5" ,"pertenk;" * "\x2031" ,"Pfr;" * "\x1D513" ,"pfr;" * "\x1D52D" ,"Phi;" * "\x03A6" ,"phi;" * "\x03C6" ,"phiv;" * "\x03D5" ,"phmmat;" * "\x2133" ,"phone;" * "\x260E" ,"Pi;" * "\x03A0" ,"pi;" * "\x03C0" ,"pitchfork;" * "\x22D4" ,"piv;" * "\x03D6" ,"planck;" * "\x210F" ,"planckh;" * "\x210E" ,"plankv;" * "\x210F" ,"plus;" * "\x002B" ,"plusacir;" * "\x2A23" ,"plusb;" * "\x229E" ,"pluscir;" * "\x2A22" ,"plusdo;" * "\x2214" ,"plusdu;" * "\x2A25" ,"pluse;" * "\x2A72" ,"PlusMinus;" * "\x00B1" ,"plusmn" * "\x00B1" ,"plusmn;" * "\x00B1" ,"plussim;" * "\x2A26" ,"plustwo;" * "\x2A27" ,"pm;" * "\x00B1" ,"Poincareplane;" * "\x210C" ,"pointint;" * "\x2A15" ,"Popf;" * "\x2119" ,"popf;" * "\x1D561" ,"pound" * "\x00A3" ,"pound;" * "\x00A3" ,"pr;" * "\x227A" ,"Pr;" * "\x2ABB" ,"prap;" * "\x2AB7" ,"prcue;" * "\x227C" ,"pre;" * "\x2AAF" ,"prE;" * "\x2AB3" ,"prec;" * "\x227A" ,"precapprox;" * "\x2AB7" ,"preccurlyeq;" * "\x227C" ,"Precedes;" * "\x227A" ,"PrecedesEqual;" * "\x2AAF" ,"PrecedesSlantEqual;" * "\x227C" ,"PrecedesTilde;" * "\x227E" ,"preceq;" * "\x2AAF" ,"precnapprox;" * "\x2AB9" ,"precneqq;" * "\x2AB5" ,"precnsim;" * "\x22E8" ,"precsim;" * "\x227E" ,"prime;" * "\x2032" ,"Prime;" * "\x2033" ,"primes;" * "\x2119" ,"prnap;" * "\x2AB9" ,"prnE;" * "\x2AB5" ,"prnsim;" * "\x22E8" ,"prod;" * "\x220F" ,"Product;" * "\x220F" ,"profalar;" * "\x232E" ,"profline;" * "\x2312" ,"profsurf;" * "\x2313" ,"prop;" * "\x221D" ,"Proportion;" * "\x2237" ,"Proportional;" * "\x221D" ,"propto;" * "\x221D" ,"prsim;" * "\x227E" ,"prurel;" * "\x22B0" ,"Pscr;" * "\x1D4AB" ,"pscr;" * "\x1D4C5" ,"Psi;" * "\x03A8" ,"psi;" * "\x03C8" ,"puncsp;" * "\x2008" ,"Qfr;" * "\x1D514" ,"qfr;" * "\x1D52E" ,"qint;" * "\x2A0C" ,"Qopf;" * "\x211A" ,"qopf;" * "\x1D562" ,"qprime;" * "\x2057" ,"Qscr;" * "\x1D4AC" ,"qscr;" * "\x1D4C6" ,"quaternions;" * "\x210D" ,"quatint;" * "\x2A16" ,"quest;" * "\x003F" ,"questeq;" * "\x225F" ,"QUOT" * "\x0022" ,"quot" * "\x0022" ,"QUOT;" * "\x0022" ,"quot;" * "\x0022" ,"rAarr;" * "\x21DB" ,"race;" * "\x223D\x0331" ,"Racute;" * "\x0154" ,"racute;" * "\x0155" ,"radic;" * "\x221A" ,"raemptyv;" * "\x29B3" ,"rang;" * "\x27E9" ,"Rang;" * "\x27EB" ,"rangd;" * "\x2992" ,"range;" * "\x29A5" ,"rangle;" * "\x27E9" ,"raquo" * "\x00BB" ,"raquo;" * "\x00BB" ,"rarr;" * "\x2192" ,"Rarr;" * "\x21A0" ,"rArr;" * "\x21D2" ,"rarrap;" * "\x2975" ,"rarrb;" * "\x21E5" ,"rarrbfs;" * "\x2920" ,"rarrc;" * "\x2933" ,"rarrfs;" * "\x291E" ,"rarrhk;" * "\x21AA" ,"rarrlp;" * "\x21AC" ,"rarrpl;" * "\x2945" ,"rarrsim;" * "\x2974" ,"rarrtl;" * "\x21A3" ,"Rarrtl;" * "\x2916" ,"rarrw;" * "\x219D" ,"ratail;" * "\x291A" ,"rAtail;" * "\x291C" ,"ratio;" * "\x2236" ,"rationals;" * "\x211A" ,"rbarr;" * "\x290D" ,"rBarr;" * "\x290F" ,"RBarr;" * "\x2910" ,"rbbrk;" * "\x2773" ,"rbrace;" * "\x007D" ,"rbrack;" * "\x005D" ,"rbrke;" * "\x298C" ,"rbrksld;" * "\x298E" ,"rbrkslu;" * "\x2990" ,"Rcaron;" * "\x0158" ,"rcaron;" * "\x0159" ,"Rcedil;" * "\x0156" ,"rcedil;" * "\x0157" ,"rceil;" * "\x2309" ,"rcub;" * "\x007D" ,"Rcy;" * "\x0420" ,"rcy;" * "\x0440" ,"rdca;" * "\x2937" ,"rdldhar;" * "\x2969" ,"rdquo;" * "\x201D" ,"rdquor;" * "\x201D" ,"rdsh;" * "\x21B3" ,"Re;" * "\x211C" ,"real;" * "\x211C" ,"realine;" * "\x211B" ,"realpart;" * "\x211C" ,"reals;" * "\x211D" ,"rect;" * "\x25AD" ,"REG" * "\x00AE" ,"reg" * "\x00AE" ,"REG;" * "\x00AE" ,"reg;" * "\x00AE" ,"ReverseElement;" * "\x220B" ,"ReverseEquilibrium;" * "\x21CB" ,"ReverseUpEquilibrium;" * "\x296F" ,"rfisht;" * "\x297D" ,"rfloor;" * "\x230B" ,"Rfr;" * "\x211C" ,"rfr;" * "\x1D52F" ,"rHar;" * "\x2964" ,"rhard;" * "\x21C1" ,"rharu;" * "\x21C0" ,"rharul;" * "\x296C" ,"Rho;" * "\x03A1" ,"rho;" * "\x03C1" ,"rhov;" * "\x03F1" ,"RightAngleBracket;" * "\x27E9" ,"RightArrow;" * "\x2192" ,"rightarrow;" * "\x2192" ,"Rightarrow;" * "\x21D2" ,"RightArrowBar;" * "\x21E5" ,"RightArrowLeftArrow;" * "\x21C4" ,"rightarrowtail;" * "\x21A3" ,"RightCeiling;" * "\x2309" ,"RightDoubleBracket;" * "\x27E7" ,"RightDownTeeVector;" * "\x295D" ,"RightDownVector;" * "\x21C2" ,"RightDownVectorBar;" * "\x2955" ,"RightFloor;" * "\x230B" ,"rightharpoondown;" * "\x21C1" ,"rightharpoonup;" * "\x21C0" ,"rightleftarrows;" * "\x21C4" ,"rightleftharpoons;" * "\x21CC" ,"rightrightarrows;" * "\x21C9" ,"rightsquigarrow;" * "\x219D" ,"RightTee;" * "\x22A2" ,"RightTeeArrow;" * "\x21A6" ,"RightTeeVector;" * "\x295B" ,"rightthreetimes;" * "\x22CC" ,"RightTriangle;" * "\x22B3" ,"RightTriangleBar;" * "\x29D0" ,"RightTriangleEqual;" * "\x22B5" ,"RightUpDownVector;" * "\x294F" ,"RightUpTeeVector;" * "\x295C" ,"RightUpVector;" * "\x21BE" ,"RightUpVectorBar;" * "\x2954" ,"RightVector;" * "\x21C0" ,"RightVectorBar;" * "\x2953" ,"ring;" * "\x02DA" ,"risingdotseq;" * "\x2253" ,"rlarr;" * "\x21C4" ,"rlhar;" * "\x21CC" ,"rlm;" * "\x200F" ,"rmoust;" * "\x23B1" ,"rmoustache;" * "\x23B1" ,"rnmid;" * "\x2AEE" ,"roang;" * "\x27ED" ,"roarr;" * "\x21FE" ,"robrk;" * "\x27E7" ,"ropar;" * "\x2986" ,"Ropf;" * "\x211D" ,"ropf;" * "\x1D563" ,"roplus;" * "\x2A2E" ,"rotimes;" * "\x2A35" ,"RoundImplies;" * "\x2970" ,"rpar;" * "\x0029" ,"rpargt;" * "\x2994" ,"rppolint;" * "\x2A12" ,"rrarr;" * "\x21C9" ,"Rrightarrow;" * "\x21DB" ,"rsaquo;" * "\x203A" ,"Rscr;" * "\x211B" ,"rscr;" * "\x1D4C7" ,"Rsh;" * "\x21B1" ,"rsh;" * "\x21B1" ,"rsqb;" * "\x005D" ,"rsquo;" * "\x2019" ,"rsquor;" * "\x2019" ,"rthree;" * "\x22CC" ,"rtimes;" * "\x22CA" ,"rtri;" * "\x25B9" ,"rtrie;" * "\x22B5" ,"rtrif;" * "\x25B8" ,"rtriltri;" * "\x29CE" ,"RuleDelayed;" * "\x29F4" ,"ruluhar;" * "\x2968" ,"rx;" * "\x211E" ,"Sacute;" * "\x015A" ,"sacute;" * "\x015B" ,"sbquo;" * "\x201A" ,"sc;" * "\x227B" ,"Sc;" * "\x2ABC" ,"scap;" * "\x2AB8" ,"Scaron;" * "\x0160" ,"scaron;" * "\x0161" ,"sccue;" * "\x227D" ,"sce;" * "\x2AB0" ,"scE;" * "\x2AB4" ,"Scedil;" * "\x015E" ,"scedil;" * "\x015F" ,"Scirc;" * "\x015C" ,"scirc;" * "\x015D" ,"scnap;" * "\x2ABA" ,"scnE;" * "\x2AB6" ,"scnsim;" * "\x22E9" ,"scpolint;" * "\x2A13" ,"scsim;" * "\x227F" ,"Scy;" * "\x0421" ,"scy;" * "\x0441" ,"sdot;" * "\x22C5" ,"sdotb;" * "\x22A1" ,"sdote;" * "\x2A66" ,"searhk;" * "\x2925" ,"searr;" * "\x2198" ,"seArr;" * "\x21D8" ,"searrow;" * "\x2198" ,"sect" * "\x00A7" ,"sect;" * "\x00A7" ,"semi;" * "\x003B" ,"seswar;" * "\x2929" ,"setminus;" * "\x2216" ,"setmn;" * "\x2216" ,"sext;" * "\x2736" ,"Sfr;" * "\x1D516" ,"sfr;" * "\x1D530" ,"sfrown;" * "\x2322" ,"sharp;" * "\x266F" ,"SHCHcy;" * "\x0429" ,"shchcy;" * "\x0449" ,"SHcy;" * "\x0428" ,"shcy;" * "\x0448" ,"ShortDownArrow;" * "\x2193" ,"ShortLeftArrow;" * "\x2190" ,"shortmid;" * "\x2223" ,"shortparallel;" * "\x2225" ,"ShortRightArrow;" * "\x2192" ,"ShortUpArrow;" * "\x2191" ,"shy" * "\x00AD" ,"shy;" * "\x00AD" ,"Sigma;" * "\x03A3" ,"sigma;" * "\x03C3" ,"sigmaf;" * "\x03C2" ,"sigmav;" * "\x03C2" ,"sim;" * "\x223C" ,"simdot;" * "\x2A6A" ,"sime;" * "\x2243" ,"simeq;" * "\x2243" ,"simg;" * "\x2A9E" ,"simgE;" * "\x2AA0" ,"siml;" * "\x2A9D" ,"simlE;" * "\x2A9F" ,"simne;" * "\x2246" ,"simplus;" * "\x2A24" ,"simrarr;" * "\x2972" ,"slarr;" * "\x2190" ,"SmallCircle;" * "\x2218" ,"smallsetminus;" * "\x2216" ,"smashp;" * "\x2A33" ,"smeparsl;" * "\x29E4" ,"smid;" * "\x2223" ,"smile;" * "\x2323" ,"smt;" * "\x2AAA" ,"smte;" * "\x2AAC" ,"smtes;" * "\x2AAC\xFE00" ,"SOFTcy;" * "\x042C" ,"softcy;" * "\x044C" ,"sol;" * "\x002F" ,"solb;" * "\x29C4" ,"solbar;" * "\x233F" ,"Sopf;" * "\x1D54A" ,"sopf;" * "\x1D564" ,"spades;" * "\x2660" ,"spadesuit;" * "\x2660" ,"spar;" * "\x2225" ,"sqcap;" * "\x2293" ,"sqcaps;" * "\x2293\xFE00" ,"sqcup;" * "\x2294" ,"sqcups;" * "\x2294\xFE00" ,"Sqrt;" * "\x221A" ,"sqsub;" * "\x228F" ,"sqsube;" * "\x2291" ,"sqsubset;" * "\x228F" ,"sqsubseteq;" * "\x2291" ,"sqsup;" * "\x2290" ,"sqsupe;" * "\x2292" ,"sqsupset;" * "\x2290" ,"sqsupseteq;" * "\x2292" ,"squ;" * "\x25A1" ,"Square;" * "\x25A1" ,"square;" * "\x25A1" ,"SquareIntersection;" * "\x2293" ,"SquareSubset;" * "\x228F" ,"SquareSubsetEqual;" * "\x2291" ,"SquareSuperset;" * "\x2290" ,"SquareSupersetEqual;" * "\x2292" ,"SquareUnion;" * "\x2294" ,"squarf;" * "\x25AA" ,"squf;" * "\x25AA" ,"srarr;" * "\x2192" ,"Sscr;" * "\x1D4AE" ,"sscr;" * "\x1D4C8" ,"ssetmn;" * "\x2216" ,"ssmile;" * "\x2323" ,"sstarf;" * "\x22C6" ,"Star;" * "\x22C6" ,"star;" * "\x2606" ,"starf;" * "\x2605" ,"straightepsilon;" * "\x03F5" ,"straightphi;" * "\x03D5" ,"strns;" * "\x00AF" ,"sub;" * "\x2282" ,"Sub;" * "\x22D0" ,"subdot;" * "\x2ABD" ,"sube;" * "\x2286" ,"subE;" * "\x2AC5" ,"subedot;" * "\x2AC3" ,"submult;" * "\x2AC1" ,"subne;" * "\x228A" ,"subnE;" * "\x2ACB" ,"subplus;" * "\x2ABF" ,"subrarr;" * "\x2979" ,"subset;" * "\x2282" ,"Subset;" * "\x22D0" ,"subseteq;" * "\x2286" ,"subseteqq;" * "\x2AC5" ,"SubsetEqual;" * "\x2286" ,"subsetneq;" * "\x228A" ,"subsetneqq;" * "\x2ACB" ,"subsim;" * "\x2AC7" ,"subsub;" * "\x2AD5" ,"subsup;" * "\x2AD3" ,"succ;" * "\x227B" ,"succapprox;" * "\x2AB8" ,"succcurlyeq;" * "\x227D" ,"Succeeds;" * "\x227B" ,"SucceedsEqual;" * "\x2AB0" ,"SucceedsSlantEqual;" * "\x227D" ,"SucceedsTilde;" * "\x227F" ,"succeq;" * "\x2AB0" ,"succnapprox;" * "\x2ABA" ,"succneqq;" * "\x2AB6" ,"succnsim;" * "\x22E9" ,"succsim;" * "\x227F" ,"SuchThat;" * "\x220B" ,"Sum;" * "\x2211" ,"sum;" * "\x2211" ,"sung;" * "\x266A" ,"sup1" * "\x00B9" ,"sup1;" * "\x00B9" ,"sup2" * "\x00B2" ,"sup2;" * "\x00B2" ,"sup3" * "\x00B3" ,"sup3;" * "\x00B3" ,"sup;" * "\x2283" ,"Sup;" * "\x22D1" ,"supdot;" * "\x2ABE" ,"supdsub;" * "\x2AD8" ,"supe;" * "\x2287" ,"supE;" * "\x2AC6" ,"supedot;" * "\x2AC4" ,"Superset;" * "\x2283" ,"SupersetEqual;" * "\x2287" ,"suphsol;" * "\x27C9" ,"suphsub;" * "\x2AD7" ,"suplarr;" * "\x297B" ,"supmult;" * "\x2AC2" ,"supne;" * "\x228B" ,"supnE;" * "\x2ACC" ,"supplus;" * "\x2AC0" ,"supset;" * "\x2283" ,"Supset;" * "\x22D1" ,"supseteq;" * "\x2287" ,"supseteqq;" * "\x2AC6" ,"supsetneq;" * "\x228B" ,"supsetneqq;" * "\x2ACC" ,"supsim;" * "\x2AC8" ,"supsub;" * "\x2AD4" ,"supsup;" * "\x2AD6" ,"swarhk;" * "\x2926" ,"swarr;" * "\x2199" ,"swArr;" * "\x21D9" ,"swarrow;" * "\x2199" ,"swnwar;" * "\x292A" ,"szlig" * "\x00DF" ,"szlig;" * "\x00DF" ,"Tab;" * "\x0009" ,"target;" * "\x2316" ,"Tau;" * "\x03A4" ,"tau;" * "\x03C4" ,"tbrk;" * "\x23B4" ,"Tcaron;" * "\x0164" ,"tcaron;" * "\x0165" ,"Tcedil;" * "\x0162" ,"tcedil;" * "\x0163" ,"Tcy;" * "\x0422" ,"tcy;" * "\x0442" ,"tdot;" * "\x20DB" ,"telrec;" * "\x2315" ,"Tfr;" * "\x1D517" ,"tfr;" * "\x1D531" ,"there4;" * "\x2234" ,"Therefore;" * "\x2234" ,"therefore;" * "\x2234" ,"Theta;" * "\x0398" ,"theta;" * "\x03B8" ,"thetasym;" * "\x03D1" ,"thetav;" * "\x03D1" ,"thickapprox;" * "\x2248" ,"thicksim;" * "\x223C" ,"ThickSpace;" * "\x205F\x200A" ,"thinsp;" * "\x2009" ,"ThinSpace;" * "\x2009" ,"thkap;" * "\x2248" ,"thksim;" * "\x223C" ,"THORN" * "\x00DE" ,"thorn" * "\x00FE" ,"THORN;" * "\x00DE" ,"thorn;" * "\x00FE" ,"tilde;" * "\x02DC" ,"Tilde;" * "\x223C" ,"TildeEqual;" * "\x2243" ,"TildeFullEqual;" * "\x2245" ,"TildeTilde;" * "\x2248" ,"times" * "\x00D7" ,"times;" * "\x00D7" ,"timesb;" * "\x22A0" ,"timesbar;" * "\x2A31" ,"timesd;" * "\x2A30" ,"tint;" * "\x222D" ,"toea;" * "\x2928" ,"top;" * "\x22A4" ,"topbot;" * "\x2336" ,"topcir;" * "\x2AF1" ,"Topf;" * "\x1D54B" ,"topf;" * "\x1D565" ,"topfork;" * "\x2ADA" ,"tosa;" * "\x2929" ,"tprime;" * "\x2034" ,"TRADE;" * "\x2122" ,"trade;" * "\x2122" ,"triangle;" * "\x25B5" ,"triangledown;" * "\x25BF" ,"triangleleft;" * "\x25C3" ,"trianglelefteq;" * "\x22B4" ,"triangleq;" * "\x225C" ,"triangleright;" * "\x25B9" ,"trianglerighteq;" * "\x22B5" ,"tridot;" * "\x25EC" ,"trie;" * "\x225C" ,"triminus;" * "\x2A3A" ,"TripleDot;" * "\x20DB" ,"triplus;" * "\x2A39" ,"trisb;" * "\x29CD" ,"tritime;" * "\x2A3B" ,"trpezium;" * "\x23E2" ,"Tscr;" * "\x1D4AF" ,"tscr;" * "\x1D4C9" ,"TScy;" * "\x0426" ,"tscy;" * "\x0446" ,"TSHcy;" * "\x040B" ,"tshcy;" * "\x045B" ,"Tstrok;" * "\x0166" ,"tstrok;" * "\x0167" ,"twixt;" * "\x226C" ,"twoheadleftarrow;" * "\x219E" ,"twoheadrightarrow;" * "\x21A0" ,"Uacute" * "\x00DA" ,"uacute" * "\x00FA" ,"Uacute;" * "\x00DA" ,"uacute;" * "\x00FA" ,"uarr;" * "\x2191" ,"Uarr;" * "\x219F" ,"uArr;" * "\x21D1" ,"Uarrocir;" * "\x2949" ,"Ubrcy;" * "\x040E" ,"ubrcy;" * "\x045E" ,"Ubreve;" * "\x016C" ,"ubreve;" * "\x016D" ,"Ucirc" * "\x00DB" ,"ucirc" * "\x00FB" ,"Ucirc;" * "\x00DB" ,"ucirc;" * "\x00FB" ,"Ucy;" * "\x0423" ,"ucy;" * "\x0443" ,"udarr;" * "\x21C5" ,"Udblac;" * "\x0170" ,"udblac;" * "\x0171" ,"udhar;" * "\x296E" ,"ufisht;" * "\x297E" ,"Ufr;" * "\x1D518" ,"ufr;" * "\x1D532" ,"Ugrave" * "\x00D9" ,"ugrave" * "\x00F9" ,"Ugrave;" * "\x00D9" ,"ugrave;" * "\x00F9" ,"uHar;" * "\x2963" ,"uharl;" * "\x21BF" ,"uharr;" * "\x21BE" ,"uhblk;" * "\x2580" ,"ulcorn;" * "\x231C" ,"ulcorner;" * "\x231C" ,"ulcrop;" * "\x230F" ,"ultri;" * "\x25F8" ,"Umacr;" * "\x016A" ,"umacr;" * "\x016B" ,"uml" * "\x00A8" ,"uml;" * "\x00A8" ,"UnderBar;" * "\x005F" ,"UnderBrace;" * "\x23DF" ,"UnderBracket;" * "\x23B5" ,"UnderParenthesis;" * "\x23DD" ,"Union;" * "\x22C3" ,"UnionPlus;" * "\x228E" ,"Uogon;" * "\x0172" ,"uogon;" * "\x0173" ,"Uopf;" * "\x1D54C" ,"uopf;" * "\x1D566" ,"UpArrow;" * "\x2191" ,"uparrow;" * "\x2191" ,"Uparrow;" * "\x21D1" ,"UpArrowBar;" * "\x2912" ,"UpArrowDownArrow;" * "\x21C5" ,"UpDownArrow;" * "\x2195" ,"updownarrow;" * "\x2195" ,"Updownarrow;" * "\x21D5" ,"UpEquilibrium;" * "\x296E" ,"upharpoonleft;" * "\x21BF" ,"upharpoonright;" * "\x21BE" ,"uplus;" * "\x228E" ,"UpperLeftArrow;" * "\x2196" ,"UpperRightArrow;" * "\x2197" ,"upsi;" * "\x03C5" ,"Upsi;" * "\x03D2" ,"upsih;" * "\x03D2" ,"Upsilon;" * "\x03A5" ,"upsilon;" * "\x03C5" ,"UpTee;" * "\x22A5" ,"UpTeeArrow;" * "\x21A5" ,"upuparrows;" * "\x21C8" ,"urcorn;" * "\x231D" ,"urcorner;" * "\x231D" ,"urcrop;" * "\x230E" ,"Uring;" * "\x016E" ,"uring;" * "\x016F" ,"urtri;" * "\x25F9" ,"Uscr;" * "\x1D4B0" ,"uscr;" * "\x1D4CA" ,"utdot;" * "\x22F0" ,"Utilde;" * "\x0168" ,"utilde;" * "\x0169" ,"utri;" * "\x25B5" ,"utrif;" * "\x25B4" ,"uuarr;" * "\x21C8" ,"Uuml" * "\x00DC" ,"uuml" * "\x00FC" ,"Uuml;" * "\x00DC" ,"uuml;" * "\x00FC" ,"uwangle;" * "\x29A7" ,"vangrt;" * "\x299C" ,"varepsilon;" * "\x03F5" ,"varkappa;" * "\x03F0" ,"varnothing;" * "\x2205" ,"varphi;" * "\x03D5" ,"varpi;" * "\x03D6" ,"varpropto;" * "\x221D" ,"varr;" * "\x2195" ,"vArr;" * "\x21D5" ,"varrho;" * "\x03F1" ,"varsigma;" * "\x03C2" ,"varsubsetneq;" * "\x228A\xFE00" ,"varsubsetneqq;" * "\x2ACB\xFE00" ,"varsupsetneq;" * "\x228B\xFE00" ,"varsupsetneqq;" * "\x2ACC\xFE00" ,"vartheta;" * "\x03D1" ,"vartriangleleft;" * "\x22B2" ,"vartriangleright;" * "\x22B3" ,"vBar;" * "\x2AE8" ,"Vbar;" * "\x2AEB" ,"vBarv;" * "\x2AE9" ,"Vcy;" * "\x0412" ,"vcy;" * "\x0432" ,"vdash;" * "\x22A2" ,"vDash;" * "\x22A8" ,"Vdash;" * "\x22A9" ,"VDash;" * "\x22AB" ,"Vdashl;" * "\x2AE6" ,"vee;" * "\x2228" ,"Vee;" * "\x22C1" ,"veebar;" * "\x22BB" ,"veeeq;" * "\x225A" ,"vellip;" * "\x22EE" ,"verbar;" * "\x007C" ,"Verbar;" * "\x2016" ,"vert;" * "\x007C" ,"Vert;" * "\x2016" ,"VerticalBar;" * "\x2223" ,"VerticalLine;" * "\x007C" ,"VerticalSeparator;" * "\x2758" ,"VerticalTilde;" * "\x2240" ,"VeryThinSpace;" * "\x200A" ,"Vfr;" * "\x1D519" ,"vfr;" * "\x1D533" ,"vltri;" * "\x22B2" ,"vnsub;" * "\x2282\x20D2" ,"vnsup;" * "\x2283\x20D2" ,"Vopf;" * "\x1D54D" ,"vopf;" * "\x1D567" ,"vprop;" * "\x221D" ,"vrtri;" * "\x22B3" ,"Vscr;" * "\x1D4B1" ,"vscr;" * "\x1D4CB" ,"vsubne;" * "\x228A\xFE00" ,"vsubnE;" * "\x2ACB\xFE00" ,"vsupne;" * "\x228B\xFE00" ,"vsupnE;" * "\x2ACC\xFE00" ,"Vvdash;" * "\x22AA" ,"vzigzag;" * "\x299A" ,"Wcirc;" * "\x0174" ,"wcirc;" * "\x0175" ,"wedbar;" * "\x2A5F" ,"wedge;" * "\x2227" ,"Wedge;" * "\x22C0" ,"wedgeq;" * "\x2259" ,"weierp;" * "\x2118" ,"Wfr;" * "\x1D51A" ,"wfr;" * "\x1D534" ,"Wopf;" * "\x1D54E" ,"wopf;" * "\x1D568" ,"wp;" * "\x2118" ,"wr;" * "\x2240" ,"wreath;" * "\x2240" ,"Wscr;" * "\x1D4B2" ,"wscr;" * "\x1D4CC" ,"xcap;" * "\x22C2" ,"xcirc;" * "\x25EF" ,"xcup;" * "\x22C3" ,"xdtri;" * "\x25BD" ,"Xfr;" * "\x1D51B" ,"xfr;" * "\x1D535" ,"xharr;" * "\x27F7" ,"xhArr;" * "\x27FA" ,"Xi;" * "\x039E" ,"xi;" * "\x03BE" ,"xlarr;" * "\x27F5" ,"xlArr;" * "\x27F8" ,"xmap;" * "\x27FC" ,"xnis;" * "\x22FB" ,"xodot;" * "\x2A00" ,"Xopf;" * "\x1D54F" ,"xopf;" * "\x1D569" ,"xoplus;" * "\x2A01" ,"xotime;" * "\x2A02" ,"xrarr;" * "\x27F6" ,"xrArr;" * "\x27F9" ,"Xscr;" * "\x1D4B3" ,"xscr;" * "\x1D4CD" ,"xsqcup;" * "\x2A06" ,"xuplus;" * "\x2A04" ,"xutri;" * "\x25B3" ,"xvee;" * "\x22C1" ,"xwedge;" * "\x22C0" ,"Yacute" * "\x00DD" ,"yacute" * "\x00FD" ,"Yacute;" * "\x00DD" ,"yacute;" * "\x00FD" ,"YAcy;" * "\x042F" ,"yacy;" * "\x044F" ,"Ycirc;" * "\x0176" ,"ycirc;" * "\x0177" ,"Ycy;" * "\x042B" ,"ycy;" * "\x044B" ,"yen" * "\x00A5" ,"yen;" * "\x00A5" ,"Yfr;" * "\x1D51C" ,"yfr;" * "\x1D536" ,"YIcy;" * "\x0407" ,"yicy;" * "\x0457" ,"Yopf;" * "\x1D550" ,"yopf;" * "\x1D56A" ,"Yscr;" * "\x1D4B4" ,"yscr;" * "\x1D4CE" ,"YUcy;" * "\x042E" ,"yucy;" * "\x044E" ,"yuml" * "\x00FF" ,"yuml;" * "\x00FF" ,"Yuml;" * "\x0178" ,"Zacute;" * "\x0179" ,"zacute;" * "\x017A" ,"Zcaron;" * "\x017D" ,"zcaron;" * "\x017E" ,"Zcy;" * "\x0417" ,"zcy;" * "\x0437" ,"Zdot;" * "\x017B" ,"zdot;" * "\x017C" ,"zeetrf;" * "\x2128" ,"ZeroWidthSpace;" * "\x200B" ,"Zeta;" * "\x0396" ,"zeta;" * "\x03B6" ,"Zfr;" * "\x2128" ,"zfr;" * "\x1D537" ,"ZHcy;" * "\x0416" ,"zhcy;" * "\x0436" ,"zigrarr;" * "\x21DD" ,"Zopf;" * "\x2124" ,"zopf;" * "\x1D56B" ,"Zscr;" * "\x1D4B5" ,"zscr;" * "\x1D4CF" ,"zwj;" * "\x200D" ,"zwnj;" * "\x200C" ]