packages feed

fast-tagsoup 1.0.9 → 1.0.10

raw patch · 3 files changed

+2363/−2176 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

Text/HTML/TagSoup/Fast.hs view
@@ -24,7 +24,6 @@     where  import Text.HTML.TagSoup (Tag(..))-import Text.HTML.TagSoup.Entity import Text.HTML.TagSoup.HtmlEntities import Text.StringLike (StringLike(..)) @@ -45,7 +44,7 @@ import qualified Data.Text.Encoding as T import qualified Data.Text.ICU.Convert as ICU import qualified Control.Exception as E-import Control.Monad (mplus)+import qualified Data.Map as Map  instance IsString Word8 where     fromString [c] = B.c2w c@@ -61,12 +60,18 @@  pp :: Ptr Word8 -> Ptr Word8 pp !x = x `plusPtr` 1+pp2 :: Ptr Word8 -> Ptr Word8+pp2 !x = x `plusPtr` 2+pp3 :: Ptr Word8 -> Ptr Word8+pp3 !x = x `plusPtr` 3 p1 :: Int -> Int p1 !x = succ x mm :: Int -> Int mm !y = pred y {-# INLINE mm #-} {-# INLINE pp #-}+{-# INLINE pp2 #-}+{-# INLINE pp3 #-} {-# INLINE p1 #-}  -- toLowerBS = B.map toLower@@ -245,23 +250,30 @@           closeTag !t !rs = t : rs           space 0x20 = True           space !n = n >= 9 && n <= 13 -- \t\n\v\f\r-          alpha !c = (c >= "a" && c <= "z") || (c >= "A" && c <= "Z")           alphaBQ !c = alpha c || c == "?" || c == "!" --- next  p l [] = True--- next  p 0  _  = False--- next !p !l (x:xs) = (r p == B.c2w x) && next (pp p) (mm l) xs---- toLowerUpperPairs s = [(B.c2w $ toLower x, B.c2w $ toUpper x) | x <- s]---- nextIC  p l [] = True--- nextIC  p 0  _  = False--- nextIC !p !l ((a,b):xs) = (r p == a || r p == b) && nextIC (pp p) (mm l) xs+alpha c = (c >= "a" && c <= "z") || (c >= "A" && c <= "Z")+alphaNum c = alpha c || (c >= "0" && c <= "9")+hex c+    | c >= "0" && c <= "9" = Just $ fromEnum (c - "0")+    | c >= "a" && c <= "f" = Just $ fromEnum (c - "a" + 10)+    | c >= "A" && c <= "F" = Just $ fromEnum (c - "A" + 10)+    | otherwise = Nothing+decimal c+    | c >= "0" && c <= "9" = Just $ fromEnum (c - "0")+    | otherwise = Nothing  -- ord maxBound = 1114111 = 0x10FFFF = &#1114111; &#x10FFFF;--- maximum 8 characters between '&' and ';'--- entities length are also not longer than 8--- so we are looking for ';' after '&' no more than 9 symbols+-- &+--  #+--   X or x --> 1+ hex digits, as result becomes more than maxBound+--              result will be 0xFFFD -- replacement character+--              any non hex digits means end, ';' at the end must be ignored+--   otherwise --> 1+ of decimal digits, same maxBound and ';' logic+--  alpha+--   up to 32 (or 31?) alphanum characters+--     lookup no ';' entities -- exit if found, ignoring ';'+--     finish on non alphanum, and lookup entity if it ';'  -- | Alternative to 'unescapeHtml' working with 'Text' unescapeHtmlT :: T.Text -> T.Text@@ -284,30 +296,91 @@           go :: P -> P -> Int -> Bool -> IO (Bool, P)           go !_ !d !0 !c = return (c, d)           go !s !d !l !c---              | r s .&. (0x8 + 0x4) == 0x8               | r s /= "&" =                   poke d (r s) >> go (pp s) (pp d) (mm l) c-              | otherwise = entity (pp s) d (mm l) maxHtmlEntityLength [] c---           add !c !s !d !n !l =---               poke d c >> go (s `plusPtr` n) (pp d) (l - n) True+              | otherwise = entityStart (pp s) d (mm l) c+          entityStart !s !d !l !c+              | l == 0 = poke d "&" >> return (c, pp d)+              | r s == "#" && l >= 3 && (r (pp s) == "x" || r (pp s) == "X")+              , Just x <- hex (r $ pp2 s) =+                  baseEntity hex 16 (pp3 s) d (l-3) x+              | r s == "#" && l >= 2+              , Just x <- decimal (r $ pp s) =+                  baseEntity decimal 10 (pp2 s) d (l-2) x+              | alpha (r s) =+                  entity (pp s) d (mm l) (maxHtmlEntityLength-1) [r s] c+              | otherwise = poke d "&" >> go s (pp d) l c+          baseEntity char base !s !d !l !acc+              | l == 0 = putChar d acc $ \ d' -> return (True, d')+              | Just x <- char (r s)+              , acc' <- acc*base + x =+                  if acc' > ord maxBound then+                      overflowBaseEntity char (pp s) d (mm l)+                  else+                      baseEntity char base (pp s) d (mm l) acc'+              | otherwise = putChar d acc $ \ d' -> skipSemicolon s d' l True+          overflowBaseEntity char !s !d !l+              | l == 0 = putChar d overflowChar $ \ d' -> return (True, d')+              | Just _ <- char (r s) =+                  overflowBaseEntity char (pp s) d (mm l)+              | otherwise =+                  putChar d overflowChar $ \ d' -> skipSemicolon s d' l True+          overflowChar = ord '\xFFFD'+          -- Chrome/Safari/FF use this as replace character for entities+          -- that are too large.+          putChar d acc next = do+              let put !d [] = next d+                  put !d (x:xs) =+                      poke d x >> put (pp d) xs+              put d $ encodeChar $ chr acc+          skipSemicolon !s !d !l !c+              | l == 0 = return (c, d)+              | r s == ";" = go (pp s) d (mm l) True+              | otherwise = go s d l c           entity !s !d !l !n !acc !c               | n == 0 || l == 0 =-                  poke d "&" >>-                  go (s `plusPtr` (n-maxHtmlEntityLength))-                     (pp d) (l+maxHtmlEntityLength-n) c-              | r s /= ";" =-                  entity (pp s) d (mm l) (mm n) (B.w2c (r s) : acc) c-              | otherwise = case lookupHtmlEntity (reverse acc) `mplus`-                                 lookupEntity (reverse acc) of-                  Just e -> do-                      let put !d [] = go (pp s) d (mm l) True-                          put !d (x:xs) =-                              poke d x >> put (pp d) xs-                      put d $ concatMap encodeChar e-                  _ ->-                      poke d "&" >>-                      go (s `plusPtr` (n-maxHtmlEntityLength))-                         (pp d) (l+maxHtmlEntityLength-n) c+                  notEntity+              | alphaNum (r s)+              , n >= maxHtmlEntityLength - maxNoSemicolonHtmlEntityLength+              , Just e <- lookupNoSemicolonHtmlEntityRev (r s : acc) =+                  putEntity skipSemicolon e+                  -- Entities without semicolon have at least 2 characters,+                  -- so it's OK to check them starting on the 2nd character+                  -- (first one is already in `acc` on first call to `entity`).+                  -- And we need to check them before putting to `acc`+                  -- since such entity is complete no matter what characters+                  -- (ot maybe EOF) is coming later.+              | alphaNum (r s) =+                  entity (pp s) d (mm l) (mm n) (r s : acc) c+              | r s == ";"+              , Just e <- lookupSemicolonHtmlEntityRev acc =+                  -- all these entities require ';'.+                  -- entities that do not are already checked so it's safe+                  -- to go to notEntity if there is not ';' at the end+                  putEntity go e+              | otherwise =+                  notEntity+              where putEntity next e = do+                        let put !d [] = next (pp s) d (mm l) True+                            put !d (x:xs) =+                                poke d x >> put (pp d) xs+                        put d e+                    notEntity =+                        poke d "&" >>+                        go (s `plusPtr` (n-maxHtmlEntityLength))+                           (pp d) (l+maxHtmlEntityLength-n) c++lookupNoSemicolonHtmlEntityRev :: [Word8] -> Maybe [Word8]+lookupNoSemicolonHtmlEntityRev = \x -> Map.lookup x mp+    where mp = Map.fromList [ (map B.c2w $ reverse e+                              ,concatMap encodeChar x)+                            | (e,x) <- htmlEntities, last e /= ';']++lookupSemicolonHtmlEntityRev :: [Word8] -> Maybe [Word8]+lookupSemicolonHtmlEntityRev = \x -> Map.lookup x mp+    where mp = Map.fromList [ (map B.c2w $ tail $ reverse e+                              ,concatMap encodeChar x)+                            | (e,x) <- htmlEntities, last e == ';']  encodeChar :: Char -> [Word8] encodeChar = map fromIntegral . go . ord
Text/HTML/TagSoup/HtmlEntities.hs view
@@ -1,2142 +1,2256 @@ module Text.HTML.TagSoup.HtmlEntities-    ( lookupHtmlEntity, maxHtmlEntityLength-    )-    where--import qualified Data.Map as Map--lookupHtmlEntity :: String -> Maybe String-lookupHtmlEntity = \x -> Map.lookup x mp-    where mp = Map.fromList htmlEntities--maxHtmlEntityLength :: Int-maxHtmlEntityLength = maximum $ map (length . fst) htmlEntities--htmlEntities :: [(String, String)]-htmlEntities = let (*) = (,) in-    [ "Aacute" * "Á"-    , "aacute" * "á"-    , "Abreve" * "Ă"-    , "abreve" * "ă"-    , "ac" * "∾"-    , "acd" * "∿"-    , "acE" * "∾̳" -- "\8766\819"-    , "Acirc" * "Â"-    , "acirc" * "â"-    , "acute" * "´"-    , "Acy" * "А"-    , "acy" * "а"-    , "AElig" * "Æ"-    , "aelig" * "æ"-    , "af" * "\8289" -- escaped-    , "Afr" * "𝔄"-    , "afr" * "𝔞"-    , "Agrave" * "À"-    , "agrave" * "à"-    , "alefsym" * "ℵ"-    , "aleph" * "ℵ"-    , "Alpha" * "Α"-    , "alpha" * "α"-    , "Amacr" * "Ā"-    , "amacr" * "ā"-    , "amalg" * "⨿"-    , "AMP" * "&"-    , "amp" * "&"-    , "And" * "⩓"-    , "and" * "∧"-    , "andand" * "⩕"-    , "andd" * "⩜"-    , "andslope" * "⩘"-    , "andv" * "⩚"-    , "ang" * "∠"-    , "ange" * "⦤"-    , "angle" * "∠"-    , "angmsd" * "∡"-    , "angmsdaa" * "⦨"-    , "angmsdab" * "⦩"-    , "angmsdac" * "⦪"-    , "angmsdad" * "⦫"-    , "angmsdae" * "⦬"-    , "angmsdaf" * "⦭"-    , "angmsdag" * "⦮"-    , "angmsdah" * "⦯"-    , "angrt" * "∟"-    , "angrtvb" * "⊾"-    , "angrtvbd" * "⦝"-    , "angsph" * "∢"-    , "angst" * "Å"-    , "angzarr" * "⍼"-    , "Aogon" * "Ą"-    , "aogon" * "ą"-    , "Aopf" * "𝔸"-    , "aopf" * "𝕒"-    , "ap" * "≈"-    , "apacir" * "⩯"-    , "apE" * "⩰"-    , "ape" * "≊"-    , "apid" * "≋"-    , "apos" * "'"-    , "ApplyFunction" * "\8289" -- escaped-    , "approx" * "≈"-    , "approxeq" * "≊"-    , "Aring" * "Å"-    , "aring" * "å"-    , "Ascr" * "𝒜"-    , "ascr" * "𝒶"-    , "Assign" * "≔"-    , "ast" * "*"-    , "asymp" * "≈"-    , "asympeq" * "≍"-    , "Atilde" * "Ã"-    , "atilde" * "ã"-    , "Auml" * "Ä"-    , "auml" * "ä"-    , "awconint" * "∳"-    , "awint" * "⨑"-    , "backcong" * "≌"-    , "backepsilon" * "϶"-    , "backprime" * "‵"-    , "backsim" * "∽"-    , "backsimeq" * "⋍"-    , "Backslash" * "∖"-    , "Barv" * "⫧"-    , "barvee" * "⊽"-    , "Barwed" * "⌆"-    , "barwed" * "⌅"-    , "barwedge" * "⌅"-    , "bbrk" * "⎵"-    , "bbrktbrk" * "⎶"-    , "bcong" * "≌"-    , "Bcy" * "Б"-    , "bcy" * "б"-    , "bdquo" * "„"-    , "becaus" * "∵"-    , "Because" * "∵"-    , "because" * "∵"-    , "bemptyv" * "⦰"-    , "bepsi" * "϶"-    , "bernou" * "ℬ"-    , "Bernoullis" * "ℬ"-    , "Beta" * "Β"-    , "beta" * "β"-    , "beth" * "ℶ"-    , "between" * "≬"-    , "Bfr" * "𝔅"-    , "bfr" * "𝔟"-    , "bigcap" * "⋂"-    , "bigcirc" * "◯"-    , "bigcup" * "⋃"-    , "bigodot" * "⨀"-    , "bigoplus" * "⨁"-    , "bigotimes" * "⨂"-    , "bigsqcup" * "⨆"-    , "bigstar" * "★"-    , "bigtriangledown" * "▽"-    , "bigtriangleup" * "△"-    , "biguplus" * "⨄"-    , "bigvee" * "⋁"-    , "bigwedge" * "⋀"-    , "bkarow" * "⤍"-    , "blacklozenge" * "⧫"-    , "blacksquare" * "▪"-    , "blacktriangle" * "▴"-    , "blacktriangledown" * "▾"-    , "blacktriangleleft" * "◂"-    , "blacktriangleright" * "▸"-    , "blank" * "␣"-    , "blk12" * "▒"-    , "blk14" * "░"-    , "blk34" * "▓"-    , "block" * "█"-    , "bne" * "=⃥" -- "=\8421"-    , "bnequiv" * "≡⃥" -- "\8801\8421"-    , "bNot" * "⫭"-    , "bnot" * "⌐"-    , "Bopf" * "𝔹"-    , "bopf" * "𝕓"-    , "bot" * "⊥"-    , "bottom" * "⊥"-    , "bowtie" * "⋈"-    , "boxbox" * "⧉"-    , "boxDL" * "╗"-    , "boxDl" * "╖"-    , "boxdL" * "╕"-    , "boxdl" * "┐"-    , "boxDR" * "╔"-    , "boxDr" * "╓"-    , "boxdR" * "╒"-    , "boxdr" * "┌"-    , "boxH" * "═"-    , "boxh" * "─"-    , "boxHD" * "╦"-    , "boxHd" * "╤"-    , "boxhD" * "╥"-    , "boxhd" * "┬"-    , "boxHU" * "╩"-    , "boxHu" * "╧"-    , "boxhU" * "╨"-    , "boxhu" * "┴"-    , "boxminus" * "⊟"-    , "boxplus" * "⊞"-    , "boxtimes" * "⊠"-    , "boxUL" * "╝"-    , "boxUl" * "╜"-    , "boxuL" * "╛"-    , "boxul" * "┘"-    , "boxUR" * "╚"-    , "boxUr" * "╙"-    , "boxuR" * "╘"-    , "boxur" * "└"-    , "boxV" * "║"-    , "boxv" * "│"-    , "boxVH" * "╬"-    , "boxVh" * "╫"-    , "boxvH" * "╪"-    , "boxvh" * "┼"-    , "boxVL" * "╣"-    , "boxVl" * "╢"-    , "boxvL" * "╡"-    , "boxvl" * "┤"-    , "boxVR" * "╠"-    , "boxVr" * "╟"-    , "boxvR" * "╞"-    , "boxvr" * "├"-    , "bprime" * "‵"-    , "Breve" * "˘"-    , "breve" * "˘"-    , "brvbar" * "¦"-    , "Bscr" * "ℬ"-    , "bscr" * "𝒷"-    , "bsemi" * "⁏"-    , "bsim" * "∽"-    , "bsime" * "⋍"-    , "bsol" * "\\" -- escaped-    , "bsolb" * "⧅"-    , "bsolhsub" * "⟈"-    , "bull" * "•"-    , "bullet" * "•"-    , "bump" * "≎"-    , "bumpE" * "⪮"-    , "bumpe" * "≏"-    , "Bumpeq" * "≎"-    , "bumpeq" * "≏"-    , "Cacute" * "Ć"-    , "cacute" * "ć"-    , "Cap" * "⋒"-    , "cap" * "∩"-    , "capand" * "⩄"-    , "capbrcup" * "⩉"-    , "capcap" * "⩋"-    , "capcup" * "⩇"-    , "capdot" * "⩀"-    , "CapitalDifferentialD" * "ⅅ"-    , "caps" * "∩︀" -- "\8745\65024"-    , "caret" * "⁁"-    , "caron" * "ˇ"-    , "Cayleys" * "ℭ"-    , "ccaps" * "⩍"-    , "Ccaron" * "Č"-    , "ccaron" * "č"-    , "Ccedil" * "Ç"-    , "ccedil" * "ç"-    , "Ccirc" * "Ĉ"-    , "ccirc" * "ĉ"-    , "Cconint" * "∰"-    , "ccups" * "⩌"-    , "ccupssm" * "⩐"-    , "Cdot" * "Ċ"-    , "cdot" * "ċ"-    , "cedil" * "¸"-    , "Cedilla" * "¸"-    , "cemptyv" * "⦲"-    , "cent" * "¢"-    , "CenterDot" * "·"-    , "centerdot" * "·"-    , "Cfr" * "ℭ"-    , "cfr" * "𝔠"-    , "CHcy" * "Ч"-    , "chcy" * "ч"-    , "check" * "✓"-    , "checkmark" * "✓"-    , "Chi" * "Χ"-    , "chi" * "χ"-    , "cir" * "○"-    , "circ" * "ˆ"-    , "circeq" * "≗"-    , "circlearrowleft" * "↺"-    , "circlearrowright" * "↻"-    , "circledast" * "⊛"-    , "circledcirc" * "⊚"-    , "circleddash" * "⊝"-    , "CircleDot" * "⊙"-    , "circledR" * "®"-    , "circledS" * "Ⓢ"-    , "CircleMinus" * "⊖"-    , "CirclePlus" * "⊕"-    , "CircleTimes" * "⊗"-    , "cirE" * "⧃"-    , "cire" * "≗"-    , "cirfnint" * "⨐"-    , "cirmid" * "⫯"-    , "cirscir" * "⧂"-    , "ClockwiseContourIntegral" * "∲"-    , "CloseCurlyDoubleQuote" * "”"-    , "CloseCurlyQuote" * "’"-    , "clubs" * "♣"-    , "clubsuit" * "♣"-    , "Colon" * "∷"-    , "colon" * ":"-    , "Colone" * "⩴"-    , "colone" * "≔"-    , "coloneq" * "≔"-    , "comma" * ","-    , "commat" * "@"-    , "comp" * "∁"-    , "compfn" * "∘"-    , "complement" * "∁"-    , "complexes" * "ℂ"-    , "cong" * "≅"-    , "congdot" * "⩭"-    , "Congruent" * "≡"-    , "Conint" * "∯"-    , "conint" * "∮"-    , "ContourIntegral" * "∮"-    , "Copf" * "ℂ"-    , "copf" * "𝕔"-    , "coprod" * "∐"-    , "Coproduct" * "∐"-    , "COPY" * "©"-    , "copy" * "©"-    , "copysr" * "℗"-    , "CounterClockwiseContourIntegral" * "∳"-    , "crarr" * "↵"-    , "Cross" * "⨯"-    , "cross" * "✗"-    , "Cscr" * "𝒞"-    , "cscr" * "𝒸"-    , "csub" * "⫏"-    , "csube" * "⫑"-    , "csup" * "⫐"-    , "csupe" * "⫒"-    , "ctdot" * "⋯"-    , "cudarrl" * "⤸"-    , "cudarrr" * "⤵"-    , "cuepr" * "⋞"-    , "cuesc" * "⋟"-    , "cularr" * "↶"-    , "cularrp" * "⤽"-    , "Cup" * "⋓"-    , "cup" * "∪"-    , "cupbrcap" * "⩈"-    , "CupCap" * "≍"-    , "cupcap" * "⩆"-    , "cupcup" * "⩊"-    , "cupdot" * "⊍"-    , "cupor" * "⩅"-    , "cups" * "∪︀" -- "\8746\65024"-    , "curarr" * "↷"-    , "curarrm" * "⤼"-    , "curlyeqprec" * "⋞"-    , "curlyeqsucc" * "⋟"-    , "curlyvee" * "⋎"-    , "curlywedge" * "⋏"-    , "curren" * "¤"-    , "curvearrowleft" * "↶"-    , "curvearrowright" * "↷"-    , "cuvee" * "⋎"-    , "cuwed" * "⋏"-    , "cwconint" * "∲"-    , "cwint" * "∱"-    , "cylcty" * "⌭"-    , "Dagger" * "‡"-    , "dagger" * "†"-    , "daleth" * "ℸ"-    , "Darr" * "↡"-    , "dArr" * "⇓"-    , "darr" * "↓"-    , "dash" * "‐"-    , "Dashv" * "⫤"-    , "dashv" * "⊣"-    , "dbkarow" * "⤏"-    , "dblac" * "˝"-    , "Dcaron" * "Ď"-    , "dcaron" * "ď"-    , "Dcy" * "Д"-    , "dcy" * "д"-    , "DD" * "ⅅ"-    , "dd" * "ⅆ"-    , "ddagger" * "‡"-    , "ddarr" * "⇊"-    , "DDotrahd" * "⤑"-    , "ddotseq" * "⩷"-    , "deg" * "°"-    , "Del" * "∇"-    , "Delta" * "Δ"-    , "delta" * "δ"-    , "demptyv" * "⦱"-    , "dfisht" * "⥿"-    , "Dfr" * "𝔇"-    , "dfr" * "𝔡"-    , "dHar" * "⥥"-    , "dharl" * "⇃"-    , "dharr" * "⇂"-    , "DiacriticalAcute" * "´"-    , "DiacriticalDot" * "˙"-    , "DiacriticalDoubleAcute" * "˝"-    , "DiacriticalGrave" * "`"-    , "DiacriticalTilde" * "˜"-    , "diam" * "⋄"-    , "Diamond" * "⋄"-    , "diamond" * "⋄"-    , "diamondsuit" * "♦"-    , "diams" * "♦"-    , "die" * "¨"-    , "DifferentialD" * "ⅆ"-    , "digamma" * "ϝ"-    , "disin" * "⋲"-    , "div" * "÷"-    , "divide" * "÷"-    , "divideontimes" * "⋇"-    , "divonx" * "⋇"-    , "DJcy" * "Ђ"-    , "djcy" * "ђ"-    , "dlcorn" * "⌞"-    , "dlcrop" * "⌍"-    , "dollar" * "$"-    , "Dopf" * "𝔻"-    , "dopf" * "𝕕"-    , "Dot" * "¨"-    , "dot" * "˙"-    , "DotDot" * "⃜"-    , "doteq" * "≐"-    , "doteqdot" * "≑"-    , "DotEqual" * "≐"-    , "dotminus" * "∸"-    , "dotplus" * "∔"-    , "dotsquare" * "⊡"-    , "doublebarwedge" * "⌆"-    , "DoubleContourIntegral" * "∯"-    , "DoubleDot" * "¨"-    , "DoubleDownArrow" * "⇓"-    , "DoubleLeftArrow" * "⇐"-    , "DoubleLeftRightArrow" * "⇔"-    , "DoubleLeftTee" * "⫤"-    , "DoubleLongLeftArrow" * "⟸"-    , "DoubleLongLeftRightArrow" * "⟺"-    , "DoubleLongRightArrow" * "⟹"-    , "DoubleRightArrow" * "⇒"-    , "DoubleRightTee" * "⊨"-    , "DoubleUpArrow" * "⇑"-    , "DoubleUpDownArrow" * "⇕"-    , "DoubleVerticalBar" * "∥"-    , "DownArrow" * "↓"-    , "Downarrow" * "⇓"-    , "downarrow" * "↓"-    , "DownArrowBar" * "⤓"-    , "DownArrowUpArrow" * "⇵"-    , "DownBreve" * "̑"-    , "downdownarrows" * "⇊"-    , "downharpoonleft" * "⇃"-    , "downharpoonright" * "⇂"-    , "DownLeftRightVector" * "⥐"-    , "DownLeftTeeVector" * "⥞"-    , "DownLeftVector" * "↽"-    , "DownLeftVectorBar" * "⥖"-    , "DownRightTeeVector" * "⥟"-    , "DownRightVector" * "⇁"-    , "DownRightVectorBar" * "⥗"-    , "DownTee" * "⊤"-    , "DownTeeArrow" * "↧"-    , "drbkarow" * "⤐"-    , "drcorn" * "⌟"-    , "drcrop" * "⌌"-    , "Dscr" * "𝒟"-    , "dscr" * "𝒹"-    , "DScy" * "Ѕ"-    , "dscy" * "ѕ"-    , "dsol" * "⧶"-    , "Dstrok" * "Đ"-    , "dstrok" * "đ"-    , "dtdot" * "⋱"-    , "dtri" * "▿"-    , "dtrif" * "▾"-    , "duarr" * "⇵"-    , "duhar" * "⥯"-    , "dwangle" * "⦦"-    , "DZcy" * "Џ"-    , "dzcy" * "џ"-    , "dzigrarr" * "⟿"-    , "Eacute" * "É"-    , "eacute" * "é"-    , "easter" * "⩮"-    , "Ecaron" * "Ě"-    , "ecaron" * "ě"-    , "ecir" * "≖"-    , "Ecirc" * "Ê"-    , "ecirc" * "ê"-    , "ecolon" * "≕"-    , "Ecy" * "Э"-    , "ecy" * "э"-    , "eDDot" * "⩷"-    , "Edot" * "Ė"-    , "eDot" * "≑"-    , "edot" * "ė"-    , "ee" * "ⅇ"-    , "efDot" * "≒"-    , "Efr" * "𝔈"-    , "efr" * "𝔢"-    , "eg" * "⪚"-    , "Egrave" * "È"-    , "egrave" * "è"-    , "egs" * "⪖"-    , "egsdot" * "⪘"-    , "el" * "⪙"-    , "Element" * "∈"-    , "elinters" * "⏧"-    , "ell" * "ℓ"-    , "els" * "⪕"-    , "elsdot" * "⪗"-    , "Emacr" * "Ē"-    , "emacr" * "ē"-    , "empty" * "∅"-    , "emptyset" * "∅"-    , "EmptySmallSquare" * "◻"-    , "emptyv" * "∅"-    , "EmptyVerySmallSquare" * "▫"-    , "emsp" * " "-    , "emsp13" * " "-    , "emsp14" * " "-    , "ENG" * "Ŋ"-    , "eng" * "ŋ"-    , "ensp" * " "-    , "Eogon" * "Ę"-    , "eogon" * "ę"-    , "Eopf" * "𝔼"-    , "eopf" * "𝕖"-    , "epar" * "⋕"-    , "eparsl" * "⧣"-    , "eplus" * "⩱"-    , "epsi" * "ε"-    , "Epsilon" * "Ε"-    , "epsilon" * "ε"-    , "epsiv" * "ϵ"-    , "eqcirc" * "≖"-    , "eqcolon" * "≕"-    , "eqsim" * "≂"-    , "eqslantgtr" * "⪖"-    , "eqslantless" * "⪕"-    , "Equal" * "⩵"-    , "equals" * "="-    , "EqualTilde" * "≂"-    , "equest" * "≟"-    , "Equilibrium" * "⇌"-    , "equiv" * "≡"-    , "equivDD" * "⩸"-    , "eqvparsl" * "⧥"-    , "erarr" * "⥱"-    , "erDot" * "≓"-    , "Escr" * "ℰ"-    , "escr" * "ℯ"-    , "esdot" * "≐"-    , "Esim" * "⩳"-    , "esim" * "≂"-    , "Eta" * "Η"-    , "eta" * "η"-    , "ETH" * "Ð"-    , "eth" * "ð"-    , "Euml" * "Ë"-    , "euml" * "ë"-    , "euro" * "€"-    , "excl" * "!"-    , "exist" * "∃"-    , "Exists" * "∃"-    , "expectation" * "ℰ"-    , "ExponentialE" * "ⅇ"-    , "exponentiale" * "ⅇ"-    , "fallingdotseq" * "≒"-    , "Fcy" * "Ф"-    , "fcy" * "ф"-    , "female" * "♀"-    , "ffilig" * "ffi"-    , "fflig" * "ff"-    , "ffllig" * "ffl"-    , "Ffr" * "𝔉"-    , "ffr" * "𝔣"-    , "filig" * "fi"-    , "FilledSmallSquare" * "◼"-    , "FilledVerySmallSquare" * "▪"-    , "fjlig" * "fj" -- "fj"-    , "flat" * "♭"-    , "fllig" * "fl"-    , "fltns" * "▱"-    , "fnof" * "ƒ"-    , "Fopf" * "𝔽"-    , "fopf" * "𝕗"-    , "ForAll" * "∀"-    , "forall" * "∀"-    , "fork" * "⋔"-    , "forkv" * "⫙"-    , "Fouriertrf" * "ℱ"-    , "fpartint" * "⨍"-    , "frac12" * "½"-    , "frac13" * "⅓"-    , "frac14" * "¼"-    , "frac15" * "⅕"-    , "frac16" * "⅙"-    , "frac18" * "⅛"-    , "frac23" * "⅔"-    , "frac25" * "⅖"-    , "frac34" * "¾"-    , "frac35" * "⅗"-    , "frac38" * "⅜"-    , "frac45" * "⅘"-    , "frac56" * "⅚"-    , "frac58" * "⅝"-    , "frac78" * "⅞"-    , "frasl" * "⁄"-    , "frown" * "⌢"-    , "Fscr" * "ℱ"-    , "fscr" * "𝒻"-    , "gacute" * "ǵ"-    , "Gamma" * "Γ"-    , "gamma" * "γ"-    , "Gammad" * "Ϝ"-    , "gammad" * "ϝ"-    , "gap" * "⪆"-    , "Gbreve" * "Ğ"-    , "gbreve" * "ğ"-    , "Gcedil" * "Ģ"-    , "Gcirc" * "Ĝ"-    , "gcirc" * "ĝ"-    , "Gcy" * "Г"-    , "gcy" * "г"-    , "Gdot" * "Ġ"-    , "gdot" * "ġ"-    , "gE" * "≧"-    , "ge" * "≥"-    , "gEl" * "⪌"-    , "gel" * "⋛"-    , "geq" * "≥"-    , "geqq" * "≧"-    , "geqslant" * "⩾"-    , "ges" * "⩾"-    , "gescc" * "⪩"-    , "gesdot" * "⪀"-    , "gesdoto" * "⪂"-    , "gesdotol" * "⪄"-    , "gesl" * "⋛︀" -- "\8923\65024"-    , "gesles" * "⪔"-    , "Gfr" * "𝔊"-    , "gfr" * "𝔤"-    , "Gg" * "⋙"-    , "gg" * "≫"-    , "ggg" * "⋙"-    , "gimel" * "ℷ"-    , "GJcy" * "Ѓ"-    , "gjcy" * "ѓ"-    , "gl" * "≷"-    , "gla" * "⪥"-    , "glE" * "⪒"-    , "glj" * "⪤"-    , "gnap" * "⪊"-    , "gnapprox" * "⪊"-    , "gnE" * "≩"-    , "gne" * "⪈"-    , "gneq" * "⪈"-    , "gneqq" * "≩"-    , "gnsim" * "⋧"-    , "Gopf" * "𝔾"-    , "gopf" * "𝕘"-    , "grave" * "`"-    , "GreaterEqual" * "≥"-    , "GreaterEqualLess" * "⋛"-    , "GreaterFullEqual" * "≧"-    , "GreaterGreater" * "⪢"-    , "GreaterLess" * "≷"-    , "GreaterSlantEqual" * "⩾"-    , "GreaterTilde" * "≳"-    , "Gscr" * "𝒢"-    , "gscr" * "ℊ"-    , "gsim" * "≳"-    , "gsime" * "⪎"-    , "gsiml" * "⪐"-    , "GT" * ">"-    , "Gt" * "≫"-    , "gt" * ">"-    , "gtcc" * "⪧"-    , "gtcir" * "⩺"-    , "gtdot" * "⋗"-    , "gtlPar" * "⦕"-    , "gtquest" * "⩼"-    , "gtrapprox" * "⪆"-    , "gtrarr" * "⥸"-    , "gtrdot" * "⋗"-    , "gtreqless" * "⋛"-    , "gtreqqless" * "⪌"-    , "gtrless" * "≷"-    , "gtrsim" * "≳"-    , "gvertneqq" * "≩︀" -- "\8809\65024"-    , "gvnE" * "≩︀" -- "\8809\65024"-    , "Hacek" * "ˇ"-    , "hairsp" * " "-    , "half" * "½"-    , "hamilt" * "ℋ"-    , "HARDcy" * "Ъ"-    , "hardcy" * "ъ"-    , "hArr" * "⇔"-    , "harr" * "↔"-    , "harrcir" * "⥈"-    , "harrw" * "↭"-    , "Hat" * "^"-    , "hbar" * "ℏ"-    , "Hcirc" * "Ĥ"-    , "hcirc" * "ĥ"-    , "hearts" * "♥"-    , "heartsuit" * "♥"-    , "hellip" * "…"-    , "hercon" * "⊹"-    , "Hfr" * "ℌ"-    , "hfr" * "𝔥"-    , "HilbertSpace" * "ℋ"-    , "hksearow" * "⤥"-    , "hkswarow" * "⤦"-    , "hoarr" * "⇿"-    , "homtht" * "∻"-    , "hookleftarrow" * "↩"-    , "hookrightarrow" * "↪"-    , "Hopf" * "ℍ"-    , "hopf" * "𝕙"-    , "horbar" * "―"-    , "HorizontalLine" * "─"-    , "Hscr" * "ℋ"-    , "hscr" * "𝒽"-    , "hslash" * "ℏ"-    , "Hstrok" * "Ħ"-    , "hstrok" * "ħ"-    , "HumpDownHump" * "≎"-    , "HumpEqual" * "≏"-    , "hybull" * "⁃"-    , "hyphen" * "‐"-    , "Iacute" * "Í"-    , "iacute" * "í"-    , "ic" * "\8291" -- escaped-    , "Icirc" * "Î"-    , "icirc" * "î"-    , "Icy" * "И"-    , "icy" * "и"-    , "Idot" * "İ"-    , "IEcy" * "Е"-    , "iecy" * "е"-    , "iexcl" * "¡"-    , "iff" * "⇔"-    , "Ifr" * "ℑ"-    , "ifr" * "𝔦"-    , "Igrave" * "Ì"-    , "igrave" * "ì"-    , "ii" * "ⅈ"-    , "iiiint" * "⨌"-    , "iiint" * "∭"-    , "iinfin" * "⧜"-    , "iiota" * "℩"-    , "IJlig" * "IJ"-    , "ijlig" * "ij"-    , "Im" * "ℑ"-    , "Imacr" * "Ī"-    , "imacr" * "ī"-    , "image" * "ℑ"-    , "ImaginaryI" * "ⅈ"-    , "imagline" * "ℐ"-    , "imagpart" * "ℑ"-    , "imath" * "ı"-    , "imof" * "⊷"-    , "imped" * "Ƶ"-    , "Implies" * "⇒"-    , "in" * "∈"-    , "incare" * "℅"-    , "infin" * "∞"-    , "infintie" * "⧝"-    , "inodot" * "ı"-    , "Int" * "∬"-    , "int" * "∫"-    , "intcal" * "⊺"-    , "integers" * "ℤ"-    , "Integral" * "∫"-    , "intercal" * "⊺"-    , "Intersection" * "⋂"-    , "intlarhk" * "⨗"-    , "intprod" * "⨼"-    , "InvisibleComma" * "\8291" -- escaped-    , "InvisibleTimes" * "\8290" -- escaped-    , "IOcy" * "Ё"-    , "iocy" * "ё"-    , "Iogon" * "Į"-    , "iogon" * "į"-    , "Iopf" * "𝕀"-    , "iopf" * "𝕚"-    , "Iota" * "Ι"-    , "iota" * "ι"-    , "iprod" * "⨼"-    , "iquest" * "¿"-    , "Iscr" * "ℐ"-    , "iscr" * "𝒾"-    , "isin" * "∈"-    , "isindot" * "⋵"-    , "isinE" * "⋹"-    , "isins" * "⋴"-    , "isinsv" * "⋳"-    , "isinv" * "∈"-    , "it" * "\8290" -- escaped-    , "Itilde" * "Ĩ"-    , "itilde" * "ĩ"-    , "Iukcy" * "І"-    , "iukcy" * "і"-    , "Iuml" * "Ï"-    , "iuml" * "ï"-    , "Jcirc" * "Ĵ"-    , "jcirc" * "ĵ"-    , "Jcy" * "Й"-    , "jcy" * "й"-    , "Jfr" * "𝔍"-    , "jfr" * "𝔧"-    , "jmath" * "ȷ"-    , "Jopf" * "𝕁"-    , "jopf" * "𝕛"-    , "Jscr" * "𝒥"-    , "jscr" * "𝒿"-    , "Jsercy" * "Ј"-    , "jsercy" * "ј"-    , "Jukcy" * "Є"-    , "jukcy" * "є"-    , "Kappa" * "Κ"-    , "kappa" * "κ"-    , "kappav" * "ϰ"-    , "Kcedil" * "Ķ"-    , "kcedil" * "ķ"-    , "Kcy" * "К"-    , "kcy" * "к"-    , "Kfr" * "𝔎"-    , "kfr" * "𝔨"-    , "kgreen" * "ĸ"-    , "KHcy" * "Х"-    , "khcy" * "х"-    , "KJcy" * "Ќ"-    , "kjcy" * "ќ"-    , "Kopf" * "𝕂"-    , "kopf" * "𝕜"-    , "Kscr" * "𝒦"-    , "kscr" * "𝓀"-    , "lAarr" * "⇚"-    , "Lacute" * "Ĺ"-    , "lacute" * "ĺ"-    , "laemptyv" * "⦴"-    , "lagran" * "ℒ"-    , "Lambda" * "Λ"-    , "lambda" * "λ"-    , "Lang" * "⟪"-    , "lang" * "⟨"-    , "langd" * "⦑"-    , "langle" * "⟨"-    , "lap" * "⪅"-    , "Laplacetrf" * "ℒ"-    , "laquo" * "«"-    , "Larr" * "↞"-    , "lArr" * "⇐"-    , "larr" * "←"-    , "larrb" * "⇤"-    , "larrbfs" * "⤟"-    , "larrfs" * "⤝"-    , "larrhk" * "↩"-    , "larrlp" * "↫"-    , "larrpl" * "⤹"-    , "larrsim" * "⥳"-    , "larrtl" * "↢"-    , "lat" * "⪫"-    , "lAtail" * "⤛"-    , "latail" * "⤙"-    , "late" * "⪭"-    , "lates" * "⪭︀" -- "\10925\65024"-    , "lBarr" * "⤎"-    , "lbarr" * "⤌"-    , "lbbrk" * "❲"-    , "lbrace" * "{"-    , "lbrack" * "["-    , "lbrke" * "⦋"-    , "lbrksld" * "⦏"-    , "lbrkslu" * "⦍"-    , "Lcaron" * "Ľ"-    , "lcaron" * "ľ"-    , "Lcedil" * "Ļ"-    , "lcedil" * "ļ"-    , "lceil" * "⌈"-    , "lcub" * "{"-    , "Lcy" * "Л"-    , "lcy" * "л"-    , "ldca" * "⤶"-    , "ldquo" * "“"-    , "ldquor" * "„"-    , "ldrdhar" * "⥧"-    , "ldrushar" * "⥋"-    , "ldsh" * "↲"-    , "lE" * "≦"-    , "le" * "≤"-    , "LeftAngleBracket" * "⟨"-    , "LeftArrow" * "←"-    , "Leftarrow" * "⇐"-    , "leftarrow" * "←"-    , "LeftArrowBar" * "⇤"-    , "LeftArrowRightArrow" * "⇆"-    , "leftarrowtail" * "↢"-    , "LeftCeiling" * "⌈"-    , "LeftDoubleBracket" * "⟦"-    , "LeftDownTeeVector" * "⥡"-    , "LeftDownVector" * "⇃"-    , "LeftDownVectorBar" * "⥙"-    , "LeftFloor" * "⌊"-    , "leftharpoondown" * "↽"-    , "leftharpoonup" * "↼"-    , "leftleftarrows" * "⇇"-    , "LeftRightArrow" * "↔"-    , "Leftrightarrow" * "⇔"-    , "leftrightarrow" * "↔"-    , "leftrightarrows" * "⇆"-    , "leftrightharpoons" * "⇋"-    , "leftrightsquigarrow" * "↭"-    , "LeftRightVector" * "⥎"-    , "LeftTee" * "⊣"-    , "LeftTeeArrow" * "↤"-    , "LeftTeeVector" * "⥚"-    , "leftthreetimes" * "⋋"-    , "LeftTriangle" * "⊲"-    , "LeftTriangleBar" * "⧏"-    , "LeftTriangleEqual" * "⊴"-    , "LeftUpDownVector" * "⥑"-    , "LeftUpTeeVector" * "⥠"-    , "LeftUpVector" * "↿"-    , "LeftUpVectorBar" * "⥘"-    , "LeftVector" * "↼"-    , "LeftVectorBar" * "⥒"-    , "lEg" * "⪋"-    , "leg" * "⋚"-    , "leq" * "≤"-    , "leqq" * "≦"-    , "leqslant" * "⩽"-    , "les" * "⩽"-    , "lescc" * "⪨"-    , "lesdot" * "⩿"-    , "lesdoto" * "⪁"-    , "lesdotor" * "⪃"-    , "lesg" * "⋚︀" -- "\8922\65024"-    , "lesges" * "⪓"-    , "lessapprox" * "⪅"-    , "lessdot" * "⋖"-    , "lesseqgtr" * "⋚"-    , "lesseqqgtr" * "⪋"-    , "LessEqualGreater" * "⋚"-    , "LessFullEqual" * "≦"-    , "LessGreater" * "≶"-    , "lessgtr" * "≶"-    , "LessLess" * "⪡"-    , "lesssim" * "≲"-    , "LessSlantEqual" * "⩽"-    , "LessTilde" * "≲"-    , "lfisht" * "⥼"-    , "lfloor" * "⌊"-    , "Lfr" * "𝔏"-    , "lfr" * "𝔩"-    , "lg" * "≶"-    , "lgE" * "⪑"-    , "lHar" * "⥢"-    , "lhard" * "↽"-    , "lharu" * "↼"-    , "lharul" * "⥪"-    , "lhblk" * "▄"-    , "LJcy" * "Љ"-    , "ljcy" * "љ"-    , "Ll" * "⋘"-    , "ll" * "≪"-    , "llarr" * "⇇"-    , "llcorner" * "⌞"-    , "Lleftarrow" * "⇚"-    , "llhard" * "⥫"-    , "lltri" * "◺"-    , "Lmidot" * "Ŀ"-    , "lmidot" * "ŀ"-    , "lmoust" * "⎰"-    , "lmoustache" * "⎰"-    , "lnap" * "⪉"-    , "lnapprox" * "⪉"-    , "lnE" * "≨"-    , "lne" * "⪇"-    , "lneq" * "⪇"-    , "lneqq" * "≨"-    , "lnsim" * "⋦"-    , "loang" * "⟬"-    , "loarr" * "⇽"-    , "lobrk" * "⟦"-    , "LongLeftArrow" * "⟵"-    , "Longleftarrow" * "⟸"-    , "longleftarrow" * "⟵"-    , "LongLeftRightArrow" * "⟷"-    , "Longleftrightarrow" * "⟺"-    , "longleftrightarrow" * "⟷"-    , "longmapsto" * "⟼"-    , "LongRightArrow" * "⟶"-    , "Longrightarrow" * "⟹"-    , "longrightarrow" * "⟶"-    , "looparrowleft" * "↫"-    , "looparrowright" * "↬"-    , "lopar" * "⦅"-    , "Lopf" * "𝕃"-    , "lopf" * "𝕝"-    , "loplus" * "⨭"-    , "lotimes" * "⨴"-    , "lowast" * "∗"-    , "lowbar" * "_"-    , "LowerLeftArrow" * "↙"-    , "LowerRightArrow" * "↘"-    , "loz" * "◊"-    , "lozenge" * "◊"-    , "lozf" * "⧫"-    , "lpar" * "("-    , "lparlt" * "⦓"-    , "lrarr" * "⇆"-    , "lrcorner" * "⌟"-    , "lrhar" * "⇋"-    , "lrhard" * "⥭"-    , "lrm" * "\8206" -- escaped-    , "lrtri" * "⊿"-    , "lsaquo" * "‹"-    , "Lscr" * "ℒ"-    , "lscr" * "𝓁"-    , "Lsh" * "↰"-    , "lsh" * "↰"-    , "lsim" * "≲"-    , "lsime" * "⪍"-    , "lsimg" * "⪏"-    , "lsqb" * "["-    , "lsquo" * "‘"-    , "lsquor" * "‚"-    , "Lstrok" * "Ł"-    , "lstrok" * "ł"-    , "LT" * "<"-    , "Lt" * "≪"-    , "lt" * "<"-    , "ltcc" * "⪦"-    , "ltcir" * "⩹"-    , "ltdot" * "⋖"-    , "lthree" * "⋋"-    , "ltimes" * "⋉"-    , "ltlarr" * "⥶"-    , "ltquest" * "⩻"-    , "ltri" * "◃"-    , "ltrie" * "⊴"-    , "ltrif" * "◂"-    , "ltrPar" * "⦖"-    , "lurdshar" * "⥊"-    , "luruhar" * "⥦"-    , "lvertneqq" * "≨︀" -- "\8808\65024"-    , "lvnE" * "≨︀" -- "\8808\65024"-    , "macr" * "¯"-    , "male" * "♂"-    , "malt" * "✠"-    , "maltese" * "✠"-    , "Map" * "⤅"-    , "map" * "↦"-    , "mapsto" * "↦"-    , "mapstodown" * "↧"-    , "mapstoleft" * "↤"-    , "mapstoup" * "↥"-    , "marker" * "▮"-    , "mcomma" * "⨩"-    , "Mcy" * "М"-    , "mcy" * "м"-    , "mdash" * "—"-    , "mDDot" * "∺"-    , "measuredangle" * "∡"-    , "MediumSpace" * " "-    , "Mellintrf" * "ℳ"-    , "Mfr" * "𝔐"-    , "mfr" * "𝔪"-    , "mho" * "℧"-    , "micro" * "µ"-    , "mid" * "∣"-    , "midast" * "*"-    , "midcir" * "⫰"-    , "middot" * "·"-    , "minus" * "−"-    , "minusb" * "⊟"-    , "minusd" * "∸"-    , "minusdu" * "⨪"-    , "MinusPlus" * "∓"-    , "mlcp" * "⫛"-    , "mldr" * "…"-    , "mnplus" * "∓"-    , "models" * "⊧"-    , "Mopf" * "𝕄"-    , "mopf" * "𝕞"-    , "mp" * "∓"-    , "Mscr" * "ℳ"-    , "mscr" * "𝓂"-    , "mstpos" * "∾"-    , "Mu" * "Μ"-    , "mu" * "μ"-    , "multimap" * "⊸"-    , "mumap" * "⊸"-    , "nabla" * "∇"-    , "Nacute" * "Ń"-    , "nacute" * "ń"-    , "nang" * "∠⃒" -- "\8736\8402"-    , "nap" * "≉"-    , "napE" * "⩰̸" -- "\10864\824"-    , "napid" * "≋̸" -- "\8779\824"-    , "napos" * "ʼn"-    , "napprox" * "≉"-    , "natur" * "♮"-    , "natural" * "♮"-    , "naturals" * "ℕ"-    , "nbsp" * " "-    , "nbump" * "≎̸" -- "\8782\824"-    , "nbumpe" * "≏̸" -- "\8783\824"-    , "ncap" * "⩃"-    , "Ncaron" * "Ň"-    , "ncaron" * "ň"-    , "Ncedil" * "Ņ"-    , "ncedil" * "ņ"-    , "ncong" * "≇"-    , "ncongdot" * "⩭̸" -- "\10861\824"-    , "ncup" * "⩂"-    , "Ncy" * "Н"-    , "ncy" * "н"-    , "ndash" * "–"-    , "ne" * "≠"-    , "nearhk" * "⤤"-    , "neArr" * "⇗"-    , "nearr" * "↗"-    , "nearrow" * "↗"-    , "nedot" * "≐̸" -- "\8784\824"-    , "NegativeMediumSpace" * "\8203" -- escaped-    , "NegativeThickSpace" * "\8203" -- escaped-    , "NegativeThinSpace" * "\8203" -- escaped-    , "NegativeVeryThinSpace" * "\8203" -- escaped-    , "nequiv" * "≢"-    , "nesear" * "⤨"-    , "nesim" * "≂̸" -- "\8770\824"-    , "NestedGreaterGreater" * "≫"-    , "NestedLessLess" * "≪"-    , "NewLine" * "\n" -- escaped-    , "nexist" * "∄"-    , "nexists" * "∄"-    , "Nfr" * "𝔑"-    , "nfr" * "𝔫"-    , "ngE" * "≧̸" -- "\8807\824"-    , "nge" * "≱"-    , "ngeq" * "≱"-    , "ngeqq" * "≧̸" -- "\8807\824"-    , "ngeqslant" * "⩾̸" -- "\10878\824"-    , "nges" * "⩾̸" -- "\10878\824"-    , "nGg" * "⋙̸" -- "\8921\824"-    , "ngsim" * "≵"-    , "nGt" * "≫⃒" -- "\8811\8402"-    , "ngt" * "≯"-    , "ngtr" * "≯"-    , "nGtv" * "≫̸" -- "\8811\824"-    , "nhArr" * "⇎"-    , "nharr" * "↮"-    , "nhpar" * "⫲"-    , "ni" * "∋"-    , "nis" * "⋼"-    , "nisd" * "⋺"-    , "niv" * "∋"-    , "NJcy" * "Њ"-    , "njcy" * "њ"-    , "nlArr" * "⇍"-    , "nlarr" * "↚"-    , "nldr" * "‥"-    , "nlE" * "≦̸" -- "\8806\824"-    , "nle" * "≰"-    , "nLeftarrow" * "⇍"-    , "nleftarrow" * "↚"-    , "nLeftrightarrow" * "⇎"-    , "nleftrightarrow" * "↮"-    , "nleq" * "≰"-    , "nleqq" * "≦̸" -- "\8806\824"-    , "nleqslant" * "⩽̸" -- "\10877\824"-    , "nles" * "⩽̸" -- "\10877\824"-    , "nless" * "≮"-    , "nLl" * "⋘̸" -- "\8920\824"-    , "nlsim" * "≴"-    , "nLt" * "≪⃒" -- "\8810\8402"-    , "nlt" * "≮"-    , "nltri" * "⋪"-    , "nltrie" * "⋬"-    , "nLtv" * "≪̸" -- "\8810\824"-    , "nmid" * "∤"-    , "NoBreak" * "\8288" -- escaped-    , "NonBreakingSpace" * " "-    , "Nopf" * "ℕ"-    , "nopf" * "𝕟"-    , "Not" * "⫬"-    , "not" * "¬"-    , "NotCongruent" * "≢"-    , "NotCupCap" * "≭"-    , "NotDoubleVerticalBar" * "∦"-    , "NotElement" * "∉"-    , "NotEqual" * "≠"-    , "NotEqualTilde" * "≂̸" -- "\8770\824"-    , "NotExists" * "∄"-    , "NotGreater" * "≯"-    , "NotGreaterEqual" * "≱"-    , "NotGreaterFullEqual" * "≧̸" -- "\8807\824"-    , "NotGreaterGreater" * "≫̸" -- "\8811\824"-    , "NotGreaterLess" * "≹"-    , "NotGreaterSlantEqual" * "⩾̸" -- "\10878\824"-    , "NotGreaterTilde" * "≵"-    , "NotHumpDownHump" * "≎̸" -- "\8782\824"-    , "NotHumpEqual" * "≏̸" -- "\8783\824"-    , "notin" * "∉"-    , "notindot" * "⋵̸" -- "\8949\824"-    , "notinE" * "⋹̸" -- "\8953\824"-    , "notinva" * "∉"-    , "notinvb" * "⋷"-    , "notinvc" * "⋶"-    , "NotLeftTriangle" * "⋪"-    , "NotLeftTriangleBar" * "⧏̸" -- "\10703\824"-    , "NotLeftTriangleEqual" * "⋬"-    , "NotLess" * "≮"-    , "NotLessEqual" * "≰"-    , "NotLessGreater" * "≸"-    , "NotLessLess" * "≪̸" -- "\8810\824"-    , "NotLessSlantEqual" * "⩽̸" -- "\10877\824"-    , "NotLessTilde" * "≴"-    , "NotNestedGreaterGreater" * "⪢̸" -- "\10914\824"-    , "NotNestedLessLess" * "⪡̸" -- "\10913\824"-    , "notni" * "∌"-    , "notniva" * "∌"-    , "notnivb" * "⋾"-    , "notnivc" * "⋽"-    , "NotPrecedes" * "⊀"-    , "NotPrecedesEqual" * "⪯̸" -- "\10927\824"-    , "NotPrecedesSlantEqual" * "⋠"-    , "NotReverseElement" * "∌"-    , "NotRightTriangle" * "⋫"-    , "NotRightTriangleBar" * "⧐̸" -- "\10704\824"-    , "NotRightTriangleEqual" * "⋭"-    , "NotSquareSubset" * "⊏̸" -- "\8847\824"-    , "NotSquareSubsetEqual" * "⋢"-    , "NotSquareSuperset" * "⊐̸" -- "\8848\824"-    , "NotSquareSupersetEqual" * "⋣"-    , "NotSubset" * "⊂⃒" -- "\8834\8402"-    , "NotSubsetEqual" * "⊈"-    , "NotSucceeds" * "⊁"-    , "NotSucceedsEqual" * "⪰̸" -- "\10928\824"-    , "NotSucceedsSlantEqual" * "⋡"-    , "NotSucceedsTilde" * "≿̸" -- "\8831\824"-    , "NotSuperset" * "⊃⃒" -- "\8835\8402"-    , "NotSupersetEqual" * "⊉"-    , "NotTilde" * "≁"-    , "NotTildeEqual" * "≄"-    , "NotTildeFullEqual" * "≇"-    , "NotTildeTilde" * "≉"-    , "NotVerticalBar" * "∤"-    , "npar" * "∦"-    , "nparallel" * "∦"-    , "nparsl" * "⫽⃥" -- "\11005\8421"-    , "npart" * "∂̸" -- "\8706\824"-    , "npolint" * "⨔"-    , "npr" * "⊀"-    , "nprcue" * "⋠"-    , "npre" * "⪯̸" -- "\10927\824"-    , "nprec" * "⊀"-    , "npreceq" * "⪯̸" -- "\10927\824"-    , "nrArr" * "⇏"-    , "nrarr" * "↛"-    , "nrarrc" * "⤳̸" -- "\10547\824"-    , "nrarrw" * "↝̸" -- "\8605\824"-    , "nRightarrow" * "⇏"-    , "nrightarrow" * "↛"-    , "nrtri" * "⋫"-    , "nrtrie" * "⋭"-    , "nsc" * "⊁"-    , "nsccue" * "⋡"-    , "nsce" * "⪰̸" -- "\10928\824"-    , "Nscr" * "𝒩"-    , "nscr" * "𝓃"-    , "nshortmid" * "∤"-    , "nshortparallel" * "∦"-    , "nsim" * "≁"-    , "nsime" * "≄"-    , "nsimeq" * "≄"-    , "nsmid" * "∤"-    , "nspar" * "∦"-    , "nsqsube" * "⋢"-    , "nsqsupe" * "⋣"-    , "nsub" * "⊄"-    , "nsubE" * "⫅̸" -- "\10949\824"-    , "nsube" * "⊈"-    , "nsubset" * "⊂⃒" -- "\8834\8402"-    , "nsubseteq" * "⊈"-    , "nsubseteqq" * "⫅̸" -- "\10949\824"-    , "nsucc" * "⊁"-    , "nsucceq" * "⪰̸" -- "\10928\824"-    , "nsup" * "⊅"-    , "nsupE" * "⫆̸" -- "\10950\824"-    , "nsupe" * "⊉"-    , "nsupset" * "⊃⃒" -- "\8835\8402"-    , "nsupseteq" * "⊉"-    , "nsupseteqq" * "⫆̸" -- "\10950\824"-    , "ntgl" * "≹"-    , "Ntilde" * "Ñ"-    , "ntilde" * "ñ"-    , "ntlg" * "≸"-    , "ntriangleleft" * "⋪"-    , "ntrianglelefteq" * "⋬"-    , "ntriangleright" * "⋫"-    , "ntrianglerighteq" * "⋭"-    , "Nu" * "Ν"-    , "nu" * "ν"-    , "num" * "#"-    , "numero" * "№"-    , "numsp" * " "-    , "nvap" * "≍⃒" -- "\8781\8402"-    , "nVDash" * "⊯"-    , "nVdash" * "⊮"-    , "nvDash" * "⊭"-    , "nvdash" * "⊬"-    , "nvge" * "≥⃒" -- "\8805\8402"-    , "nvgt" * ">⃒" -- ">\8402"-    , "nvHarr" * "⤄"-    , "nvinfin" * "⧞"-    , "nvlArr" * "⤂"-    , "nvle" * "≤⃒" -- "\8804\8402"-    , "nvlt" * "<⃒" -- "<\8402"-    , "nvltrie" * "⊴⃒" -- "\8884\8402"-    , "nvrArr" * "⤃"-    , "nvrtrie" * "⊵⃒" -- "\8885\8402"-    , "nvsim" * "∼⃒" -- "\8764\8402"-    , "nwarhk" * "⤣"-    , "nwArr" * "⇖"-    , "nwarr" * "↖"-    , "nwarrow" * "↖"-    , "nwnear" * "⤧"-    , "Oacute" * "Ó"-    , "oacute" * "ó"-    , "oast" * "⊛"-    , "ocir" * "⊚"-    , "Ocirc" * "Ô"-    , "ocirc" * "ô"-    , "Ocy" * "О"-    , "ocy" * "о"-    , "odash" * "⊝"-    , "Odblac" * "Ő"-    , "odblac" * "ő"-    , "odiv" * "⨸"-    , "odot" * "⊙"-    , "odsold" * "⦼"-    , "OElig" * "Œ"-    , "oelig" * "œ"-    , "ofcir" * "⦿"-    , "Ofr" * "𝔒"-    , "ofr" * "𝔬"-    , "ogon" * "˛"-    , "Ograve" * "Ò"-    , "ograve" * "ò"-    , "ogt" * "⧁"-    , "ohbar" * "⦵"-    , "ohm" * "Ω"-    , "oint" * "∮"-    , "olarr" * "↺"-    , "olcir" * "⦾"-    , "olcross" * "⦻"-    , "oline" * "‾"-    , "olt" * "⧀"-    , "Omacr" * "Ō"-    , "omacr" * "ō"-    , "Omega" * "Ω"-    , "omega" * "ω"-    , "Omicron" * "Ο"-    , "omicron" * "ο"-    , "omid" * "⦶"-    , "ominus" * "⊖"-    , "Oopf" * "𝕆"-    , "oopf" * "𝕠"-    , "opar" * "⦷"-    , "OpenCurlyDoubleQuote" * "“"-    , "OpenCurlyQuote" * "‘"-    , "operp" * "⦹"-    , "oplus" * "⊕"-    , "Or" * "⩔"-    , "or" * "∨"-    , "orarr" * "↻"-    , "ord" * "⩝"-    , "order" * "ℴ"-    , "orderof" * "ℴ"-    , "ordf" * "ª"-    , "ordm" * "º"-    , "origof" * "⊶"-    , "oror" * "⩖"-    , "orslope" * "⩗"-    , "orv" * "⩛"-    , "oS" * "Ⓢ"-    , "Oscr" * "𝒪"-    , "oscr" * "ℴ"-    , "Oslash" * "Ø"-    , "oslash" * "ø"-    , "osol" * "⊘"-    , "Otilde" * "Õ"-    , "otilde" * "õ"-    , "Otimes" * "⨷"-    , "otimes" * "⊗"-    , "otimesas" * "⨶"-    , "Ouml" * "Ö"-    , "ouml" * "ö"-    , "ovbar" * "⌽"-    , "OverBar" * "‾"-    , "OverBrace" * "⏞"-    , "OverBracket" * "⎴"-    , "OverParenthesis" * "⏜"-    , "par" * "∥"-    , "para" * "¶"-    , "parallel" * "∥"-    , "parsim" * "⫳"-    , "parsl" * "⫽"-    , "part" * "∂"-    , "PartialD" * "∂"-    , "Pcy" * "П"-    , "pcy" * "п"-    , "percnt" * "%"-    , "period" * "."-    , "permil" * "‰"-    , "perp" * "⊥"-    , "pertenk" * "‱"-    , "Pfr" * "𝔓"-    , "pfr" * "𝔭"-    , "Phi" * "Φ"-    , "phi" * "φ"-    , "phiv" * "ϕ"-    , "phmmat" * "ℳ"-    , "phone" * "☎"-    , "Pi" * "Π"-    , "pi" * "π"-    , "pitchfork" * "⋔"-    , "piv" * "ϖ"-    , "planck" * "ℏ"-    , "planckh" * "ℎ"-    , "plankv" * "ℏ"-    , "plus" * "+"-    , "plusacir" * "⨣"-    , "plusb" * "⊞"-    , "pluscir" * "⨢"-    , "plusdo" * "∔"-    , "plusdu" * "⨥"-    , "pluse" * "⩲"-    , "PlusMinus" * "±"-    , "plusmn" * "±"-    , "plussim" * "⨦"-    , "plustwo" * "⨧"-    , "pm" * "±"-    , "Poincareplane" * "ℌ"-    , "pointint" * "⨕"-    , "Popf" * "ℙ"-    , "popf" * "𝕡"-    , "pound" * "£"-    , "Pr" * "⪻"-    , "pr" * "≺"-    , "prap" * "⪷"-    , "prcue" * "≼"-    , "prE" * "⪳"-    , "pre" * "⪯"-    , "prec" * "≺"-    , "precapprox" * "⪷"-    , "preccurlyeq" * "≼"-    , "Precedes" * "≺"-    , "PrecedesEqual" * "⪯"-    , "PrecedesSlantEqual" * "≼"-    , "PrecedesTilde" * "≾"-    , "preceq" * "⪯"-    , "precnapprox" * "⪹"-    , "precneqq" * "⪵"-    , "precnsim" * "⋨"-    , "precsim" * "≾"-    , "Prime" * "″"-    , "prime" * "′"-    , "primes" * "ℙ"-    , "prnap" * "⪹"-    , "prnE" * "⪵"-    , "prnsim" * "⋨"-    , "prod" * "∏"-    , "Product" * "∏"-    , "profalar" * "⌮"-    , "profline" * "⌒"-    , "profsurf" * "⌓"-    , "prop" * "∝"-    , "Proportion" * "∷"-    , "Proportional" * "∝"-    , "propto" * "∝"-    , "prsim" * "≾"-    , "prurel" * "⊰"-    , "Pscr" * "𝒫"-    , "pscr" * "𝓅"-    , "Psi" * "Ψ"-    , "psi" * "ψ"-    , "puncsp" * " "-    , "Qfr" * "𝔔"-    , "qfr" * "𝔮"-    , "qint" * "⨌"-    , "Qopf" * "ℚ"-    , "qopf" * "𝕢"-    , "qprime" * "⁗"-    , "Qscr" * "𝒬"-    , "qscr" * "𝓆"-    , "quaternions" * "ℍ"-    , "quatint" * "⨖"-    , "quest" * "?"-    , "questeq" * "≟"-    , "QUOT" * "\"" -- escaped-    , "quot" * "\"" -- escaped-    , "rAarr" * "⇛"-    , "race" * "∽̱" -- "\8765\817"-    , "Racute" * "Ŕ"-    , "racute" * "ŕ"-    , "radic" * "√"-    , "raemptyv" * "⦳"-    , "Rang" * "⟫"-    , "rang" * "⟩"-    , "rangd" * "⦒"-    , "range" * "⦥"-    , "rangle" * "⟩"-    , "raquo" * "»"-    , "Rarr" * "↠"-    , "rArr" * "⇒"-    , "rarr" * "→"-    , "rarrap" * "⥵"-    , "rarrb" * "⇥"-    , "rarrbfs" * "⤠"-    , "rarrc" * "⤳"-    , "rarrfs" * "⤞"-    , "rarrhk" * "↪"-    , "rarrlp" * "↬"-    , "rarrpl" * "⥅"-    , "rarrsim" * "⥴"-    , "Rarrtl" * "⤖"-    , "rarrtl" * "↣"-    , "rarrw" * "↝"-    , "rAtail" * "⤜"-    , "ratail" * "⤚"-    , "ratio" * "∶"-    , "rationals" * "ℚ"-    , "RBarr" * "⤐"-    , "rBarr" * "⤏"-    , "rbarr" * "⤍"-    , "rbbrk" * "❳"-    , "rbrace" * "}"-    , "rbrack" * "]"-    , "rbrke" * "⦌"-    , "rbrksld" * "⦎"-    , "rbrkslu" * "⦐"-    , "Rcaron" * "Ř"-    , "rcaron" * "ř"-    , "Rcedil" * "Ŗ"-    , "rcedil" * "ŗ"-    , "rceil" * "⌉"-    , "rcub" * "}"-    , "Rcy" * "Р"-    , "rcy" * "р"-    , "rdca" * "⤷"-    , "rdldhar" * "⥩"-    , "rdquo" * "”"-    , "rdquor" * "”"-    , "rdsh" * "↳"-    , "Re" * "ℜ"-    , "real" * "ℜ"-    , "realine" * "ℛ"-    , "realpart" * "ℜ"-    , "reals" * "ℝ"-    , "rect" * "▭"-    , "REG" * "®"-    , "reg" * "®"-    , "ReverseElement" * "∋"-    , "ReverseEquilibrium" * "⇋"-    , "ReverseUpEquilibrium" * "⥯"-    , "rfisht" * "⥽"-    , "rfloor" * "⌋"-    , "Rfr" * "ℜ"-    , "rfr" * "𝔯"-    , "rHar" * "⥤"-    , "rhard" * "⇁"-    , "rharu" * "⇀"-    , "rharul" * "⥬"-    , "Rho" * "Ρ"-    , "rho" * "ρ"-    , "rhov" * "ϱ"-    , "RightAngleBracket" * "⟩"-    , "RightArrow" * "→"-    , "Rightarrow" * "⇒"-    , "rightarrow" * "→"-    , "RightArrowBar" * "⇥"-    , "RightArrowLeftArrow" * "⇄"-    , "rightarrowtail" * "↣"-    , "RightCeiling" * "⌉"-    , "RightDoubleBracket" * "⟧"-    , "RightDownTeeVector" * "⥝"-    , "RightDownVector" * "⇂"-    , "RightDownVectorBar" * "⥕"-    , "RightFloor" * "⌋"-    , "rightharpoondown" * "⇁"-    , "rightharpoonup" * "⇀"-    , "rightleftarrows" * "⇄"-    , "rightleftharpoons" * "⇌"-    , "rightrightarrows" * "⇉"-    , "rightsquigarrow" * "↝"-    , "RightTee" * "⊢"-    , "RightTeeArrow" * "↦"-    , "RightTeeVector" * "⥛"-    , "rightthreetimes" * "⋌"-    , "RightTriangle" * "⊳"-    , "RightTriangleBar" * "⧐"-    , "RightTriangleEqual" * "⊵"-    , "RightUpDownVector" * "⥏"-    , "RightUpTeeVector" * "⥜"-    , "RightUpVector" * "↾"-    , "RightUpVectorBar" * "⥔"-    , "RightVector" * "⇀"-    , "RightVectorBar" * "⥓"-    , "ring" * "˚"-    , "risingdotseq" * "≓"-    , "rlarr" * "⇄"-    , "rlhar" * "⇌"-    , "rlm" * "\8207" -- escaped-    , "rmoust" * "⎱"-    , "rmoustache" * "⎱"-    , "rnmid" * "⫮"-    , "roang" * "⟭"-    , "roarr" * "⇾"-    , "robrk" * "⟧"-    , "ropar" * "⦆"-    , "Ropf" * "ℝ"-    , "ropf" * "𝕣"-    , "roplus" * "⨮"-    , "rotimes" * "⨵"-    , "RoundImplies" * "⥰"-    , "rpar" * ")"-    , "rpargt" * "⦔"-    , "rppolint" * "⨒"-    , "rrarr" * "⇉"-    , "Rrightarrow" * "⇛"-    , "rsaquo" * "›"-    , "Rscr" * "ℛ"-    , "rscr" * "𝓇"-    , "Rsh" * "↱"-    , "rsh" * "↱"-    , "rsqb" * "]"-    , "rsquo" * "’"-    , "rsquor" * "’"-    , "rthree" * "⋌"-    , "rtimes" * "⋊"-    , "rtri" * "▹"-    , "rtrie" * "⊵"-    , "rtrif" * "▸"-    , "rtriltri" * "⧎"-    , "RuleDelayed" * "⧴"-    , "ruluhar" * "⥨"-    , "rx" * "℞"-    , "Sacute" * "Ś"-    , "sacute" * "ś"-    , "sbquo" * "‚"-    , "Sc" * "⪼"-    , "sc" * "≻"-    , "scap" * "⪸"-    , "Scaron" * "Š"-    , "scaron" * "š"-    , "sccue" * "≽"-    , "scE" * "⪴"-    , "sce" * "⪰"-    , "Scedil" * "Ş"-    , "scedil" * "ş"-    , "Scirc" * "Ŝ"-    , "scirc" * "ŝ"-    , "scnap" * "⪺"-    , "scnE" * "⪶"-    , "scnsim" * "⋩"-    , "scpolint" * "⨓"-    , "scsim" * "≿"-    , "Scy" * "С"-    , "scy" * "с"-    , "sdot" * "⋅"-    , "sdotb" * "⊡"-    , "sdote" * "⩦"-    , "searhk" * "⤥"-    , "seArr" * "⇘"-    , "searr" * "↘"-    , "searrow" * "↘"-    , "sect" * "§"-    , "semi" * ";"-    , "seswar" * "⤩"-    , "setminus" * "∖"-    , "setmn" * "∖"-    , "sext" * "✶"-    , "Sfr" * "𝔖"-    , "sfr" * "𝔰"-    , "sfrown" * "⌢"-    , "sharp" * "♯"-    , "SHCHcy" * "Щ"-    , "shchcy" * "щ"-    , "SHcy" * "Ш"-    , "shcy" * "ш"-    , "ShortDownArrow" * "↓"-    , "ShortLeftArrow" * "←"-    , "shortmid" * "∣"-    , "shortparallel" * "∥"-    , "ShortRightArrow" * "→"-    , "ShortUpArrow" * "↑"-    , "shy" * "\173" -- escaped-    , "Sigma" * "Σ"-    , "sigma" * "σ"-    , "sigmaf" * "ς"-    , "sigmav" * "ς"-    , "sim" * "∼"-    , "simdot" * "⩪"-    , "sime" * "≃"-    , "simeq" * "≃"-    , "simg" * "⪞"-    , "simgE" * "⪠"-    , "siml" * "⪝"-    , "simlE" * "⪟"-    , "simne" * "≆"-    , "simplus" * "⨤"-    , "simrarr" * "⥲"-    , "slarr" * "←"-    , "SmallCircle" * "∘"-    , "smallsetminus" * "∖"-    , "smashp" * "⨳"-    , "smeparsl" * "⧤"-    , "smid" * "∣"-    , "smile" * "⌣"-    , "smt" * "⪪"-    , "smte" * "⪬"-    , "smtes" * "⪬︀" -- "\10924\65024"-    , "SOFTcy" * "Ь"-    , "softcy" * "ь"-    , "sol" * "/"-    , "solb" * "⧄"-    , "solbar" * "⌿"-    , "Sopf" * "𝕊"-    , "sopf" * "𝕤"-    , "spades" * "♠"-    , "spadesuit" * "♠"-    , "spar" * "∥"-    , "sqcap" * "⊓"-    , "sqcaps" * "⊓︀" -- "\8851\65024"-    , "sqcup" * "⊔"-    , "sqcups" * "⊔︀" -- "\8852\65024"-    , "Sqrt" * "√"-    , "sqsub" * "⊏"-    , "sqsube" * "⊑"-    , "sqsubset" * "⊏"-    , "sqsubseteq" * "⊑"-    , "sqsup" * "⊐"-    , "sqsupe" * "⊒"-    , "sqsupset" * "⊐"-    , "sqsupseteq" * "⊒"-    , "squ" * "□"-    , "Square" * "□"-    , "square" * "□"-    , "SquareIntersection" * "⊓"-    , "SquareSubset" * "⊏"-    , "SquareSubsetEqual" * "⊑"-    , "SquareSuperset" * "⊐"-    , "SquareSupersetEqual" * "⊒"-    , "SquareUnion" * "⊔"-    , "squarf" * "▪"-    , "squf" * "▪"-    , "srarr" * "→"-    , "Sscr" * "𝒮"-    , "sscr" * "𝓈"-    , "ssetmn" * "∖"-    , "ssmile" * "⌣"-    , "sstarf" * "⋆"-    , "Star" * "⋆"-    , "star" * "☆"-    , "starf" * "★"-    , "straightepsilon" * "ϵ"-    , "straightphi" * "ϕ"-    , "strns" * "¯"-    , "Sub" * "⋐"-    , "sub" * "⊂"-    , "subdot" * "⪽"-    , "subE" * "⫅"-    , "sube" * "⊆"-    , "subedot" * "⫃"-    , "submult" * "⫁"-    , "subnE" * "⫋"-    , "subne" * "⊊"-    , "subplus" * "⪿"-    , "subrarr" * "⥹"-    , "Subset" * "⋐"-    , "subset" * "⊂"-    , "subseteq" * "⊆"-    , "subseteqq" * "⫅"-    , "SubsetEqual" * "⊆"-    , "subsetneq" * "⊊"-    , "subsetneqq" * "⫋"-    , "subsim" * "⫇"-    , "subsub" * "⫕"-    , "subsup" * "⫓"-    , "succ" * "≻"-    , "succapprox" * "⪸"-    , "succcurlyeq" * "≽"-    , "Succeeds" * "≻"-    , "SucceedsEqual" * "⪰"-    , "SucceedsSlantEqual" * "≽"-    , "SucceedsTilde" * "≿"-    , "succeq" * "⪰"-    , "succnapprox" * "⪺"-    , "succneqq" * "⪶"-    , "succnsim" * "⋩"-    , "succsim" * "≿"-    , "SuchThat" * "∋"-    , "Sum" * "∑"-    , "sum" * "∑"-    , "sung" * "♪"-    , "Sup" * "⋑"-    , "sup" * "⊃"-    , "sup1" * "¹"-    , "sup2" * "²"-    , "sup3" * "³"-    , "supdot" * "⪾"-    , "supdsub" * "⫘"-    , "supE" * "⫆"-    , "supe" * "⊇"-    , "supedot" * "⫄"-    , "Superset" * "⊃"-    , "SupersetEqual" * "⊇"-    , "suphsol" * "⟉"-    , "suphsub" * "⫗"-    , "suplarr" * "⥻"-    , "supmult" * "⫂"-    , "supnE" * "⫌"-    , "supne" * "⊋"-    , "supplus" * "⫀"-    , "Supset" * "⋑"-    , "supset" * "⊃"-    , "supseteq" * "⊇"-    , "supseteqq" * "⫆"-    , "supsetneq" * "⊋"-    , "supsetneqq" * "⫌"-    , "supsim" * "⫈"-    , "supsub" * "⫔"-    , "supsup" * "⫖"-    , "swarhk" * "⤦"-    , "swArr" * "⇙"-    , "swarr" * "↙"-    , "swarrow" * "↙"-    , "swnwar" * "⤪"-    , "szlig" * "ß"-    , "Tab" * "\t" -- escaped-    , "target" * "⌖"-    , "Tau" * "Τ"-    , "tau" * "τ"-    , "tbrk" * "⎴"-    , "Tcaron" * "Ť"-    , "tcaron" * "ť"-    , "Tcedil" * "Ţ"-    , "tcedil" * "ţ"-    , "Tcy" * "Т"-    , "tcy" * "т"-    , "tdot" * "⃛"-    , "telrec" * "⌕"-    , "Tfr" * "𝔗"-    , "tfr" * "𝔱"-    , "there4" * "∴"-    , "Therefore" * "∴"-    , "therefore" * "∴"-    , "Theta" * "Θ"-    , "theta" * "θ"-    , "thetasym" * "ϑ"-    , "thetav" * "ϑ"-    , "thickapprox" * "≈"-    , "thicksim" * "∼"-    , "ThickSpace" * "  " -- "\8287\8202"-    , "thinsp" * " "-    , "ThinSpace" * " "-    , "thkap" * "≈"-    , "thksim" * "∼"-    , "THORN" * "Þ"-    , "thorn" * "þ"-    , "Tilde" * "∼"-    , "tilde" * "˜"-    , "TildeEqual" * "≃"-    , "TildeFullEqual" * "≅"-    , "TildeTilde" * "≈"-    , "times" * "×"-    , "timesb" * "⊠"-    , "timesbar" * "⨱"-    , "timesd" * "⨰"-    , "tint" * "∭"-    , "toea" * "⤨"-    , "top" * "⊤"-    , "topbot" * "⌶"-    , "topcir" * "⫱"-    , "Topf" * "𝕋"-    , "topf" * "𝕥"-    , "topfork" * "⫚"-    , "tosa" * "⤩"-    , "tprime" * "‴"-    , "TRADE" * "™"-    , "trade" * "™"-    , "triangle" * "▵"-    , "triangledown" * "▿"-    , "triangleleft" * "◃"-    , "trianglelefteq" * "⊴"-    , "triangleq" * "≜"-    , "triangleright" * "▹"-    , "trianglerighteq" * "⊵"-    , "tridot" * "◬"-    , "trie" * "≜"-    , "triminus" * "⨺"-    , "TripleDot" * "⃛"-    , "triplus" * "⨹"-    , "trisb" * "⧍"-    , "tritime" * "⨻"-    , "trpezium" * "⏢"-    , "Tscr" * "𝒯"-    , "tscr" * "𝓉"-    , "TScy" * "Ц"-    , "tscy" * "ц"-    , "TSHcy" * "Ћ"-    , "tshcy" * "ћ"-    , "Tstrok" * "Ŧ"-    , "tstrok" * "ŧ"-    , "twixt" * "≬"-    , "twoheadleftarrow" * "↞"-    , "twoheadrightarrow" * "↠"-    , "Uacute" * "Ú"-    , "uacute" * "ú"-    , "Uarr" * "↟"-    , "uArr" * "⇑"-    , "uarr" * "↑"-    , "Uarrocir" * "⥉"-    , "Ubrcy" * "Ў"-    , "ubrcy" * "ў"-    , "Ubreve" * "Ŭ"-    , "ubreve" * "ŭ"-    , "Ucirc" * "Û"-    , "ucirc" * "û"-    , "Ucy" * "У"-    , "ucy" * "у"-    , "udarr" * "⇅"-    , "Udblac" * "Ű"-    , "udblac" * "ű"-    , "udhar" * "⥮"-    , "ufisht" * "⥾"-    , "Ufr" * "𝔘"-    , "ufr" * "𝔲"-    , "Ugrave" * "Ù"-    , "ugrave" * "ù"-    , "uHar" * "⥣"-    , "uharl" * "↿"-    , "uharr" * "↾"-    , "uhblk" * "▀"-    , "ulcorn" * "⌜"-    , "ulcorner" * "⌜"-    , "ulcrop" * "⌏"-    , "ultri" * "◸"-    , "Umacr" * "Ū"-    , "umacr" * "ū"-    , "uml" * "¨"-    , "UnderBar" * "_"-    , "UnderBrace" * "⏟"-    , "UnderBracket" * "⎵"-    , "UnderParenthesis" * "⏝"-    , "Union" * "⋃"-    , "UnionPlus" * "⊎"-    , "Uogon" * "Ų"-    , "uogon" * "ų"-    , "Uopf" * "𝕌"-    , "uopf" * "𝕦"-    , "UpArrow" * "↑"-    , "Uparrow" * "⇑"-    , "uparrow" * "↑"-    , "UpArrowBar" * "⤒"-    , "UpArrowDownArrow" * "⇅"-    , "UpDownArrow" * "↕"-    , "Updownarrow" * "⇕"-    , "updownarrow" * "↕"-    , "UpEquilibrium" * "⥮"-    , "upharpoonleft" * "↿"-    , "upharpoonright" * "↾"-    , "uplus" * "⊎"-    , "UpperLeftArrow" * "↖"-    , "UpperRightArrow" * "↗"-    , "Upsi" * "ϒ"-    , "upsi" * "υ"-    , "upsih" * "ϒ"-    , "Upsilon" * "Υ"-    , "upsilon" * "υ"-    , "UpTee" * "⊥"-    , "UpTeeArrow" * "↥"-    , "upuparrows" * "⇈"-    , "urcorn" * "⌝"-    , "urcorner" * "⌝"-    , "urcrop" * "⌎"-    , "Uring" * "Ů"-    , "uring" * "ů"-    , "urtri" * "◹"-    , "Uscr" * "𝒰"-    , "uscr" * "𝓊"-    , "utdot" * "⋰"-    , "Utilde" * "Ũ"-    , "utilde" * "ũ"-    , "utri" * "▵"-    , "utrif" * "▴"-    , "uuarr" * "⇈"-    , "Uuml" * "Ü"-    , "uuml" * "ü"-    , "uwangle" * "⦧"-    , "vangrt" * "⦜"-    , "varepsilon" * "ϵ"-    , "varkappa" * "ϰ"-    , "varnothing" * "∅"-    , "varphi" * "ϕ"-    , "varpi" * "ϖ"-    , "varpropto" * "∝"-    , "vArr" * "⇕"-    , "varr" * "↕"-    , "varrho" * "ϱ"-    , "varsigma" * "ς"-    , "varsubsetneq" * "⊊︀" -- "\8842\65024"-    , "varsubsetneqq" * "⫋︀" -- "\10955\65024"-    , "varsupsetneq" * "⊋︀" -- "\8843\65024"-    , "varsupsetneqq" * "⫌︀" -- "\10956\65024"-    , "vartheta" * "ϑ"-    , "vartriangleleft" * "⊲"-    , "vartriangleright" * "⊳"-    , "Vbar" * "⫫"-    , "vBar" * "⫨"-    , "vBarv" * "⫩"-    , "Vcy" * "В"-    , "vcy" * "в"-    , "VDash" * "⊫"-    , "Vdash" * "⊩"-    , "vDash" * "⊨"-    , "vdash" * "⊢"-    , "Vdashl" * "⫦"-    , "Vee" * "⋁"-    , "vee" * "∨"-    , "veebar" * "⊻"-    , "veeeq" * "≚"-    , "vellip" * "⋮"-    , "Verbar" * "‖"-    , "verbar" * "|"-    , "Vert" * "‖"-    , "vert" * "|"-    , "VerticalBar" * "∣"-    , "VerticalLine" * "|"-    , "VerticalSeparator" * "❘"-    , "VerticalTilde" * "≀"-    , "VeryThinSpace" * " "-    , "Vfr" * "𝔙"-    , "vfr" * "𝔳"-    , "vltri" * "⊲"-    , "vnsub" * "⊂⃒" -- "\8834\8402"-    , "vnsup" * "⊃⃒" -- "\8835\8402"-    , "Vopf" * "𝕍"-    , "vopf" * "𝕧"-    , "vprop" * "∝"-    , "vrtri" * "⊳"-    , "Vscr" * "𝒱"-    , "vscr" * "𝓋"-    , "vsubnE" * "⫋︀" -- "\10955\65024"-    , "vsubne" * "⊊︀" -- "\8842\65024"-    , "vsupnE" * "⫌︀" -- "\10956\65024"-    , "vsupne" * "⊋︀" -- "\8843\65024"-    , "Vvdash" * "⊪"-    , "vzigzag" * "⦚"-    , "Wcirc" * "Ŵ"-    , "wcirc" * "ŵ"-    , "wedbar" * "⩟"-    , "Wedge" * "⋀"-    , "wedge" * "∧"-    , "wedgeq" * "≙"-    , "weierp" * "℘"-    , "Wfr" * "𝔚"-    , "wfr" * "𝔴"-    , "Wopf" * "𝕎"-    , "wopf" * "𝕨"-    , "wp" * "℘"-    , "wr" * "≀"-    , "wreath" * "≀"-    , "Wscr" * "𝒲"-    , "wscr" * "𝓌"-    , "xcap" * "⋂"-    , "xcirc" * "◯"-    , "xcup" * "⋃"-    , "xdtri" * "▽"-    , "Xfr" * "𝔛"-    , "xfr" * "𝔵"-    , "xhArr" * "⟺"-    , "xharr" * "⟷"-    , "Xi" * "Ξ"-    , "xi" * "ξ"-    , "xlArr" * "⟸"-    , "xlarr" * "⟵"-    , "xmap" * "⟼"-    , "xnis" * "⋻"-    , "xodot" * "⨀"-    , "Xopf" * "𝕏"-    , "xopf" * "𝕩"-    , "xoplus" * "⨁"-    , "xotime" * "⨂"-    , "xrArr" * "⟹"-    , "xrarr" * "⟶"-    , "Xscr" * "𝒳"-    , "xscr" * "𝓍"-    , "xsqcup" * "⨆"-    , "xuplus" * "⨄"-    , "xutri" * "△"-    , "xvee" * "⋁"-    , "xwedge" * "⋀"-    , "Yacute" * "Ý"-    , "yacute" * "ý"-    , "YAcy" * "Я"-    , "yacy" * "я"-    , "Ycirc" * "Ŷ"-    , "ycirc" * "ŷ"-    , "Ycy" * "Ы"-    , "ycy" * "ы"-    , "yen" * "¥"-    , "Yfr" * "𝔜"-    , "yfr" * "𝔶"-    , "YIcy" * "Ї"-    , "yicy" * "ї"-    , "Yopf" * "𝕐"-    , "yopf" * "𝕪"-    , "Yscr" * "𝒴"-    , "yscr" * "𝓎"-    , "YUcy" * "Ю"-    , "yucy" * "ю"-    , "Yuml" * "Ÿ"-    , "yuml" * "ÿ"-    , "Zacute" * "Ź"-    , "zacute" * "ź"-    , "Zcaron" * "Ž"-    , "zcaron" * "ž"-    , "Zcy" * "З"-    , "zcy" * "з"-    , "Zdot" * "Ż"-    , "zdot" * "ż"-    , "zeetrf" * "ℨ"-    , "ZeroWidthSpace" * "\8203" -- escaped-    , "Zeta" * "Ζ"-    , "zeta" * "ζ"-    , "Zfr" * "ℨ"-    , "zfr" * "𝔷"-    , "ZHcy" * "Ж"-    , "zhcy" * "ж"-    , "zigrarr" * "⇝"-    , "Zopf" * "ℤ"-    , "zopf" * "𝕫"-    , "Zscr" * "𝒵"-    , "zscr" * "𝓏"-    , "zwj" * "\8205" -- escaped-    , "zwnj" * "\8204" -- escaped+    ( lookupHtmlEntity, maxHtmlEntityLength, htmlEntities+    , maxNoSemicolonHtmlEntityLength+    )+    where++import qualified Data.Map as Map++lookupHtmlEntity :: String -> Maybe String+lookupHtmlEntity = \x -> Map.lookup x mp+    where mp = Map.fromList htmlEntities++maxHtmlEntityLength :: Int -- = 32+maxHtmlEntityLength = maximum $ map (length . fst) htmlEntities++maxNoSemicolonHtmlEntityLength :: Int -- = 6+maxNoSemicolonHtmlEntityLength =+    maximum [length e | (e,_) <- htmlEntities, last e /= ';']++minHtmlEntityLength :: Int -- = 2+minHtmlEntityLength = minimum $ map (length . fst) htmlEntities++htmlEntities :: [(String, String)]+htmlEntities = let (*) = (,) in+    [ "Aacute" * "Á"+    , "aacute" * "á"+    , "Aacute;" * "Á"+    , "aacute;" * "á"+    , "Abreve;" * "Ă"+    , "abreve;" * "ă"+    , "ac;" * "∾"+    , "acd;" * "∿"+    , "acE;" * "∾̳" -- "\8766\819"+    , "Acirc" * "Â"+    , "acirc" * "â"+    , "Acirc;" * "Â"+    , "acirc;" * "â"+    , "acute" * "´"+    , "acute;" * "´"+    , "Acy;" * "А"+    , "acy;" * "а"+    , "AElig" * "Æ"+    , "aelig" * "æ"+    , "AElig;" * "Æ"+    , "aelig;" * "æ"+    , "af;" * "\8289" -- escaped+    , "Afr;" * "𝔄"+    , "afr;" * "𝔞"+    , "Agrave" * "À"+    , "agrave" * "à"+    , "Agrave;" * "À"+    , "agrave;" * "à"+    , "alefsym;" * "ℵ"+    , "aleph;" * "ℵ"+    , "Alpha;" * "Α"+    , "alpha;" * "α"+    , "Amacr;" * "Ā"+    , "amacr;" * "ā"+    , "amalg;" * "⨿"+    , "AMP" * "&"+    , "amp" * "&"+    , "AMP;" * "&"+    , "amp;" * "&"+    , "And;" * "⩓"+    , "and;" * "∧"+    , "andand;" * "⩕"+    , "andd;" * "⩜"+    , "andslope;" * "⩘"+    , "andv;" * "⩚"+    , "ang;" * "∠"+    , "ange;" * "⦤"+    , "angle;" * "∠"+    , "angmsd;" * "∡"+    , "angmsdaa;" * "⦨"+    , "angmsdab;" * "⦩"+    , "angmsdac;" * "⦪"+    , "angmsdad;" * "⦫"+    , "angmsdae;" * "⦬"+    , "angmsdaf;" * "⦭"+    , "angmsdag;" * "⦮"+    , "angmsdah;" * "⦯"+    , "angrt;" * "∟"+    , "angrtvb;" * "⊾"+    , "angrtvbd;" * "⦝"+    , "angsph;" * "∢"+    , "angst;" * "Å"+    , "angzarr;" * "⍼"+    , "Aogon;" * "Ą"+    , "aogon;" * "ą"+    , "Aopf;" * "𝔸"+    , "aopf;" * "𝕒"+    , "ap;" * "≈"+    , "apacir;" * "⩯"+    , "apE;" * "⩰"+    , "ape;" * "≊"+    , "apid;" * "≋"+    , "apos;" * "'"+    , "ApplyFunction;" * "\8289" -- escaped+    , "approx;" * "≈"+    , "approxeq;" * "≊"+    , "Aring" * "Å"+    , "aring" * "å"+    , "Aring;" * "Å"+    , "aring;" * "å"+    , "Ascr;" * "𝒜"+    , "ascr;" * "𝒶"+    , "Assign;" * "≔"+    , "ast;" * "*"+    , "asymp;" * "≈"+    , "asympeq;" * "≍"+    , "Atilde" * "Ã"+    , "atilde" * "ã"+    , "Atilde;" * "Ã"+    , "atilde;" * "ã"+    , "Auml" * "Ä"+    , "auml" * "ä"+    , "Auml;" * "Ä"+    , "auml;" * "ä"+    , "awconint;" * "∳"+    , "awint;" * "⨑"+    , "backcong;" * "≌"+    , "backepsilon;" * "϶"+    , "backprime;" * "‵"+    , "backsim;" * "∽"+    , "backsimeq;" * "⋍"+    , "Backslash;" * "∖"+    , "Barv;" * "⫧"+    , "barvee;" * "⊽"+    , "Barwed;" * "⌆"+    , "barwed;" * "⌅"+    , "barwedge;" * "⌅"+    , "bbrk;" * "⎵"+    , "bbrktbrk;" * "⎶"+    , "bcong;" * "≌"+    , "Bcy;" * "Б"+    , "bcy;" * "б"+    , "bdquo;" * "„"+    , "becaus;" * "∵"+    , "Because;" * "∵"+    , "because;" * "∵"+    , "bemptyv;" * "⦰"+    , "bepsi;" * "϶"+    , "bernou;" * "ℬ"+    , "Bernoullis;" * "ℬ"+    , "Beta;" * "Β"+    , "beta;" * "β"+    , "beth;" * "ℶ"+    , "between;" * "≬"+    , "Bfr;" * "𝔅"+    , "bfr;" * "𝔟"+    , "bigcap;" * "⋂"+    , "bigcirc;" * "◯"+    , "bigcup;" * "⋃"+    , "bigodot;" * "⨀"+    , "bigoplus;" * "⨁"+    , "bigotimes;" * "⨂"+    , "bigsqcup;" * "⨆"+    , "bigstar;" * "★"+    , "bigtriangledown;" * "▽"+    , "bigtriangleup;" * "△"+    , "biguplus;" * "⨄"+    , "bigvee;" * "⋁"+    , "bigwedge;" * "⋀"+    , "bkarow;" * "⤍"+    , "blacklozenge;" * "⧫"+    , "blacksquare;" * "▪"+    , "blacktriangle;" * "▴"+    , "blacktriangledown;" * "▾"+    , "blacktriangleleft;" * "◂"+    , "blacktriangleright;" * "▸"+    , "blank;" * "␣"+    , "blk12;" * "▒"+    , "blk14;" * "░"+    , "blk34;" * "▓"+    , "block;" * "█"+    , "bne;" * "=⃥" -- "=\8421"+    , "bnequiv;" * "≡⃥" -- "\8801\8421"+    , "bNot;" * "⫭"+    , "bnot;" * "⌐"+    , "Bopf;" * "𝔹"+    , "bopf;" * "𝕓"+    , "bot;" * "⊥"+    , "bottom;" * "⊥"+    , "bowtie;" * "⋈"+    , "boxbox;" * "⧉"+    , "boxDL;" * "╗"+    , "boxDl;" * "╖"+    , "boxdL;" * "╕"+    , "boxdl;" * "┐"+    , "boxDR;" * "╔"+    , "boxDr;" * "╓"+    , "boxdR;" * "╒"+    , "boxdr;" * "┌"+    , "boxH;" * "═"+    , "boxh;" * "─"+    , "boxHD;" * "╦"+    , "boxHd;" * "╤"+    , "boxhD;" * "╥"+    , "boxhd;" * "┬"+    , "boxHU;" * "╩"+    , "boxHu;" * "╧"+    , "boxhU;" * "╨"+    , "boxhu;" * "┴"+    , "boxminus;" * "⊟"+    , "boxplus;" * "⊞"+    , "boxtimes;" * "⊠"+    , "boxUL;" * "╝"+    , "boxUl;" * "╜"+    , "boxuL;" * "╛"+    , "boxul;" * "┘"+    , "boxUR;" * "╚"+    , "boxUr;" * "╙"+    , "boxuR;" * "╘"+    , "boxur;" * "└"+    , "boxV;" * "║"+    , "boxv;" * "│"+    , "boxVH;" * "╬"+    , "boxVh;" * "╫"+    , "boxvH;" * "╪"+    , "boxvh;" * "┼"+    , "boxVL;" * "╣"+    , "boxVl;" * "╢"+    , "boxvL;" * "╡"+    , "boxvl;" * "┤"+    , "boxVR;" * "╠"+    , "boxVr;" * "╟"+    , "boxvR;" * "╞"+    , "boxvr;" * "├"+    , "bprime;" * "‵"+    , "Breve;" * "˘"+    , "breve;" * "˘"+    , "brvbar" * "¦"+    , "brvbar;" * "¦"+    , "Bscr;" * "ℬ"+    , "bscr;" * "𝒷"+    , "bsemi;" * "⁏"+    , "bsim;" * "∽"+    , "bsime;" * "⋍"+    , "bsol;" * "\\" -- escaped+    , "bsolb;" * "⧅"+    , "bsolhsub;" * "⟈"+    , "bull;" * "•"+    , "bullet;" * "•"+    , "bump;" * "≎"+    , "bumpE;" * "⪮"+    , "bumpe;" * "≏"+    , "Bumpeq;" * "≎"+    , "bumpeq;" * "≏"+    , "Cacute;" * "Ć"+    , "cacute;" * "ć"+    , "Cap;" * "⋒"+    , "cap;" * "∩"+    , "capand;" * "⩄"+    , "capbrcup;" * "⩉"+    , "capcap;" * "⩋"+    , "capcup;" * "⩇"+    , "capdot;" * "⩀"+    , "CapitalDifferentialD;" * "ⅅ"+    , "caps;" * "∩︀" -- "\8745\65024"+    , "caret;" * "⁁"+    , "caron;" * "ˇ"+    , "Cayleys;" * "ℭ"+    , "ccaps;" * "⩍"+    , "Ccaron;" * "Č"+    , "ccaron;" * "č"+    , "Ccedil" * "Ç"+    , "ccedil" * "ç"+    , "Ccedil;" * "Ç"+    , "ccedil;" * "ç"+    , "Ccirc;" * "Ĉ"+    , "ccirc;" * "ĉ"+    , "Cconint;" * "∰"+    , "ccups;" * "⩌"+    , "ccupssm;" * "⩐"+    , "Cdot;" * "Ċ"+    , "cdot;" * "ċ"+    , "cedil" * "¸"+    , "cedil;" * "¸"+    , "Cedilla;" * "¸"+    , "cemptyv;" * "⦲"+    , "cent" * "¢"+    , "cent;" * "¢"+    , "CenterDot;" * "·"+    , "centerdot;" * "·"+    , "Cfr;" * "ℭ"+    , "cfr;" * "𝔠"+    , "CHcy;" * "Ч"+    , "chcy;" * "ч"+    , "check;" * "✓"+    , "checkmark;" * "✓"+    , "Chi;" * "Χ"+    , "chi;" * "χ"+    , "cir;" * "○"+    , "circ;" * "ˆ"+    , "circeq;" * "≗"+    , "circlearrowleft;" * "↺"+    , "circlearrowright;" * "↻"+    , "circledast;" * "⊛"+    , "circledcirc;" * "⊚"+    , "circleddash;" * "⊝"+    , "CircleDot;" * "⊙"+    , "circledR;" * "®"+    , "circledS;" * "Ⓢ"+    , "CircleMinus;" * "⊖"+    , "CirclePlus;" * "⊕"+    , "CircleTimes;" * "⊗"+    , "cirE;" * "⧃"+    , "cire;" * "≗"+    , "cirfnint;" * "⨐"+    , "cirmid;" * "⫯"+    , "cirscir;" * "⧂"+    , "ClockwiseContourIntegral;" * "∲"+    , "CloseCurlyDoubleQuote;" * "”"+    , "CloseCurlyQuote;" * "’"+    , "clubs;" * "♣"+    , "clubsuit;" * "♣"+    , "Colon;" * "∷"+    , "colon;" * ":"+    , "Colone;" * "⩴"+    , "colone;" * "≔"+    , "coloneq;" * "≔"+    , "comma;" * ","+    , "commat;" * "@"+    , "comp;" * "∁"+    , "compfn;" * "∘"+    , "complement;" * "∁"+    , "complexes;" * "ℂ"+    , "cong;" * "≅"+    , "congdot;" * "⩭"+    , "Congruent;" * "≡"+    , "Conint;" * "∯"+    , "conint;" * "∮"+    , "ContourIntegral;" * "∮"+    , "Copf;" * "ℂ"+    , "copf;" * "𝕔"+    , "coprod;" * "∐"+    , "Coproduct;" * "∐"+    , "COPY" * "©"+    , "copy" * "©"+    , "COPY;" * "©"+    , "copy;" * "©"+    , "copysr;" * "℗"+    , "CounterClockwiseContourIntegral;" * "∳"+    , "crarr;" * "↵"+    , "Cross;" * "⨯"+    , "cross;" * "✗"+    , "Cscr;" * "𝒞"+    , "cscr;" * "𝒸"+    , "csub;" * "⫏"+    , "csube;" * "⫑"+    , "csup;" * "⫐"+    , "csupe;" * "⫒"+    , "ctdot;" * "⋯"+    , "cudarrl;" * "⤸"+    , "cudarrr;" * "⤵"+    , "cuepr;" * "⋞"+    , "cuesc;" * "⋟"+    , "cularr;" * "↶"+    , "cularrp;" * "⤽"+    , "Cup;" * "⋓"+    , "cup;" * "∪"+    , "cupbrcap;" * "⩈"+    , "CupCap;" * "≍"+    , "cupcap;" * "⩆"+    , "cupcup;" * "⩊"+    , "cupdot;" * "⊍"+    , "cupor;" * "⩅"+    , "cups;" * "∪︀" -- "\8746\65024"+    , "curarr;" * "↷"+    , "curarrm;" * "⤼"+    , "curlyeqprec;" * "⋞"+    , "curlyeqsucc;" * "⋟"+    , "curlyvee;" * "⋎"+    , "curlywedge;" * "⋏"+    , "curren" * "¤"+    , "curren;" * "¤"+    , "curvearrowleft;" * "↶"+    , "curvearrowright;" * "↷"+    , "cuvee;" * "⋎"+    , "cuwed;" * "⋏"+    , "cwconint;" * "∲"+    , "cwint;" * "∱"+    , "cylcty;" * "⌭"+    , "Dagger;" * "‡"+    , "dagger;" * "†"+    , "daleth;" * "ℸ"+    , "Darr;" * "↡"+    , "dArr;" * "⇓"+    , "darr;" * "↓"+    , "dash;" * "‐"+    , "Dashv;" * "⫤"+    , "dashv;" * "⊣"+    , "dbkarow;" * "⤏"+    , "dblac;" * "˝"+    , "Dcaron;" * "Ď"+    , "dcaron;" * "ď"+    , "Dcy;" * "Д"+    , "dcy;" * "д"+    , "DD;" * "ⅅ"+    , "dd;" * "ⅆ"+    , "ddagger;" * "‡"+    , "ddarr;" * "⇊"+    , "DDotrahd;" * "⤑"+    , "ddotseq;" * "⩷"+    , "deg" * "°"+    , "deg;" * "°"+    , "Del;" * "∇"+    , "Delta;" * "Δ"+    , "delta;" * "δ"+    , "demptyv;" * "⦱"+    , "dfisht;" * "⥿"+    , "Dfr;" * "𝔇"+    , "dfr;" * "𝔡"+    , "dHar;" * "⥥"+    , "dharl;" * "⇃"+    , "dharr;" * "⇂"+    , "DiacriticalAcute;" * "´"+    , "DiacriticalDot;" * "˙"+    , "DiacriticalDoubleAcute;" * "˝"+    , "DiacriticalGrave;" * "`"+    , "DiacriticalTilde;" * "˜"+    , "diam;" * "⋄"+    , "Diamond;" * "⋄"+    , "diamond;" * "⋄"+    , "diamondsuit;" * "♦"+    , "diams;" * "♦"+    , "die;" * "¨"+    , "DifferentialD;" * "ⅆ"+    , "digamma;" * "ϝ"+    , "disin;" * "⋲"+    , "div;" * "÷"+    , "divide" * "÷"+    , "divide;" * "÷"+    , "divideontimes;" * "⋇"+    , "divonx;" * "⋇"+    , "DJcy;" * "Ђ"+    , "djcy;" * "ђ"+    , "dlcorn;" * "⌞"+    , "dlcrop;" * "⌍"+    , "dollar;" * "$"+    , "Dopf;" * "𝔻"+    , "dopf;" * "𝕕"+    , "Dot;" * "¨"+    , "dot;" * "˙"+    , "DotDot;" * "⃜"+    , "doteq;" * "≐"+    , "doteqdot;" * "≑"+    , "DotEqual;" * "≐"+    , "dotminus;" * "∸"+    , "dotplus;" * "∔"+    , "dotsquare;" * "⊡"+    , "doublebarwedge;" * "⌆"+    , "DoubleContourIntegral;" * "∯"+    , "DoubleDot;" * "¨"+    , "DoubleDownArrow;" * "⇓"+    , "DoubleLeftArrow;" * "⇐"+    , "DoubleLeftRightArrow;" * "⇔"+    , "DoubleLeftTee;" * "⫤"+    , "DoubleLongLeftArrow;" * "⟸"+    , "DoubleLongLeftRightArrow;" * "⟺"+    , "DoubleLongRightArrow;" * "⟹"+    , "DoubleRightArrow;" * "⇒"+    , "DoubleRightTee;" * "⊨"+    , "DoubleUpArrow;" * "⇑"+    , "DoubleUpDownArrow;" * "⇕"+    , "DoubleVerticalBar;" * "∥"+    , "DownArrow;" * "↓"+    , "Downarrow;" * "⇓"+    , "downarrow;" * "↓"+    , "DownArrowBar;" * "⤓"+    , "DownArrowUpArrow;" * "⇵"+    , "DownBreve;" * "̑"+    , "downdownarrows;" * "⇊"+    , "downharpoonleft;" * "⇃"+    , "downharpoonright;" * "⇂"+    , "DownLeftRightVector;" * "⥐"+    , "DownLeftTeeVector;" * "⥞"+    , "DownLeftVector;" * "↽"+    , "DownLeftVectorBar;" * "⥖"+    , "DownRightTeeVector;" * "⥟"+    , "DownRightVector;" * "⇁"+    , "DownRightVectorBar;" * "⥗"+    , "DownTee;" * "⊤"+    , "DownTeeArrow;" * "↧"+    , "drbkarow;" * "⤐"+    , "drcorn;" * "⌟"+    , "drcrop;" * "⌌"+    , "Dscr;" * "𝒟"+    , "dscr;" * "𝒹"+    , "DScy;" * "Ѕ"+    , "dscy;" * "ѕ"+    , "dsol;" * "⧶"+    , "Dstrok;" * "Đ"+    , "dstrok;" * "đ"+    , "dtdot;" * "⋱"+    , "dtri;" * "▿"+    , "dtrif;" * "▾"+    , "duarr;" * "⇵"+    , "duhar;" * "⥯"+    , "dwangle;" * "⦦"+    , "DZcy;" * "Џ"+    , "dzcy;" * "џ"+    , "dzigrarr;" * "⟿"+    , "Eacute" * "É"+    , "eacute" * "é"+    , "Eacute;" * "É"+    , "eacute;" * "é"+    , "easter;" * "⩮"+    , "Ecaron;" * "Ě"+    , "ecaron;" * "ě"+    , "ecir;" * "≖"+    , "Ecirc" * "Ê"+    , "ecirc" * "ê"+    , "Ecirc;" * "Ê"+    , "ecirc;" * "ê"+    , "ecolon;" * "≕"+    , "Ecy;" * "Э"+    , "ecy;" * "э"+    , "eDDot;" * "⩷"+    , "Edot;" * "Ė"+    , "eDot;" * "≑"+    , "edot;" * "ė"+    , "ee;" * "ⅇ"+    , "efDot;" * "≒"+    , "Efr;" * "𝔈"+    , "efr;" * "𝔢"+    , "eg;" * "⪚"+    , "Egrave" * "È"+    , "egrave" * "è"+    , "Egrave;" * "È"+    , "egrave;" * "è"+    , "egs;" * "⪖"+    , "egsdot;" * "⪘"+    , "el;" * "⪙"+    , "Element;" * "∈"+    , "elinters;" * "⏧"+    , "ell;" * "ℓ"+    , "els;" * "⪕"+    , "elsdot;" * "⪗"+    , "Emacr;" * "Ē"+    , "emacr;" * "ē"+    , "empty;" * "∅"+    , "emptyset;" * "∅"+    , "EmptySmallSquare;" * "◻"+    , "emptyv;" * "∅"+    , "EmptyVerySmallSquare;" * "▫"+    , "emsp13;" * " "+    , "emsp14;" * " "+    , "emsp;" * " "+    , "ENG;" * "Ŋ"+    , "eng;" * "ŋ"+    , "ensp;" * " "+    , "Eogon;" * "Ę"+    , "eogon;" * "ę"+    , "Eopf;" * "𝔼"+    , "eopf;" * "𝕖"+    , "epar;" * "⋕"+    , "eparsl;" * "⧣"+    , "eplus;" * "⩱"+    , "epsi;" * "ε"+    , "Epsilon;" * "Ε"+    , "epsilon;" * "ε"+    , "epsiv;" * "ϵ"+    , "eqcirc;" * "≖"+    , "eqcolon;" * "≕"+    , "eqsim;" * "≂"+    , "eqslantgtr;" * "⪖"+    , "eqslantless;" * "⪕"+    , "Equal;" * "⩵"+    , "equals;" * "="+    , "EqualTilde;" * "≂"+    , "equest;" * "≟"+    , "Equilibrium;" * "⇌"+    , "equiv;" * "≡"+    , "equivDD;" * "⩸"+    , "eqvparsl;" * "⧥"+    , "erarr;" * "⥱"+    , "erDot;" * "≓"+    , "Escr;" * "ℰ"+    , "escr;" * "ℯ"+    , "esdot;" * "≐"+    , "Esim;" * "⩳"+    , "esim;" * "≂"+    , "Eta;" * "Η"+    , "eta;" * "η"+    , "ETH" * "Ð"+    , "eth" * "ð"+    , "ETH;" * "Ð"+    , "eth;" * "ð"+    , "Euml" * "Ë"+    , "euml" * "ë"+    , "Euml;" * "Ë"+    , "euml;" * "ë"+    , "euro;" * "€"+    , "excl;" * "!"+    , "exist;" * "∃"+    , "Exists;" * "∃"+    , "expectation;" * "ℰ"+    , "ExponentialE;" * "ⅇ"+    , "exponentiale;" * "ⅇ"+    , "fallingdotseq;" * "≒"+    , "Fcy;" * "Ф"+    , "fcy;" * "ф"+    , "female;" * "♀"+    , "ffilig;" * "ffi"+    , "fflig;" * "ff"+    , "ffllig;" * "ffl"+    , "Ffr;" * "𝔉"+    , "ffr;" * "𝔣"+    , "filig;" * "fi"+    , "FilledSmallSquare;" * "◼"+    , "FilledVerySmallSquare;" * "▪"+    , "fjlig;" * "fj" -- "fj"+    , "flat;" * "♭"+    , "fllig;" * "fl"+    , "fltns;" * "▱"+    , "fnof;" * "ƒ"+    , "Fopf;" * "𝔽"+    , "fopf;" * "𝕗"+    , "ForAll;" * "∀"+    , "forall;" * "∀"+    , "fork;" * "⋔"+    , "forkv;" * "⫙"+    , "Fouriertrf;" * "ℱ"+    , "fpartint;" * "⨍"+    , "frac12" * "½"+    , "frac12;" * "½"+    , "frac13;" * "⅓"+    , "frac14" * "¼"+    , "frac14;" * "¼"+    , "frac15;" * "⅕"+    , "frac16;" * "⅙"+    , "frac18;" * "⅛"+    , "frac23;" * "⅔"+    , "frac25;" * "⅖"+    , "frac34" * "¾"+    , "frac34;" * "¾"+    , "frac35;" * "⅗"+    , "frac38;" * "⅜"+    , "frac45;" * "⅘"+    , "frac56;" * "⅚"+    , "frac58;" * "⅝"+    , "frac78;" * "⅞"+    , "frasl;" * "⁄"+    , "frown;" * "⌢"+    , "Fscr;" * "ℱ"+    , "fscr;" * "𝒻"+    , "gacute;" * "ǵ"+    , "Gamma;" * "Γ"+    , "gamma;" * "γ"+    , "Gammad;" * "Ϝ"+    , "gammad;" * "ϝ"+    , "gap;" * "⪆"+    , "Gbreve;" * "Ğ"+    , "gbreve;" * "ğ"+    , "Gcedil;" * "Ģ"+    , "Gcirc;" * "Ĝ"+    , "gcirc;" * "ĝ"+    , "Gcy;" * "Г"+    , "gcy;" * "г"+    , "Gdot;" * "Ġ"+    , "gdot;" * "ġ"+    , "gE;" * "≧"+    , "ge;" * "≥"+    , "gEl;" * "⪌"+    , "gel;" * "⋛"+    , "geq;" * "≥"+    , "geqq;" * "≧"+    , "geqslant;" * "⩾"+    , "ges;" * "⩾"+    , "gescc;" * "⪩"+    , "gesdot;" * "⪀"+    , "gesdoto;" * "⪂"+    , "gesdotol;" * "⪄"+    , "gesl;" * "⋛︀" -- "\8923\65024"+    , "gesles;" * "⪔"+    , "Gfr;" * "𝔊"+    , "gfr;" * "𝔤"+    , "Gg;" * "⋙"+    , "gg;" * "≫"+    , "ggg;" * "⋙"+    , "gimel;" * "ℷ"+    , "GJcy;" * "Ѓ"+    , "gjcy;" * "ѓ"+    , "gl;" * "≷"+    , "gla;" * "⪥"+    , "glE;" * "⪒"+    , "glj;" * "⪤"+    , "gnap;" * "⪊"+    , "gnapprox;" * "⪊"+    , "gnE;" * "≩"+    , "gne;" * "⪈"+    , "gneq;" * "⪈"+    , "gneqq;" * "≩"+    , "gnsim;" * "⋧"+    , "Gopf;" * "𝔾"+    , "gopf;" * "𝕘"+    , "grave;" * "`"+    , "GreaterEqual;" * "≥"+    , "GreaterEqualLess;" * "⋛"+    , "GreaterFullEqual;" * "≧"+    , "GreaterGreater;" * "⪢"+    , "GreaterLess;" * "≷"+    , "GreaterSlantEqual;" * "⩾"+    , "GreaterTilde;" * "≳"+    , "Gscr;" * "𝒢"+    , "gscr;" * "ℊ"+    , "gsim;" * "≳"+    , "gsime;" * "⪎"+    , "gsiml;" * "⪐"+    , "GT" * ">"+    , "gt" * ">"+    , "GT;" * ">"+    , "Gt;" * "≫"+    , "gt;" * ">"+    , "gtcc;" * "⪧"+    , "gtcir;" * "⩺"+    , "gtdot;" * "⋗"+    , "gtlPar;" * "⦕"+    , "gtquest;" * "⩼"+    , "gtrapprox;" * "⪆"+    , "gtrarr;" * "⥸"+    , "gtrdot;" * "⋗"+    , "gtreqless;" * "⋛"+    , "gtreqqless;" * "⪌"+    , "gtrless;" * "≷"+    , "gtrsim;" * "≳"+    , "gvertneqq;" * "≩︀" -- "\8809\65024"+    , "gvnE;" * "≩︀" -- "\8809\65024"+    , "Hacek;" * "ˇ"+    , "hairsp;" * " "+    , "half;" * "½"+    , "hamilt;" * "ℋ"+    , "HARDcy;" * "Ъ"+    , "hardcy;" * "ъ"+    , "hArr;" * "⇔"+    , "harr;" * "↔"+    , "harrcir;" * "⥈"+    , "harrw;" * "↭"+    , "Hat;" * "^"+    , "hbar;" * "ℏ"+    , "Hcirc;" * "Ĥ"+    , "hcirc;" * "ĥ"+    , "hearts;" * "♥"+    , "heartsuit;" * "♥"+    , "hellip;" * "…"+    , "hercon;" * "⊹"+    , "Hfr;" * "ℌ"+    , "hfr;" * "𝔥"+    , "HilbertSpace;" * "ℋ"+    , "hksearow;" * "⤥"+    , "hkswarow;" * "⤦"+    , "hoarr;" * "⇿"+    , "homtht;" * "∻"+    , "hookleftarrow;" * "↩"+    , "hookrightarrow;" * "↪"+    , "Hopf;" * "ℍ"+    , "hopf;" * "𝕙"+    , "horbar;" * "―"+    , "HorizontalLine;" * "─"+    , "Hscr;" * "ℋ"+    , "hscr;" * "𝒽"+    , "hslash;" * "ℏ"+    , "Hstrok;" * "Ħ"+    , "hstrok;" * "ħ"+    , "HumpDownHump;" * "≎"+    , "HumpEqual;" * "≏"+    , "hybull;" * "⁃"+    , "hyphen;" * "‐"+    , "Iacute" * "Í"+    , "iacute" * "í"+    , "Iacute;" * "Í"+    , "iacute;" * "í"+    , "ic;" * "\8291" -- escaped+    , "Icirc" * "Î"+    , "icirc" * "î"+    , "Icirc;" * "Î"+    , "icirc;" * "î"+    , "Icy;" * "И"+    , "icy;" * "и"+    , "Idot;" * "İ"+    , "IEcy;" * "Е"+    , "iecy;" * "е"+    , "iexcl" * "¡"+    , "iexcl;" * "¡"+    , "iff;" * "⇔"+    , "Ifr;" * "ℑ"+    , "ifr;" * "𝔦"+    , "Igrave" * "Ì"+    , "igrave" * "ì"+    , "Igrave;" * "Ì"+    , "igrave;" * "ì"+    , "ii;" * "ⅈ"+    , "iiiint;" * "⨌"+    , "iiint;" * "∭"+    , "iinfin;" * "⧜"+    , "iiota;" * "℩"+    , "IJlig;" * "IJ"+    , "ijlig;" * "ij"+    , "Im;" * "ℑ"+    , "Imacr;" * "Ī"+    , "imacr;" * "ī"+    , "image;" * "ℑ"+    , "ImaginaryI;" * "ⅈ"+    , "imagline;" * "ℐ"+    , "imagpart;" * "ℑ"+    , "imath;" * "ı"+    , "imof;" * "⊷"+    , "imped;" * "Ƶ"+    , "Implies;" * "⇒"+    , "in;" * "∈"+    , "incare;" * "℅"+    , "infin;" * "∞"+    , "infintie;" * "⧝"+    , "inodot;" * "ı"+    , "Int;" * "∬"+    , "int;" * "∫"+    , "intcal;" * "⊺"+    , "integers;" * "ℤ"+    , "Integral;" * "∫"+    , "intercal;" * "⊺"+    , "Intersection;" * "⋂"+    , "intlarhk;" * "⨗"+    , "intprod;" * "⨼"+    , "InvisibleComma;" * "\8291" -- escaped+    , "InvisibleTimes;" * "\8290" -- escaped+    , "IOcy;" * "Ё"+    , "iocy;" * "ё"+    , "Iogon;" * "Į"+    , "iogon;" * "į"+    , "Iopf;" * "𝕀"+    , "iopf;" * "𝕚"+    , "Iota;" * "Ι"+    , "iota;" * "ι"+    , "iprod;" * "⨼"+    , "iquest" * "¿"+    , "iquest;" * "¿"+    , "Iscr;" * "ℐ"+    , "iscr;" * "𝒾"+    , "isin;" * "∈"+    , "isindot;" * "⋵"+    , "isinE;" * "⋹"+    , "isins;" * "⋴"+    , "isinsv;" * "⋳"+    , "isinv;" * "∈"+    , "it;" * "\8290" -- escaped+    , "Itilde;" * "Ĩ"+    , "itilde;" * "ĩ"+    , "Iukcy;" * "І"+    , "iukcy;" * "і"+    , "Iuml" * "Ï"+    , "iuml" * "ï"+    , "Iuml;" * "Ï"+    , "iuml;" * "ï"+    , "Jcirc;" * "Ĵ"+    , "jcirc;" * "ĵ"+    , "Jcy;" * "Й"+    , "jcy;" * "й"+    , "Jfr;" * "𝔍"+    , "jfr;" * "𝔧"+    , "jmath;" * "ȷ"+    , "Jopf;" * "𝕁"+    , "jopf;" * "𝕛"+    , "Jscr;" * "𝒥"+    , "jscr;" * "𝒿"+    , "Jsercy;" * "Ј"+    , "jsercy;" * "ј"+    , "Jukcy;" * "Є"+    , "jukcy;" * "є"+    , "Kappa;" * "Κ"+    , "kappa;" * "κ"+    , "kappav;" * "ϰ"+    , "Kcedil;" * "Ķ"+    , "kcedil;" * "ķ"+    , "Kcy;" * "К"+    , "kcy;" * "к"+    , "Kfr;" * "𝔎"+    , "kfr;" * "𝔨"+    , "kgreen;" * "ĸ"+    , "KHcy;" * "Х"+    , "khcy;" * "х"+    , "KJcy;" * "Ќ"+    , "kjcy;" * "ќ"+    , "Kopf;" * "𝕂"+    , "kopf;" * "𝕜"+    , "Kscr;" * "𝒦"+    , "kscr;" * "𝓀"+    , "lAarr;" * "⇚"+    , "Lacute;" * "Ĺ"+    , "lacute;" * "ĺ"+    , "laemptyv;" * "⦴"+    , "lagran;" * "ℒ"+    , "Lambda;" * "Λ"+    , "lambda;" * "λ"+    , "Lang;" * "⟪"+    , "lang;" * "⟨"+    , "langd;" * "⦑"+    , "langle;" * "⟨"+    , "lap;" * "⪅"+    , "Laplacetrf;" * "ℒ"+    , "laquo" * "«"+    , "laquo;" * "«"+    , "Larr;" * "↞"+    , "lArr;" * "⇐"+    , "larr;" * "←"+    , "larrb;" * "⇤"+    , "larrbfs;" * "⤟"+    , "larrfs;" * "⤝"+    , "larrhk;" * "↩"+    , "larrlp;" * "↫"+    , "larrpl;" * "⤹"+    , "larrsim;" * "⥳"+    , "larrtl;" * "↢"+    , "lat;" * "⪫"+    , "lAtail;" * "⤛"+    , "latail;" * "⤙"+    , "late;" * "⪭"+    , "lates;" * "⪭︀" -- "\10925\65024"+    , "lBarr;" * "⤎"+    , "lbarr;" * "⤌"+    , "lbbrk;" * "❲"+    , "lbrace;" * "{"+    , "lbrack;" * "["+    , "lbrke;" * "⦋"+    , "lbrksld;" * "⦏"+    , "lbrkslu;" * "⦍"+    , "Lcaron;" * "Ľ"+    , "lcaron;" * "ľ"+    , "Lcedil;" * "Ļ"+    , "lcedil;" * "ļ"+    , "lceil;" * "⌈"+    , "lcub;" * "{"+    , "Lcy;" * "Л"+    , "lcy;" * "л"+    , "ldca;" * "⤶"+    , "ldquo;" * "“"+    , "ldquor;" * "„"+    , "ldrdhar;" * "⥧"+    , "ldrushar;" * "⥋"+    , "ldsh;" * "↲"+    , "lE;" * "≦"+    , "le;" * "≤"+    , "LeftAngleBracket;" * "⟨"+    , "LeftArrow;" * "←"+    , "Leftarrow;" * "⇐"+    , "leftarrow;" * "←"+    , "LeftArrowBar;" * "⇤"+    , "LeftArrowRightArrow;" * "⇆"+    , "leftarrowtail;" * "↢"+    , "LeftCeiling;" * "⌈"+    , "LeftDoubleBracket;" * "⟦"+    , "LeftDownTeeVector;" * "⥡"+    , "LeftDownVector;" * "⇃"+    , "LeftDownVectorBar;" * "⥙"+    , "LeftFloor;" * "⌊"+    , "leftharpoondown;" * "↽"+    , "leftharpoonup;" * "↼"+    , "leftleftarrows;" * "⇇"+    , "LeftRightArrow;" * "↔"+    , "Leftrightarrow;" * "⇔"+    , "leftrightarrow;" * "↔"+    , "leftrightarrows;" * "⇆"+    , "leftrightharpoons;" * "⇋"+    , "leftrightsquigarrow;" * "↭"+    , "LeftRightVector;" * "⥎"+    , "LeftTee;" * "⊣"+    , "LeftTeeArrow;" * "↤"+    , "LeftTeeVector;" * "⥚"+    , "leftthreetimes;" * "⋋"+    , "LeftTriangle;" * "⊲"+    , "LeftTriangleBar;" * "⧏"+    , "LeftTriangleEqual;" * "⊴"+    , "LeftUpDownVector;" * "⥑"+    , "LeftUpTeeVector;" * "⥠"+    , "LeftUpVector;" * "↿"+    , "LeftUpVectorBar;" * "⥘"+    , "LeftVector;" * "↼"+    , "LeftVectorBar;" * "⥒"+    , "lEg;" * "⪋"+    , "leg;" * "⋚"+    , "leq;" * "≤"+    , "leqq;" * "≦"+    , "leqslant;" * "⩽"+    , "les;" * "⩽"+    , "lescc;" * "⪨"+    , "lesdot;" * "⩿"+    , "lesdoto;" * "⪁"+    , "lesdotor;" * "⪃"+    , "lesg;" * "⋚︀" -- "\8922\65024"+    , "lesges;" * "⪓"+    , "lessapprox;" * "⪅"+    , "lessdot;" * "⋖"+    , "lesseqgtr;" * "⋚"+    , "lesseqqgtr;" * "⪋"+    , "LessEqualGreater;" * "⋚"+    , "LessFullEqual;" * "≦"+    , "LessGreater;" * "≶"+    , "lessgtr;" * "≶"+    , "LessLess;" * "⪡"+    , "lesssim;" * "≲"+    , "LessSlantEqual;" * "⩽"+    , "LessTilde;" * "≲"+    , "lfisht;" * "⥼"+    , "lfloor;" * "⌊"+    , "Lfr;" * "𝔏"+    , "lfr;" * "𝔩"+    , "lg;" * "≶"+    , "lgE;" * "⪑"+    , "lHar;" * "⥢"+    , "lhard;" * "↽"+    , "lharu;" * "↼"+    , "lharul;" * "⥪"+    , "lhblk;" * "▄"+    , "LJcy;" * "Љ"+    , "ljcy;" * "љ"+    , "Ll;" * "⋘"+    , "ll;" * "≪"+    , "llarr;" * "⇇"+    , "llcorner;" * "⌞"+    , "Lleftarrow;" * "⇚"+    , "llhard;" * "⥫"+    , "lltri;" * "◺"+    , "Lmidot;" * "Ŀ"+    , "lmidot;" * "ŀ"+    , "lmoust;" * "⎰"+    , "lmoustache;" * "⎰"+    , "lnap;" * "⪉"+    , "lnapprox;" * "⪉"+    , "lnE;" * "≨"+    , "lne;" * "⪇"+    , "lneq;" * "⪇"+    , "lneqq;" * "≨"+    , "lnsim;" * "⋦"+    , "loang;" * "⟬"+    , "loarr;" * "⇽"+    , "lobrk;" * "⟦"+    , "LongLeftArrow;" * "⟵"+    , "Longleftarrow;" * "⟸"+    , "longleftarrow;" * "⟵"+    , "LongLeftRightArrow;" * "⟷"+    , "Longleftrightarrow;" * "⟺"+    , "longleftrightarrow;" * "⟷"+    , "longmapsto;" * "⟼"+    , "LongRightArrow;" * "⟶"+    , "Longrightarrow;" * "⟹"+    , "longrightarrow;" * "⟶"+    , "looparrowleft;" * "↫"+    , "looparrowright;" * "↬"+    , "lopar;" * "⦅"+    , "Lopf;" * "𝕃"+    , "lopf;" * "𝕝"+    , "loplus;" * "⨭"+    , "lotimes;" * "⨴"+    , "lowast;" * "∗"+    , "lowbar;" * "_"+    , "LowerLeftArrow;" * "↙"+    , "LowerRightArrow;" * "↘"+    , "loz;" * "◊"+    , "lozenge;" * "◊"+    , "lozf;" * "⧫"+    , "lpar;" * "("+    , "lparlt;" * "⦓"+    , "lrarr;" * "⇆"+    , "lrcorner;" * "⌟"+    , "lrhar;" * "⇋"+    , "lrhard;" * "⥭"+    , "lrm;" * "\8206" -- escaped+    , "lrtri;" * "⊿"+    , "lsaquo;" * "‹"+    , "Lscr;" * "ℒ"+    , "lscr;" * "𝓁"+    , "Lsh;" * "↰"+    , "lsh;" * "↰"+    , "lsim;" * "≲"+    , "lsime;" * "⪍"+    , "lsimg;" * "⪏"+    , "lsqb;" * "["+    , "lsquo;" * "‘"+    , "lsquor;" * "‚"+    , "Lstrok;" * "Ł"+    , "lstrok;" * "ł"+    , "LT" * "<"+    , "lt" * "<"+    , "LT;" * "<"+    , "Lt;" * "≪"+    , "lt;" * "<"+    , "ltcc;" * "⪦"+    , "ltcir;" * "⩹"+    , "ltdot;" * "⋖"+    , "lthree;" * "⋋"+    , "ltimes;" * "⋉"+    , "ltlarr;" * "⥶"+    , "ltquest;" * "⩻"+    , "ltri;" * "◃"+    , "ltrie;" * "⊴"+    , "ltrif;" * "◂"+    , "ltrPar;" * "⦖"+    , "lurdshar;" * "⥊"+    , "luruhar;" * "⥦"+    , "lvertneqq;" * "≨︀" -- "\8808\65024"+    , "lvnE;" * "≨︀" -- "\8808\65024"+    , "macr" * "¯"+    , "macr;" * "¯"+    , "male;" * "♂"+    , "malt;" * "✠"+    , "maltese;" * "✠"+    , "Map;" * "⤅"+    , "map;" * "↦"+    , "mapsto;" * "↦"+    , "mapstodown;" * "↧"+    , "mapstoleft;" * "↤"+    , "mapstoup;" * "↥"+    , "marker;" * "▮"+    , "mcomma;" * "⨩"+    , "Mcy;" * "М"+    , "mcy;" * "м"+    , "mdash;" * "—"+    , "mDDot;" * "∺"+    , "measuredangle;" * "∡"+    , "MediumSpace;" * " "+    , "Mellintrf;" * "ℳ"+    , "Mfr;" * "𝔐"+    , "mfr;" * "𝔪"+    , "mho;" * "℧"+    , "micro" * "µ"+    , "micro;" * "µ"+    , "mid;" * "∣"+    , "midast;" * "*"+    , "midcir;" * "⫰"+    , "middot" * "·"+    , "middot;" * "·"+    , "minus;" * "−"+    , "minusb;" * "⊟"+    , "minusd;" * "∸"+    , "minusdu;" * "⨪"+    , "MinusPlus;" * "∓"+    , "mlcp;" * "⫛"+    , "mldr;" * "…"+    , "mnplus;" * "∓"+    , "models;" * "⊧"+    , "Mopf;" * "𝕄"+    , "mopf;" * "𝕞"+    , "mp;" * "∓"+    , "Mscr;" * "ℳ"+    , "mscr;" * "𝓂"+    , "mstpos;" * "∾"+    , "Mu;" * "Μ"+    , "mu;" * "μ"+    , "multimap;" * "⊸"+    , "mumap;" * "⊸"+    , "nabla;" * "∇"+    , "Nacute;" * "Ń"+    , "nacute;" * "ń"+    , "nang;" * "∠⃒" -- "\8736\8402"+    , "nap;" * "≉"+    , "napE;" * "⩰̸" -- "\10864\824"+    , "napid;" * "≋̸" -- "\8779\824"+    , "napos;" * "ʼn"+    , "napprox;" * "≉"+    , "natur;" * "♮"+    , "natural;" * "♮"+    , "naturals;" * "ℕ"+    , "nbsp" * " "+    , "nbsp;" * " "+    , "nbump;" * "≎̸" -- "\8782\824"+    , "nbumpe;" * "≏̸" -- "\8783\824"+    , "ncap;" * "⩃"+    , "Ncaron;" * "Ň"+    , "ncaron;" * "ň"+    , "Ncedil;" * "Ņ"+    , "ncedil;" * "ņ"+    , "ncong;" * "≇"+    , "ncongdot;" * "⩭̸" -- "\10861\824"+    , "ncup;" * "⩂"+    , "Ncy;" * "Н"+    , "ncy;" * "н"+    , "ndash;" * "–"+    , "ne;" * "≠"+    , "nearhk;" * "⤤"+    , "neArr;" * "⇗"+    , "nearr;" * "↗"+    , "nearrow;" * "↗"+    , "nedot;" * "≐̸" -- "\8784\824"+    , "NegativeMediumSpace;" * "\8203" -- escaped+    , "NegativeThickSpace;" * "\8203" -- escaped+    , "NegativeThinSpace;" * "\8203" -- escaped+    , "NegativeVeryThinSpace;" * "\8203" -- escaped+    , "nequiv;" * "≢"+    , "nesear;" * "⤨"+    , "nesim;" * "≂̸" -- "\8770\824"+    , "NestedGreaterGreater;" * "≫"+    , "NestedLessLess;" * "≪"+    , "NewLine;" * "\n" -- escaped+    , "nexist;" * "∄"+    , "nexists;" * "∄"+    , "Nfr;" * "𝔑"+    , "nfr;" * "𝔫"+    , "ngE;" * "≧̸" -- "\8807\824"+    , "nge;" * "≱"+    , "ngeq;" * "≱"+    , "ngeqq;" * "≧̸" -- "\8807\824"+    , "ngeqslant;" * "⩾̸" -- "\10878\824"+    , "nges;" * "⩾̸" -- "\10878\824"+    , "nGg;" * "⋙̸" -- "\8921\824"+    , "ngsim;" * "≵"+    , "nGt;" * "≫⃒" -- "\8811\8402"+    , "ngt;" * "≯"+    , "ngtr;" * "≯"+    , "nGtv;" * "≫̸" -- "\8811\824"+    , "nhArr;" * "⇎"+    , "nharr;" * "↮"+    , "nhpar;" * "⫲"+    , "ni;" * "∋"+    , "nis;" * "⋼"+    , "nisd;" * "⋺"+    , "niv;" * "∋"+    , "NJcy;" * "Њ"+    , "njcy;" * "њ"+    , "nlArr;" * "⇍"+    , "nlarr;" * "↚"+    , "nldr;" * "‥"+    , "nlE;" * "≦̸" -- "\8806\824"+    , "nle;" * "≰"+    , "nLeftarrow;" * "⇍"+    , "nleftarrow;" * "↚"+    , "nLeftrightarrow;" * "⇎"+    , "nleftrightarrow;" * "↮"+    , "nleq;" * "≰"+    , "nleqq;" * "≦̸" -- "\8806\824"+    , "nleqslant;" * "⩽̸" -- "\10877\824"+    , "nles;" * "⩽̸" -- "\10877\824"+    , "nless;" * "≮"+    , "nLl;" * "⋘̸" -- "\8920\824"+    , "nlsim;" * "≴"+    , "nLt;" * "≪⃒" -- "\8810\8402"+    , "nlt;" * "≮"+    , "nltri;" * "⋪"+    , "nltrie;" * "⋬"+    , "nLtv;" * "≪̸" -- "\8810\824"+    , "nmid;" * "∤"+    , "NoBreak;" * "\8288" -- escaped+    , "NonBreakingSpace;" * " "+    , "Nopf;" * "ℕ"+    , "nopf;" * "𝕟"+    , "not" * "¬"+    , "Not;" * "⫬"+    , "not;" * "¬"+    , "NotCongruent;" * "≢"+    , "NotCupCap;" * "≭"+    , "NotDoubleVerticalBar;" * "∦"+    , "NotElement;" * "∉"+    , "NotEqual;" * "≠"+    , "NotEqualTilde;" * "≂̸" -- "\8770\824"+    , "NotExists;" * "∄"+    , "NotGreater;" * "≯"+    , "NotGreaterEqual;" * "≱"+    , "NotGreaterFullEqual;" * "≧̸" -- "\8807\824"+    , "NotGreaterGreater;" * "≫̸" -- "\8811\824"+    , "NotGreaterLess;" * "≹"+    , "NotGreaterSlantEqual;" * "⩾̸" -- "\10878\824"+    , "NotGreaterTilde;" * "≵"+    , "NotHumpDownHump;" * "≎̸" -- "\8782\824"+    , "NotHumpEqual;" * "≏̸" -- "\8783\824"+    , "notin;" * "∉"+    , "notindot;" * "⋵̸" -- "\8949\824"+    , "notinE;" * "⋹̸" -- "\8953\824"+    , "notinva;" * "∉"+    , "notinvb;" * "⋷"+    , "notinvc;" * "⋶"+    , "NotLeftTriangle;" * "⋪"+    , "NotLeftTriangleBar;" * "⧏̸" -- "\10703\824"+    , "NotLeftTriangleEqual;" * "⋬"+    , "NotLess;" * "≮"+    , "NotLessEqual;" * "≰"+    , "NotLessGreater;" * "≸"+    , "NotLessLess;" * "≪̸" -- "\8810\824"+    , "NotLessSlantEqual;" * "⩽̸" -- "\10877\824"+    , "NotLessTilde;" * "≴"+    , "NotNestedGreaterGreater;" * "⪢̸" -- "\10914\824"+    , "NotNestedLessLess;" * "⪡̸" -- "\10913\824"+    , "notni;" * "∌"+    , "notniva;" * "∌"+    , "notnivb;" * "⋾"+    , "notnivc;" * "⋽"+    , "NotPrecedes;" * "⊀"+    , "NotPrecedesEqual;" * "⪯̸" -- "\10927\824"+    , "NotPrecedesSlantEqual;" * "⋠"+    , "NotReverseElement;" * "∌"+    , "NotRightTriangle;" * "⋫"+    , "NotRightTriangleBar;" * "⧐̸" -- "\10704\824"+    , "NotRightTriangleEqual;" * "⋭"+    , "NotSquareSubset;" * "⊏̸" -- "\8847\824"+    , "NotSquareSubsetEqual;" * "⋢"+    , "NotSquareSuperset;" * "⊐̸" -- "\8848\824"+    , "NotSquareSupersetEqual;" * "⋣"+    , "NotSubset;" * "⊂⃒" -- "\8834\8402"+    , "NotSubsetEqual;" * "⊈"+    , "NotSucceeds;" * "⊁"+    , "NotSucceedsEqual;" * "⪰̸" -- "\10928\824"+    , "NotSucceedsSlantEqual;" * "⋡"+    , "NotSucceedsTilde;" * "≿̸" -- "\8831\824"+    , "NotSuperset;" * "⊃⃒" -- "\8835\8402"+    , "NotSupersetEqual;" * "⊉"+    , "NotTilde;" * "≁"+    , "NotTildeEqual;" * "≄"+    , "NotTildeFullEqual;" * "≇"+    , "NotTildeTilde;" * "≉"+    , "NotVerticalBar;" * "∤"+    , "npar;" * "∦"+    , "nparallel;" * "∦"+    , "nparsl;" * "⫽⃥" -- "\11005\8421"+    , "npart;" * "∂̸" -- "\8706\824"+    , "npolint;" * "⨔"+    , "npr;" * "⊀"+    , "nprcue;" * "⋠"+    , "npre;" * "⪯̸" -- "\10927\824"+    , "nprec;" * "⊀"+    , "npreceq;" * "⪯̸" -- "\10927\824"+    , "nrArr;" * "⇏"+    , "nrarr;" * "↛"+    , "nrarrc;" * "⤳̸" -- "\10547\824"+    , "nrarrw;" * "↝̸" -- "\8605\824"+    , "nRightarrow;" * "⇏"+    , "nrightarrow;" * "↛"+    , "nrtri;" * "⋫"+    , "nrtrie;" * "⋭"+    , "nsc;" * "⊁"+    , "nsccue;" * "⋡"+    , "nsce;" * "⪰̸" -- "\10928\824"+    , "Nscr;" * "𝒩"+    , "nscr;" * "𝓃"+    , "nshortmid;" * "∤"+    , "nshortparallel;" * "∦"+    , "nsim;" * "≁"+    , "nsime;" * "≄"+    , "nsimeq;" * "≄"+    , "nsmid;" * "∤"+    , "nspar;" * "∦"+    , "nsqsube;" * "⋢"+    , "nsqsupe;" * "⋣"+    , "nsub;" * "⊄"+    , "nsubE;" * "⫅̸" -- "\10949\824"+    , "nsube;" * "⊈"+    , "nsubset;" * "⊂⃒" -- "\8834\8402"+    , "nsubseteq;" * "⊈"+    , "nsubseteqq;" * "⫅̸" -- "\10949\824"+    , "nsucc;" * "⊁"+    , "nsucceq;" * "⪰̸" -- "\10928\824"+    , "nsup;" * "⊅"+    , "nsupE;" * "⫆̸" -- "\10950\824"+    , "nsupe;" * "⊉"+    , "nsupset;" * "⊃⃒" -- "\8835\8402"+    , "nsupseteq;" * "⊉"+    , "nsupseteqq;" * "⫆̸" -- "\10950\824"+    , "ntgl;" * "≹"+    , "Ntilde" * "Ñ"+    , "ntilde" * "ñ"+    , "Ntilde;" * "Ñ"+    , "ntilde;" * "ñ"+    , "ntlg;" * "≸"+    , "ntriangleleft;" * "⋪"+    , "ntrianglelefteq;" * "⋬"+    , "ntriangleright;" * "⋫"+    , "ntrianglerighteq;" * "⋭"+    , "Nu;" * "Ν"+    , "nu;" * "ν"+    , "num;" * "#"+    , "numero;" * "№"+    , "numsp;" * " "+    , "nvap;" * "≍⃒" -- "\8781\8402"+    , "nVDash;" * "⊯"+    , "nVdash;" * "⊮"+    , "nvDash;" * "⊭"+    , "nvdash;" * "⊬"+    , "nvge;" * "≥⃒" -- "\8805\8402"+    , "nvgt;" * ">⃒" -- ">\8402"+    , "nvHarr;" * "⤄"+    , "nvinfin;" * "⧞"+    , "nvlArr;" * "⤂"+    , "nvle;" * "≤⃒" -- "\8804\8402"+    , "nvlt;" * "<⃒" -- "<\8402"+    , "nvltrie;" * "⊴⃒" -- "\8884\8402"+    , "nvrArr;" * "⤃"+    , "nvrtrie;" * "⊵⃒" -- "\8885\8402"+    , "nvsim;" * "∼⃒" -- "\8764\8402"+    , "nwarhk;" * "⤣"+    , "nwArr;" * "⇖"+    , "nwarr;" * "↖"+    , "nwarrow;" * "↖"+    , "nwnear;" * "⤧"+    , "Oacute" * "Ó"+    , "oacute" * "ó"+    , "Oacute;" * "Ó"+    , "oacute;" * "ó"+    , "oast;" * "⊛"+    , "ocir;" * "⊚"+    , "Ocirc" * "Ô"+    , "ocirc" * "ô"+    , "Ocirc;" * "Ô"+    , "ocirc;" * "ô"+    , "Ocy;" * "О"+    , "ocy;" * "о"+    , "odash;" * "⊝"+    , "Odblac;" * "Ő"+    , "odblac;" * "ő"+    , "odiv;" * "⨸"+    , "odot;" * "⊙"+    , "odsold;" * "⦼"+    , "OElig;" * "Œ"+    , "oelig;" * "œ"+    , "ofcir;" * "⦿"+    , "Ofr;" * "𝔒"+    , "ofr;" * "𝔬"+    , "ogon;" * "˛"+    , "Ograve" * "Ò"+    , "ograve" * "ò"+    , "Ograve;" * "Ò"+    , "ograve;" * "ò"+    , "ogt;" * "⧁"+    , "ohbar;" * "⦵"+    , "ohm;" * "Ω"+    , "oint;" * "∮"+    , "olarr;" * "↺"+    , "olcir;" * "⦾"+    , "olcross;" * "⦻"+    , "oline;" * "‾"+    , "olt;" * "⧀"+    , "Omacr;" * "Ō"+    , "omacr;" * "ō"+    , "Omega;" * "Ω"+    , "omega;" * "ω"+    , "Omicron;" * "Ο"+    , "omicron;" * "ο"+    , "omid;" * "⦶"+    , "ominus;" * "⊖"+    , "Oopf;" * "𝕆"+    , "oopf;" * "𝕠"+    , "opar;" * "⦷"+    , "OpenCurlyDoubleQuote;" * "“"+    , "OpenCurlyQuote;" * "‘"+    , "operp;" * "⦹"+    , "oplus;" * "⊕"+    , "Or;" * "⩔"+    , "or;" * "∨"+    , "orarr;" * "↻"+    , "ord;" * "⩝"+    , "order;" * "ℴ"+    , "orderof;" * "ℴ"+    , "ordf" * "ª"+    , "ordf;" * "ª"+    , "ordm" * "º"+    , "ordm;" * "º"+    , "origof;" * "⊶"+    , "oror;" * "⩖"+    , "orslope;" * "⩗"+    , "orv;" * "⩛"+    , "oS;" * "Ⓢ"+    , "Oscr;" * "𝒪"+    , "oscr;" * "ℴ"+    , "Oslash" * "Ø"+    , "oslash" * "ø"+    , "Oslash;" * "Ø"+    , "oslash;" * "ø"+    , "osol;" * "⊘"+    , "Otilde" * "Õ"+    , "otilde" * "õ"+    , "Otilde;" * "Õ"+    , "otilde;" * "õ"+    , "Otimes;" * "⨷"+    , "otimes;" * "⊗"+    , "otimesas;" * "⨶"+    , "Ouml" * "Ö"+    , "ouml" * "ö"+    , "Ouml;" * "Ö"+    , "ouml;" * "ö"+    , "ovbar;" * "⌽"+    , "OverBar;" * "‾"+    , "OverBrace;" * "⏞"+    , "OverBracket;" * "⎴"+    , "OverParenthesis;" * "⏜"+    , "par;" * "∥"+    , "para" * "¶"+    , "para;" * "¶"+    , "parallel;" * "∥"+    , "parsim;" * "⫳"+    , "parsl;" * "⫽"+    , "part;" * "∂"+    , "PartialD;" * "∂"+    , "Pcy;" * "П"+    , "pcy;" * "п"+    , "percnt;" * "%"+    , "period;" * "."+    , "permil;" * "‰"+    , "perp;" * "⊥"+    , "pertenk;" * "‱"+    , "Pfr;" * "𝔓"+    , "pfr;" * "𝔭"+    , "Phi;" * "Φ"+    , "phi;" * "φ"+    , "phiv;" * "ϕ"+    , "phmmat;" * "ℳ"+    , "phone;" * "☎"+    , "Pi;" * "Π"+    , "pi;" * "π"+    , "pitchfork;" * "⋔"+    , "piv;" * "ϖ"+    , "planck;" * "ℏ"+    , "planckh;" * "ℎ"+    , "plankv;" * "ℏ"+    , "plus;" * "+"+    , "plusacir;" * "⨣"+    , "plusb;" * "⊞"+    , "pluscir;" * "⨢"+    , "plusdo;" * "∔"+    , "plusdu;" * "⨥"+    , "pluse;" * "⩲"+    , "PlusMinus;" * "±"+    , "plusmn" * "±"+    , "plusmn;" * "±"+    , "plussim;" * "⨦"+    , "plustwo;" * "⨧"+    , "pm;" * "±"+    , "Poincareplane;" * "ℌ"+    , "pointint;" * "⨕"+    , "Popf;" * "ℙ"+    , "popf;" * "𝕡"+    , "pound" * "£"+    , "pound;" * "£"+    , "Pr;" * "⪻"+    , "pr;" * "≺"+    , "prap;" * "⪷"+    , "prcue;" * "≼"+    , "prE;" * "⪳"+    , "pre;" * "⪯"+    , "prec;" * "≺"+    , "precapprox;" * "⪷"+    , "preccurlyeq;" * "≼"+    , "Precedes;" * "≺"+    , "PrecedesEqual;" * "⪯"+    , "PrecedesSlantEqual;" * "≼"+    , "PrecedesTilde;" * "≾"+    , "preceq;" * "⪯"+    , "precnapprox;" * "⪹"+    , "precneqq;" * "⪵"+    , "precnsim;" * "⋨"+    , "precsim;" * "≾"+    , "Prime;" * "″"+    , "prime;" * "′"+    , "primes;" * "ℙ"+    , "prnap;" * "⪹"+    , "prnE;" * "⪵"+    , "prnsim;" * "⋨"+    , "prod;" * "∏"+    , "Product;" * "∏"+    , "profalar;" * "⌮"+    , "profline;" * "⌒"+    , "profsurf;" * "⌓"+    , "prop;" * "∝"+    , "Proportion;" * "∷"+    , "Proportional;" * "∝"+    , "propto;" * "∝"+    , "prsim;" * "≾"+    , "prurel;" * "⊰"+    , "Pscr;" * "𝒫"+    , "pscr;" * "𝓅"+    , "Psi;" * "Ψ"+    , "psi;" * "ψ"+    , "puncsp;" * " "+    , "Qfr;" * "𝔔"+    , "qfr;" * "𝔮"+    , "qint;" * "⨌"+    , "Qopf;" * "ℚ"+    , "qopf;" * "𝕢"+    , "qprime;" * "⁗"+    , "Qscr;" * "𝒬"+    , "qscr;" * "𝓆"+    , "quaternions;" * "ℍ"+    , "quatint;" * "⨖"+    , "quest;" * "?"+    , "questeq;" * "≟"+    , "QUOT" * "\"" -- escaped+    , "quot" * "\"" -- escaped+    , "QUOT;" * "\"" -- escaped+    , "quot;" * "\"" -- escaped+    , "rAarr;" * "⇛"+    , "race;" * "∽̱" -- "\8765\817"+    , "Racute;" * "Ŕ"+    , "racute;" * "ŕ"+    , "radic;" * "√"+    , "raemptyv;" * "⦳"+    , "Rang;" * "⟫"+    , "rang;" * "⟩"+    , "rangd;" * "⦒"+    , "range;" * "⦥"+    , "rangle;" * "⟩"+    , "raquo" * "»"+    , "raquo;" * "»"+    , "Rarr;" * "↠"+    , "rArr;" * "⇒"+    , "rarr;" * "→"+    , "rarrap;" * "⥵"+    , "rarrb;" * "⇥"+    , "rarrbfs;" * "⤠"+    , "rarrc;" * "⤳"+    , "rarrfs;" * "⤞"+    , "rarrhk;" * "↪"+    , "rarrlp;" * "↬"+    , "rarrpl;" * "⥅"+    , "rarrsim;" * "⥴"+    , "Rarrtl;" * "⤖"+    , "rarrtl;" * "↣"+    , "rarrw;" * "↝"+    , "rAtail;" * "⤜"+    , "ratail;" * "⤚"+    , "ratio;" * "∶"+    , "rationals;" * "ℚ"+    , "RBarr;" * "⤐"+    , "rBarr;" * "⤏"+    , "rbarr;" * "⤍"+    , "rbbrk;" * "❳"+    , "rbrace;" * "}"+    , "rbrack;" * "]"+    , "rbrke;" * "⦌"+    , "rbrksld;" * "⦎"+    , "rbrkslu;" * "⦐"+    , "Rcaron;" * "Ř"+    , "rcaron;" * "ř"+    , "Rcedil;" * "Ŗ"+    , "rcedil;" * "ŗ"+    , "rceil;" * "⌉"+    , "rcub;" * "}"+    , "Rcy;" * "Р"+    , "rcy;" * "р"+    , "rdca;" * "⤷"+    , "rdldhar;" * "⥩"+    , "rdquo;" * "”"+    , "rdquor;" * "”"+    , "rdsh;" * "↳"+    , "Re;" * "ℜ"+    , "real;" * "ℜ"+    , "realine;" * "ℛ"+    , "realpart;" * "ℜ"+    , "reals;" * "ℝ"+    , "rect;" * "▭"+    , "REG" * "®"+    , "reg" * "®"+    , "REG;" * "®"+    , "reg;" * "®"+    , "ReverseElement;" * "∋"+    , "ReverseEquilibrium;" * "⇋"+    , "ReverseUpEquilibrium;" * "⥯"+    , "rfisht;" * "⥽"+    , "rfloor;" * "⌋"+    , "Rfr;" * "ℜ"+    , "rfr;" * "𝔯"+    , "rHar;" * "⥤"+    , "rhard;" * "⇁"+    , "rharu;" * "⇀"+    , "rharul;" * "⥬"+    , "Rho;" * "Ρ"+    , "rho;" * "ρ"+    , "rhov;" * "ϱ"+    , "RightAngleBracket;" * "⟩"+    , "RightArrow;" * "→"+    , "Rightarrow;" * "⇒"+    , "rightarrow;" * "→"+    , "RightArrowBar;" * "⇥"+    , "RightArrowLeftArrow;" * "⇄"+    , "rightarrowtail;" * "↣"+    , "RightCeiling;" * "⌉"+    , "RightDoubleBracket;" * "⟧"+    , "RightDownTeeVector;" * "⥝"+    , "RightDownVector;" * "⇂"+    , "RightDownVectorBar;" * "⥕"+    , "RightFloor;" * "⌋"+    , "rightharpoondown;" * "⇁"+    , "rightharpoonup;" * "⇀"+    , "rightleftarrows;" * "⇄"+    , "rightleftharpoons;" * "⇌"+    , "rightrightarrows;" * "⇉"+    , "rightsquigarrow;" * "↝"+    , "RightTee;" * "⊢"+    , "RightTeeArrow;" * "↦"+    , "RightTeeVector;" * "⥛"+    , "rightthreetimes;" * "⋌"+    , "RightTriangle;" * "⊳"+    , "RightTriangleBar;" * "⧐"+    , "RightTriangleEqual;" * "⊵"+    , "RightUpDownVector;" * "⥏"+    , "RightUpTeeVector;" * "⥜"+    , "RightUpVector;" * "↾"+    , "RightUpVectorBar;" * "⥔"+    , "RightVector;" * "⇀"+    , "RightVectorBar;" * "⥓"+    , "ring;" * "˚"+    , "risingdotseq;" * "≓"+    , "rlarr;" * "⇄"+    , "rlhar;" * "⇌"+    , "rlm;" * "\8207" -- escaped+    , "rmoust;" * "⎱"+    , "rmoustache;" * "⎱"+    , "rnmid;" * "⫮"+    , "roang;" * "⟭"+    , "roarr;" * "⇾"+    , "robrk;" * "⟧"+    , "ropar;" * "⦆"+    , "Ropf;" * "ℝ"+    , "ropf;" * "𝕣"+    , "roplus;" * "⨮"+    , "rotimes;" * "⨵"+    , "RoundImplies;" * "⥰"+    , "rpar;" * ")"+    , "rpargt;" * "⦔"+    , "rppolint;" * "⨒"+    , "rrarr;" * "⇉"+    , "Rrightarrow;" * "⇛"+    , "rsaquo;" * "›"+    , "Rscr;" * "ℛ"+    , "rscr;" * "𝓇"+    , "Rsh;" * "↱"+    , "rsh;" * "↱"+    , "rsqb;" * "]"+    , "rsquo;" * "’"+    , "rsquor;" * "’"+    , "rthree;" * "⋌"+    , "rtimes;" * "⋊"+    , "rtri;" * "▹"+    , "rtrie;" * "⊵"+    , "rtrif;" * "▸"+    , "rtriltri;" * "⧎"+    , "RuleDelayed;" * "⧴"+    , "ruluhar;" * "⥨"+    , "rx;" * "℞"+    , "Sacute;" * "Ś"+    , "sacute;" * "ś"+    , "sbquo;" * "‚"+    , "Sc;" * "⪼"+    , "sc;" * "≻"+    , "scap;" * "⪸"+    , "Scaron;" * "Š"+    , "scaron;" * "š"+    , "sccue;" * "≽"+    , "scE;" * "⪴"+    , "sce;" * "⪰"+    , "Scedil;" * "Ş"+    , "scedil;" * "ş"+    , "Scirc;" * "Ŝ"+    , "scirc;" * "ŝ"+    , "scnap;" * "⪺"+    , "scnE;" * "⪶"+    , "scnsim;" * "⋩"+    , "scpolint;" * "⨓"+    , "scsim;" * "≿"+    , "Scy;" * "С"+    , "scy;" * "с"+    , "sdot;" * "⋅"+    , "sdotb;" * "⊡"+    , "sdote;" * "⩦"+    , "searhk;" * "⤥"+    , "seArr;" * "⇘"+    , "searr;" * "↘"+    , "searrow;" * "↘"+    , "sect" * "§"+    , "sect;" * "§"+    , "semi;" * ";"+    , "seswar;" * "⤩"+    , "setminus;" * "∖"+    , "setmn;" * "∖"+    , "sext;" * "✶"+    , "Sfr;" * "𝔖"+    , "sfr;" * "𝔰"+    , "sfrown;" * "⌢"+    , "sharp;" * "♯"+    , "SHCHcy;" * "Щ"+    , "shchcy;" * "щ"+    , "SHcy;" * "Ш"+    , "shcy;" * "ш"+    , "ShortDownArrow;" * "↓"+    , "ShortLeftArrow;" * "←"+    , "shortmid;" * "∣"+    , "shortparallel;" * "∥"+    , "ShortRightArrow;" * "→"+    , "ShortUpArrow;" * "↑"+    , "shy" * "\173" -- escaped+    , "shy;" * "\173" -- escaped+    , "Sigma;" * "Σ"+    , "sigma;" * "σ"+    , "sigmaf;" * "ς"+    , "sigmav;" * "ς"+    , "sim;" * "∼"+    , "simdot;" * "⩪"+    , "sime;" * "≃"+    , "simeq;" * "≃"+    , "simg;" * "⪞"+    , "simgE;" * "⪠"+    , "siml;" * "⪝"+    , "simlE;" * "⪟"+    , "simne;" * "≆"+    , "simplus;" * "⨤"+    , "simrarr;" * "⥲"+    , "slarr;" * "←"+    , "SmallCircle;" * "∘"+    , "smallsetminus;" * "∖"+    , "smashp;" * "⨳"+    , "smeparsl;" * "⧤"+    , "smid;" * "∣"+    , "smile;" * "⌣"+    , "smt;" * "⪪"+    , "smte;" * "⪬"+    , "smtes;" * "⪬︀" -- "\10924\65024"+    , "SOFTcy;" * "Ь"+    , "softcy;" * "ь"+    , "sol;" * "/"+    , "solb;" * "⧄"+    , "solbar;" * "⌿"+    , "Sopf;" * "𝕊"+    , "sopf;" * "𝕤"+    , "spades;" * "♠"+    , "spadesuit;" * "♠"+    , "spar;" * "∥"+    , "sqcap;" * "⊓"+    , "sqcaps;" * "⊓︀" -- "\8851\65024"+    , "sqcup;" * "⊔"+    , "sqcups;" * "⊔︀" -- "\8852\65024"+    , "Sqrt;" * "√"+    , "sqsub;" * "⊏"+    , "sqsube;" * "⊑"+    , "sqsubset;" * "⊏"+    , "sqsubseteq;" * "⊑"+    , "sqsup;" * "⊐"+    , "sqsupe;" * "⊒"+    , "sqsupset;" * "⊐"+    , "sqsupseteq;" * "⊒"+    , "squ;" * "□"+    , "Square;" * "□"+    , "square;" * "□"+    , "SquareIntersection;" * "⊓"+    , "SquareSubset;" * "⊏"+    , "SquareSubsetEqual;" * "⊑"+    , "SquareSuperset;" * "⊐"+    , "SquareSupersetEqual;" * "⊒"+    , "SquareUnion;" * "⊔"+    , "squarf;" * "▪"+    , "squf;" * "▪"+    , "srarr;" * "→"+    , "Sscr;" * "𝒮"+    , "sscr;" * "𝓈"+    , "ssetmn;" * "∖"+    , "ssmile;" * "⌣"+    , "sstarf;" * "⋆"+    , "Star;" * "⋆"+    , "star;" * "☆"+    , "starf;" * "★"+    , "straightepsilon;" * "ϵ"+    , "straightphi;" * "ϕ"+    , "strns;" * "¯"+    , "Sub;" * "⋐"+    , "sub;" * "⊂"+    , "subdot;" * "⪽"+    , "subE;" * "⫅"+    , "sube;" * "⊆"+    , "subedot;" * "⫃"+    , "submult;" * "⫁"+    , "subnE;" * "⫋"+    , "subne;" * "⊊"+    , "subplus;" * "⪿"+    , "subrarr;" * "⥹"+    , "Subset;" * "⋐"+    , "subset;" * "⊂"+    , "subseteq;" * "⊆"+    , "subseteqq;" * "⫅"+    , "SubsetEqual;" * "⊆"+    , "subsetneq;" * "⊊"+    , "subsetneqq;" * "⫋"+    , "subsim;" * "⫇"+    , "subsub;" * "⫕"+    , "subsup;" * "⫓"+    , "succ;" * "≻"+    , "succapprox;" * "⪸"+    , "succcurlyeq;" * "≽"+    , "Succeeds;" * "≻"+    , "SucceedsEqual;" * "⪰"+    , "SucceedsSlantEqual;" * "≽"+    , "SucceedsTilde;" * "≿"+    , "succeq;" * "⪰"+    , "succnapprox;" * "⪺"+    , "succneqq;" * "⪶"+    , "succnsim;" * "⋩"+    , "succsim;" * "≿"+    , "SuchThat;" * "∋"+    , "Sum;" * "∑"+    , "sum;" * "∑"+    , "sung;" * "♪"+    , "sup1" * "¹"+    , "sup1;" * "¹"+    , "sup2" * "²"+    , "sup2;" * "²"+    , "sup3" * "³"+    , "sup3;" * "³"+    , "Sup;" * "⋑"+    , "sup;" * "⊃"+    , "supdot;" * "⪾"+    , "supdsub;" * "⫘"+    , "supE;" * "⫆"+    , "supe;" * "⊇"+    , "supedot;" * "⫄"+    , "Superset;" * "⊃"+    , "SupersetEqual;" * "⊇"+    , "suphsol;" * "⟉"+    , "suphsub;" * "⫗"+    , "suplarr;" * "⥻"+    , "supmult;" * "⫂"+    , "supnE;" * "⫌"+    , "supne;" * "⊋"+    , "supplus;" * "⫀"+    , "Supset;" * "⋑"+    , "supset;" * "⊃"+    , "supseteq;" * "⊇"+    , "supseteqq;" * "⫆"+    , "supsetneq;" * "⊋"+    , "supsetneqq;" * "⫌"+    , "supsim;" * "⫈"+    , "supsub;" * "⫔"+    , "supsup;" * "⫖"+    , "swarhk;" * "⤦"+    , "swArr;" * "⇙"+    , "swarr;" * "↙"+    , "swarrow;" * "↙"+    , "swnwar;" * "⤪"+    , "szlig" * "ß"+    , "szlig;" * "ß"+    , "Tab;" * "\t" -- escaped+    , "target;" * "⌖"+    , "Tau;" * "Τ"+    , "tau;" * "τ"+    , "tbrk;" * "⎴"+    , "Tcaron;" * "Ť"+    , "tcaron;" * "ť"+    , "Tcedil;" * "Ţ"+    , "tcedil;" * "ţ"+    , "Tcy;" * "Т"+    , "tcy;" * "т"+    , "tdot;" * "⃛"+    , "telrec;" * "⌕"+    , "Tfr;" * "𝔗"+    , "tfr;" * "𝔱"+    , "there4;" * "∴"+    , "Therefore;" * "∴"+    , "therefore;" * "∴"+    , "Theta;" * "Θ"+    , "theta;" * "θ"+    , "thetasym;" * "ϑ"+    , "thetav;" * "ϑ"+    , "thickapprox;" * "≈"+    , "thicksim;" * "∼"+    , "ThickSpace;" * "  " -- "\8287\8202"+    , "thinsp;" * " "+    , "ThinSpace;" * " "+    , "thkap;" * "≈"+    , "thksim;" * "∼"+    , "THORN" * "Þ"+    , "thorn" * "þ"+    , "THORN;" * "Þ"+    , "thorn;" * "þ"+    , "Tilde;" * "∼"+    , "tilde;" * "˜"+    , "TildeEqual;" * "≃"+    , "TildeFullEqual;" * "≅"+    , "TildeTilde;" * "≈"+    , "times" * "×"+    , "times;" * "×"+    , "timesb;" * "⊠"+    , "timesbar;" * "⨱"+    , "timesd;" * "⨰"+    , "tint;" * "∭"+    , "toea;" * "⤨"+    , "top;" * "⊤"+    , "topbot;" * "⌶"+    , "topcir;" * "⫱"+    , "Topf;" * "𝕋"+    , "topf;" * "𝕥"+    , "topfork;" * "⫚"+    , "tosa;" * "⤩"+    , "tprime;" * "‴"+    , "TRADE;" * "™"+    , "trade;" * "™"+    , "triangle;" * "▵"+    , "triangledown;" * "▿"+    , "triangleleft;" * "◃"+    , "trianglelefteq;" * "⊴"+    , "triangleq;" * "≜"+    , "triangleright;" * "▹"+    , "trianglerighteq;" * "⊵"+    , "tridot;" * "◬"+    , "trie;" * "≜"+    , "triminus;" * "⨺"+    , "TripleDot;" * "⃛"+    , "triplus;" * "⨹"+    , "trisb;" * "⧍"+    , "tritime;" * "⨻"+    , "trpezium;" * "⏢"+    , "Tscr;" * "𝒯"+    , "tscr;" * "𝓉"+    , "TScy;" * "Ц"+    , "tscy;" * "ц"+    , "TSHcy;" * "Ћ"+    , "tshcy;" * "ћ"+    , "Tstrok;" * "Ŧ"+    , "tstrok;" * "ŧ"+    , "twixt;" * "≬"+    , "twoheadleftarrow;" * "↞"+    , "twoheadrightarrow;" * "↠"+    , "Uacute" * "Ú"+    , "uacute" * "ú"+    , "Uacute;" * "Ú"+    , "uacute;" * "ú"+    , "Uarr;" * "↟"+    , "uArr;" * "⇑"+    , "uarr;" * "↑"+    , "Uarrocir;" * "⥉"+    , "Ubrcy;" * "Ў"+    , "ubrcy;" * "ў"+    , "Ubreve;" * "Ŭ"+    , "ubreve;" * "ŭ"+    , "Ucirc" * "Û"+    , "ucirc" * "û"+    , "Ucirc;" * "Û"+    , "ucirc;" * "û"+    , "Ucy;" * "У"+    , "ucy;" * "у"+    , "udarr;" * "⇅"+    , "Udblac;" * "Ű"+    , "udblac;" * "ű"+    , "udhar;" * "⥮"+    , "ufisht;" * "⥾"+    , "Ufr;" * "𝔘"+    , "ufr;" * "𝔲"+    , "Ugrave" * "Ù"+    , "ugrave" * "ù"+    , "Ugrave;" * "Ù"+    , "ugrave;" * "ù"+    , "uHar;" * "⥣"+    , "uharl;" * "↿"+    , "uharr;" * "↾"+    , "uhblk;" * "▀"+    , "ulcorn;" * "⌜"+    , "ulcorner;" * "⌜"+    , "ulcrop;" * "⌏"+    , "ultri;" * "◸"+    , "Umacr;" * "Ū"+    , "umacr;" * "ū"+    , "uml" * "¨"+    , "uml;" * "¨"+    , "UnderBar;" * "_"+    , "UnderBrace;" * "⏟"+    , "UnderBracket;" * "⎵"+    , "UnderParenthesis;" * "⏝"+    , "Union;" * "⋃"+    , "UnionPlus;" * "⊎"+    , "Uogon;" * "Ų"+    , "uogon;" * "ų"+    , "Uopf;" * "𝕌"+    , "uopf;" * "𝕦"+    , "UpArrow;" * "↑"+    , "Uparrow;" * "⇑"+    , "uparrow;" * "↑"+    , "UpArrowBar;" * "⤒"+    , "UpArrowDownArrow;" * "⇅"+    , "UpDownArrow;" * "↕"+    , "Updownarrow;" * "⇕"+    , "updownarrow;" * "↕"+    , "UpEquilibrium;" * "⥮"+    , "upharpoonleft;" * "↿"+    , "upharpoonright;" * "↾"+    , "uplus;" * "⊎"+    , "UpperLeftArrow;" * "↖"+    , "UpperRightArrow;" * "↗"+    , "Upsi;" * "ϒ"+    , "upsi;" * "υ"+    , "upsih;" * "ϒ"+    , "Upsilon;" * "Υ"+    , "upsilon;" * "υ"+    , "UpTee;" * "⊥"+    , "UpTeeArrow;" * "↥"+    , "upuparrows;" * "⇈"+    , "urcorn;" * "⌝"+    , "urcorner;" * "⌝"+    , "urcrop;" * "⌎"+    , "Uring;" * "Ů"+    , "uring;" * "ů"+    , "urtri;" * "◹"+    , "Uscr;" * "𝒰"+    , "uscr;" * "𝓊"+    , "utdot;" * "⋰"+    , "Utilde;" * "Ũ"+    , "utilde;" * "ũ"+    , "utri;" * "▵"+    , "utrif;" * "▴"+    , "uuarr;" * "⇈"+    , "Uuml" * "Ü"+    , "uuml" * "ü"+    , "Uuml;" * "Ü"+    , "uuml;" * "ü"+    , "uwangle;" * "⦧"+    , "vangrt;" * "⦜"+    , "varepsilon;" * "ϵ"+    , "varkappa;" * "ϰ"+    , "varnothing;" * "∅"+    , "varphi;" * "ϕ"+    , "varpi;" * "ϖ"+    , "varpropto;" * "∝"+    , "vArr;" * "⇕"+    , "varr;" * "↕"+    , "varrho;" * "ϱ"+    , "varsigma;" * "ς"+    , "varsubsetneq;" * "⊊︀" -- "\8842\65024"+    , "varsubsetneqq;" * "⫋︀" -- "\10955\65024"+    , "varsupsetneq;" * "⊋︀" -- "\8843\65024"+    , "varsupsetneqq;" * "⫌︀" -- "\10956\65024"+    , "vartheta;" * "ϑ"+    , "vartriangleleft;" * "⊲"+    , "vartriangleright;" * "⊳"+    , "Vbar;" * "⫫"+    , "vBar;" * "⫨"+    , "vBarv;" * "⫩"+    , "Vcy;" * "В"+    , "vcy;" * "в"+    , "VDash;" * "⊫"+    , "Vdash;" * "⊩"+    , "vDash;" * "⊨"+    , "vdash;" * "⊢"+    , "Vdashl;" * "⫦"+    , "Vee;" * "⋁"+    , "vee;" * "∨"+    , "veebar;" * "⊻"+    , "veeeq;" * "≚"+    , "vellip;" * "⋮"+    , "Verbar;" * "‖"+    , "verbar;" * "|"+    , "Vert;" * "‖"+    , "vert;" * "|"+    , "VerticalBar;" * "∣"+    , "VerticalLine;" * "|"+    , "VerticalSeparator;" * "❘"+    , "VerticalTilde;" * "≀"+    , "VeryThinSpace;" * " "+    , "Vfr;" * "𝔙"+    , "vfr;" * "𝔳"+    , "vltri;" * "⊲"+    , "vnsub;" * "⊂⃒" -- "\8834\8402"+    , "vnsup;" * "⊃⃒" -- "\8835\8402"+    , "Vopf;" * "𝕍"+    , "vopf;" * "𝕧"+    , "vprop;" * "∝"+    , "vrtri;" * "⊳"+    , "Vscr;" * "𝒱"+    , "vscr;" * "𝓋"+    , "vsubnE;" * "⫋︀" -- "\10955\65024"+    , "vsubne;" * "⊊︀" -- "\8842\65024"+    , "vsupnE;" * "⫌︀" -- "\10956\65024"+    , "vsupne;" * "⊋︀" -- "\8843\65024"+    , "Vvdash;" * "⊪"+    , "vzigzag;" * "⦚"+    , "Wcirc;" * "Ŵ"+    , "wcirc;" * "ŵ"+    , "wedbar;" * "⩟"+    , "Wedge;" * "⋀"+    , "wedge;" * "∧"+    , "wedgeq;" * "≙"+    , "weierp;" * "℘"+    , "Wfr;" * "𝔚"+    , "wfr;" * "𝔴"+    , "Wopf;" * "𝕎"+    , "wopf;" * "𝕨"+    , "wp;" * "℘"+    , "wr;" * "≀"+    , "wreath;" * "≀"+    , "Wscr;" * "𝒲"+    , "wscr;" * "𝓌"+    , "xcap;" * "⋂"+    , "xcirc;" * "◯"+    , "xcup;" * "⋃"+    , "xdtri;" * "▽"+    , "Xfr;" * "𝔛"+    , "xfr;" * "𝔵"+    , "xhArr;" * "⟺"+    , "xharr;" * "⟷"+    , "Xi;" * "Ξ"+    , "xi;" * "ξ"+    , "xlArr;" * "⟸"+    , "xlarr;" * "⟵"+    , "xmap;" * "⟼"+    , "xnis;" * "⋻"+    , "xodot;" * "⨀"+    , "Xopf;" * "𝕏"+    , "xopf;" * "𝕩"+    , "xoplus;" * "⨁"+    , "xotime;" * "⨂"+    , "xrArr;" * "⟹"+    , "xrarr;" * "⟶"+    , "Xscr;" * "𝒳"+    , "xscr;" * "𝓍"+    , "xsqcup;" * "⨆"+    , "xuplus;" * "⨄"+    , "xutri;" * "△"+    , "xvee;" * "⋁"+    , "xwedge;" * "⋀"+    , "Yacute" * "Ý"+    , "yacute" * "ý"+    , "Yacute;" * "Ý"+    , "yacute;" * "ý"+    , "YAcy;" * "Я"+    , "yacy;" * "я"+    , "Ycirc;" * "Ŷ"+    , "ycirc;" * "ŷ"+    , "Ycy;" * "Ы"+    , "ycy;" * "ы"+    , "yen" * "¥"+    , "yen;" * "¥"+    , "Yfr;" * "𝔜"+    , "yfr;" * "𝔶"+    , "YIcy;" * "Ї"+    , "yicy;" * "ї"+    , "Yopf;" * "𝕐"+    , "yopf;" * "𝕪"+    , "Yscr;" * "𝒴"+    , "yscr;" * "𝓎"+    , "YUcy;" * "Ю"+    , "yucy;" * "ю"+    , "yuml" * "ÿ"+    , "Yuml;" * "Ÿ"+    , "yuml;" * "ÿ"+    , "Zacute;" * "Ź"+    , "zacute;" * "ź"+    , "Zcaron;" * "Ž"+    , "zcaron;" * "ž"+    , "Zcy;" * "З"+    , "zcy;" * "з"+    , "Zdot;" * "Ż"+    , "zdot;" * "ż"+    , "zeetrf;" * "ℨ"+    , "ZeroWidthSpace;" * "\8203" -- escaped+    , "Zeta;" * "Ζ"+    , "zeta;" * "ζ"+    , "Zfr;" * "ℨ"+    , "zfr;" * "𝔷"+    , "ZHcy;" * "Ж"+    , "zhcy;" * "ж"+    , "zigrarr;" * "⇝"+    , "Zopf;" * "ℤ"+    , "zopf;" * "𝕫"+    , "Zscr;" * "𝒵"+    , "zscr;" * "𝓏"+    , "zwj;" * "\8205" -- escaped+    , "zwnj;" * "\8204" -- escaped     ]
fast-tagsoup.cabal view
@@ -1,6 +1,6 @@ cabal-version:  >= 1.6 name:           fast-tagsoup-version:        1.0.9+version:        1.0.10 copyright:      Vladimir Shabanov 2011-2016 author:         Vladimir Shabanov <vshabanoff@gmail.com> maintainer:     Vladimir Shabanov <vshabanoff@gmail.com>