diff --git a/Text/HTML/TagSoup/HtmlEntities.hs b/Text/HTML/TagSoup/HtmlEntities.hs
new file mode 100644
--- /dev/null
+++ b/Text/HTML/TagSoup/HtmlEntities.hs
@@ -0,0 +1,2142 @@
+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" * "ﬃ"
+    , "fflig" * "ﬀ"
+    , "ffllig" * "ﬄ"
+    , "Ffr" * "𝔉"
+    , "ffr" * "𝔣"
+    , "filig" * "ﬁ"
+    , "FilledSmallSquare" * "◼"
+    , "FilledVerySmallSquare" * "▪"
+    , "fjlig" * "fj" -- "fj"
+    , "flat" * "♭"
+    , "fllig" * "ﬂ"
+    , "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" * "Ĳ"
+    , "ijlig" * "ĳ"
+    , "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" * "ŉ"
+    , "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
+    ]
diff --git a/fast-tagsoup.cabal b/fast-tagsoup.cabal
--- a/fast-tagsoup.cabal
+++ b/fast-tagsoup.cabal
@@ -1,6 +1,6 @@
 cabal-version:  >= 1.6
 name:           fast-tagsoup
-version:        1.0.8
+version:        1.0.9
 copyright:      Vladimir Shabanov 2011-2016
 author:         Vladimir Shabanov <vshabanoff@gmail.com>
 maintainer:     Vladimir Shabanov <vshabanoff@gmail.com>
@@ -42,5 +42,8 @@
 
     exposed-modules:
         Text.HTML.TagSoup.Fast
+
+    other-modules:
+        Text.HTML.TagSoup.HtmlEntities
 
     ghc-options: -O2
