module Text.HTML.TagSoup.Entity(
lookupEntity, lookupNamedEntity, lookupNumericEntity,
escapeXML,
xmlEntities, htmlEntities
) where
import Data.Char
import qualified Data.IntMap as IntMap
import Data.Ix
import qualified Data.Map as Map
import Numeric
lookupEntity :: String -> Maybe String
lookupEntity ('#':xs) = lookupNumericEntity xs
lookupEntity xs = lookupNamedEntity xs
lookupNumericEntity :: String -> Maybe String
lookupNumericEntity = f
where
f ('x':xs) = 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
lookupNamedEntity :: String -> Maybe String
lookupNamedEntity = \x -> Map.lookup x mp
where mp = Map.fromList htmlEntities
escapeXML :: String -> String
escapeXML = concatMap $ \x -> IntMap.findWithDefault [x] (ord x) mp
where mp = IntMap.fromList [(ord b, "&"++a++";") | (a,[b]) <- xmlEntities]
xmlEntities :: [(String, String)]
xmlEntities = let a*b = (a,[b]) in
["quot" * '"'
,"amp" * '&'
,"lt" * '<'
,"gt" * '>'
]
htmlEntities :: [(String, String)]
htmlEntities = let (*) = (,) in
["Aacute" * "\x00C1"
,"aacute" * "\x00E1"
,"Abreve" * "\x0102"
,"abreve" * "\x0103"
,"ac" * "\x223E"
,"acd" * "\x223F"
,"acE" * "\x223E\x0333"
,"Acirc" * "\x00C2"
,"acirc" * "\x00E2"
,"acute" * "\x00B4"
,"Acy" * "\x0410"
,"acy" * "\x0430"
,"AElig" * "\x00C6"
,"aelig" * "\x00E6"
,"af" * "\x2061"
,"Afr" * "\xD835\xDD04"
,"afr" * "\xD835\xDD1E"
,"Agrave" * "\x00C0"
,"agrave" * "\x00E0"
,"alefsym" * "\x2135"
,"aleph" * "\x2135"
,"Alpha" * "\x0391"
,"alpha" * "\x03B1"
,"Amacr" * "\x0100"
,"amacr" * "\x0101"
,"amalg" * "\x2A3F"
,"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" * "\xD835\xDD38"
,"aopf" * "\xD835\xDD52"
,"ap" * "\x2248"
,"apacir" * "\x2A6F"
,"ape" * "\x224A"
,"apE" * "\x2A70"
,"apid" * "\x224B"
,"apos" * "\x0027"
,"ApplyFunction" * "\x2061"
,"approx" * "\x2248"
,"approxeq" * "\x224A"
,"Aring" * "\x00C5"
,"aring" * "\x00E5"
,"Ascr" * "\xD835\xDC9C"
,"ascr" * "\xD835\xDCB6"
,"Assign" * "\x2254"
,"ast" * "\x002A"
,"asymp" * "\x2248"
,"asympeq" * "\x224D"
,"Atilde" * "\x00C3"
,"atilde" * "\x00E3"
,"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" * "\xD835\xDD05"
,"bfr" * "\xD835\xDD1F"
,"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" * "\xD835\xDD39"
,"bopf" * "\xD835\xDD53"
,"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"
,"Bscr" * "\x212C"
,"bscr" * "\xD835\xDCB7"
,"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"
,"Ccirc" * "\x0108"
,"ccirc" * "\x0109"
,"Cconint" * "\x2230"
,"ccups" * "\x2A4C"
,"ccupssm" * "\x2A50"
,"Cdot" * "\x010A"
,"cdot" * "\x010B"
,"cedil" * "\x00B8"
,"Cedilla" * "\x00B8"
,"cemptyv" * "\x29B2"
,"cent" * "\x00A2"
,"CenterDot" * "\x00B7"
,"centerdot" * "\x00B7"
,"Cfr" * "\x212D"
,"cfr" * "\xD835\xDD20"
,"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" * "\xD835\xDD54"
,"coprod" * "\x2210"
,"Coproduct" * "\x2210"
,"COPY" * "\x00A9"
,"copy" * "\x00A9"
,"copysr" * "\x2117"
,"CounterClockwiseContourIntegral" * "\x2233"
,"crarr" * "\x21B5"
,"cross" * "\x2717"
,"Cross" * "\x2A2F"
,"Cscr" * "\xD835\xDC9E"
,"cscr" * "\xD835\xDCB8"
,"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"
,"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"
,"Del" * "\x2207"
,"Delta" * "\x0394"
,"delta" * "\x03B4"
,"demptyv" * "\x29B1"
,"dfisht" * "\x297F"
,"Dfr" * "\xD835\xDD07"
,"dfr" * "\xD835\xDD21"
,"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"
,"divideontimes" * "\x22C7"
,"divonx" * "\x22C7"
,"DJcy" * "\x0402"
,"djcy" * "\x0452"
,"dlcorn" * "\x231E"
,"dlcrop" * "\x230D"
,"dollar" * "\x0024"
,"Dopf" * "\xD835\xDD3B"
,"dopf" * "\xD835\xDD55"
,"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" * "\xD835\xDC9F"
,"dscr" * "\xD835\xDCB9"
,"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"
,"easter" * "\x2A6E"
,"Ecaron" * "\x011A"
,"ecaron" * "\x011B"
,"ecir" * "\x2256"
,"Ecirc" * "\x00CA"
,"ecirc" * "\x00EA"
,"ecolon" * "\x2255"
,"Ecy" * "\x042D"
,"ecy" * "\x044D"
,"eDDot" * "\x2A77"
,"Edot" * "\x0116"
,"edot" * "\x0117"
,"eDot" * "\x2251"
,"ee" * "\x2147"
,"efDot" * "\x2252"
,"Efr" * "\xD835\xDD08"
,"efr" * "\xD835\xDD22"
,"eg" * "\x2A9A"
,"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"
,"emsp" * "\x2003"
,"emsp13" * "\x2004"
,"emsp14" * "\x2005"
,"ENG" * "\x014A"
,"eng" * "\x014B"
,"ensp" * "\x2002"
,"Eogon" * "\x0118"
,"eogon" * "\x0119"
,"Eopf" * "\xD835\xDD3C"
,"eopf" * "\xD835\xDD56"
,"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"
,"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" * "\xD835\xDD09"
,"ffr" * "\xD835\xDD23"
,"filig" * "\xFB01"
,"FilledSmallSquare" * "\x25FC"
,"FilledVerySmallSquare" * "\x25AA"
,"fjlig" * "\x0066\x006A"
,"flat" * "\x266D"
,"fllig" * "\xFB02"
,"fltns" * "\x25B1"
,"fnof" * "\x0192"
,"Fopf" * "\xD835\xDD3D"
,"fopf" * "\xD835\xDD57"
,"ForAll" * "\x2200"
,"forall" * "\x2200"
,"fork" * "\x22D4"
,"forkv" * "\x2AD9"
,"Fouriertrf" * "\x2131"
,"fpartint" * "\x2A0D"
,"frac12" * "\x00BD"
,"frac13" * "\x2153"
,"frac14" * "\x00BC"
,"frac15" * "\x2155"
,"frac16" * "\x2159"
,"frac18" * "\x215B"
,"frac23" * "\x2154"
,"frac25" * "\x2156"
,"frac34" * "\x00BE"
,"frac35" * "\x2157"
,"frac38" * "\x215C"
,"frac45" * "\x2158"
,"frac56" * "\x215A"
,"frac58" * "\x215D"
,"frac78" * "\x215E"
,"frasl" * "\x2044"
,"frown" * "\x2322"
,"Fscr" * "\x2131"
,"fscr" * "\xD835\xDCBB"
,"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" * "\xD835\xDD0A"
,"gfr" * "\xD835\xDD24"
,"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" * "\xD835\xDD3E"
,"gopf" * "\xD835\xDD58"
,"grave" * "\x0060"
,"GreaterEqual" * "\x2265"
,"GreaterEqualLess" * "\x22DB"
,"GreaterFullEqual" * "\x2267"
,"GreaterGreater" * "\x2AA2"
,"GreaterLess" * "\x2277"
,"GreaterSlantEqual" * "\x2A7E"
,"GreaterTilde" * "\x2273"
,"gscr" * "\x210A"
,"Gscr" * "\xD835\xDCA2"
,"gsim" * "\x2273"
,"gsime" * "\x2A8E"
,"gsiml" * "\x2A90"
,"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" * "\xD835\xDD25"
,"HilbertSpace" * "\x210B"
,"hksearow" * "\x2925"
,"hkswarow" * "\x2926"
,"hoarr" * "\x21FF"
,"homtht" * "\x223B"
,"hookleftarrow" * "\x21A9"
,"hookrightarrow" * "\x21AA"
,"Hopf" * "\x210D"
,"hopf" * "\xD835\xDD59"
,"horbar" * "\x2015"
,"HorizontalLine" * "\x2500"
,"Hscr" * "\x210B"
,"hscr" * "\xD835\xDCBD"
,"hslash" * "\x210F"
,"Hstrok" * "\x0126"
,"hstrok" * "\x0127"
,"HumpDownHump" * "\x224E"
,"HumpEqual" * "\x224F"
,"hybull" * "\x2043"
,"hyphen" * "\x2010"
,"Iacute" * "\x00CD"
,"iacute" * "\x00ED"
,"ic" * "\x2063"
,"Icirc" * "\x00CE"
,"icirc" * "\x00EE"
,"Icy" * "\x0418"
,"icy" * "\x0438"
,"Idot" * "\x0130"
,"IEcy" * "\x0415"
,"iecy" * "\x0435"
,"iexcl" * "\x00A1"
,"iff" * "\x21D4"
,"Ifr" * "\x2111"
,"ifr" * "\xD835\xDD26"
,"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" * "\xD835\xDD40"
,"iopf" * "\xD835\xDD5A"
,"Iota" * "\x0399"
,"iota" * "\x03B9"
,"iprod" * "\x2A3C"
,"iquest" * "\x00BF"
,"Iscr" * "\x2110"
,"iscr" * "\xD835\xDCBE"
,"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"
,"Jcirc" * "\x0134"
,"jcirc" * "\x0135"
,"Jcy" * "\x0419"
,"jcy" * "\x0439"
,"Jfr" * "\xD835\xDD0D"
,"jfr" * "\xD835\xDD27"
,"jmath" * "\x0237"
,"Jopf" * "\xD835\xDD41"
,"jopf" * "\xD835\xDD5B"
,"Jscr" * "\xD835\xDCA5"
,"jscr" * "\xD835\xDCBF"
,"Jsercy" * "\x0408"
,"jsercy" * "\x0458"
,"Jukcy" * "\x0404"
,"jukcy" * "\x0454"
,"Kappa" * "\x039A"
,"kappa" * "\x03BA"
,"kappav" * "\x03F0"
,"Kcedil" * "\x0136"
,"kcedil" * "\x0137"
,"Kcy" * "\x041A"
,"kcy" * "\x043A"
,"Kfr" * "\xD835\xDD0E"
,"kfr" * "\xD835\xDD28"
,"kgreen" * "\x0138"
,"KHcy" * "\x0425"
,"khcy" * "\x0445"
,"KJcy" * "\x040C"
,"kjcy" * "\x045C"
,"Kopf" * "\xD835\xDD42"
,"kopf" * "\xD835\xDD5C"
,"Kscr" * "\xD835\xDCA6"
,"kscr" * "\xD835\xDCC0"
,"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"
,"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" * "\xD835\xDD0F"
,"lfr" * "\xD835\xDD29"
,"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" * "\xD835\xDD43"
,"lopf" * "\xD835\xDD5D"
,"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" * "\xD835\xDCC1"
,"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" * "\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"
,"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" * "\xD835\xDD10"
,"mfr" * "\xD835\xDD2A"
,"mho" * "\x2127"
,"micro" * "\x00B5"
,"mid" * "\x2223"
,"midast" * "\x002A"
,"midcir" * "\x2AF0"
,"middot" * "\x00B7"
,"minus" * "\x2212"
,"minusb" * "\x229F"
,"minusd" * "\x2238"
,"minusdu" * "\x2A2A"
,"MinusPlus" * "\x2213"
,"mlcp" * "\x2ADB"
,"mldr" * "\x2026"
,"mnplus" * "\x2213"
,"models" * "\x22A7"
,"Mopf" * "\xD835\xDD44"
,"mopf" * "\xD835\xDD5E"
,"mp" * "\x2213"
,"Mscr" * "\x2133"
,"mscr" * "\xD835\xDCC2"
,"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"
,"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" * "\xD835\xDD11"
,"nfr" * "\xD835\xDD2B"
,"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" * "\xD835\xDD5F"
,"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" * "\xD835\xDCA9"
,"nscr" * "\xD835\xDCC3"
,"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"
,"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"
,"oast" * "\x229B"
,"ocir" * "\x229A"
,"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" * "\xD835\xDD12"
,"ofr" * "\xD835\xDD2C"
,"ogon" * "\x02DB"
,"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" * "\xD835\xDD46"
,"oopf" * "\xD835\xDD60"
,"opar" * "\x29B7"
,"OpenCurlyDoubleQuote" * "\x201C"
,"OpenCurlyQuote" * "\x2018"
,"operp" * "\x29B9"
,"oplus" * "\x2295"
,"or" * "\x2228"
,"Or" * "\x2A54"
,"orarr" * "\x21BB"
,"ord" * "\x2A5D"
,"order" * "\x2134"
,"orderof" * "\x2134"
,"ordf" * "\x00AA"
,"ordm" * "\x00BA"
,"origof" * "\x22B6"
,"oror" * "\x2A56"
,"orslope" * "\x2A57"
,"orv" * "\x2A5B"
,"oS" * "\x24C8"
,"oscr" * "\x2134"
,"Oscr" * "\xD835\xDCAA"
,"Oslash" * "\x00D8"
,"oslash" * "\x00F8"
,"osol" * "\x2298"
,"Otilde" * "\x00D5"
,"otilde" * "\x00F5"
,"otimes" * "\x2297"
,"Otimes" * "\x2A37"
,"otimesas" * "\x2A36"
,"Ouml" * "\x00D6"
,"ouml" * "\x00F6"
,"ovbar" * "\x233D"
,"OverBar" * "\x203E"
,"OverBrace" * "\x23DE"
,"OverBracket" * "\x23B4"
,"OverParenthesis" * "\x23DC"
,"par" * "\x2225"
,"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" * "\xD835\xDD13"
,"pfr" * "\xD835\xDD2D"
,"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"
,"plussim" * "\x2A26"
,"plustwo" * "\x2A27"
,"pm" * "\x00B1"
,"Poincareplane" * "\x210C"
,"pointint" * "\x2A15"
,"Popf" * "\x2119"
,"popf" * "\xD835\xDD61"
,"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" * "\xD835\xDCAB"
,"pscr" * "\xD835\xDCC5"
,"Psi" * "\x03A8"
,"psi" * "\x03C8"
,"puncsp" * "\x2008"
,"Qfr" * "\xD835\xDD14"
,"qfr" * "\xD835\xDD2E"
,"qint" * "\x2A0C"
,"Qopf" * "\x211A"
,"qopf" * "\xD835\xDD62"
,"qprime" * "\x2057"
,"Qscr" * "\xD835\xDCAC"
,"qscr" * "\xD835\xDCC6"
,"quaternions" * "\x210D"
,"quatint" * "\x2A16"
,"quest" * "\x003F"
,"questeq" * "\x225F"
,"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"
,"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"
,"ReverseElement" * "\x220B"
,"ReverseEquilibrium" * "\x21CB"
,"ReverseUpEquilibrium" * "\x296F"
,"rfisht" * "\x297D"
,"rfloor" * "\x230B"
,"Rfr" * "\x211C"
,"rfr" * "\xD835\xDD2F"
,"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" * "\xD835\xDD63"
,"roplus" * "\x2A2E"
,"rotimes" * "\x2A35"
,"RoundImplies" * "\x2970"
,"rpar" * "\x0029"
,"rpargt" * "\x2994"
,"rppolint" * "\x2A12"
,"rrarr" * "\x21C9"
,"Rrightarrow" * "\x21DB"
,"rsaquo" * "\x203A"
,"Rscr" * "\x211B"
,"rscr" * "\xD835\xDCC7"
,"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"
,"semi" * "\x003B"
,"seswar" * "\x2929"
,"setminus" * "\x2216"
,"setmn" * "\x2216"
,"sext" * "\x2736"
,"Sfr" * "\xD835\xDD16"
,"sfr" * "\xD835\xDD30"
,"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"
,"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" * "\xD835\xDD4A"
,"sopf" * "\xD835\xDD64"
,"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" * "\xD835\xDCAE"
,"sscr" * "\xD835\xDCC8"
,"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"
,"sup" * "\x2283"
,"Sup" * "\x22D1"
,"sup1" * "\x00B9"
,"sup2" * "\x00B2"
,"sup3" * "\x00B3"
,"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"
,"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" * "\xD835\xDD17"
,"tfr" * "\xD835\xDD31"
,"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"
,"tilde" * "\x02DC"
,"Tilde" * "\x223C"
,"TildeEqual" * "\x2243"
,"TildeFullEqual" * "\x2245"
,"TildeTilde" * "\x2248"
,"times" * "\x00D7"
,"timesb" * "\x22A0"
,"timesbar" * "\x2A31"
,"timesd" * "\x2A30"
,"tint" * "\x222D"
,"toea" * "\x2928"
,"top" * "\x22A4"
,"topbot" * "\x2336"
,"topcir" * "\x2AF1"
,"Topf" * "\xD835\xDD4B"
,"topf" * "\xD835\xDD65"
,"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" * "\xD835\xDCAF"
,"tscr" * "\xD835\xDCC9"
,"TScy" * "\x0426"
,"tscy" * "\x0446"
,"TSHcy" * "\x040B"
,"tshcy" * "\x045B"
,"Tstrok" * "\x0166"
,"tstrok" * "\x0167"
,"twixt" * "\x226C"
,"twoheadleftarrow" * "\x219E"
,"twoheadrightarrow" * "\x21A0"
,"Uacute" * "\x00DA"
,"uacute" * "\x00FA"
,"uarr" * "\x2191"
,"Uarr" * "\x219F"
,"uArr" * "\x21D1"
,"Uarrocir" * "\x2949"
,"Ubrcy" * "\x040E"
,"ubrcy" * "\x045E"
,"Ubreve" * "\x016C"
,"ubreve" * "\x016D"
,"Ucirc" * "\x00DB"
,"ucirc" * "\x00FB"
,"Ucy" * "\x0423"
,"ucy" * "\x0443"
,"udarr" * "\x21C5"
,"Udblac" * "\x0170"
,"udblac" * "\x0171"
,"udhar" * "\x296E"
,"ufisht" * "\x297E"
,"Ufr" * "\xD835\xDD18"
,"ufr" * "\xD835\xDD32"
,"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"
,"UnderBar" * "\x005F"
,"UnderBrace" * "\x23DF"
,"UnderBracket" * "\x23B5"
,"UnderParenthesis" * "\x23DD"
,"Union" * "\x22C3"
,"UnionPlus" * "\x228E"
,"Uogon" * "\x0172"
,"uogon" * "\x0173"
,"Uopf" * "\xD835\xDD4C"
,"uopf" * "\xD835\xDD66"
,"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" * "\xD835\xDCB0"
,"uscr" * "\xD835\xDCCA"
,"utdot" * "\x22F0"
,"Utilde" * "\x0168"
,"utilde" * "\x0169"
,"utri" * "\x25B5"
,"utrif" * "\x25B4"
,"uuarr" * "\x21C8"
,"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" * "\xD835\xDD19"
,"vfr" * "\xD835\xDD33"
,"vltri" * "\x22B2"
,"vnsub" * "\x2282\x20D2"
,"vnsup" * "\x2283\x20D2"
,"Vopf" * "\xD835\xDD4D"
,"vopf" * "\xD835\xDD67"
,"vprop" * "\x221D"
,"vrtri" * "\x22B3"
,"Vscr" * "\xD835\xDCB1"
,"vscr" * "\xD835\xDCCB"
,"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" * "\xD835\xDD1A"
,"wfr" * "\xD835\xDD34"
,"Wopf" * "\xD835\xDD4E"
,"wopf" * "\xD835\xDD68"
,"wp" * "\x2118"
,"wr" * "\x2240"
,"wreath" * "\x2240"
,"Wscr" * "\xD835\xDCB2"
,"wscr" * "\xD835\xDCCC"
,"xcap" * "\x22C2"
,"xcirc" * "\x25EF"
,"xcup" * "\x22C3"
,"xdtri" * "\x25BD"
,"Xfr" * "\xD835\xDD1B"
,"xfr" * "\xD835\xDD35"
,"xharr" * "\x27F7"
,"xhArr" * "\x27FA"
,"Xi" * "\x039E"
,"xi" * "\x03BE"
,"xlarr" * "\x27F5"
,"xlArr" * "\x27F8"
,"xmap" * "\x27FC"
,"xnis" * "\x22FB"
,"xodot" * "\x2A00"
,"Xopf" * "\xD835\xDD4F"
,"xopf" * "\xD835\xDD69"
,"xoplus" * "\x2A01"
,"xotime" * "\x2A02"
,"xrarr" * "\x27F6"
,"xrArr" * "\x27F9"
,"Xscr" * "\xD835\xDCB3"
,"xscr" * "\xD835\xDCCD"
,"xsqcup" * "\x2A06"
,"xuplus" * "\x2A04"
,"xutri" * "\x25B3"
,"xvee" * "\x22C1"
,"xwedge" * "\x22C0"
,"Yacute" * "\x00DD"
,"yacute" * "\x00FD"
,"YAcy" * "\x042F"
,"yacy" * "\x044F"
,"Ycirc" * "\x0176"
,"ycirc" * "\x0177"
,"Ycy" * "\x042B"
,"ycy" * "\x044B"
,"yen" * "\x00A5"
,"Yfr" * "\xD835\xDD1C"
,"yfr" * "\xD835\xDD36"
,"YIcy" * "\x0407"
,"yicy" * "\x0457"
,"Yopf" * "\xD835\xDD50"
,"yopf" * "\xD835\xDD6A"
,"Yscr" * "\xD835\xDCB4"
,"yscr" * "\xD835\xDCCE"
,"YUcy" * "\x042E"
,"yucy" * "\x044E"
,"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" * "\xD835\xDD37"
,"ZHcy" * "\x0416"
,"zhcy" * "\x0436"
,"zigrarr" * "\x21DD"
,"Zopf" * "\x2124"
,"zopf" * "\xD835\xDD6B"
,"Zscr" * "\xD835\xDCB5"
,"zscr" * "\xD835\xDCCF"
,"zwj" * "\x200D"
,"zwnj" * "\x200C"
]