summary refs log tree commit diff stats
path: root/lib
diff options
context:
space:
mode:
authorTim <tim-st@users.noreply.github.com>2018-08-23 10:30:16 +0200
committerAndreas Rumpf <rumpf_a@web.de>2018-08-23 10:30:16 +0200
commit55a86497491586dc1b5ad2f6303d53992b999ab5 (patch)
treeefe51d6f5129be06cab4f6a48fb45f45807e86e6 /lib
parentd6d3f092a369ae24ab4f51a332a8056e18c215b0 (diff)
downloadNim-55a86497491586dc1b5ad2f6303d53992b999ab5.tar.gz
Decrease source code size in `htmlparser` and add one check (#8690)
Diffstat (limited to 'lib')
-rw-r--r--lib/pure/htmlparser.nim2926
1 files changed, 1465 insertions, 1461 deletions
diff --git a/lib/pure/htmlparser.nim b/lib/pure/htmlparser.nim
index f54fe87f7..fbf2b8e73 100644
--- a/lib/pure/htmlparser.nim
+++ b/lib/pure/htmlparser.nim
@@ -387,1481 +387,1484 @@ proc entityToRune*(entity: string): Rune =
     doAssert entityToRune("#x0003F") == "?".runeAt(0)
   if entity.len < 2: return # smallest entity has length 2
   if entity[0] == '#':
+    var runeValue = 0
     case entity[1]
     of '0'..'9':
-      try: return Rune(parseInt(entity[1..^1]))
-      except: return
+      try: runeValue = parseInt(entity[1..^1])
+      except: discard
     of 'x', 'X': # not case sensitive here
-      try: return Rune(parseHexInt(entity[2..^1]))
-      except: return
-    else: return # other entities are not defined with prefix ``#``
+      try: runeValue = parseHexInt(entity[2..^1])
+      except: discard
+    else: discard # other entities are not defined with prefix ``#``
+    if runeValue notin 0..0x10FFFF: runeValue = 0 # only return legal values
+    return Rune(runeValue)
   case entity # entity names are case sensitive
-  of "Tab": result = Rune(0x00009)
-  of "NewLine": result = Rune(0x0000A)
-  of "excl": result = Rune(0x00021)
-  of "quot", "QUOT": result = Rune(0x00022)
-  of "num": result = Rune(0x00023)
-  of "dollar": result = Rune(0x00024)
-  of "percnt": result = Rune(0x00025)
-  of "amp", "AMP": result = Rune(0x00026)
-  of "apos": result = Rune(0x00027)
-  of "lpar": result = Rune(0x00028)
-  of "rpar": result = Rune(0x00029)
-  of "ast", "midast": result = Rune(0x0002A)
-  of "plus": result = Rune(0x0002B)
-  of "comma": result = Rune(0x0002C)
-  of "period": result = Rune(0x0002E)
-  of "sol": result = Rune(0x0002F)
-  of "colon": result = Rune(0x0003A)
-  of "semi": result = Rune(0x0003B)
-  of "lt", "LT": result = Rune(0x0003C)
-  of "equals": result = Rune(0x0003D)
-  of "gt", "GT": result = Rune(0x0003E)
-  of "quest": result = Rune(0x0003F)
-  of "commat": result = Rune(0x00040)
-  of "lsqb", "lbrack": result = Rune(0x0005B)
-  of "bsol": result = Rune(0x0005C)
-  of "rsqb", "rbrack": result = Rune(0x0005D)
-  of "Hat": result = Rune(0x0005E)
-  of "lowbar": result = Rune(0x0005F)
-  of "grave", "DiacriticalGrave": result = Rune(0x00060)
-  of "lcub", "lbrace": result = Rune(0x0007B)
-  of "verbar", "vert", "VerticalLine": result = Rune(0x0007C)
-  of "rcub", "rbrace": result = Rune(0x0007D)
-  of "nbsp", "NonBreakingSpace": result = Rune(0x000A0)
-  of "iexcl": result = Rune(0x000A1)
-  of "cent": result = Rune(0x000A2)
-  of "pound": result = Rune(0x000A3)
-  of "curren": result = Rune(0x000A4)
-  of "yen": result = Rune(0x000A5)
-  of "brvbar": result = Rune(0x000A6)
-  of "sect": result = Rune(0x000A7)
-  of "Dot", "die", "DoubleDot", "uml": result = Rune(0x000A8)
-  of "copy", "COPY": result = Rune(0x000A9)
-  of "ordf": result = Rune(0x000AA)
-  of "laquo": result = Rune(0x000AB)
-  of "not": result = Rune(0x000AC)
-  of "shy": result = Rune(0x000AD)
-  of "reg", "circledR", "REG": result = Rune(0x000AE)
-  of "macr", "OverBar", "strns": result = Rune(0x000AF)
-  of "deg": result = Rune(0x000B0)
-  of "plusmn", "pm", "PlusMinus": result = Rune(0x000B1)
-  of "sup2": result = Rune(0x000B2)
-  of "sup3": result = Rune(0x000B3)
-  of "acute", "DiacriticalAcute": result = Rune(0x000B4)
-  of "micro": result = Rune(0x000B5)
-  of "para": result = Rune(0x000B6)
-  of "middot", "centerdot", "CenterDot": result = Rune(0x000B7)
-  of "cedil", "Cedilla": result = Rune(0x000B8)
-  of "sup1": result = Rune(0x000B9)
-  of "ordm": result = Rune(0x000BA)
-  of "raquo": result = Rune(0x000BB)
-  of "frac14": result = Rune(0x000BC)
-  of "frac12", "half": result = Rune(0x000BD)
-  of "frac34": result = Rune(0x000BE)
-  of "iquest": result = Rune(0x000BF)
-  of "Agrave": result = Rune(0x000C0)
-  of "Aacute": result = Rune(0x000C1)
-  of "Acirc": result = Rune(0x000C2)
-  of "Atilde": result = Rune(0x000C3)
-  of "Auml": result = Rune(0x000C4)
-  of "Aring": result = Rune(0x000C5)
-  of "AElig": result = Rune(0x000C6)
-  of "Ccedil": result = Rune(0x000C7)
-  of "Egrave": result = Rune(0x000C8)
-  of "Eacute": result = Rune(0x000C9)
-  of "Ecirc": result = Rune(0x000CA)
-  of "Euml": result = Rune(0x000CB)
-  of "Igrave": result = Rune(0x000CC)
-  of "Iacute": result = Rune(0x000CD)
-  of "Icirc": result = Rune(0x000CE)
-  of "Iuml": result = Rune(0x000CF)
-  of "ETH": result = Rune(0x000D0)
-  of "Ntilde": result = Rune(0x000D1)
-  of "Ograve": result = Rune(0x000D2)
-  of "Oacute": result = Rune(0x000D3)
-  of "Ocirc": result = Rune(0x000D4)
-  of "Otilde": result = Rune(0x000D5)
-  of "Ouml": result = Rune(0x000D6)
-  of "times": result = Rune(0x000D7)
-  of "Oslash": result = Rune(0x000D8)
-  of "Ugrave": result = Rune(0x000D9)
-  of "Uacute": result = Rune(0x000DA)
-  of "Ucirc": result = Rune(0x000DB)
-  of "Uuml": result = Rune(0x000DC)
-  of "Yacute": result = Rune(0x000DD)
-  of "THORN": result = Rune(0x000DE)
-  of "szlig": result = Rune(0x000DF)
-  of "agrave": result = Rune(0x000E0)
-  of "aacute": result = Rune(0x000E1)
-  of "acirc": result = Rune(0x000E2)
-  of "atilde": result = Rune(0x000E3)
-  of "auml": result = Rune(0x000E4)
-  of "aring": result = Rune(0x000E5)
-  of "aelig": result = Rune(0x000E6)
-  of "ccedil": result = Rune(0x000E7)
-  of "egrave": result = Rune(0x000E8)
-  of "eacute": result = Rune(0x000E9)
-  of "ecirc": result = Rune(0x000EA)
-  of "euml": result = Rune(0x000EB)
-  of "igrave": result = Rune(0x000EC)
-  of "iacute": result = Rune(0x000ED)
-  of "icirc": result = Rune(0x000EE)
-  of "iuml": result = Rune(0x000EF)
-  of "eth": result = Rune(0x000F0)
-  of "ntilde": result = Rune(0x000F1)
-  of "ograve": result = Rune(0x000F2)
-  of "oacute": result = Rune(0x000F3)
-  of "ocirc": result = Rune(0x000F4)
-  of "otilde": result = Rune(0x000F5)
-  of "ouml": result = Rune(0x000F6)
-  of "divide", "div": result = Rune(0x000F7)
-  of "oslash": result = Rune(0x000F8)
-  of "ugrave": result = Rune(0x000F9)
-  of "uacute": result = Rune(0x000FA)
-  of "ucirc": result = Rune(0x000FB)
-  of "uuml": result = Rune(0x000FC)
-  of "yacute": result = Rune(0x000FD)
-  of "thorn": result = Rune(0x000FE)
-  of "yuml": result = Rune(0x000FF)
-  of "Amacr": result = Rune(0x00100)
-  of "amacr": result = Rune(0x00101)
-  of "Abreve": result = Rune(0x00102)
-  of "abreve": result = Rune(0x00103)
-  of "Aogon": result = Rune(0x00104)
-  of "aogon": result = Rune(0x00105)
-  of "Cacute": result = Rune(0x00106)
-  of "cacute": result = Rune(0x00107)
-  of "Ccirc": result = Rune(0x00108)
-  of "ccirc": result = Rune(0x00109)
-  of "Cdot": result = Rune(0x0010A)
-  of "cdot": result = Rune(0x0010B)
-  of "Ccaron": result = Rune(0x0010C)
-  of "ccaron": result = Rune(0x0010D)
-  of "Dcaron": result = Rune(0x0010E)
-  of "dcaron": result = Rune(0x0010F)
-  of "Dstrok": result = Rune(0x00110)
-  of "dstrok": result = Rune(0x00111)
-  of "Emacr": result = Rune(0x00112)
-  of "emacr": result = Rune(0x00113)
-  of "Edot": result = Rune(0x00116)
-  of "edot": result = Rune(0x00117)
-  of "Eogon": result = Rune(0x00118)
-  of "eogon": result = Rune(0x00119)
-  of "Ecaron": result = Rune(0x0011A)
-  of "ecaron": result = Rune(0x0011B)
-  of "Gcirc": result = Rune(0x0011C)
-  of "gcirc": result = Rune(0x0011D)
-  of "Gbreve": result = Rune(0x0011E)
-  of "gbreve": result = Rune(0x0011F)
-  of "Gdot": result = Rune(0x00120)
-  of "gdot": result = Rune(0x00121)
-  of "Gcedil": result = Rune(0x00122)
-  of "Hcirc": result = Rune(0x00124)
-  of "hcirc": result = Rune(0x00125)
-  of "Hstrok": result = Rune(0x00126)
-  of "hstrok": result = Rune(0x00127)
-  of "Itilde": result = Rune(0x00128)
-  of "itilde": result = Rune(0x00129)
-  of "Imacr": result = Rune(0x0012A)
-  of "imacr": result = Rune(0x0012B)
-  of "Iogon": result = Rune(0x0012E)
-  of "iogon": result = Rune(0x0012F)
-  of "Idot": result = Rune(0x00130)
-  of "imath", "inodot": result = Rune(0x00131)
-  of "IJlig": result = Rune(0x00132)
-  of "ijlig": result = Rune(0x00133)
-  of "Jcirc": result = Rune(0x00134)
-  of "jcirc": result = Rune(0x00135)
-  of "Kcedil": result = Rune(0x00136)
-  of "kcedil": result = Rune(0x00137)
-  of "kgreen": result = Rune(0x00138)
-  of "Lacute": result = Rune(0x00139)
-  of "lacute": result = Rune(0x0013A)
-  of "Lcedil": result = Rune(0x0013B)
-  of "lcedil": result = Rune(0x0013C)
-  of "Lcaron": result = Rune(0x0013D)
-  of "lcaron": result = Rune(0x0013E)
-  of "Lmidot": result = Rune(0x0013F)
-  of "lmidot": result = Rune(0x00140)
-  of "Lstrok": result = Rune(0x00141)
-  of "lstrok": result = Rune(0x00142)
-  of "Nacute": result = Rune(0x00143)
-  of "nacute": result = Rune(0x00144)
-  of "Ncedil": result = Rune(0x00145)
-  of "ncedil": result = Rune(0x00146)
-  of "Ncaron": result = Rune(0x00147)
-  of "ncaron": result = Rune(0x00148)
-  of "napos": result = Rune(0x00149)
-  of "ENG": result = Rune(0x0014A)
-  of "eng": result = Rune(0x0014B)
-  of "Omacr": result = Rune(0x0014C)
-  of "omacr": result = Rune(0x0014D)
-  of "Odblac": result = Rune(0x00150)
-  of "odblac": result = Rune(0x00151)
-  of "OElig": result = Rune(0x00152)
-  of "oelig": result = Rune(0x00153)
-  of "Racute": result = Rune(0x00154)
-  of "racute": result = Rune(0x00155)
-  of "Rcedil": result = Rune(0x00156)
-  of "rcedil": result = Rune(0x00157)
-  of "Rcaron": result = Rune(0x00158)
-  of "rcaron": result = Rune(0x00159)
-  of "Sacute": result = Rune(0x0015A)
-  of "sacute": result = Rune(0x0015B)
-  of "Scirc": result = Rune(0x0015C)
-  of "scirc": result = Rune(0x0015D)
-  of "Scedil": result = Rune(0x0015E)
-  of "scedil": result = Rune(0x0015F)
-  of "Scaron": result = Rune(0x00160)
-  of "scaron": result = Rune(0x00161)
-  of "Tcedil": result = Rune(0x00162)
-  of "tcedil": result = Rune(0x00163)
-  of "Tcaron": result = Rune(0x00164)
-  of "tcaron": result = Rune(0x00165)
-  of "Tstrok": result = Rune(0x00166)
-  of "tstrok": result = Rune(0x00167)
-  of "Utilde": result = Rune(0x00168)
-  of "utilde": result = Rune(0x00169)
-  of "Umacr": result = Rune(0x0016A)
-  of "umacr": result = Rune(0x0016B)
-  of "Ubreve": result = Rune(0x0016C)
-  of "ubreve": result = Rune(0x0016D)
-  of "Uring": result = Rune(0x0016E)
-  of "uring": result = Rune(0x0016F)
-  of "Udblac": result = Rune(0x00170)
-  of "udblac": result = Rune(0x00171)
-  of "Uogon": result = Rune(0x00172)
-  of "uogon": result = Rune(0x00173)
-  of "Wcirc": result = Rune(0x00174)
-  of "wcirc": result = Rune(0x00175)
-  of "Ycirc": result = Rune(0x00176)
-  of "ycirc": result = Rune(0x00177)
-  of "Yuml": result = Rune(0x00178)
-  of "Zacute": result = Rune(0x00179)
-  of "zacute": result = Rune(0x0017A)
-  of "Zdot": result = Rune(0x0017B)
-  of "zdot": result = Rune(0x0017C)
-  of "Zcaron": result = Rune(0x0017D)
-  of "zcaron": result = Rune(0x0017E)
-  of "fnof": result = Rune(0x00192)
-  of "imped": result = Rune(0x001B5)
-  of "gacute": result = Rune(0x001F5)
-  of "jmath": result = Rune(0x00237)
-  of "circ": result = Rune(0x002C6)
-  of "caron", "Hacek": result = Rune(0x002C7)
-  of "breve", "Breve": result = Rune(0x002D8)
-  of "dot", "DiacriticalDot": result = Rune(0x002D9)
-  of "ring": result = Rune(0x002DA)
-  of "ogon": result = Rune(0x002DB)
-  of "tilde", "DiacriticalTilde": result = Rune(0x002DC)
-  of "dblac", "DiacriticalDoubleAcute": result = Rune(0x002DD)
-  of "DownBreve": result = Rune(0x00311)
-  of "UnderBar": result = Rune(0x00332)
-  of "Alpha": result = Rune(0x00391)
-  of "Beta": result = Rune(0x00392)
-  of "Gamma": result = Rune(0x00393)
-  of "Delta": result = Rune(0x00394)
-  of "Epsilon": result = Rune(0x00395)
-  of "Zeta": result = Rune(0x00396)
-  of "Eta": result = Rune(0x00397)
-  of "Theta": result = Rune(0x00398)
-  of "Iota": result = Rune(0x00399)
-  of "Kappa": result = Rune(0x0039A)
-  of "Lambda": result = Rune(0x0039B)
-  of "Mu": result = Rune(0x0039C)
-  of "Nu": result = Rune(0x0039D)
-  of "Xi": result = Rune(0x0039E)
-  of "Omicron": result = Rune(0x0039F)
-  of "Pi": result = Rune(0x003A0)
-  of "Rho": result = Rune(0x003A1)
-  of "Sigma": result = Rune(0x003A3)
-  of "Tau": result = Rune(0x003A4)
-  of "Upsilon": result = Rune(0x003A5)
-  of "Phi": result = Rune(0x003A6)
-  of "Chi": result = Rune(0x003A7)
-  of "Psi": result = Rune(0x003A8)
-  of "Omega": result = Rune(0x003A9)
-  of "alpha": result = Rune(0x003B1)
-  of "beta": result = Rune(0x003B2)
-  of "gamma": result = Rune(0x003B3)
-  of "delta": result = Rune(0x003B4)
-  of "epsiv", "varepsilon", "epsilon": result = Rune(0x003B5)
-  of "zeta": result = Rune(0x003B6)
-  of "eta": result = Rune(0x003B7)
-  of "theta": result = Rune(0x003B8)
-  of "iota": result = Rune(0x003B9)
-  of "kappa": result = Rune(0x003BA)
-  of "lambda": result = Rune(0x003BB)
-  of "mu": result = Rune(0x003BC)
-  of "nu": result = Rune(0x003BD)
-  of "xi": result = Rune(0x003BE)
-  of "omicron": result = Rune(0x003BF)
-  of "pi": result = Rune(0x003C0)
-  of "rho": result = Rune(0x003C1)
-  of "sigmav", "varsigma", "sigmaf": result = Rune(0x003C2)
-  of "sigma": result = Rune(0x003C3)
-  of "tau": result = Rune(0x003C4)
-  of "upsi", "upsilon": result = Rune(0x003C5)
-  of "phi", "phiv", "varphi": result = Rune(0x003C6)
-  of "chi": result = Rune(0x003C7)
-  of "psi": result = Rune(0x003C8)
-  of "omega": result = Rune(0x003C9)
-  of "thetav", "vartheta", "thetasym": result = Rune(0x003D1)
-  of "Upsi", "upsih": result = Rune(0x003D2)
-  of "straightphi": result = Rune(0x003D5)
-  of "piv", "varpi": result = Rune(0x003D6)
-  of "Gammad": result = Rune(0x003DC)
-  of "gammad", "digamma": result = Rune(0x003DD)
-  of "kappav", "varkappa": result = Rune(0x003F0)
-  of "rhov", "varrho": result = Rune(0x003F1)
-  of "epsi", "straightepsilon": result = Rune(0x003F5)
-  of "bepsi", "backepsilon": result = Rune(0x003F6)
-  of "IOcy": result = Rune(0x00401)
-  of "DJcy": result = Rune(0x00402)
-  of "GJcy": result = Rune(0x00403)
-  of "Jukcy": result = Rune(0x00404)
-  of "DScy": result = Rune(0x00405)
-  of "Iukcy": result = Rune(0x00406)
-  of "YIcy": result = Rune(0x00407)
-  of "Jsercy": result = Rune(0x00408)
-  of "LJcy": result = Rune(0x00409)
-  of "NJcy": result = Rune(0x0040A)
-  of "TSHcy": result = Rune(0x0040B)
-  of "KJcy": result = Rune(0x0040C)
-  of "Ubrcy": result = Rune(0x0040E)
-  of "DZcy": result = Rune(0x0040F)
-  of "Acy": result = Rune(0x00410)
-  of "Bcy": result = Rune(0x00411)
-  of "Vcy": result = Rune(0x00412)
-  of "Gcy": result = Rune(0x00413)
-  of "Dcy": result = Rune(0x00414)
-  of "IEcy": result = Rune(0x00415)
-  of "ZHcy": result = Rune(0x00416)
-  of "Zcy": result = Rune(0x00417)
-  of "Icy": result = Rune(0x00418)
-  of "Jcy": result = Rune(0x00419)
-  of "Kcy": result = Rune(0x0041A)
-  of "Lcy": result = Rune(0x0041B)
-  of "Mcy": result = Rune(0x0041C)
-  of "Ncy": result = Rune(0x0041D)
-  of "Ocy": result = Rune(0x0041E)
-  of "Pcy": result = Rune(0x0041F)
-  of "Rcy": result = Rune(0x00420)
-  of "Scy": result = Rune(0x00421)
-  of "Tcy": result = Rune(0x00422)
-  of "Ucy": result = Rune(0x00423)
-  of "Fcy": result = Rune(0x00424)
-  of "KHcy": result = Rune(0x00425)
-  of "TScy": result = Rune(0x00426)
-  of "CHcy": result = Rune(0x00427)
-  of "SHcy": result = Rune(0x00428)
-  of "SHCHcy": result = Rune(0x00429)
-  of "HARDcy": result = Rune(0x0042A)
-  of "Ycy": result = Rune(0x0042B)
-  of "SOFTcy": result = Rune(0x0042C)
-  of "Ecy": result = Rune(0x0042D)
-  of "YUcy": result = Rune(0x0042E)
-  of "YAcy": result = Rune(0x0042F)
-  of "acy": result = Rune(0x00430)
-  of "bcy": result = Rune(0x00431)
-  of "vcy": result = Rune(0x00432)
-  of "gcy": result = Rune(0x00433)
-  of "dcy": result = Rune(0x00434)
-  of "iecy": result = Rune(0x00435)
-  of "zhcy": result = Rune(0x00436)
-  of "zcy": result = Rune(0x00437)
-  of "icy": result = Rune(0x00438)
-  of "jcy": result = Rune(0x00439)
-  of "kcy": result = Rune(0x0043A)
-  of "lcy": result = Rune(0x0043B)
-  of "mcy": result = Rune(0x0043C)
-  of "ncy": result = Rune(0x0043D)
-  of "ocy": result = Rune(0x0043E)
-  of "pcy": result = Rune(0x0043F)
-  of "rcy": result = Rune(0x00440)
-  of "scy": result = Rune(0x00441)
-  of "tcy": result = Rune(0x00442)
-  of "ucy": result = Rune(0x00443)
-  of "fcy": result = Rune(0x00444)
-  of "khcy": result = Rune(0x00445)
-  of "tscy": result = Rune(0x00446)
-  of "chcy": result = Rune(0x00447)
-  of "shcy": result = Rune(0x00448)
-  of "shchcy": result = Rune(0x00449)
-  of "hardcy": result = Rune(0x0044A)
-  of "ycy": result = Rune(0x0044B)
-  of "softcy": result = Rune(0x0044C)
-  of "ecy": result = Rune(0x0044D)
-  of "yucy": result = Rune(0x0044E)
-  of "yacy": result = Rune(0x0044F)
-  of "iocy": result = Rune(0x00451)
-  of "djcy": result = Rune(0x00452)
-  of "gjcy": result = Rune(0x00453)
-  of "jukcy": result = Rune(0x00454)
-  of "dscy": result = Rune(0x00455)
-  of "iukcy": result = Rune(0x00456)
-  of "yicy": result = Rune(0x00457)
-  of "jsercy": result = Rune(0x00458)
-  of "ljcy": result = Rune(0x00459)
-  of "njcy": result = Rune(0x0045A)
-  of "tshcy": result = Rune(0x0045B)
-  of "kjcy": result = Rune(0x0045C)
-  of "ubrcy": result = Rune(0x0045E)
-  of "dzcy": result = Rune(0x0045F)
-  of "ensp": result = Rune(0x02002)
-  of "emsp": result = Rune(0x02003)
-  of "emsp13": result = Rune(0x02004)
-  of "emsp14": result = Rune(0x02005)
-  of "numsp": result = Rune(0x02007)
-  of "puncsp": result = Rune(0x02008)
-  of "thinsp", "ThinSpace": result = Rune(0x02009)
-  of "hairsp", "VeryThinSpace": result = Rune(0x0200A)
+  of "Tab": Rune(0x00009)
+  of "NewLine": Rune(0x0000A)
+  of "excl": Rune(0x00021)
+  of "quot", "QUOT": Rune(0x00022)
+  of "num": Rune(0x00023)
+  of "dollar": Rune(0x00024)
+  of "percnt": Rune(0x00025)
+  of "amp", "AMP": Rune(0x00026)
+  of "apos": Rune(0x00027)
+  of "lpar": Rune(0x00028)
+  of "rpar": Rune(0x00029)
+  of "ast", "midast": Rune(0x0002A)
+  of "plus": Rune(0x0002B)
+  of "comma": Rune(0x0002C)
+  of "period": Rune(0x0002E)
+  of "sol": Rune(0x0002F)
+  of "colon": Rune(0x0003A)
+  of "semi": Rune(0x0003B)
+  of "lt", "LT": Rune(0x0003C)
+  of "equals": Rune(0x0003D)
+  of "gt", "GT": Rune(0x0003E)
+  of "quest": Rune(0x0003F)
+  of "commat": Rune(0x00040)
+  of "lsqb", "lbrack": Rune(0x0005B)
+  of "bsol": Rune(0x0005C)
+  of "rsqb", "rbrack": Rune(0x0005D)
+  of "Hat": Rune(0x0005E)
+  of "lowbar": Rune(0x0005F)
+  of "grave", "DiacriticalGrave": Rune(0x00060)
+  of "lcub", "lbrace": Rune(0x0007B)
+  of "verbar", "vert", "VerticalLine": Rune(0x0007C)
+  of "rcub", "rbrace": Rune(0x0007D)
+  of "nbsp", "NonBreakingSpace": Rune(0x000A0)
+  of "iexcl": Rune(0x000A1)
+  of "cent": Rune(0x000A2)
+  of "pound": Rune(0x000A3)
+  of "curren": Rune(0x000A4)
+  of "yen": Rune(0x000A5)
+  of "brvbar": Rune(0x000A6)
+  of "sect": Rune(0x000A7)
+  of "Dot", "die", "DoubleDot", "uml": Rune(0x000A8)
+  of "copy", "COPY": Rune(0x000A9)
+  of "ordf": Rune(0x000AA)
+  of "laquo": Rune(0x000AB)
+  of "not": Rune(0x000AC)
+  of "shy": Rune(0x000AD)
+  of "reg", "circledR", "REG": Rune(0x000AE)
+  of "macr", "OverBar", "strns": Rune(0x000AF)
+  of "deg": Rune(0x000B0)
+  of "plusmn", "pm", "PlusMinus": Rune(0x000B1)
+  of "sup2": Rune(0x000B2)
+  of "sup3": Rune(0x000B3)
+  of "acute", "DiacriticalAcute": Rune(0x000B4)
+  of "micro": Rune(0x000B5)
+  of "para": Rune(0x000B6)
+  of "middot", "centerdot", "CenterDot": Rune(0x000B7)
+  of "cedil", "Cedilla": Rune(0x000B8)
+  of "sup1": Rune(0x000B9)
+  of "ordm": Rune(0x000BA)
+  of "raquo": Rune(0x000BB)
+  of "frac14": Rune(0x000BC)
+  of "frac12", "half": Rune(0x000BD)
+  of "frac34": Rune(0x000BE)
+  of "iquest": Rune(0x000BF)
+  of "Agrave": Rune(0x000C0)
+  of "Aacute": Rune(0x000C1)
+  of "Acirc": Rune(0x000C2)
+  of "Atilde": Rune(0x000C3)
+  of "Auml": Rune(0x000C4)
+  of "Aring": Rune(0x000C5)
+  of "AElig": Rune(0x000C6)
+  of "Ccedil": Rune(0x000C7)
+  of "Egrave": Rune(0x000C8)
+  of "Eacute": Rune(0x000C9)
+  of "Ecirc": Rune(0x000CA)
+  of "Euml": Rune(0x000CB)
+  of "Igrave": Rune(0x000CC)
+  of "Iacute": Rune(0x000CD)
+  of "Icirc": Rune(0x000CE)
+  of "Iuml": Rune(0x000CF)
+  of "ETH": Rune(0x000D0)
+  of "Ntilde": Rune(0x000D1)
+  of "Ograve": Rune(0x000D2)
+  of "Oacute": Rune(0x000D3)
+  of "Ocirc": Rune(0x000D4)
+  of "Otilde": Rune(0x000D5)
+  of "Ouml": Rune(0x000D6)
+  of "times": Rune(0x000D7)
+  of "Oslash": Rune(0x000D8)
+  of "Ugrave": Rune(0x000D9)
+  of "Uacute": Rune(0x000DA)
+  of "Ucirc": Rune(0x000DB)
+  of "Uuml": Rune(0x000DC)
+  of "Yacute": Rune(0x000DD)
+  of "THORN": Rune(0x000DE)
+  of "szlig": Rune(0x000DF)
+  of "agrave": Rune(0x000E0)
+  of "aacute": Rune(0x000E1)
+  of "acirc": Rune(0x000E2)
+  of "atilde": Rune(0x000E3)
+  of "auml": Rune(0x000E4)
+  of "aring": Rune(0x000E5)
+  of "aelig": Rune(0x000E6)
+  of "ccedil": Rune(0x000E7)
+  of "egrave": Rune(0x000E8)
+  of "eacute": Rune(0x000E9)
+  of "ecirc": Rune(0x000EA)
+  of "euml": Rune(0x000EB)
+  of "igrave": Rune(0x000EC)
+  of "iacute": Rune(0x000ED)
+  of "icirc": Rune(0x000EE)
+  of "iuml": Rune(0x000EF)
+  of "eth": Rune(0x000F0)
+  of "ntilde": Rune(0x000F1)
+  of "ograve": Rune(0x000F2)
+  of "oacute": Rune(0x000F3)
+  of "ocirc": Rune(0x000F4)
+  of "otilde": Rune(0x000F5)
+  of "ouml": Rune(0x000F6)
+  of "divide", "div": Rune(0x000F7)
+  of "oslash": Rune(0x000F8)
+  of "ugrave": Rune(0x000F9)
+  of "uacute": Rune(0x000FA)
+  of "ucirc": Rune(0x000FB)
+  of "uuml": Rune(0x000FC)
+  of "yacute": Rune(0x000FD)
+  of "thorn": Rune(0x000FE)
+  of "yuml": Rune(0x000FF)
+  of "Amacr": Rune(0x00100)
+  of "amacr": Rune(0x00101)
+  of "Abreve": Rune(0x00102)
+  of "abreve": Rune(0x00103)
+  of "Aogon": Rune(0x00104)
+  of "aogon": Rune(0x00105)
+  of "Cacute": Rune(0x00106)
+  of "cacute": Rune(0x00107)
+  of "Ccirc": Rune(0x00108)
+  of "ccirc": Rune(0x00109)
+  of "Cdot": Rune(0x0010A)
+  of "cdot": Rune(0x0010B)
+  of "Ccaron": Rune(0x0010C)
+  of "ccaron": Rune(0x0010D)
+  of "Dcaron": Rune(0x0010E)
+  of "dcaron": Rune(0x0010F)
+  of "Dstrok": Rune(0x00110)
+  of "dstrok": Rune(0x00111)
+  of "Emacr": Rune(0x00112)
+  of "emacr": Rune(0x00113)
+  of "Edot": Rune(0x00116)
+  of "edot": Rune(0x00117)
+  of "Eogon": Rune(0x00118)
+  of "eogon": Rune(0x00119)
+  of "Ecaron": Rune(0x0011A)
+  of "ecaron": Rune(0x0011B)
+  of "Gcirc": Rune(0x0011C)
+  of "gcirc": Rune(0x0011D)
+  of "Gbreve": Rune(0x0011E)
+  of "gbreve": Rune(0x0011F)
+  of "Gdot": Rune(0x00120)
+  of "gdot": Rune(0x00121)
+  of "Gcedil": Rune(0x00122)
+  of "Hcirc": Rune(0x00124)
+  of "hcirc": Rune(0x00125)
+  of "Hstrok": Rune(0x00126)
+  of "hstrok": Rune(0x00127)
+  of "Itilde": Rune(0x00128)
+  of "itilde": Rune(0x00129)
+  of "Imacr": Rune(0x0012A)
+  of "imacr": Rune(0x0012B)
+  of "Iogon": Rune(0x0012E)
+  of "iogon": Rune(0x0012F)
+  of "Idot": Rune(0x00130)
+  of "imath", "inodot": Rune(0x00131)
+  of "IJlig": Rune(0x00132)
+  of "ijlig": Rune(0x00133)
+  of "Jcirc": Rune(0x00134)
+  of "jcirc": Rune(0x00135)
+  of "Kcedil": Rune(0x00136)
+  of "kcedil": Rune(0x00137)
+  of "kgreen": Rune(0x00138)
+  of "Lacute": Rune(0x00139)
+  of "lacute": Rune(0x0013A)
+  of "Lcedil": Rune(0x0013B)
+  of "lcedil": Rune(0x0013C)
+  of "Lcaron": Rune(0x0013D)
+  of "lcaron": Rune(0x0013E)
+  of "Lmidot": Rune(0x0013F)
+  of "lmidot": Rune(0x00140)
+  of "Lstrok": Rune(0x00141)
+  of "lstrok": Rune(0x00142)
+  of "Nacute": Rune(0x00143)
+  of "nacute": Rune(0x00144)
+  of "Ncedil": Rune(0x00145)
+  of "ncedil": Rune(0x00146)
+  of "Ncaron": Rune(0x00147)
+  of "ncaron": Rune(0x00148)
+  of "napos": Rune(0x00149)
+  of "ENG": Rune(0x0014A)
+  of "eng": Rune(0x0014B)
+  of "Omacr": Rune(0x0014C)
+  of "omacr": Rune(0x0014D)
+  of "Odblac": Rune(0x00150)
+  of "odblac": Rune(0x00151)
+  of "OElig": Rune(0x00152)
+  of "oelig": Rune(0x00153)
+  of "Racute": Rune(0x00154)
+  of "racute": Rune(0x00155)
+  of "Rcedil": Rune(0x00156)
+  of "rcedil": Rune(0x00157)
+  of "Rcaron": Rune(0x00158)
+  of "rcaron": Rune(0x00159)
+  of "Sacute": Rune(0x0015A)
+  of "sacute": Rune(0x0015B)
+  of "Scirc": Rune(0x0015C)
+  of "scirc": Rune(0x0015D)
+  of "Scedil": Rune(0x0015E)
+  of "scedil": Rune(0x0015F)
+  of "Scaron": Rune(0x00160)
+  of "scaron": Rune(0x00161)
+  of "Tcedil": Rune(0x00162)
+  of "tcedil": Rune(0x00163)
+  of "Tcaron": Rune(0x00164)
+  of "tcaron": Rune(0x00165)
+  of "Tstrok": Rune(0x00166)
+  of "tstrok": Rune(0x00167)
+  of "Utilde": Rune(0x00168)
+  of "utilde": Rune(0x00169)
+  of "Umacr": Rune(0x0016A)
+  of "umacr": Rune(0x0016B)
+  of "Ubreve": Rune(0x0016C)
+  of "ubreve": Rune(0x0016D)
+  of "Uring": Rune(0x0016E)
+  of "uring": Rune(0x0016F)
+  of "Udblac": Rune(0x00170)
+  of "udblac": Rune(0x00171)
+  of "Uogon": Rune(0x00172)
+  of "uogon": Rune(0x00173)
+  of "Wcirc": Rune(0x00174)
+  of "wcirc": Rune(0x00175)
+  of "Ycirc": Rune(0x00176)
+  of "ycirc": Rune(0x00177)
+  of "Yuml": Rune(0x00178)
+  of "Zacute": Rune(0x00179)
+  of "zacute": Rune(0x0017A)
+  of "Zdot": Rune(0x0017B)
+  of "zdot": Rune(0x0017C)
+  of "Zcaron": Rune(0x0017D)
+  of "zcaron": Rune(0x0017E)
+  of "fnof": Rune(0x00192)
+  of "imped": Rune(0x001B5)
+  of "gacute": Rune(0x001F5)
+  of "jmath": Rune(0x00237)
+  of "circ": Rune(0x002C6)
+  of "caron", "Hacek": Rune(0x002C7)
+  of "breve", "Breve": Rune(0x002D8)
+  of "dot", "DiacriticalDot": Rune(0x002D9)
+  of "ring": Rune(0x002DA)
+  of "ogon": Rune(0x002DB)
+  of "tilde", "DiacriticalTilde": Rune(0x002DC)
+  of "dblac", "DiacriticalDoubleAcute": Rune(0x002DD)
+  of "DownBreve": Rune(0x00311)
+  of "UnderBar": Rune(0x00332)
+  of "Alpha": Rune(0x00391)
+  of "Beta": Rune(0x00392)
+  of "Gamma": Rune(0x00393)
+  of "Delta": Rune(0x00394)
+  of "Epsilon": Rune(0x00395)
+  of "Zeta": Rune(0x00396)
+  of "Eta": Rune(0x00397)
+  of "Theta": Rune(0x00398)
+  of "Iota": Rune(0x00399)
+  of "Kappa": Rune(0x0039A)
+  of "Lambda": Rune(0x0039B)
+  of "Mu": Rune(0x0039C)
+  of "Nu": Rune(0x0039D)
+  of "Xi": Rune(0x0039E)
+  of "Omicron": Rune(0x0039F)
+  of "Pi": Rune(0x003A0)
+  of "Rho": Rune(0x003A1)
+  of "Sigma": Rune(0x003A3)
+  of "Tau": Rune(0x003A4)
+  of "Upsilon": Rune(0x003A5)
+  of "Phi": Rune(0x003A6)
+  of "Chi": Rune(0x003A7)
+  of "Psi": Rune(0x003A8)
+  of "Omega": Rune(0x003A9)
+  of "alpha": Rune(0x003B1)
+  of "beta": Rune(0x003B2)
+  of "gamma": Rune(0x003B3)
+  of "delta": Rune(0x003B4)
+  of "epsiv", "varepsilon", "epsilon": Rune(0x003B5)
+  of "zeta": Rune(0x003B6)
+  of "eta": Rune(0x003B7)
+  of "theta": Rune(0x003B8)
+  of "iota": Rune(0x003B9)
+  of "kappa": Rune(0x003BA)
+  of "lambda": Rune(0x003BB)
+  of "mu": Rune(0x003BC)
+  of "nu": Rune(0x003BD)
+  of "xi": Rune(0x003BE)
+  of "omicron": Rune(0x003BF)
+  of "pi": Rune(0x003C0)
+  of "rho": Rune(0x003C1)
+  of "sigmav", "varsigma", "sigmaf": Rune(0x003C2)
+  of "sigma": Rune(0x003C3)
+  of "tau": Rune(0x003C4)
+  of "upsi", "upsilon": Rune(0x003C5)
+  of "phi", "phiv", "varphi": Rune(0x003C6)
+  of "chi": Rune(0x003C7)
+  of "psi": Rune(0x003C8)
+  of "omega": Rune(0x003C9)
+  of "thetav", "vartheta", "thetasym": Rune(0x003D1)
+  of "Upsi", "upsih": Rune(0x003D2)
+  of "straightphi": Rune(0x003D5)
+  of "piv", "varpi": Rune(0x003D6)
+  of "Gammad": Rune(0x003DC)
+  of "gammad", "digamma": Rune(0x003DD)
+  of "kappav", "varkappa": Rune(0x003F0)
+  of "rhov", "varrho": Rune(0x003F1)
+  of "epsi", "straightepsilon": Rune(0x003F5)
+  of "bepsi", "backepsilon": Rune(0x003F6)
+  of "IOcy": Rune(0x00401)
+  of "DJcy": Rune(0x00402)
+  of "GJcy": Rune(0x00403)
+  of "Jukcy": Rune(0x00404)
+  of "DScy": Rune(0x00405)
+  of "Iukcy": Rune(0x00406)
+  of "YIcy": Rune(0x00407)
+  of "Jsercy": Rune(0x00408)
+  of "LJcy": Rune(0x00409)
+  of "NJcy": Rune(0x0040A)
+  of "TSHcy": Rune(0x0040B)
+  of "KJcy": Rune(0x0040C)
+  of "Ubrcy": Rune(0x0040E)
+  of "DZcy": Rune(0x0040F)
+  of "Acy": Rune(0x00410)
+  of "Bcy": Rune(0x00411)
+  of "Vcy": Rune(0x00412)
+  of "Gcy": Rune(0x00413)
+  of "Dcy": Rune(0x00414)
+  of "IEcy": Rune(0x00415)
+  of "ZHcy": Rune(0x00416)
+  of "Zcy": Rune(0x00417)
+  of "Icy": Rune(0x00418)
+  of "Jcy": Rune(0x00419)
+  of "Kcy": Rune(0x0041A)
+  of "Lcy": Rune(0x0041B)
+  of "Mcy": Rune(0x0041C)
+  of "Ncy": Rune(0x0041D)
+  of "Ocy": Rune(0x0041E)
+  of "Pcy": Rune(0x0041F)
+  of "Rcy": Rune(0x00420)
+  of "Scy": Rune(0x00421)
+  of "Tcy": Rune(0x00422)
+  of "Ucy": Rune(0x00423)
+  of "Fcy": Rune(0x00424)
+  of "KHcy": Rune(0x00425)
+  of "TScy": Rune(0x00426)
+  of "CHcy": Rune(0x00427)
+  of "SHcy": Rune(0x00428)
+  of "SHCHcy": Rune(0x00429)
+  of "HARDcy": Rune(0x0042A)
+  of "Ycy": Rune(0x0042B)
+  of "SOFTcy": Rune(0x0042C)
+  of "Ecy": Rune(0x0042D)
+  of "YUcy": Rune(0x0042E)
+  of "YAcy": Rune(0x0042F)
+  of "acy": Rune(0x00430)
+  of "bcy": Rune(0x00431)
+  of "vcy": Rune(0x00432)
+  of "gcy": Rune(0x00433)
+  of "dcy": Rune(0x00434)
+  of "iecy": Rune(0x00435)
+  of "zhcy": Rune(0x00436)
+  of "zcy": Rune(0x00437)
+  of "icy": Rune(0x00438)
+  of "jcy": Rune(0x00439)
+  of "kcy": Rune(0x0043A)
+  of "lcy": Rune(0x0043B)
+  of "mcy": Rune(0x0043C)
+  of "ncy": Rune(0x0043D)
+  of "ocy": Rune(0x0043E)
+  of "pcy": Rune(0x0043F)
+  of "rcy": Rune(0x00440)
+  of "scy": Rune(0x00441)
+  of "tcy": Rune(0x00442)
+  of "ucy": Rune(0x00443)
+  of "fcy": Rune(0x00444)
+  of "khcy": Rune(0x00445)
+  of "tscy": Rune(0x00446)
+  of "chcy": Rune(0x00447)
+  of "shcy": Rune(0x00448)
+  of "shchcy": Rune(0x00449)
+  of "hardcy": Rune(0x0044A)
+  of "ycy": Rune(0x0044B)
+  of "softcy": Rune(0x0044C)
+  of "ecy": Rune(0x0044D)
+  of "yucy": Rune(0x0044E)
+  of "yacy": Rune(0x0044F)
+  of "iocy": Rune(0x00451)
+  of "djcy": Rune(0x00452)
+  of "gjcy": Rune(0x00453)
+  of "jukcy": Rune(0x00454)
+  of "dscy": Rune(0x00455)
+  of "iukcy": Rune(0x00456)
+  of "yicy": Rune(0x00457)
+  of "jsercy": Rune(0x00458)
+  of "ljcy": Rune(0x00459)
+  of "njcy": Rune(0x0045A)
+  of "tshcy": Rune(0x0045B)
+  of "kjcy": Rune(0x0045C)
+  of "ubrcy": Rune(0x0045E)
+  of "dzcy": Rune(0x0045F)
+  of "ensp": Rune(0x02002)
+  of "emsp": Rune(0x02003)
+  of "emsp13": Rune(0x02004)
+  of "emsp14": Rune(0x02005)
+  of "numsp": Rune(0x02007)
+  of "puncsp": Rune(0x02008)
+  of "thinsp", "ThinSpace": Rune(0x02009)
+  of "hairsp", "VeryThinSpace": Rune(0x0200A)
   of "ZeroWidthSpace", "NegativeVeryThinSpace", "NegativeThinSpace",
-    "NegativeMediumSpace", "NegativeThickSpace": result = Rune(0x0200B)
-  of "zwnj": result = Rune(0x0200C)
-  of "zwj": result = Rune(0x0200D)
-  of "lrm": result = Rune(0x0200E)
-  of "rlm": result = Rune(0x0200F)
-  of "hyphen", "dash": result = Rune(0x02010)
-  of "ndash": result = Rune(0x02013)
-  of "mdash": result = Rune(0x02014)
-  of "horbar": result = Rune(0x02015)
-  of "Verbar", "Vert": result = Rune(0x02016)
-  of "lsquo", "OpenCurlyQuote": result = Rune(0x02018)
-  of "rsquo", "rsquor", "CloseCurlyQuote": result = Rune(0x02019)
-  of "lsquor", "sbquo": result = Rune(0x0201A)
-  of "ldquo", "OpenCurlyDoubleQuote": result = Rune(0x0201C)
-  of "rdquo", "rdquor", "CloseCurlyDoubleQuote": result = Rune(0x0201D)
-  of "ldquor", "bdquo": result = Rune(0x0201E)
-  of "dagger": result = Rune(0x02020)
-  of "Dagger", "ddagger": result = Rune(0x02021)
-  of "bull", "bullet": result = Rune(0x02022)
-  of "nldr": result = Rune(0x02025)
-  of "hellip", "mldr": result = Rune(0x02026)
-  of "permil": result = Rune(0x02030)
-  of "pertenk": result = Rune(0x02031)
-  of "prime": result = Rune(0x02032)
-  of "Prime": result = Rune(0x02033)
-  of "tprime": result = Rune(0x02034)
-  of "bprime", "backprime": result = Rune(0x02035)
-  of "lsaquo": result = Rune(0x02039)
-  of "rsaquo": result = Rune(0x0203A)
-  of "oline": result = Rune(0x0203E)
-  of "caret": result = Rune(0x02041)
-  of "hybull": result = Rune(0x02043)
-  of "frasl": result = Rune(0x02044)
-  of "bsemi": result = Rune(0x0204F)
-  of "qprime": result = Rune(0x02057)
-  of "MediumSpace": result = Rune(0x0205F)
-  of "NoBreak": result = Rune(0x02060)
-  of "ApplyFunction", "af": result = Rune(0x02061)
-  of "InvisibleTimes", "it": result = Rune(0x02062)
-  of "InvisibleComma", "ic": result = Rune(0x02063)
-  of "euro": result = Rune(0x020AC)
-  of "tdot", "TripleDot": result = Rune(0x020DB)
-  of "DotDot": result = Rune(0x020DC)
-  of "Copf", "complexes": result = Rune(0x02102)
-  of "incare": result = Rune(0x02105)
-  of "gscr": result = Rune(0x0210A)
-  of "hamilt", "HilbertSpace", "Hscr": result = Rune(0x0210B)
-  of "Hfr", "Poincareplane": result = Rune(0x0210C)
-  of "quaternions", "Hopf": result = Rune(0x0210D)
-  of "planckh": result = Rune(0x0210E)
-  of "planck", "hbar", "plankv", "hslash": result = Rune(0x0210F)
-  of "Iscr", "imagline": result = Rune(0x02110)
-  of "image", "Im", "imagpart", "Ifr": result = Rune(0x02111)
-  of "Lscr", "lagran", "Laplacetrf": result = Rune(0x02112)
-  of "ell": result = Rune(0x02113)
-  of "Nopf", "naturals": result = Rune(0x02115)
-  of "numero": result = Rune(0x02116)
-  of "copysr": result = Rune(0x02117)
-  of "weierp", "wp": result = Rune(0x02118)
-  of "Popf", "primes": result = Rune(0x02119)
-  of "rationals", "Qopf": result = Rune(0x0211A)
-  of "Rscr", "realine": result = Rune(0x0211B)
-  of "real", "Re", "realpart", "Rfr": result = Rune(0x0211C)
-  of "reals", "Ropf": result = Rune(0x0211D)
-  of "rx": result = Rune(0x0211E)
-  of "trade", "TRADE": result = Rune(0x02122)
-  of "integers", "Zopf": result = Rune(0x02124)
-  of "ohm": result = Rune(0x02126)
-  of "mho": result = Rune(0x02127)
-  of "Zfr", "zeetrf": result = Rune(0x02128)
-  of "iiota": result = Rune(0x02129)
-  of "angst": result = Rune(0x0212B)
-  of "bernou", "Bernoullis", "Bscr": result = Rune(0x0212C)
-  of "Cfr", "Cayleys": result = Rune(0x0212D)
-  of "escr": result = Rune(0x0212F)
-  of "Escr", "expectation": result = Rune(0x02130)
-  of "Fscr", "Fouriertrf": result = Rune(0x02131)
-  of "phmmat", "Mellintrf", "Mscr": result = Rune(0x02133)
-  of "order", "orderof", "oscr": result = Rune(0x02134)
-  of "alefsym", "aleph": result = Rune(0x02135)
-  of "beth": result = Rune(0x02136)
-  of "gimel": result = Rune(0x02137)
-  of "daleth": result = Rune(0x02138)
-  of "CapitalDifferentialD", "DD": result = Rune(0x02145)
-  of "DifferentialD", "dd": result = Rune(0x02146)
-  of "ExponentialE", "exponentiale", "ee": result = Rune(0x02147)
-  of "ImaginaryI", "ii": result = Rune(0x02148)
-  of "frac13": result = Rune(0x02153)
-  of "frac23": result = Rune(0x02154)
-  of "frac15": result = Rune(0x02155)
-  of "frac25": result = Rune(0x02156)
-  of "frac35": result = Rune(0x02157)
-  of "frac45": result = Rune(0x02158)
-  of "frac16": result = Rune(0x02159)
-  of "frac56": result = Rune(0x0215A)
-  of "frac18": result = Rune(0x0215B)
-  of "frac38": result = Rune(0x0215C)
-  of "frac58": result = Rune(0x0215D)
-  of "frac78": result = Rune(0x0215E)
+    "NegativeMediumSpace", "NegativeThickSpace": Rune(0x0200B)
+  of "zwnj": Rune(0x0200C)
+  of "zwj": Rune(0x0200D)
+  of "lrm": Rune(0x0200E)
+  of "rlm": Rune(0x0200F)
+  of "hyphen", "dash": Rune(0x02010)
+  of "ndash": Rune(0x02013)
+  of "mdash": Rune(0x02014)
+  of "horbar": Rune(0x02015)
+  of "Verbar", "Vert": Rune(0x02016)
+  of "lsquo", "OpenCurlyQuote": Rune(0x02018)
+  of "rsquo", "rsquor", "CloseCurlyQuote": Rune(0x02019)
+  of "lsquor", "sbquo": Rune(0x0201A)
+  of "ldquo", "OpenCurlyDoubleQuote": Rune(0x0201C)
+  of "rdquo", "rdquor", "CloseCurlyDoubleQuote": Rune(0x0201D)
+  of "ldquor", "bdquo": Rune(0x0201E)
+  of "dagger": Rune(0x02020)
+  of "Dagger", "ddagger": Rune(0x02021)
+  of "bull", "bullet": Rune(0x02022)
+  of "nldr": Rune(0x02025)
+  of "hellip", "mldr": Rune(0x02026)
+  of "permil": Rune(0x02030)
+  of "pertenk": Rune(0x02031)
+  of "prime": Rune(0x02032)
+  of "Prime": Rune(0x02033)
+  of "tprime": Rune(0x02034)
+  of "bprime", "backprime": Rune(0x02035)
+  of "lsaquo": Rune(0x02039)
+  of "rsaquo": Rune(0x0203A)
+  of "oline": Rune(0x0203E)
+  of "caret": Rune(0x02041)
+  of "hybull": Rune(0x02043)
+  of "frasl": Rune(0x02044)
+  of "bsemi": Rune(0x0204F)
+  of "qprime": Rune(0x02057)
+  of "MediumSpace": Rune(0x0205F)
+  of "NoBreak": Rune(0x02060)
+  of "ApplyFunction", "af": Rune(0x02061)
+  of "InvisibleTimes", "it": Rune(0x02062)
+  of "InvisibleComma", "ic": Rune(0x02063)
+  of "euro": Rune(0x020AC)
+  of "tdot", "TripleDot": Rune(0x020DB)
+  of "DotDot": Rune(0x020DC)
+  of "Copf", "complexes": Rune(0x02102)
+  of "incare": Rune(0x02105)
+  of "gscr": Rune(0x0210A)
+  of "hamilt", "HilbertSpace", "Hscr": Rune(0x0210B)
+  of "Hfr", "Poincareplane": Rune(0x0210C)
+  of "quaternions", "Hopf": Rune(0x0210D)
+  of "planckh": Rune(0x0210E)
+  of "planck", "hbar", "plankv", "hslash": Rune(0x0210F)
+  of "Iscr", "imagline": Rune(0x02110)
+  of "image", "Im", "imagpart", "Ifr": Rune(0x02111)
+  of "Lscr", "lagran", "Laplacetrf": Rune(0x02112)
+  of "ell": Rune(0x02113)
+  of "Nopf", "naturals": Rune(0x02115)
+  of "numero": Rune(0x02116)
+  of "copysr": Rune(0x02117)
+  of "weierp", "wp": Rune(0x02118)
+  of "Popf", "primes": Rune(0x02119)
+  of "rationals", "Qopf": Rune(0x0211A)
+  of "Rscr", "realine": Rune(0x0211B)
+  of "real", "Re", "realpart", "Rfr": Rune(0x0211C)
+  of "reals", "Ropf": Rune(0x0211D)
+  of "rx": Rune(0x0211E)
+  of "trade", "TRADE": Rune(0x02122)
+  of "integers", "Zopf": Rune(0x02124)
+  of "ohm": Rune(0x02126)
+  of "mho": Rune(0x02127)
+  of "Zfr", "zeetrf": Rune(0x02128)
+  of "iiota": Rune(0x02129)
+  of "angst": Rune(0x0212B)
+  of "bernou", "Bernoullis", "Bscr": Rune(0x0212C)
+  of "Cfr", "Cayleys": Rune(0x0212D)
+  of "escr": Rune(0x0212F)
+  of "Escr", "expectation": Rune(0x02130)
+  of "Fscr", "Fouriertrf": Rune(0x02131)
+  of "phmmat", "Mellintrf", "Mscr": Rune(0x02133)
+  of "order", "orderof", "oscr": Rune(0x02134)
+  of "alefsym", "aleph": Rune(0x02135)
+  of "beth": Rune(0x02136)
+  of "gimel": Rune(0x02137)
+  of "daleth": Rune(0x02138)
+  of "CapitalDifferentialD", "DD": Rune(0x02145)
+  of "DifferentialD", "dd": Rune(0x02146)
+  of "ExponentialE", "exponentiale", "ee": Rune(0x02147)
+  of "ImaginaryI", "ii": Rune(0x02148)
+  of "frac13": Rune(0x02153)
+  of "frac23": Rune(0x02154)
+  of "frac15": Rune(0x02155)
+  of "frac25": Rune(0x02156)
+  of "frac35": Rune(0x02157)
+  of "frac45": Rune(0x02158)
+  of "frac16": Rune(0x02159)
+  of "frac56": Rune(0x0215A)
+  of "frac18": Rune(0x0215B)
+  of "frac38": Rune(0x0215C)
+  of "frac58": Rune(0x0215D)
+  of "frac78": Rune(0x0215E)
   of "larr", "leftarrow", "LeftArrow", "slarr",
-    "ShortLeftArrow": result = Rune(0x02190)
-  of "uarr", "uparrow", "UpArrow", "ShortUpArrow": result = Rune(0x02191)
+    "ShortLeftArrow": Rune(0x02190)
+  of "uarr", "uparrow", "UpArrow", "ShortUpArrow": Rune(0x02191)
   of "rarr", "rightarrow", "RightArrow", "srarr",
-    "ShortRightArrow": result = Rune(0x02192)
+    "ShortRightArrow": Rune(0x02192)
   of "darr", "downarrow", "DownArrow",
-    "ShortDownArrow": result = Rune(0x02193)
-  of "harr", "leftrightarrow", "LeftRightArrow": result = Rune(0x02194)
-  of "varr", "updownarrow", "UpDownArrow": result = Rune(0x02195)
-  of "nwarr", "UpperLeftArrow", "nwarrow": result = Rune(0x02196)
-  of "nearr", "UpperRightArrow", "nearrow": result = Rune(0x02197)
-  of "searr", "searrow", "LowerRightArrow": result = Rune(0x02198)
-  of "swarr", "swarrow", "LowerLeftArrow": result = Rune(0x02199)
-  of "nlarr", "nleftarrow": result = Rune(0x0219A)
-  of "nrarr", "nrightarrow": result = Rune(0x0219B)
-  of "rarrw", "rightsquigarrow": result = Rune(0x0219D)
-  of "Larr", "twoheadleftarrow": result = Rune(0x0219E)
-  of "Uarr": result = Rune(0x0219F)
-  of "Rarr", "twoheadrightarrow": result = Rune(0x021A0)
-  of "Darr": result = Rune(0x021A1)
-  of "larrtl", "leftarrowtail": result = Rune(0x021A2)
-  of "rarrtl", "rightarrowtail": result = Rune(0x021A3)
-  of "LeftTeeArrow", "mapstoleft": result = Rune(0x021A4)
-  of "UpTeeArrow", "mapstoup": result = Rune(0x021A5)
-  of "map", "RightTeeArrow", "mapsto": result = Rune(0x021A6)
-  of "DownTeeArrow", "mapstodown": result = Rune(0x021A7)
-  of "larrhk", "hookleftarrow": result = Rune(0x021A9)
-  of "rarrhk", "hookrightarrow": result = Rune(0x021AA)
-  of "larrlp", "looparrowleft": result = Rune(0x021AB)
-  of "rarrlp", "looparrowright": result = Rune(0x021AC)
-  of "harrw", "leftrightsquigarrow": result = Rune(0x021AD)
-  of "nharr", "nleftrightarrow": result = Rune(0x021AE)
-  of "lsh", "Lsh": result = Rune(0x021B0)
-  of "rsh", "Rsh": result = Rune(0x021B1)
-  of "ldsh": result = Rune(0x021B2)
-  of "rdsh": result = Rune(0x021B3)
-  of "crarr": result = Rune(0x021B5)
-  of "cularr", "curvearrowleft": result = Rune(0x021B6)
-  of "curarr", "curvearrowright": result = Rune(0x021B7)
-  of "olarr", "circlearrowleft": result = Rune(0x021BA)
-  of "orarr", "circlearrowright": result = Rune(0x021BB)
-  of "lharu", "LeftVector", "leftharpoonup": result = Rune(0x021BC)
-  of "lhard", "leftharpoondown", "DownLeftVector": result = Rune(0x021BD)
-  of "uharr", "upharpoonright", "RightUpVector": result = Rune(0x021BE)
-  of "uharl", "upharpoonleft", "LeftUpVector": result = Rune(0x021BF)
-  of "rharu", "RightVector", "rightharpoonup": result = Rune(0x021C0)
-  of "rhard", "rightharpoondown", "DownRightVector": result = Rune(0x021C1)
-  of "dharr", "RightDownVector", "downharpoonright": result = Rune(0x021C2)
-  of "dharl", "LeftDownVector", "downharpoonleft": result = Rune(0x021C3)
-  of "rlarr", "rightleftarrows", "RightArrowLeftArrow": result = Rune(0x021C4)
-  of "udarr", "UpArrowDownArrow": result = Rune(0x021C5)
-  of "lrarr", "leftrightarrows", "LeftArrowRightArrow": result = Rune(0x021C6)
-  of "llarr", "leftleftarrows": result = Rune(0x021C7)
-  of "uuarr", "upuparrows": result = Rune(0x021C8)
-  of "rrarr", "rightrightarrows": result = Rune(0x021C9)
-  of "ddarr", "downdownarrows": result = Rune(0x021CA)
+    "ShortDownArrow": Rune(0x02193)
+  of "harr", "leftrightarrow", "LeftRightArrow": Rune(0x02194)
+  of "varr", "updownarrow", "UpDownArrow": Rune(0x02195)
+  of "nwarr", "UpperLeftArrow", "nwarrow": Rune(0x02196)
+  of "nearr", "UpperRightArrow", "nearrow": Rune(0x02197)
+  of "searr", "searrow", "LowerRightArrow": Rune(0x02198)
+  of "swarr", "swarrow", "LowerLeftArrow": Rune(0x02199)
+  of "nlarr", "nleftarrow": Rune(0x0219A)
+  of "nrarr", "nrightarrow": Rune(0x0219B)
+  of "rarrw", "rightsquigarrow": Rune(0x0219D)
+  of "Larr", "twoheadleftarrow": Rune(0x0219E)
+  of "Uarr": Rune(0x0219F)
+  of "Rarr", "twoheadrightarrow": Rune(0x021A0)
+  of "Darr": Rune(0x021A1)
+  of "larrtl", "leftarrowtail": Rune(0x021A2)
+  of "rarrtl", "rightarrowtail": Rune(0x021A3)
+  of "LeftTeeArrow", "mapstoleft": Rune(0x021A4)
+  of "UpTeeArrow", "mapstoup": Rune(0x021A5)
+  of "map", "RightTeeArrow", "mapsto": Rune(0x021A6)
+  of "DownTeeArrow", "mapstodown": Rune(0x021A7)
+  of "larrhk", "hookleftarrow": Rune(0x021A9)
+  of "rarrhk", "hookrightarrow": Rune(0x021AA)
+  of "larrlp", "looparrowleft": Rune(0x021AB)
+  of "rarrlp", "looparrowright": Rune(0x021AC)
+  of "harrw", "leftrightsquigarrow": Rune(0x021AD)
+  of "nharr", "nleftrightarrow": Rune(0x021AE)
+  of "lsh", "Lsh": Rune(0x021B0)
+  of "rsh", "Rsh": Rune(0x021B1)
+  of "ldsh": Rune(0x021B2)
+  of "rdsh": Rune(0x021B3)
+  of "crarr": Rune(0x021B5)
+  of "cularr", "curvearrowleft": Rune(0x021B6)
+  of "curarr", "curvearrowright": Rune(0x021B7)
+  of "olarr", "circlearrowleft": Rune(0x021BA)
+  of "orarr", "circlearrowright": Rune(0x021BB)
+  of "lharu", "LeftVector", "leftharpoonup": Rune(0x021BC)
+  of "lhard", "leftharpoondown", "DownLeftVector": Rune(0x021BD)
+  of "uharr", "upharpoonright", "RightUpVector": Rune(0x021BE)
+  of "uharl", "upharpoonleft", "LeftUpVector": Rune(0x021BF)
+  of "rharu", "RightVector", "rightharpoonup": Rune(0x021C0)
+  of "rhard", "rightharpoondown", "DownRightVector": Rune(0x021C1)
+  of "dharr", "RightDownVector", "downharpoonright": Rune(0x021C2)
+  of "dharl", "LeftDownVector", "downharpoonleft": Rune(0x021C3)
+  of "rlarr", "rightleftarrows", "RightArrowLeftArrow": Rune(0x021C4)
+  of "udarr", "UpArrowDownArrow": Rune(0x021C5)
+  of "lrarr", "leftrightarrows", "LeftArrowRightArrow": Rune(0x021C6)
+  of "llarr", "leftleftarrows": Rune(0x021C7)
+  of "uuarr", "upuparrows": Rune(0x021C8)
+  of "rrarr", "rightrightarrows": Rune(0x021C9)
+  of "ddarr", "downdownarrows": Rune(0x021CA)
   of "lrhar", "ReverseEquilibrium",
-    "leftrightharpoons": result = Rune(0x021CB)
-  of "rlhar", "rightleftharpoons", "Equilibrium": result = Rune(0x021CC)
-  of "nlArr", "nLeftarrow": result = Rune(0x021CD)
-  of "nhArr", "nLeftrightarrow": result = Rune(0x021CE)
-  of "nrArr", "nRightarrow": result = Rune(0x021CF)
-  of "lArr", "Leftarrow", "DoubleLeftArrow": result = Rune(0x021D0)
-  of "uArr", "Uparrow", "DoubleUpArrow": result = Rune(0x021D1)
+    "leftrightharpoons": Rune(0x021CB)
+  of "rlhar", "rightleftharpoons", "Equilibrium": Rune(0x021CC)
+  of "nlArr", "nLeftarrow": Rune(0x021CD)
+  of "nhArr", "nLeftrightarrow": Rune(0x021CE)
+  of "nrArr", "nRightarrow": Rune(0x021CF)
+  of "lArr", "Leftarrow", "DoubleLeftArrow": Rune(0x021D0)
+  of "uArr", "Uparrow", "DoubleUpArrow": Rune(0x021D1)
   of "rArr", "Rightarrow", "Implies",
-    "DoubleRightArrow": result = Rune(0x021D2)
-  of "dArr", "Downarrow", "DoubleDownArrow": result = Rune(0x021D3)
+    "DoubleRightArrow": Rune(0x021D2)
+  of "dArr", "Downarrow", "DoubleDownArrow": Rune(0x021D3)
   of "hArr", "Leftrightarrow", "DoubleLeftRightArrow",
-    "iff": result = Rune(0x021D4)
-  of "vArr", "Updownarrow", "DoubleUpDownArrow": result = Rune(0x021D5)
-  of "nwArr": result = Rune(0x021D6)
-  of "neArr": result = Rune(0x021D7)
-  of "seArr": result = Rune(0x021D8)
-  of "swArr": result = Rune(0x021D9)
-  of "lAarr", "Lleftarrow": result = Rune(0x021DA)
-  of "rAarr", "Rrightarrow": result = Rune(0x021DB)
-  of "zigrarr": result = Rune(0x021DD)
-  of "larrb", "LeftArrowBar": result = Rune(0x021E4)
-  of "rarrb", "RightArrowBar": result = Rune(0x021E5)
-  of "duarr", "DownArrowUpArrow": result = Rune(0x021F5)
-  of "loarr": result = Rune(0x021FD)
-  of "roarr": result = Rune(0x021FE)
-  of "hoarr": result = Rune(0x021FF)
-  of "forall", "ForAll": result = Rune(0x02200)
-  of "comp", "complement": result = Rune(0x02201)
-  of "part", "PartialD": result = Rune(0x02202)
-  of "exist", "Exists": result = Rune(0x02203)
-  of "nexist", "NotExists", "nexists": result = Rune(0x02204)
-  of "empty", "emptyset", "emptyv", "varnothing": result = Rune(0x02205)
-  of "nabla", "Del": result = Rune(0x02207)
-  of "isin", "isinv", "Element", "in": result = Rune(0x02208)
-  of "notin", "NotElement", "notinva": result = Rune(0x02209)
-  of "niv", "ReverseElement", "ni", "SuchThat": result = Rune(0x0220B)
-  of "notni", "notniva", "NotReverseElement": result = Rune(0x0220C)
-  of "prod", "Product": result = Rune(0x0220F)
-  of "coprod", "Coproduct": result = Rune(0x02210)
-  of "sum", "Sum": result = Rune(0x02211)
-  of "minus": result = Rune(0x02212)
-  of "mnplus", "mp", "MinusPlus": result = Rune(0x02213)
-  of "plusdo", "dotplus": result = Rune(0x02214)
+    "iff": Rune(0x021D4)
+  of "vArr", "Updownarrow", "DoubleUpDownArrow": Rune(0x021D5)
+  of "nwArr": Rune(0x021D6)
+  of "neArr": Rune(0x021D7)
+  of "seArr": Rune(0x021D8)
+  of "swArr": Rune(0x021D9)
+  of "lAarr", "Lleftarrow": Rune(0x021DA)
+  of "rAarr", "Rrightarrow": Rune(0x021DB)
+  of "zigrarr": Rune(0x021DD)
+  of "larrb", "LeftArrowBar": Rune(0x021E4)
+  of "rarrb", "RightArrowBar": Rune(0x021E5)
+  of "duarr", "DownArrowUpArrow": Rune(0x021F5)
+  of "loarr": Rune(0x021FD)
+  of "roarr": Rune(0x021FE)
+  of "hoarr": Rune(0x021FF)
+  of "forall", "ForAll": Rune(0x02200)
+  of "comp", "complement": Rune(0x02201)
+  of "part", "PartialD": Rune(0x02202)
+  of "exist", "Exists": Rune(0x02203)
+  of "nexist", "NotExists", "nexists": Rune(0x02204)
+  of "empty", "emptyset", "emptyv", "varnothing": Rune(0x02205)
+  of "nabla", "Del": Rune(0x02207)
+  of "isin", "isinv", "Element", "in": Rune(0x02208)
+  of "notin", "NotElement", "notinva": Rune(0x02209)
+  of "niv", "ReverseElement", "ni", "SuchThat": Rune(0x0220B)
+  of "notni", "notniva", "NotReverseElement": Rune(0x0220C)
+  of "prod", "Product": Rune(0x0220F)
+  of "coprod", "Coproduct": Rune(0x02210)
+  of "sum", "Sum": Rune(0x02211)
+  of "minus": Rune(0x02212)
+  of "mnplus", "mp", "MinusPlus": Rune(0x02213)
+  of "plusdo", "dotplus": Rune(0x02214)
   of "setmn", "setminus", "Backslash", "ssetmn",
-    "smallsetminus": result = Rune(0x02216)
-  of "lowast": result = Rune(0x02217)
-  of "compfn", "SmallCircle": result = Rune(0x02218)
-  of "radic", "Sqrt": result = Rune(0x0221A)
+    "smallsetminus": Rune(0x02216)
+  of "lowast": Rune(0x02217)
+  of "compfn", "SmallCircle": Rune(0x02218)
+  of "radic", "Sqrt": Rune(0x0221A)
   of "prop", "propto", "Proportional", "vprop",
-    "varpropto": result = Rune(0x0221D)
-  of "infin": result = Rune(0x0221E)
-  of "angrt": result = Rune(0x0221F)
-  of "ang", "angle": result = Rune(0x02220)
-  of "angmsd", "measuredangle": result = Rune(0x02221)
-  of "angsph": result = Rune(0x02222)
-  of "mid", "VerticalBar", "smid", "shortmid": result = Rune(0x02223)
-  of "nmid", "NotVerticalBar", "nsmid", "nshortmid": result = Rune(0x02224)
+    "varpropto": Rune(0x0221D)
+  of "infin": Rune(0x0221E)
+  of "angrt": Rune(0x0221F)
+  of "ang", "angle": Rune(0x02220)
+  of "angmsd", "measuredangle": Rune(0x02221)
+  of "angsph": Rune(0x02222)
+  of "mid", "VerticalBar", "smid", "shortmid": Rune(0x02223)
+  of "nmid", "NotVerticalBar", "nsmid", "nshortmid": Rune(0x02224)
   of "par", "parallel", "DoubleVerticalBar", "spar",
-    "shortparallel": result = Rune(0x02225)
+    "shortparallel": Rune(0x02225)
   of "npar", "nparallel", "NotDoubleVerticalBar", "nspar",
-    "nshortparallel": result = Rune(0x02226)
-  of "and", "wedge": result = Rune(0x02227)
-  of "or", "vee": result = Rune(0x02228)
-  of "cap": result = Rune(0x02229)
-  of "cup": result = Rune(0x0222A)
-  of "int", "Integral": result = Rune(0x0222B)
-  of "Int": result = Rune(0x0222C)
-  of "tint", "iiint": result = Rune(0x0222D)
-  of "conint", "oint", "ContourIntegral": result = Rune(0x0222E)
-  of "Conint", "DoubleContourIntegral": result = Rune(0x0222F)
-  of "Cconint": result = Rune(0x02230)
-  of "cwint": result = Rune(0x02231)
-  of "cwconint", "ClockwiseContourIntegral": result = Rune(0x02232)
-  of "awconint", "CounterClockwiseContourIntegral": result = Rune(0x02233)
-  of "there4", "therefore", "Therefore": result = Rune(0x02234)
-  of "becaus", "because", "Because": result = Rune(0x02235)
-  of "ratio": result = Rune(0x02236)
-  of "Colon", "Proportion": result = Rune(0x02237)
-  of "minusd", "dotminus": result = Rune(0x02238)
-  of "mDDot": result = Rune(0x0223A)
-  of "homtht": result = Rune(0x0223B)
-  of "sim", "Tilde", "thksim", "thicksim": result = Rune(0x0223C)
-  of "bsim", "backsim": result = Rune(0x0223D)
-  of "ac", "mstpos": result = Rune(0x0223E)
-  of "acd": result = Rune(0x0223F)
-  of "wreath", "VerticalTilde", "wr": result = Rune(0x02240)
-  of "nsim", "NotTilde": result = Rune(0x02241)
-  of "esim", "EqualTilde", "eqsim": result = Rune(0x02242)
-  of "sime", "TildeEqual", "simeq": result = Rune(0x02243)
-  of "nsime", "nsimeq", "NotTildeEqual": result = Rune(0x02244)
-  of "cong", "TildeFullEqual": result = Rune(0x02245)
-  of "simne": result = Rune(0x02246)
-  of "ncong", "NotTildeFullEqual": result = Rune(0x02247)
+    "nshortparallel": Rune(0x02226)
+  of "and", "wedge": Rune(0x02227)
+  of "or", "vee": Rune(0x02228)
+  of "cap": Rune(0x02229)
+  of "cup": Rune(0x0222A)
+  of "int", "Integral": Rune(0x0222B)
+  of "Int": Rune(0x0222C)
+  of "tint", "iiint": Rune(0x0222D)
+  of "conint", "oint", "ContourIntegral": Rune(0x0222E)
+  of "Conint", "DoubleContourIntegral": Rune(0x0222F)
+  of "Cconint": Rune(0x02230)
+  of "cwint": Rune(0x02231)
+  of "cwconint", "ClockwiseContourIntegral": Rune(0x02232)
+  of "awconint", "CounterClockwiseContourIntegral": Rune(0x02233)
+  of "there4", "therefore", "Therefore": Rune(0x02234)
+  of "becaus", "because", "Because": Rune(0x02235)
+  of "ratio": Rune(0x02236)
+  of "Colon", "Proportion": Rune(0x02237)
+  of "minusd", "dotminus": Rune(0x02238)
+  of "mDDot": Rune(0x0223A)
+  of "homtht": Rune(0x0223B)
+  of "sim", "Tilde", "thksim", "thicksim": Rune(0x0223C)
+  of "bsim", "backsim": Rune(0x0223D)
+  of "ac", "mstpos": Rune(0x0223E)
+  of "acd": Rune(0x0223F)
+  of "wreath", "VerticalTilde", "wr": Rune(0x02240)
+  of "nsim", "NotTilde": Rune(0x02241)
+  of "esim", "EqualTilde", "eqsim": Rune(0x02242)
+  of "sime", "TildeEqual", "simeq": Rune(0x02243)
+  of "nsime", "nsimeq", "NotTildeEqual": Rune(0x02244)
+  of "cong", "TildeFullEqual": Rune(0x02245)
+  of "simne": Rune(0x02246)
+  of "ncong", "NotTildeFullEqual": Rune(0x02247)
   of "asymp", "ap", "TildeTilde", "approx", "thkap",
-    "thickapprox": result = Rune(0x02248)
-  of "nap", "NotTildeTilde", "napprox": result = Rune(0x02249)
-  of "ape", "approxeq": result = Rune(0x0224A)
-  of "apid": result = Rune(0x0224B)
-  of "bcong", "backcong": result = Rune(0x0224C)
-  of "asympeq", "CupCap": result = Rune(0x0224D)
-  of "bump", "HumpDownHump", "Bumpeq": result = Rune(0x0224E)
-  of "bumpe", "HumpEqual", "bumpeq": result = Rune(0x0224F)
-  of "esdot", "DotEqual", "doteq": result = Rune(0x02250)
-  of "eDot", "doteqdot": result = Rune(0x02251)
-  of "efDot", "fallingdotseq": result = Rune(0x02252)
-  of "erDot", "risingdotseq": result = Rune(0x02253)
-  of "colone", "coloneq", "Assign": result = Rune(0x02254)
-  of "ecolon", "eqcolon": result = Rune(0x02255)
-  of "ecir", "eqcirc": result = Rune(0x02256)
-  of "cire", "circeq": result = Rune(0x02257)
-  of "wedgeq": result = Rune(0x02259)
-  of "veeeq": result = Rune(0x0225A)
-  of "trie", "triangleq": result = Rune(0x0225C)
-  of "equest", "questeq": result = Rune(0x0225F)
-  of "ne", "NotEqual": result = Rune(0x02260)
-  of "equiv", "Congruent": result = Rune(0x02261)
-  of "nequiv", "NotCongruent": result = Rune(0x02262)
-  of "le", "leq": result = Rune(0x02264)
-  of "ge", "GreaterEqual", "geq": result = Rune(0x02265)
-  of "lE", "LessFullEqual", "leqq": result = Rune(0x02266)
-  of "gE", "GreaterFullEqual", "geqq": result = Rune(0x02267)
-  of "lnE", "lneqq": result = Rune(0x02268)
-  of "gnE", "gneqq": result = Rune(0x02269)
-  of "Lt", "NestedLessLess", "ll": result = Rune(0x0226A)
-  of "Gt", "NestedGreaterGreater", "gg": result = Rune(0x0226B)
-  of "twixt", "between": result = Rune(0x0226C)
-  of "NotCupCap": result = Rune(0x0226D)
-  of "nlt", "NotLess", "nless": result = Rune(0x0226E)
-  of "ngt", "NotGreater", "ngtr": result = Rune(0x0226F)
-  of "nle", "NotLessEqual", "nleq": result = Rune(0x02270)
-  of "nge", "NotGreaterEqual", "ngeq": result = Rune(0x02271)
-  of "lsim", "LessTilde", "lesssim": result = Rune(0x02272)
-  of "gsim", "gtrsim", "GreaterTilde": result = Rune(0x02273)
-  of "nlsim", "NotLessTilde": result = Rune(0x02274)
-  of "ngsim", "NotGreaterTilde": result = Rune(0x02275)
-  of "lg", "lessgtr", "LessGreater": result = Rune(0x02276)
-  of "gl", "gtrless", "GreaterLess": result = Rune(0x02277)
-  of "ntlg", "NotLessGreater": result = Rune(0x02278)
-  of "ntgl", "NotGreaterLess": result = Rune(0x02279)
-  of "pr", "Precedes", "prec": result = Rune(0x0227A)
-  of "sc", "Succeeds", "succ": result = Rune(0x0227B)
-  of "prcue", "PrecedesSlantEqual", "preccurlyeq": result = Rune(0x0227C)
-  of "sccue", "SucceedsSlantEqual", "succcurlyeq": result = Rune(0x0227D)
-  of "prsim", "precsim", "PrecedesTilde": result = Rune(0x0227E)
-  of "scsim", "succsim", "SucceedsTilde": result = Rune(0x0227F)
-  of "npr", "nprec", "NotPrecedes": result = Rune(0x02280)
-  of "nsc", "nsucc", "NotSucceeds": result = Rune(0x02281)
-  of "sub", "subset": result = Rune(0x02282)
-  of "sup", "supset", "Superset": result = Rune(0x02283)
-  of "nsub": result = Rune(0x02284)
-  of "nsup": result = Rune(0x02285)
-  of "sube", "SubsetEqual", "subseteq": result = Rune(0x02286)
-  of "supe", "supseteq", "SupersetEqual": result = Rune(0x02287)
-  of "nsube", "nsubseteq", "NotSubsetEqual": result = Rune(0x02288)
-  of "nsupe", "nsupseteq", "NotSupersetEqual": result = Rune(0x02289)
-  of "subne", "subsetneq": result = Rune(0x0228A)
-  of "supne", "supsetneq": result = Rune(0x0228B)
-  of "cupdot": result = Rune(0x0228D)
-  of "uplus", "UnionPlus": result = Rune(0x0228E)
-  of "sqsub", "SquareSubset", "sqsubset": result = Rune(0x0228F)
-  of "sqsup", "SquareSuperset", "sqsupset": result = Rune(0x02290)
-  of "sqsube", "SquareSubsetEqual", "sqsubseteq": result = Rune(0x02291)
-  of "sqsupe", "SquareSupersetEqual", "sqsupseteq": result = Rune(0x02292)
-  of "sqcap", "SquareIntersection": result = Rune(0x02293)
-  of "sqcup", "SquareUnion": result = Rune(0x02294)
-  of "oplus", "CirclePlus": result = Rune(0x02295)
-  of "ominus", "CircleMinus": result = Rune(0x02296)
-  of "otimes", "CircleTimes": result = Rune(0x02297)
-  of "osol": result = Rune(0x02298)
-  of "odot", "CircleDot": result = Rune(0x02299)
-  of "ocir", "circledcirc": result = Rune(0x0229A)
-  of "oast", "circledast": result = Rune(0x0229B)
-  of "odash", "circleddash": result = Rune(0x0229D)
-  of "plusb", "boxplus": result = Rune(0x0229E)
-  of "minusb", "boxminus": result = Rune(0x0229F)
-  of "timesb", "boxtimes": result = Rune(0x022A0)
-  of "sdotb", "dotsquare": result = Rune(0x022A1)
-  of "vdash", "RightTee": result = Rune(0x022A2)
-  of "dashv", "LeftTee": result = Rune(0x022A3)
-  of "top", "DownTee": result = Rune(0x022A4)
-  of "bottom", "bot", "perp", "UpTee": result = Rune(0x022A5)
-  of "models": result = Rune(0x022A7)
-  of "vDash", "DoubleRightTee": result = Rune(0x022A8)
-  of "Vdash": result = Rune(0x022A9)
-  of "Vvdash": result = Rune(0x022AA)
-  of "VDash": result = Rune(0x022AB)
-  of "nvdash": result = Rune(0x022AC)
-  of "nvDash": result = Rune(0x022AD)
-  of "nVdash": result = Rune(0x022AE)
-  of "nVDash": result = Rune(0x022AF)
-  of "prurel": result = Rune(0x022B0)
-  of "vltri", "vartriangleleft", "LeftTriangle": result = Rune(0x022B2)
-  of "vrtri", "vartriangleright", "RightTriangle": result = Rune(0x022B3)
-  of "ltrie", "trianglelefteq", "LeftTriangleEqual": result = Rune(0x022B4)
-  of "rtrie", "trianglerighteq", "RightTriangleEqual": result = Rune(0x022B5)
-  of "origof": result = Rune(0x022B6)
-  of "imof": result = Rune(0x022B7)
-  of "mumap", "multimap": result = Rune(0x022B8)
-  of "hercon": result = Rune(0x022B9)
-  of "intcal", "intercal": result = Rune(0x022BA)
-  of "veebar": result = Rune(0x022BB)
-  of "barvee": result = Rune(0x022BD)
-  of "angrtvb": result = Rune(0x022BE)
-  of "lrtri": result = Rune(0x022BF)
-  of "xwedge", "Wedge", "bigwedge": result = Rune(0x022C0)
-  of "xvee", "Vee", "bigvee": result = Rune(0x022C1)
-  of "xcap", "Intersection", "bigcap": result = Rune(0x022C2)
-  of "xcup", "Union", "bigcup": result = Rune(0x022C3)
-  of "diam", "diamond", "Diamond": result = Rune(0x022C4)
-  of "sdot": result = Rune(0x022C5)
-  of "sstarf", "Star": result = Rune(0x022C6)
-  of "divonx", "divideontimes": result = Rune(0x022C7)
-  of "bowtie": result = Rune(0x022C8)
-  of "ltimes": result = Rune(0x022C9)
-  of "rtimes": result = Rune(0x022CA)
-  of "lthree", "leftthreetimes": result = Rune(0x022CB)
-  of "rthree", "rightthreetimes": result = Rune(0x022CC)
-  of "bsime", "backsimeq": result = Rune(0x022CD)
-  of "cuvee", "curlyvee": result = Rune(0x022CE)
-  of "cuwed", "curlywedge": result = Rune(0x022CF)
-  of "Sub", "Subset": result = Rune(0x022D0)
-  of "Sup", "Supset": result = Rune(0x022D1)
-  of "Cap": result = Rune(0x022D2)
-  of "Cup": result = Rune(0x022D3)
-  of "fork", "pitchfork": result = Rune(0x022D4)
-  of "epar": result = Rune(0x022D5)
-  of "ltdot", "lessdot": result = Rune(0x022D6)
-  of "gtdot", "gtrdot": result = Rune(0x022D7)
-  of "Ll": result = Rune(0x022D8)
-  of "Gg", "ggg": result = Rune(0x022D9)
-  of "leg", "LessEqualGreater", "lesseqgtr": result = Rune(0x022DA)
-  of "gel", "gtreqless", "GreaterEqualLess": result = Rune(0x022DB)
-  of "cuepr", "curlyeqprec": result = Rune(0x022DE)
-  of "cuesc", "curlyeqsucc": result = Rune(0x022DF)
-  of "nprcue", "NotPrecedesSlantEqual": result = Rune(0x022E0)
-  of "nsccue", "NotSucceedsSlantEqual": result = Rune(0x022E1)
-  of "nsqsube", "NotSquareSubsetEqual": result = Rune(0x022E2)
-  of "nsqsupe", "NotSquareSupersetEqual": result = Rune(0x022E3)
-  of "lnsim": result = Rune(0x022E6)
-  of "gnsim": result = Rune(0x022E7)
-  of "prnsim", "precnsim": result = Rune(0x022E8)
-  of "scnsim", "succnsim": result = Rune(0x022E9)
-  of "nltri", "ntriangleleft", "NotLeftTriangle": result = Rune(0x022EA)
-  of "nrtri", "ntriangleright", "NotRightTriangle": result = Rune(0x022EB)
+    "thickapprox": Rune(0x02248)
+  of "nap", "NotTildeTilde", "napprox": Rune(0x02249)
+  of "ape", "approxeq": Rune(0x0224A)
+  of "apid": Rune(0x0224B)
+  of "bcong", "backcong": Rune(0x0224C)
+  of "asympeq", "CupCap": Rune(0x0224D)
+  of "bump", "HumpDownHump", "Bumpeq": Rune(0x0224E)
+  of "bumpe", "HumpEqual", "bumpeq": Rune(0x0224F)
+  of "esdot", "DotEqual", "doteq": Rune(0x02250)
+  of "eDot", "doteqdot": Rune(0x02251)
+  of "efDot", "fallingdotseq": Rune(0x02252)
+  of "erDot", "risingdotseq": Rune(0x02253)
+  of "colone", "coloneq", "Assign": Rune(0x02254)
+  of "ecolon", "eqcolon": Rune(0x02255)
+  of "ecir", "eqcirc": Rune(0x02256)
+  of "cire", "circeq": Rune(0x02257)
+  of "wedgeq": Rune(0x02259)
+  of "veeeq": Rune(0x0225A)
+  of "trie", "triangleq": Rune(0x0225C)
+  of "equest", "questeq": Rune(0x0225F)
+  of "ne", "NotEqual": Rune(0x02260)
+  of "equiv", "Congruent": Rune(0x02261)
+  of "nequiv", "NotCongruent": Rune(0x02262)
+  of "le", "leq": Rune(0x02264)
+  of "ge", "GreaterEqual", "geq": Rune(0x02265)
+  of "lE", "LessFullEqual", "leqq": Rune(0x02266)
+  of "gE", "GreaterFullEqual", "geqq": Rune(0x02267)
+  of "lnE", "lneqq": Rune(0x02268)
+  of "gnE", "gneqq": Rune(0x02269)
+  of "Lt", "NestedLessLess", "ll": Rune(0x0226A)
+  of "Gt", "NestedGreaterGreater", "gg": Rune(0x0226B)
+  of "twixt", "between": Rune(0x0226C)
+  of "NotCupCap": Rune(0x0226D)
+  of "nlt", "NotLess", "nless": Rune(0x0226E)
+  of "ngt", "NotGreater", "ngtr": Rune(0x0226F)
+  of "nle", "NotLessEqual", "nleq": Rune(0x02270)
+  of "nge", "NotGreaterEqual", "ngeq": Rune(0x02271)
+  of "lsim", "LessTilde", "lesssim": Rune(0x02272)
+  of "gsim", "gtrsim", "GreaterTilde": Rune(0x02273)
+  of "nlsim", "NotLessTilde": Rune(0x02274)
+  of "ngsim", "NotGreaterTilde": Rune(0x02275)
+  of "lg", "lessgtr", "LessGreater": Rune(0x02276)
+  of "gl", "gtrless", "GreaterLess": Rune(0x02277)
+  of "ntlg", "NotLessGreater": Rune(0x02278)
+  of "ntgl", "NotGreaterLess": Rune(0x02279)
+  of "pr", "Precedes", "prec": Rune(0x0227A)
+  of "sc", "Succeeds", "succ": Rune(0x0227B)
+  of "prcue", "PrecedesSlantEqual", "preccurlyeq": Rune(0x0227C)
+  of "sccue", "SucceedsSlantEqual", "succcurlyeq": Rune(0x0227D)
+  of "prsim", "precsim", "PrecedesTilde": Rune(0x0227E)
+  of "scsim", "succsim", "SucceedsTilde": Rune(0x0227F)
+  of "npr", "nprec", "NotPrecedes": Rune(0x02280)
+  of "nsc", "nsucc", "NotSucceeds": Rune(0x02281)
+  of "sub", "subset": Rune(0x02282)
+  of "sup", "supset", "Superset": Rune(0x02283)
+  of "nsub": Rune(0x02284)
+  of "nsup": Rune(0x02285)
+  of "sube", "SubsetEqual", "subseteq": Rune(0x02286)
+  of "supe", "supseteq", "SupersetEqual": Rune(0x02287)
+  of "nsube", "nsubseteq", "NotSubsetEqual": Rune(0x02288)
+  of "nsupe", "nsupseteq", "NotSupersetEqual": Rune(0x02289)
+  of "subne", "subsetneq": Rune(0x0228A)
+  of "supne", "supsetneq": Rune(0x0228B)
+  of "cupdot": Rune(0x0228D)
+  of "uplus", "UnionPlus": Rune(0x0228E)
+  of "sqsub", "SquareSubset", "sqsubset": Rune(0x0228F)
+  of "sqsup", "SquareSuperset", "sqsupset": Rune(0x02290)
+  of "sqsube", "SquareSubsetEqual", "sqsubseteq": Rune(0x02291)
+  of "sqsupe", "SquareSupersetEqual", "sqsupseteq": Rune(0x02292)
+  of "sqcap", "SquareIntersection": Rune(0x02293)
+  of "sqcup", "SquareUnion": Rune(0x02294)
+  of "oplus", "CirclePlus": Rune(0x02295)
+  of "ominus", "CircleMinus": Rune(0x02296)
+  of "otimes", "CircleTimes": Rune(0x02297)
+  of "osol": Rune(0x02298)
+  of "odot", "CircleDot": Rune(0x02299)
+  of "ocir", "circledcirc": Rune(0x0229A)
+  of "oast", "circledast": Rune(0x0229B)
+  of "odash", "circleddash": Rune(0x0229D)
+  of "plusb", "boxplus": Rune(0x0229E)
+  of "minusb", "boxminus": Rune(0x0229F)
+  of "timesb", "boxtimes": Rune(0x022A0)
+  of "sdotb", "dotsquare": Rune(0x022A1)
+  of "vdash", "RightTee": Rune(0x022A2)
+  of "dashv", "LeftTee": Rune(0x022A3)
+  of "top", "DownTee": Rune(0x022A4)
+  of "bottom", "bot", "perp", "UpTee": Rune(0x022A5)
+  of "models": Rune(0x022A7)
+  of "vDash", "DoubleRightTee": Rune(0x022A8)
+  of "Vdash": Rune(0x022A9)
+  of "Vvdash": Rune(0x022AA)
+  of "VDash": Rune(0x022AB)
+  of "nvdash": Rune(0x022AC)
+  of "nvDash": Rune(0x022AD)
+  of "nVdash": Rune(0x022AE)
+  of "nVDash": Rune(0x022AF)
+  of "prurel": Rune(0x022B0)
+  of "vltri", "vartriangleleft", "LeftTriangle": Rune(0x022B2)
+  of "vrtri", "vartriangleright", "RightTriangle": Rune(0x022B3)
+  of "ltrie", "trianglelefteq", "LeftTriangleEqual": Rune(0x022B4)
+  of "rtrie", "trianglerighteq", "RightTriangleEqual": Rune(0x022B5)
+  of "origof": Rune(0x022B6)
+  of "imof": Rune(0x022B7)
+  of "mumap", "multimap": Rune(0x022B8)
+  of "hercon": Rune(0x022B9)
+  of "intcal", "intercal": Rune(0x022BA)
+  of "veebar": Rune(0x022BB)
+  of "barvee": Rune(0x022BD)
+  of "angrtvb": Rune(0x022BE)
+  of "lrtri": Rune(0x022BF)
+  of "xwedge", "Wedge", "bigwedge": Rune(0x022C0)
+  of "xvee", "Vee", "bigvee": Rune(0x022C1)
+  of "xcap", "Intersection", "bigcap": Rune(0x022C2)
+  of "xcup", "Union", "bigcup": Rune(0x022C3)
+  of "diam", "diamond", "Diamond": Rune(0x022C4)
+  of "sdot": Rune(0x022C5)
+  of "sstarf", "Star": Rune(0x022C6)
+  of "divonx", "divideontimes": Rune(0x022C7)
+  of "bowtie": Rune(0x022C8)
+  of "ltimes": Rune(0x022C9)
+  of "rtimes": Rune(0x022CA)
+  of "lthree", "leftthreetimes": Rune(0x022CB)
+  of "rthree", "rightthreetimes": Rune(0x022CC)
+  of "bsime", "backsimeq": Rune(0x022CD)
+  of "cuvee", "curlyvee": Rune(0x022CE)
+  of "cuwed", "curlywedge": Rune(0x022CF)
+  of "Sub", "Subset": Rune(0x022D0)
+  of "Sup", "Supset": Rune(0x022D1)
+  of "Cap": Rune(0x022D2)
+  of "Cup": Rune(0x022D3)
+  of "fork", "pitchfork": Rune(0x022D4)
+  of "epar": Rune(0x022D5)
+  of "ltdot", "lessdot": Rune(0x022D6)
+  of "gtdot", "gtrdot": Rune(0x022D7)
+  of "Ll": Rune(0x022D8)
+  of "Gg", "ggg": Rune(0x022D9)
+  of "leg", "LessEqualGreater", "lesseqgtr": Rune(0x022DA)
+  of "gel", "gtreqless", "GreaterEqualLess": Rune(0x022DB)
+  of "cuepr", "curlyeqprec": Rune(0x022DE)
+  of "cuesc", "curlyeqsucc": Rune(0x022DF)
+  of "nprcue", "NotPrecedesSlantEqual": Rune(0x022E0)
+  of "nsccue", "NotSucceedsSlantEqual": Rune(0x022E1)
+  of "nsqsube", "NotSquareSubsetEqual": Rune(0x022E2)
+  of "nsqsupe", "NotSquareSupersetEqual": Rune(0x022E3)
+  of "lnsim": Rune(0x022E6)
+  of "gnsim": Rune(0x022E7)
+  of "prnsim", "precnsim": Rune(0x022E8)
+  of "scnsim", "succnsim": Rune(0x022E9)
+  of "nltri", "ntriangleleft", "NotLeftTriangle": Rune(0x022EA)
+  of "nrtri", "ntriangleright", "NotRightTriangle": Rune(0x022EB)
   of "nltrie", "ntrianglelefteq",
-    "NotLeftTriangleEqual": result = Rune(0x022EC)
+    "NotLeftTriangleEqual": Rune(0x022EC)
   of "nrtrie", "ntrianglerighteq",
-    "NotRightTriangleEqual": result = Rune(0x022ED)
-  of "vellip": result = Rune(0x022EE)
-  of "ctdot": result = Rune(0x022EF)
-  of "utdot": result = Rune(0x022F0)
-  of "dtdot": result = Rune(0x022F1)
-  of "disin": result = Rune(0x022F2)
-  of "isinsv": result = Rune(0x022F3)
-  of "isins": result = Rune(0x022F4)
-  of "isindot": result = Rune(0x022F5)
-  of "notinvc": result = Rune(0x022F6)
-  of "notinvb": result = Rune(0x022F7)
-  of "isinE": result = Rune(0x022F9)
-  of "nisd": result = Rune(0x022FA)
-  of "xnis": result = Rune(0x022FB)
-  of "nis": result = Rune(0x022FC)
-  of "notnivc": result = Rune(0x022FD)
-  of "notnivb": result = Rune(0x022FE)
-  of "barwed", "barwedge": result = Rune(0x02305)
-  of "Barwed", "doublebarwedge": result = Rune(0x02306)
-  of "lceil", "LeftCeiling": result = Rune(0x02308)
-  of "rceil", "RightCeiling": result = Rune(0x02309)
-  of "lfloor", "LeftFloor": result = Rune(0x0230A)
-  of "rfloor", "RightFloor": result = Rune(0x0230B)
-  of "drcrop": result = Rune(0x0230C)
-  of "dlcrop": result = Rune(0x0230D)
-  of "urcrop": result = Rune(0x0230E)
-  of "ulcrop": result = Rune(0x0230F)
-  of "bnot": result = Rune(0x02310)
-  of "profline": result = Rune(0x02312)
-  of "profsurf": result = Rune(0x02313)
-  of "telrec": result = Rune(0x02315)
-  of "target": result = Rune(0x02316)
-  of "ulcorn", "ulcorner": result = Rune(0x0231C)
-  of "urcorn", "urcorner": result = Rune(0x0231D)
-  of "dlcorn", "llcorner": result = Rune(0x0231E)
-  of "drcorn", "lrcorner": result = Rune(0x0231F)
-  of "frown", "sfrown": result = Rune(0x02322)
-  of "smile", "ssmile": result = Rune(0x02323)
-  of "cylcty": result = Rune(0x0232D)
-  of "profalar": result = Rune(0x0232E)
-  of "topbot": result = Rune(0x02336)
-  of "ovbar": result = Rune(0x0233D)
-  of "solbar": result = Rune(0x0233F)
-  of "angzarr": result = Rune(0x0237C)
-  of "lmoust", "lmoustache": result = Rune(0x023B0)
-  of "rmoust", "rmoustache": result = Rune(0x023B1)
-  of "tbrk", "OverBracket": result = Rune(0x023B4)
-  of "bbrk", "UnderBracket": result = Rune(0x023B5)
-  of "bbrktbrk": result = Rune(0x023B6)
-  of "OverParenthesis": result = Rune(0x023DC)
-  of "UnderParenthesis": result = Rune(0x023DD)
-  of "OverBrace": result = Rune(0x023DE)
-  of "UnderBrace": result = Rune(0x023DF)
-  of "trpezium": result = Rune(0x023E2)
-  of "elinters": result = Rune(0x023E7)
-  of "blank": result = Rune(0x02423)
-  of "oS", "circledS": result = Rune(0x024C8)
-  of "boxh", "HorizontalLine": result = Rune(0x02500)
-  of "boxv": result = Rune(0x02502)
-  of "boxdr": result = Rune(0x0250C)
-  of "boxdl": result = Rune(0x02510)
-  of "boxur": result = Rune(0x02514)
-  of "boxul": result = Rune(0x02518)
-  of "boxvr": result = Rune(0x0251C)
-  of "boxvl": result = Rune(0x02524)
-  of "boxhd": result = Rune(0x0252C)
-  of "boxhu": result = Rune(0x02534)
-  of "boxvh": result = Rune(0x0253C)
-  of "boxH": result = Rune(0x02550)
-  of "boxV": result = Rune(0x02551)
-  of "boxdR": result = Rune(0x02552)
-  of "boxDr": result = Rune(0x02553)
-  of "boxDR": result = Rune(0x02554)
-  of "boxdL": result = Rune(0x02555)
-  of "boxDl": result = Rune(0x02556)
-  of "boxDL": result = Rune(0x02557)
-  of "boxuR": result = Rune(0x02558)
-  of "boxUr": result = Rune(0x02559)
-  of "boxUR": result = Rune(0x0255A)
-  of "boxuL": result = Rune(0x0255B)
-  of "boxUl": result = Rune(0x0255C)
-  of "boxUL": result = Rune(0x0255D)
-  of "boxvR": result = Rune(0x0255E)
-  of "boxVr": result = Rune(0x0255F)
-  of "boxVR": result = Rune(0x02560)
-  of "boxvL": result = Rune(0x02561)
-  of "boxVl": result = Rune(0x02562)
-  of "boxVL": result = Rune(0x02563)
-  of "boxHd": result = Rune(0x02564)
-  of "boxhD": result = Rune(0x02565)
-  of "boxHD": result = Rune(0x02566)
-  of "boxHu": result = Rune(0x02567)
-  of "boxhU": result = Rune(0x02568)
-  of "boxHU": result = Rune(0x02569)
-  of "boxvH": result = Rune(0x0256A)
-  of "boxVh": result = Rune(0x0256B)
-  of "boxVH": result = Rune(0x0256C)
-  of "uhblk": result = Rune(0x02580)
-  of "lhblk": result = Rune(0x02584)
-  of "block": result = Rune(0x02588)
-  of "blk14": result = Rune(0x02591)
-  of "blk12": result = Rune(0x02592)
-  of "blk34": result = Rune(0x02593)
-  of "squ", "square", "Square": result = Rune(0x025A1)
+    "NotRightTriangleEqual": Rune(0x022ED)
+  of "vellip": Rune(0x022EE)
+  of "ctdot": Rune(0x022EF)
+  of "utdot": Rune(0x022F0)
+  of "dtdot": Rune(0x022F1)
+  of "disin": Rune(0x022F2)
+  of "isinsv": Rune(0x022F3)
+  of "isins": Rune(0x022F4)
+  of "isindot": Rune(0x022F5)
+  of "notinvc": Rune(0x022F6)
+  of "notinvb": Rune(0x022F7)
+  of "isinE": Rune(0x022F9)
+  of "nisd": Rune(0x022FA)
+  of "xnis": Rune(0x022FB)
+  of "nis": Rune(0x022FC)
+  of "notnivc": Rune(0x022FD)
+  of "notnivb": Rune(0x022FE)
+  of "barwed", "barwedge": Rune(0x02305)
+  of "Barwed", "doublebarwedge": Rune(0x02306)
+  of "lceil", "LeftCeiling": Rune(0x02308)
+  of "rceil", "RightCeiling": Rune(0x02309)
+  of "lfloor", "LeftFloor": Rune(0x0230A)
+  of "rfloor", "RightFloor": Rune(0x0230B)
+  of "drcrop": Rune(0x0230C)
+  of "dlcrop": Rune(0x0230D)
+  of "urcrop": Rune(0x0230E)
+  of "ulcrop": Rune(0x0230F)
+  of "bnot": Rune(0x02310)
+  of "profline": Rune(0x02312)
+  of "profsurf": Rune(0x02313)
+  of "telrec": Rune(0x02315)
+  of "target": Rune(0x02316)
+  of "ulcorn", "ulcorner": Rune(0x0231C)
+  of "urcorn", "urcorner": Rune(0x0231D)
+  of "dlcorn", "llcorner": Rune(0x0231E)
+  of "drcorn", "lrcorner": Rune(0x0231F)
+  of "frown", "sfrown": Rune(0x02322)
+  of "smile", "ssmile": Rune(0x02323)
+  of "cylcty": Rune(0x0232D)
+  of "profalar": Rune(0x0232E)
+  of "topbot": Rune(0x02336)
+  of "ovbar": Rune(0x0233D)
+  of "solbar": Rune(0x0233F)
+  of "angzarr": Rune(0x0237C)
+  of "lmoust", "lmoustache": Rune(0x023B0)
+  of "rmoust", "rmoustache": Rune(0x023B1)
+  of "tbrk", "OverBracket": Rune(0x023B4)
+  of "bbrk", "UnderBracket": Rune(0x023B5)
+  of "bbrktbrk": Rune(0x023B6)
+  of "OverParenthesis": Rune(0x023DC)
+  of "UnderParenthesis": Rune(0x023DD)
+  of "OverBrace": Rune(0x023DE)
+  of "UnderBrace": Rune(0x023DF)
+  of "trpezium": Rune(0x023E2)
+  of "elinters": Rune(0x023E7)
+  of "blank": Rune(0x02423)
+  of "oS", "circledS": Rune(0x024C8)
+  of "boxh", "HorizontalLine": Rune(0x02500)
+  of "boxv": Rune(0x02502)
+  of "boxdr": Rune(0x0250C)
+  of "boxdl": Rune(0x02510)
+  of "boxur": Rune(0x02514)
+  of "boxul": Rune(0x02518)
+  of "boxvr": Rune(0x0251C)
+  of "boxvl": Rune(0x02524)
+  of "boxhd": Rune(0x0252C)
+  of "boxhu": Rune(0x02534)
+  of "boxvh": Rune(0x0253C)
+  of "boxH": Rune(0x02550)
+  of "boxV": Rune(0x02551)
+  of "boxdR": Rune(0x02552)
+  of "boxDr": Rune(0x02553)
+  of "boxDR": Rune(0x02554)
+  of "boxdL": Rune(0x02555)
+  of "boxDl": Rune(0x02556)
+  of "boxDL": Rune(0x02557)
+  of "boxuR": Rune(0x02558)
+  of "boxUr": Rune(0x02559)
+  of "boxUR": Rune(0x0255A)
+  of "boxuL": Rune(0x0255B)
+  of "boxUl": Rune(0x0255C)
+  of "boxUL": Rune(0x0255D)
+  of "boxvR": Rune(0x0255E)
+  of "boxVr": Rune(0x0255F)
+  of "boxVR": Rune(0x02560)
+  of "boxvL": Rune(0x02561)
+  of "boxVl": Rune(0x02562)
+  of "boxVL": Rune(0x02563)
+  of "boxHd": Rune(0x02564)
+  of "boxhD": Rune(0x02565)
+  of "boxHD": Rune(0x02566)
+  of "boxHu": Rune(0x02567)
+  of "boxhU": Rune(0x02568)
+  of "boxHU": Rune(0x02569)
+  of "boxvH": Rune(0x0256A)
+  of "boxVh": Rune(0x0256B)
+  of "boxVH": Rune(0x0256C)
+  of "uhblk": Rune(0x02580)
+  of "lhblk": Rune(0x02584)
+  of "block": Rune(0x02588)
+  of "blk14": Rune(0x02591)
+  of "blk12": Rune(0x02592)
+  of "blk34": Rune(0x02593)
+  of "squ", "square", "Square": Rune(0x025A1)
   of "squf", "squarf", "blacksquare",
-    "FilledVerySmallSquare": result = Rune(0x025AA)
-  of "EmptyVerySmallSquare": result = Rune(0x025AB)
-  of "rect": result = Rune(0x025AD)
-  of "marker": result = Rune(0x025AE)
-  of "fltns": result = Rune(0x025B1)
-  of "xutri", "bigtriangleup": result = Rune(0x025B3)
-  of "utrif", "blacktriangle": result = Rune(0x025B4)
-  of "utri", "triangle": result = Rune(0x025B5)
-  of "rtrif", "blacktriangleright": result = Rune(0x025B8)
-  of "rtri", "triangleright": result = Rune(0x025B9)
-  of "xdtri", "bigtriangledown": result = Rune(0x025BD)
-  of "dtrif", "blacktriangledown": result = Rune(0x025BE)
-  of "dtri", "triangledown": result = Rune(0x025BF)
-  of "ltrif", "blacktriangleleft": result = Rune(0x025C2)
-  of "ltri", "triangleleft": result = Rune(0x025C3)
-  of "loz", "lozenge": result = Rune(0x025CA)
-  of "cir": result = Rune(0x025CB)
-  of "tridot": result = Rune(0x025EC)
-  of "xcirc", "bigcirc": result = Rune(0x025EF)
-  of "ultri": result = Rune(0x025F8)
-  of "urtri": result = Rune(0x025F9)
-  of "lltri": result = Rune(0x025FA)
-  of "EmptySmallSquare": result = Rune(0x025FB)
-  of "FilledSmallSquare": result = Rune(0x025FC)
-  of "starf", "bigstar": result = Rune(0x02605)
-  of "star": result = Rune(0x02606)
-  of "phone": result = Rune(0x0260E)
-  of "female": result = Rune(0x02640)
-  of "male": result = Rune(0x02642)
-  of "spades", "spadesuit": result = Rune(0x02660)
-  of "clubs", "clubsuit": result = Rune(0x02663)
-  of "hearts", "heartsuit": result = Rune(0x02665)
-  of "diams", "diamondsuit": result = Rune(0x02666)
-  of "sung": result = Rune(0x0266A)
-  of "flat": result = Rune(0x0266D)
-  of "natur", "natural": result = Rune(0x0266E)
-  of "sharp": result = Rune(0x0266F)
-  of "check", "checkmark": result = Rune(0x02713)
-  of "cross": result = Rune(0x02717)
-  of "malt", "maltese": result = Rune(0x02720)
-  of "sext": result = Rune(0x02736)
-  of "VerticalSeparator": result = Rune(0x02758)
-  of "lbbrk": result = Rune(0x02772)
-  of "rbbrk": result = Rune(0x02773)
-  of "lobrk", "LeftDoubleBracket": result = Rune(0x027E6)
-  of "robrk", "RightDoubleBracket": result = Rune(0x027E7)
-  of "lang", "LeftAngleBracket", "langle": result = Rune(0x027E8)
-  of "rang", "RightAngleBracket", "rangle": result = Rune(0x027E9)
-  of "Lang": result = Rune(0x027EA)
-  of "Rang": result = Rune(0x027EB)
-  of "loang": result = Rune(0x027EC)
-  of "roang": result = Rune(0x027ED)
-  of "xlarr", "longleftarrow", "LongLeftArrow": result = Rune(0x027F5)
-  of "xrarr", "longrightarrow", "LongRightArrow": result = Rune(0x027F6)
+    "FilledVerySmallSquare": Rune(0x025AA)
+  of "EmptyVerySmallSquare": Rune(0x025AB)
+  of "rect": Rune(0x025AD)
+  of "marker": Rune(0x025AE)
+  of "fltns": Rune(0x025B1)
+  of "xutri", "bigtriangleup": Rune(0x025B3)
+  of "utrif", "blacktriangle": Rune(0x025B4)
+  of "utri", "triangle": Rune(0x025B5)
+  of "rtrif", "blacktriangleright": Rune(0x025B8)
+  of "rtri", "triangleright": Rune(0x025B9)
+  of "xdtri", "bigtriangledown": Rune(0x025BD)
+  of "dtrif", "blacktriangledown": Rune(0x025BE)
+  of "dtri", "triangledown": Rune(0x025BF)
+  of "ltrif", "blacktriangleleft": Rune(0x025C2)
+  of "ltri", "triangleleft": Rune(0x025C3)
+  of "loz", "lozenge": Rune(0x025CA)
+  of "cir": Rune(0x025CB)
+  of "tridot": Rune(0x025EC)
+  of "xcirc", "bigcirc": Rune(0x025EF)
+  of "ultri": Rune(0x025F8)
+  of "urtri": Rune(0x025F9)
+  of "lltri": Rune(0x025FA)
+  of "EmptySmallSquare": Rune(0x025FB)
+  of "FilledSmallSquare": Rune(0x025FC)
+  of "starf", "bigstar": Rune(0x02605)
+  of "star": Rune(0x02606)
+  of "phone": Rune(0x0260E)
+  of "female": Rune(0x02640)
+  of "male": Rune(0x02642)
+  of "spades", "spadesuit": Rune(0x02660)
+  of "clubs", "clubsuit": Rune(0x02663)
+  of "hearts", "heartsuit": Rune(0x02665)
+  of "diams", "diamondsuit": Rune(0x02666)
+  of "sung": Rune(0x0266A)
+  of "flat": Rune(0x0266D)
+  of "natur", "natural": Rune(0x0266E)
+  of "sharp": Rune(0x0266F)
+  of "check", "checkmark": Rune(0x02713)
+  of "cross": Rune(0x02717)
+  of "malt", "maltese": Rune(0x02720)
+  of "sext": Rune(0x02736)
+  of "VerticalSeparator": Rune(0x02758)
+  of "lbbrk": Rune(0x02772)
+  of "rbbrk": Rune(0x02773)
+  of "lobrk", "LeftDoubleBracket": Rune(0x027E6)
+  of "robrk", "RightDoubleBracket": Rune(0x027E7)
+  of "lang", "LeftAngleBracket", "langle": Rune(0x027E8)
+  of "rang", "RightAngleBracket", "rangle": Rune(0x027E9)
+  of "Lang": Rune(0x027EA)
+  of "Rang": Rune(0x027EB)
+  of "loang": Rune(0x027EC)
+  of "roang": Rune(0x027ED)
+  of "xlarr", "longleftarrow", "LongLeftArrow": Rune(0x027F5)
+  of "xrarr", "longrightarrow", "LongRightArrow": Rune(0x027F6)
   of "xharr", "longleftrightarrow",
-    "LongLeftRightArrow": result = Rune(0x027F7)
-  of "xlArr", "Longleftarrow", "DoubleLongLeftArrow": result = Rune(0x027F8)
-  of "xrArr", "Longrightarrow", "DoubleLongRightArrow": result = Rune(0x027F9)
+    "LongLeftRightArrow": Rune(0x027F7)
+  of "xlArr", "Longleftarrow", "DoubleLongLeftArrow": Rune(0x027F8)
+  of "xrArr", "Longrightarrow", "DoubleLongRightArrow": Rune(0x027F9)
   of "xhArr", "Longleftrightarrow",
-    "DoubleLongLeftRightArrow": result = Rune(0x027FA)
-  of "xmap", "longmapsto": result = Rune(0x027FC)
-  of "dzigrarr": result = Rune(0x027FF)
-  of "nvlArr": result = Rune(0x02902)
-  of "nvrArr": result = Rune(0x02903)
-  of "nvHarr": result = Rune(0x02904)
-  of "Map": result = Rune(0x02905)
-  of "lbarr": result = Rune(0x0290C)
-  of "rbarr", "bkarow": result = Rune(0x0290D)
-  of "lBarr": result = Rune(0x0290E)
-  of "rBarr", "dbkarow": result = Rune(0x0290F)
-  of "RBarr", "drbkarow": result = Rune(0x02910)
-  of "DDotrahd": result = Rune(0x02911)
-  of "UpArrowBar": result = Rune(0x02912)
-  of "DownArrowBar": result = Rune(0x02913)
-  of "Rarrtl": result = Rune(0x02916)
-  of "latail": result = Rune(0x02919)
-  of "ratail": result = Rune(0x0291A)
-  of "lAtail": result = Rune(0x0291B)
-  of "rAtail": result = Rune(0x0291C)
-  of "larrfs": result = Rune(0x0291D)
-  of "rarrfs": result = Rune(0x0291E)
-  of "larrbfs": result = Rune(0x0291F)
-  of "rarrbfs": result = Rune(0x02920)
-  of "nwarhk": result = Rune(0x02923)
-  of "nearhk": result = Rune(0x02924)
-  of "searhk", "hksearow": result = Rune(0x02925)
-  of "swarhk", "hkswarow": result = Rune(0x02926)
-  of "nwnear": result = Rune(0x02927)
-  of "nesear", "toea": result = Rune(0x02928)
-  of "seswar", "tosa": result = Rune(0x02929)
-  of "swnwar": result = Rune(0x0292A)
-  of "rarrc": result = Rune(0x02933)
-  of "cudarrr": result = Rune(0x02935)
-  of "ldca": result = Rune(0x02936)
-  of "rdca": result = Rune(0x02937)
-  of "cudarrl": result = Rune(0x02938)
-  of "larrpl": result = Rune(0x02939)
-  of "curarrm": result = Rune(0x0293C)
-  of "cularrp": result = Rune(0x0293D)
-  of "rarrpl": result = Rune(0x02945)
-  of "harrcir": result = Rune(0x02948)
-  of "Uarrocir": result = Rune(0x02949)
-  of "lurdshar": result = Rune(0x0294A)
-  of "ldrushar": result = Rune(0x0294B)
-  of "LeftRightVector": result = Rune(0x0294E)
-  of "RightUpDownVector": result = Rune(0x0294F)
-  of "DownLeftRightVector": result = Rune(0x02950)
-  of "LeftUpDownVector": result = Rune(0x02951)
-  of "LeftVectorBar": result = Rune(0x02952)
-  of "RightVectorBar": result = Rune(0x02953)
-  of "RightUpVectorBar": result = Rune(0x02954)
-  of "RightDownVectorBar": result = Rune(0x02955)
-  of "DownLeftVectorBar": result = Rune(0x02956)
-  of "DownRightVectorBar": result = Rune(0x02957)
-  of "LeftUpVectorBar": result = Rune(0x02958)
-  of "LeftDownVectorBar": result = Rune(0x02959)
-  of "LeftTeeVector": result = Rune(0x0295A)
-  of "RightTeeVector": result = Rune(0x0295B)
-  of "RightUpTeeVector": result = Rune(0x0295C)
-  of "RightDownTeeVector": result = Rune(0x0295D)
-  of "DownLeftTeeVector": result = Rune(0x0295E)
-  of "DownRightTeeVector": result = Rune(0x0295F)
-  of "LeftUpTeeVector": result = Rune(0x02960)
-  of "LeftDownTeeVector": result = Rune(0x02961)
-  of "lHar": result = Rune(0x02962)
-  of "uHar": result = Rune(0x02963)
-  of "rHar": result = Rune(0x02964)
-  of "dHar": result = Rune(0x02965)
-  of "luruhar": result = Rune(0x02966)
-  of "ldrdhar": result = Rune(0x02967)
-  of "ruluhar": result = Rune(0x02968)
-  of "rdldhar": result = Rune(0x02969)
-  of "lharul": result = Rune(0x0296A)
-  of "llhard": result = Rune(0x0296B)
-  of "rharul": result = Rune(0x0296C)
-  of "lrhard": result = Rune(0x0296D)
-  of "udhar", "UpEquilibrium": result = Rune(0x0296E)
-  of "duhar", "ReverseUpEquilibrium": result = Rune(0x0296F)
-  of "RoundImplies": result = Rune(0x02970)
-  of "erarr": result = Rune(0x02971)
-  of "simrarr": result = Rune(0x02972)
-  of "larrsim": result = Rune(0x02973)
-  of "rarrsim": result = Rune(0x02974)
-  of "rarrap": result = Rune(0x02975)
-  of "ltlarr": result = Rune(0x02976)
-  of "gtrarr": result = Rune(0x02978)
-  of "subrarr": result = Rune(0x02979)
-  of "suplarr": result = Rune(0x0297B)
-  of "lfisht": result = Rune(0x0297C)
-  of "rfisht": result = Rune(0x0297D)
-  of "ufisht": result = Rune(0x0297E)
-  of "dfisht": result = Rune(0x0297F)
-  of "lopar": result = Rune(0x02985)
-  of "ropar": result = Rune(0x02986)
-  of "lbrke": result = Rune(0x0298B)
-  of "rbrke": result = Rune(0x0298C)
-  of "lbrkslu": result = Rune(0x0298D)
-  of "rbrksld": result = Rune(0x0298E)
-  of "lbrksld": result = Rune(0x0298F)
-  of "rbrkslu": result = Rune(0x02990)
-  of "langd": result = Rune(0x02991)
-  of "rangd": result = Rune(0x02992)
-  of "lparlt": result = Rune(0x02993)
-  of "rpargt": result = Rune(0x02994)
-  of "gtlPar": result = Rune(0x02995)
-  of "ltrPar": result = Rune(0x02996)
-  of "vzigzag": result = Rune(0x0299A)
-  of "vangrt": result = Rune(0x0299C)
-  of "angrtvbd": result = Rune(0x0299D)
-  of "ange": result = Rune(0x029A4)
-  of "range": result = Rune(0x029A5)
-  of "dwangle": result = Rune(0x029A6)
-  of "uwangle": result = Rune(0x029A7)
-  of "angmsdaa": result = Rune(0x029A8)
-  of "angmsdab": result = Rune(0x029A9)
-  of "angmsdac": result = Rune(0x029AA)
-  of "angmsdad": result = Rune(0x029AB)
-  of "angmsdae": result = Rune(0x029AC)
-  of "angmsdaf": result = Rune(0x029AD)
-  of "angmsdag": result = Rune(0x029AE)
-  of "angmsdah": result = Rune(0x029AF)
-  of "bemptyv": result = Rune(0x029B0)
-  of "demptyv": result = Rune(0x029B1)
-  of "cemptyv": result = Rune(0x029B2)
-  of "raemptyv": result = Rune(0x029B3)
-  of "laemptyv": result = Rune(0x029B4)
-  of "ohbar": result = Rune(0x029B5)
-  of "omid": result = Rune(0x029B6)
-  of "opar": result = Rune(0x029B7)
-  of "operp": result = Rune(0x029B9)
-  of "olcross": result = Rune(0x029BB)
-  of "odsold": result = Rune(0x029BC)
-  of "olcir": result = Rune(0x029BE)
-  of "ofcir": result = Rune(0x029BF)
-  of "olt": result = Rune(0x029C0)
-  of "ogt": result = Rune(0x029C1)
-  of "cirscir": result = Rune(0x029C2)
-  of "cirE": result = Rune(0x029C3)
-  of "solb": result = Rune(0x029C4)
-  of "bsolb": result = Rune(0x029C5)
-  of "boxbox": result = Rune(0x029C9)
-  of "trisb": result = Rune(0x029CD)
-  of "rtriltri": result = Rune(0x029CE)
-  of "LeftTriangleBar": result = Rune(0x029CF)
-  of "RightTriangleBar": result = Rune(0x029D0)
-  of "race": result = Rune(0x029DA)
-  of "iinfin": result = Rune(0x029DC)
-  of "infintie": result = Rune(0x029DD)
-  of "nvinfin": result = Rune(0x029DE)
-  of "eparsl": result = Rune(0x029E3)
-  of "smeparsl": result = Rune(0x029E4)
-  of "eqvparsl": result = Rune(0x029E5)
-  of "lozf", "blacklozenge": result = Rune(0x029EB)
-  of "RuleDelayed": result = Rune(0x029F4)
-  of "dsol": result = Rune(0x029F6)
-  of "xodot", "bigodot": result = Rune(0x02A00)
-  of "xoplus", "bigoplus": result = Rune(0x02A01)
-  of "xotime", "bigotimes": result = Rune(0x02A02)
-  of "xuplus", "biguplus": result = Rune(0x02A04)
-  of "xsqcup", "bigsqcup": result = Rune(0x02A06)
-  of "qint", "iiiint": result = Rune(0x02A0C)
-  of "fpartint": result = Rune(0x02A0D)
-  of "cirfnint": result = Rune(0x02A10)
-  of "awint": result = Rune(0x02A11)
-  of "rppolint": result = Rune(0x02A12)
-  of "scpolint": result = Rune(0x02A13)
-  of "npolint": result = Rune(0x02A14)
-  of "pointint": result = Rune(0x02A15)
-  of "quatint": result = Rune(0x02A16)
-  of "intlarhk": result = Rune(0x02A17)
-  of "pluscir": result = Rune(0x02A22)
-  of "plusacir": result = Rune(0x02A23)
-  of "simplus": result = Rune(0x02A24)
-  of "plusdu": result = Rune(0x02A25)
-  of "plussim": result = Rune(0x02A26)
-  of "plustwo": result = Rune(0x02A27)
-  of "mcomma": result = Rune(0x02A29)
-  of "minusdu": result = Rune(0x02A2A)
-  of "loplus": result = Rune(0x02A2D)
-  of "roplus": result = Rune(0x02A2E)
-  of "Cross": result = Rune(0x02A2F)
-  of "timesd": result = Rune(0x02A30)
-  of "timesbar": result = Rune(0x02A31)
-  of "smashp": result = Rune(0x02A33)
-  of "lotimes": result = Rune(0x02A34)
-  of "rotimes": result = Rune(0x02A35)
-  of "otimesas": result = Rune(0x02A36)
-  of "Otimes": result = Rune(0x02A37)
-  of "odiv": result = Rune(0x02A38)
-  of "triplus": result = Rune(0x02A39)
-  of "triminus": result = Rune(0x02A3A)
-  of "tritime": result = Rune(0x02A3B)
-  of "iprod", "intprod": result = Rune(0x02A3C)
-  of "amalg": result = Rune(0x02A3F)
-  of "capdot": result = Rune(0x02A40)
-  of "ncup": result = Rune(0x02A42)
-  of "ncap": result = Rune(0x02A43)
-  of "capand": result = Rune(0x02A44)
-  of "cupor": result = Rune(0x02A45)
-  of "cupcap": result = Rune(0x02A46)
-  of "capcup": result = Rune(0x02A47)
-  of "cupbrcap": result = Rune(0x02A48)
-  of "capbrcup": result = Rune(0x02A49)
-  of "cupcup": result = Rune(0x02A4A)
-  of "capcap": result = Rune(0x02A4B)
-  of "ccups": result = Rune(0x02A4C)
-  of "ccaps": result = Rune(0x02A4D)
-  of "ccupssm": result = Rune(0x02A50)
-  of "And": result = Rune(0x02A53)
-  of "Or": result = Rune(0x02A54)
-  of "andand": result = Rune(0x02A55)
-  of "oror": result = Rune(0x02A56)
-  of "orslope": result = Rune(0x02A57)
-  of "andslope": result = Rune(0x02A58)
-  of "andv": result = Rune(0x02A5A)
-  of "orv": result = Rune(0x02A5B)
-  of "andd": result = Rune(0x02A5C)
-  of "ord": result = Rune(0x02A5D)
-  of "wedbar": result = Rune(0x02A5F)
-  of "sdote": result = Rune(0x02A66)
-  of "simdot": result = Rune(0x02A6A)
-  of "congdot": result = Rune(0x02A6D)
-  of "easter": result = Rune(0x02A6E)
-  of "apacir": result = Rune(0x02A6F)
-  of "apE": result = Rune(0x02A70)
-  of "eplus": result = Rune(0x02A71)
-  of "pluse": result = Rune(0x02A72)
-  of "Esim": result = Rune(0x02A73)
-  of "Colone": result = Rune(0x02A74)
-  of "Equal": result = Rune(0x02A75)
-  of "eDDot", "ddotseq": result = Rune(0x02A77)
-  of "equivDD": result = Rune(0x02A78)
-  of "ltcir": result = Rune(0x02A79)
-  of "gtcir": result = Rune(0x02A7A)
-  of "ltquest": result = Rune(0x02A7B)
-  of "gtquest": result = Rune(0x02A7C)
-  of "les", "LessSlantEqual", "leqslant": result = Rune(0x02A7D)
-  of "ges", "GreaterSlantEqual", "geqslant": result = Rune(0x02A7E)
-  of "lesdot": result = Rune(0x02A7F)
-  of "gesdot": result = Rune(0x02A80)
-  of "lesdoto": result = Rune(0x02A81)
-  of "gesdoto": result = Rune(0x02A82)
-  of "lesdotor": result = Rune(0x02A83)
-  of "gesdotol": result = Rune(0x02A84)
-  of "lap", "lessapprox": result = Rune(0x02A85)
-  of "gap", "gtrapprox": result = Rune(0x02A86)
-  of "lne", "lneq": result = Rune(0x02A87)
-  of "gne", "gneq": result = Rune(0x02A88)
-  of "lnap", "lnapprox": result = Rune(0x02A89)
-  of "gnap", "gnapprox": result = Rune(0x02A8A)
-  of "lEg", "lesseqqgtr": result = Rune(0x02A8B)
-  of "gEl", "gtreqqless": result = Rune(0x02A8C)
-  of "lsime": result = Rune(0x02A8D)
-  of "gsime": result = Rune(0x02A8E)
-  of "lsimg": result = Rune(0x02A8F)
-  of "gsiml": result = Rune(0x02A90)
-  of "lgE": result = Rune(0x02A91)
-  of "glE": result = Rune(0x02A92)
-  of "lesges": result = Rune(0x02A93)
-  of "gesles": result = Rune(0x02A94)
-  of "els", "eqslantless": result = Rune(0x02A95)
-  of "egs", "eqslantgtr": result = Rune(0x02A96)
-  of "elsdot": result = Rune(0x02A97)
-  of "egsdot": result = Rune(0x02A98)
-  of "el": result = Rune(0x02A99)
-  of "eg": result = Rune(0x02A9A)
-  of "siml": result = Rune(0x02A9D)
-  of "simg": result = Rune(0x02A9E)
-  of "simlE": result = Rune(0x02A9F)
-  of "simgE": result = Rune(0x02AA0)
-  of "LessLess": result = Rune(0x02AA1)
-  of "GreaterGreater": result = Rune(0x02AA2)
-  of "glj": result = Rune(0x02AA4)
-  of "gla": result = Rune(0x02AA5)
-  of "ltcc": result = Rune(0x02AA6)
-  of "gtcc": result = Rune(0x02AA7)
-  of "lescc": result = Rune(0x02AA8)
-  of "gescc": result = Rune(0x02AA9)
-  of "smt": result = Rune(0x02AAA)
-  of "lat": result = Rune(0x02AAB)
-  of "smte": result = Rune(0x02AAC)
-  of "late": result = Rune(0x02AAD)
-  of "bumpE": result = Rune(0x02AAE)
-  of "pre", "preceq", "PrecedesEqual": result = Rune(0x02AAF)
-  of "sce", "succeq", "SucceedsEqual": result = Rune(0x02AB0)
-  of "prE": result = Rune(0x02AB3)
-  of "scE": result = Rune(0x02AB4)
-  of "prnE", "precneqq": result = Rune(0x02AB5)
-  of "scnE", "succneqq": result = Rune(0x02AB6)
-  of "prap", "precapprox": result = Rune(0x02AB7)
-  of "scap", "succapprox": result = Rune(0x02AB8)
-  of "prnap", "precnapprox": result = Rune(0x02AB9)
-  of "scnap", "succnapprox": result = Rune(0x02ABA)
-  of "Pr": result = Rune(0x02ABB)
-  of "Sc": result = Rune(0x02ABC)
-  of "subdot": result = Rune(0x02ABD)
-  of "supdot": result = Rune(0x02ABE)
-  of "subplus": result = Rune(0x02ABF)
-  of "supplus": result = Rune(0x02AC0)
-  of "submult": result = Rune(0x02AC1)
-  of "supmult": result = Rune(0x02AC2)
-  of "subedot": result = Rune(0x02AC3)
-  of "supedot": result = Rune(0x02AC4)
-  of "subE", "subseteqq": result = Rune(0x02AC5)
-  of "supE", "supseteqq": result = Rune(0x02AC6)
-  of "subsim": result = Rune(0x02AC7)
-  of "supsim": result = Rune(0x02AC8)
-  of "subnE", "subsetneqq": result = Rune(0x02ACB)
-  of "supnE", "supsetneqq": result = Rune(0x02ACC)
-  of "csub": result = Rune(0x02ACF)
-  of "csup": result = Rune(0x02AD0)
-  of "csube": result = Rune(0x02AD1)
-  of "csupe": result = Rune(0x02AD2)
-  of "subsup": result = Rune(0x02AD3)
-  of "supsub": result = Rune(0x02AD4)
-  of "subsub": result = Rune(0x02AD5)
-  of "supsup": result = Rune(0x02AD6)
-  of "suphsub": result = Rune(0x02AD7)
-  of "supdsub": result = Rune(0x02AD8)
-  of "forkv": result = Rune(0x02AD9)
-  of "topfork": result = Rune(0x02ADA)
-  of "mlcp": result = Rune(0x02ADB)
-  of "Dashv", "DoubleLeftTee": result = Rune(0x02AE4)
-  of "Vdashl": result = Rune(0x02AE6)
-  of "Barv": result = Rune(0x02AE7)
-  of "vBar": result = Rune(0x02AE8)
-  of "vBarv": result = Rune(0x02AE9)
-  of "Vbar": result = Rune(0x02AEB)
-  of "Not": result = Rune(0x02AEC)
-  of "bNot": result = Rune(0x02AED)
-  of "rnmid": result = Rune(0x02AEE)
-  of "cirmid": result = Rune(0x02AEF)
-  of "midcir": result = Rune(0x02AF0)
-  of "topcir": result = Rune(0x02AF1)
-  of "nhpar": result = Rune(0x02AF2)
-  of "parsim": result = Rune(0x02AF3)
-  of "parsl": result = Rune(0x02AFD)
-  of "fflig": result = Rune(0x0FB00)
-  of "filig": result = Rune(0x0FB01)
-  of "fllig": result = Rune(0x0FB02)
-  of "ffilig": result = Rune(0x0FB03)
-  of "ffllig": result = Rune(0x0FB04)
-  of "Ascr": result = Rune(0x1D49C)
-  of "Cscr": result = Rune(0x1D49E)
-  of "Dscr": result = Rune(0x1D49F)
-  of "Gscr": result = Rune(0x1D4A2)
-  of "Jscr": result = Rune(0x1D4A5)
-  of "Kscr": result = Rune(0x1D4A6)
-  of "Nscr": result = Rune(0x1D4A9)
-  of "Oscr": result = Rune(0x1D4AA)
-  of "Pscr": result = Rune(0x1D4AB)
-  of "Qscr": result = Rune(0x1D4AC)
-  of "Sscr": result = Rune(0x1D4AE)
-  of "Tscr": result = Rune(0x1D4AF)
-  of "Uscr": result = Rune(0x1D4B0)
-  of "Vscr": result = Rune(0x1D4B1)
-  of "Wscr": result = Rune(0x1D4B2)
-  of "Xscr": result = Rune(0x1D4B3)
-  of "Yscr": result = Rune(0x1D4B4)
-  of "Zscr": result = Rune(0x1D4B5)
-  of "ascr": result = Rune(0x1D4B6)
-  of "bscr": result = Rune(0x1D4B7)
-  of "cscr": result = Rune(0x1D4B8)
-  of "dscr": result = Rune(0x1D4B9)
-  of "fscr": result = Rune(0x1D4BB)
-  of "hscr": result = Rune(0x1D4BD)
-  of "iscr": result = Rune(0x1D4BE)
-  of "jscr": result = Rune(0x1D4BF)
-  of "kscr": result = Rune(0x1D4C0)
-  of "lscr": result = Rune(0x1D4C1)
-  of "mscr": result = Rune(0x1D4C2)
-  of "nscr": result = Rune(0x1D4C3)
-  of "pscr": result = Rune(0x1D4C5)
-  of "qscr": result = Rune(0x1D4C6)
-  of "rscr": result = Rune(0x1D4C7)
-  of "sscr": result = Rune(0x1D4C8)
-  of "tscr": result = Rune(0x1D4C9)
-  of "uscr": result = Rune(0x1D4CA)
-  of "vscr": result = Rune(0x1D4CB)
-  of "wscr": result = Rune(0x1D4CC)
-  of "xscr": result = Rune(0x1D4CD)
-  of "yscr": result = Rune(0x1D4CE)
-  of "zscr": result = Rune(0x1D4CF)
-  of "Afr": result = Rune(0x1D504)
-  of "Bfr": result = Rune(0x1D505)
-  of "Dfr": result = Rune(0x1D507)
-  of "Efr": result = Rune(0x1D508)
-  of "Ffr": result = Rune(0x1D509)
-  of "Gfr": result = Rune(0x1D50A)
-  of "Jfr": result = Rune(0x1D50D)
-  of "Kfr": result = Rune(0x1D50E)
-  of "Lfr": result = Rune(0x1D50F)
-  of "Mfr": result = Rune(0x1D510)
-  of "Nfr": result = Rune(0x1D511)
-  of "Ofr": result = Rune(0x1D512)
-  of "Pfr": result = Rune(0x1D513)
-  of "Qfr": result = Rune(0x1D514)
-  of "Sfr": result = Rune(0x1D516)
-  of "Tfr": result = Rune(0x1D517)
-  of "Ufr": result = Rune(0x1D518)
-  of "Vfr": result = Rune(0x1D519)
-  of "Wfr": result = Rune(0x1D51A)
-  of "Xfr": result = Rune(0x1D51B)
-  of "Yfr": result = Rune(0x1D51C)
-  of "afr": result = Rune(0x1D51E)
-  of "bfr": result = Rune(0x1D51F)
-  of "cfr": result = Rune(0x1D520)
-  of "dfr": result = Rune(0x1D521)
-  of "efr": result = Rune(0x1D522)
-  of "ffr": result = Rune(0x1D523)
-  of "gfr": result = Rune(0x1D524)
-  of "hfr": result = Rune(0x1D525)
-  of "ifr": result = Rune(0x1D526)
-  of "jfr": result = Rune(0x1D527)
-  of "kfr": result = Rune(0x1D528)
-  of "lfr": result = Rune(0x1D529)
-  of "mfr": result = Rune(0x1D52A)
-  of "nfr": result = Rune(0x1D52B)
-  of "ofr": result = Rune(0x1D52C)
-  of "pfr": result = Rune(0x1D52D)
-  of "qfr": result = Rune(0x1D52E)
-  of "rfr": result = Rune(0x1D52F)
-  of "sfr": result = Rune(0x1D530)
-  of "tfr": result = Rune(0x1D531)
-  of "ufr": result = Rune(0x1D532)
-  of "vfr": result = Rune(0x1D533)
-  of "wfr": result = Rune(0x1D534)
-  of "xfr": result = Rune(0x1D535)
-  of "yfr": result = Rune(0x1D536)
-  of "zfr": result = Rune(0x1D537)
-  of "Aopf": result = Rune(0x1D538)
-  of "Bopf": result = Rune(0x1D539)
-  of "Dopf": result = Rune(0x1D53B)
-  of "Eopf": result = Rune(0x1D53C)
-  of "Fopf": result = Rune(0x1D53D)
-  of "Gopf": result = Rune(0x1D53E)
-  of "Iopf": result = Rune(0x1D540)
-  of "Jopf": result = Rune(0x1D541)
-  of "Kopf": result = Rune(0x1D542)
-  of "Lopf": result = Rune(0x1D543)
-  of "Mopf": result = Rune(0x1D544)
-  of "Oopf": result = Rune(0x1D546)
-  of "Sopf": result = Rune(0x1D54A)
-  of "Topf": result = Rune(0x1D54B)
-  of "Uopf": result = Rune(0x1D54C)
-  of "Vopf": result = Rune(0x1D54D)
-  of "Wopf": result = Rune(0x1D54E)
-  of "Xopf": result = Rune(0x1D54F)
-  of "Yopf": result = Rune(0x1D550)
-  of "aopf": result = Rune(0x1D552)
-  of "bopf": result = Rune(0x1D553)
-  of "copf": result = Rune(0x1D554)
-  of "dopf": result = Rune(0x1D555)
-  of "eopf": result = Rune(0x1D556)
-  of "fopf": result = Rune(0x1D557)
-  of "gopf": result = Rune(0x1D558)
-  of "hopf": result = Rune(0x1D559)
-  of "iopf": result = Rune(0x1D55A)
-  of "jopf": result = Rune(0x1D55B)
-  of "kopf": result = Rune(0x1D55C)
-  of "lopf": result = Rune(0x1D55D)
-  of "mopf": result = Rune(0x1D55E)
-  of "nopf": result = Rune(0x1D55F)
-  of "oopf": result = Rune(0x1D560)
-  of "popf": result = Rune(0x1D561)
-  of "qopf": result = Rune(0x1D562)
-  of "ropf": result = Rune(0x1D563)
-  of "sopf": result = Rune(0x1D564)
-  of "topf": result = Rune(0x1D565)
-  of "uopf": result = Rune(0x1D566)
-  of "vopf": result = Rune(0x1D567)
-  of "wopf": result = Rune(0x1D568)
-  of "xopf": result = Rune(0x1D569)
-  of "yopf": result = Rune(0x1D56A)
-  of "zopf": result = Rune(0x1D56B)
-  else: discard
+    "DoubleLongLeftRightArrow": Rune(0x027FA)
+  of "xmap", "longmapsto": Rune(0x027FC)
+  of "dzigrarr": Rune(0x027FF)
+  of "nvlArr": Rune(0x02902)
+  of "nvrArr": Rune(0x02903)
+  of "nvHarr": Rune(0x02904)
+  of "Map": Rune(0x02905)
+  of "lbarr": Rune(0x0290C)
+  of "rbarr", "bkarow": Rune(0x0290D)
+  of "lBarr": Rune(0x0290E)
+  of "rBarr", "dbkarow": Rune(0x0290F)
+  of "RBarr", "drbkarow": Rune(0x02910)
+  of "DDotrahd": Rune(0x02911)
+  of "UpArrowBar": Rune(0x02912)
+  of "DownArrowBar": Rune(0x02913)
+  of "Rarrtl": Rune(0x02916)
+  of "latail": Rune(0x02919)
+  of "ratail": Rune(0x0291A)
+  of "lAtail": Rune(0x0291B)
+  of "rAtail": Rune(0x0291C)
+  of "larrfs": Rune(0x0291D)
+  of "rarrfs": Rune(0x0291E)
+  of "larrbfs": Rune(0x0291F)
+  of "rarrbfs": Rune(0x02920)
+  of "nwarhk": Rune(0x02923)
+  of "nearhk": Rune(0x02924)
+  of "searhk", "hksearow": Rune(0x02925)
+  of "swarhk", "hkswarow": Rune(0x02926)
+  of "nwnear": Rune(0x02927)
+  of "nesear", "toea": Rune(0x02928)
+  of "seswar", "tosa": Rune(0x02929)
+  of "swnwar": Rune(0x0292A)
+  of "rarrc": Rune(0x02933)
+  of "cudarrr": Rune(0x02935)
+  of "ldca": Rune(0x02936)
+  of "rdca": Rune(0x02937)
+  of "cudarrl": Rune(0x02938)
+  of "larrpl": Rune(0x02939)
+  of "curarrm": Rune(0x0293C)
+  of "cularrp": Rune(0x0293D)
+  of "rarrpl": Rune(0x02945)
+  of "harrcir": Rune(0x02948)
+  of "Uarrocir": Rune(0x02949)
+  of "lurdshar": Rune(0x0294A)
+  of "ldrushar": Rune(0x0294B)
+  of "LeftRightVector": Rune(0x0294E)
+  of "RightUpDownVector": Rune(0x0294F)
+  of "DownLeftRightVector": Rune(0x02950)
+  of "LeftUpDownVector": Rune(0x02951)
+  of "LeftVectorBar": Rune(0x02952)
+  of "RightVectorBar": Rune(0x02953)
+  of "RightUpVectorBar": Rune(0x02954)
+  of "RightDownVectorBar": Rune(0x02955)
+  of "DownLeftVectorBar": Rune(0x02956)
+  of "DownRightVectorBar": Rune(0x02957)
+  of "LeftUpVectorBar": Rune(0x02958)
+  of "LeftDownVectorBar": Rune(0x02959)
+  of "LeftTeeVector": Rune(0x0295A)
+  of "RightTeeVector": Rune(0x0295B)
+  of "RightUpTeeVector": Rune(0x0295C)
+  of "RightDownTeeVector": Rune(0x0295D)
+  of "DownLeftTeeVector": Rune(0x0295E)
+  of "DownRightTeeVector": Rune(0x0295F)
+  of "LeftUpTeeVector": Rune(0x02960)
+  of "LeftDownTeeVector": Rune(0x02961)
+  of "lHar": Rune(0x02962)
+  of "uHar": Rune(0x02963)
+  of "rHar": Rune(0x02964)
+  of "dHar": Rune(0x02965)
+  of "luruhar": Rune(0x02966)
+  of "ldrdhar": Rune(0x02967)
+  of "ruluhar": Rune(0x02968)
+  of "rdldhar": Rune(0x02969)
+  of "lharul": Rune(0x0296A)
+  of "llhard": Rune(0x0296B)
+  of "rharul": Rune(0x0296C)
+  of "lrhard": Rune(0x0296D)
+  of "udhar", "UpEquilibrium": Rune(0x0296E)
+  of "duhar", "ReverseUpEquilibrium": Rune(0x0296F)
+  of "RoundImplies": Rune(0x02970)
+  of "erarr": Rune(0x02971)
+  of "simrarr": Rune(0x02972)
+  of "larrsim": Rune(0x02973)
+  of "rarrsim": Rune(0x02974)
+  of "rarrap": Rune(0x02975)
+  of "ltlarr": Rune(0x02976)
+  of "gtrarr": Rune(0x02978)
+  of "subrarr": Rune(0x02979)
+  of "suplarr": Rune(0x0297B)
+  of "lfisht": Rune(0x0297C)
+  of "rfisht": Rune(0x0297D)
+  of "ufisht": Rune(0x0297E)
+  of "dfisht": Rune(0x0297F)
+  of "lopar": Rune(0x02985)
+  of "ropar": Rune(0x02986)
+  of "lbrke": Rune(0x0298B)
+  of "rbrke": Rune(0x0298C)
+  of "lbrkslu": Rune(0x0298D)
+  of "rbrksld": Rune(0x0298E)
+  of "lbrksld": Rune(0x0298F)
+  of "rbrkslu": Rune(0x02990)
+  of "langd": Rune(0x02991)
+  of "rangd": Rune(0x02992)
+  of "lparlt": Rune(0x02993)
+  of "rpargt": Rune(0x02994)
+  of "gtlPar": Rune(0x02995)
+  of "ltrPar": Rune(0x02996)
+  of "vzigzag": Rune(0x0299A)
+  of "vangrt": Rune(0x0299C)
+  of "angrtvbd": Rune(0x0299D)
+  of "ange": Rune(0x029A4)
+  of "range": Rune(0x029A5)
+  of "dwangle": Rune(0x029A6)
+  of "uwangle": Rune(0x029A7)
+  of "angmsdaa": Rune(0x029A8)
+  of "angmsdab": Rune(0x029A9)
+  of "angmsdac": Rune(0x029AA)
+  of "angmsdad": Rune(0x029AB)
+  of "angmsdae": Rune(0x029AC)
+  of "angmsdaf": Rune(0x029AD)
+  of "angmsdag": Rune(0x029AE)
+  of "angmsdah": Rune(0x029AF)
+  of "bemptyv": Rune(0x029B0)
+  of "demptyv": Rune(0x029B1)
+  of "cemptyv": Rune(0x029B2)
+  of "raemptyv": Rune(0x029B3)
+  of "laemptyv": Rune(0x029B4)
+  of "ohbar": Rune(0x029B5)
+  of "omid": Rune(0x029B6)
+  of "opar": Rune(0x029B7)
+  of "operp": Rune(0x029B9)
+  of "olcross": Rune(0x029BB)
+  of "odsold": Rune(0x029BC)
+  of "olcir": Rune(0x029BE)
+  of "ofcir": Rune(0x029BF)
+  of "olt": Rune(0x029C0)
+  of "ogt": Rune(0x029C1)
+  of "cirscir": Rune(0x029C2)
+  of "cirE": Rune(0x029C3)
+  of "solb": Rune(0x029C4)
+  of "bsolb": Rune(0x029C5)
+  of "boxbox": Rune(0x029C9)
+  of "trisb": Rune(0x029CD)
+  of "rtriltri": Rune(0x029CE)
+  of "LeftTriangleBar": Rune(0x029CF)
+  of "RightTriangleBar": Rune(0x029D0)
+  of "race": Rune(0x029DA)
+  of "iinfin": Rune(0x029DC)
+  of "infintie": Rune(0x029DD)
+  of "nvinfin": Rune(0x029DE)
+  of "eparsl": Rune(0x029E3)
+  of "smeparsl": Rune(0x029E4)
+  of "eqvparsl": Rune(0x029E5)
+  of "lozf", "blacklozenge": Rune(0x029EB)
+  of "RuleDelayed": Rune(0x029F4)
+  of "dsol": Rune(0x029F6)
+  of "xodot", "bigodot": Rune(0x02A00)
+  of "xoplus", "bigoplus": Rune(0x02A01)
+  of "xotime", "bigotimes": Rune(0x02A02)
+  of "xuplus", "biguplus": Rune(0x02A04)
+  of "xsqcup", "bigsqcup": Rune(0x02A06)
+  of "qint", "iiiint": Rune(0x02A0C)
+  of "fpartint": Rune(0x02A0D)
+  of "cirfnint": Rune(0x02A10)
+  of "awint": Rune(0x02A11)
+  of "rppolint": Rune(0x02A12)
+  of "scpolint": Rune(0x02A13)
+  of "npolint": Rune(0x02A14)
+  of "pointint": Rune(0x02A15)
+  of "quatint": Rune(0x02A16)
+  of "intlarhk": Rune(0x02A17)
+  of "pluscir": Rune(0x02A22)
+  of "plusacir": Rune(0x02A23)
+  of "simplus": Rune(0x02A24)
+  of "plusdu": Rune(0x02A25)
+  of "plussim": Rune(0x02A26)
+  of "plustwo": Rune(0x02A27)
+  of "mcomma": Rune(0x02A29)
+  of "minusdu": Rune(0x02A2A)
+  of "loplus": Rune(0x02A2D)
+  of "roplus": Rune(0x02A2E)
+  of "Cross": Rune(0x02A2F)
+  of "timesd": Rune(0x02A30)
+  of "timesbar": Rune(0x02A31)
+  of "smashp": Rune(0x02A33)
+  of "lotimes": Rune(0x02A34)
+  of "rotimes": Rune(0x02A35)
+  of "otimesas": Rune(0x02A36)
+  of "Otimes": Rune(0x02A37)
+  of "odiv": Rune(0x02A38)
+  of "triplus": Rune(0x02A39)
+  of "triminus": Rune(0x02A3A)
+  of "tritime": Rune(0x02A3B)
+  of "iprod", "intprod": Rune(0x02A3C)
+  of "amalg": Rune(0x02A3F)
+  of "capdot": Rune(0x02A40)
+  of "ncup": Rune(0x02A42)
+  of "ncap": Rune(0x02A43)
+  of "capand": Rune(0x02A44)
+  of "cupor": Rune(0x02A45)
+  of "cupcap": Rune(0x02A46)
+  of "capcup": Rune(0x02A47)
+  of "cupbrcap": Rune(0x02A48)
+  of "capbrcup": Rune(0x02A49)
+  of "cupcup": Rune(0x02A4A)
+  of "capcap": Rune(0x02A4B)
+  of "ccups": Rune(0x02A4C)
+  of "ccaps": Rune(0x02A4D)
+  of "ccupssm": Rune(0x02A50)
+  of "And": Rune(0x02A53)
+  of "Or": Rune(0x02A54)
+  of "andand": Rune(0x02A55)
+  of "oror": Rune(0x02A56)
+  of "orslope": Rune(0x02A57)
+  of "andslope": Rune(0x02A58)
+  of "andv": Rune(0x02A5A)
+  of "orv": Rune(0x02A5B)
+  of "andd": Rune(0x02A5C)
+  of "ord": Rune(0x02A5D)
+  of "wedbar": Rune(0x02A5F)
+  of "sdote": Rune(0x02A66)
+  of "simdot": Rune(0x02A6A)
+  of "congdot": Rune(0x02A6D)
+  of "easter": Rune(0x02A6E)
+  of "apacir": Rune(0x02A6F)
+  of "apE": Rune(0x02A70)
+  of "eplus": Rune(0x02A71)
+  of "pluse": Rune(0x02A72)
+  of "Esim": Rune(0x02A73)
+  of "Colone": Rune(0x02A74)
+  of "Equal": Rune(0x02A75)
+  of "eDDot", "ddotseq": Rune(0x02A77)
+  of "equivDD": Rune(0x02A78)
+  of "ltcir": Rune(0x02A79)
+  of "gtcir": Rune(0x02A7A)
+  of "ltquest": Rune(0x02A7B)
+  of "gtquest": Rune(0x02A7C)
+  of "les", "LessSlantEqual", "leqslant": Rune(0x02A7D)
+  of "ges", "GreaterSlantEqual", "geqslant": Rune(0x02A7E)
+  of "lesdot": Rune(0x02A7F)
+  of "gesdot": Rune(0x02A80)
+  of "lesdoto": Rune(0x02A81)
+  of "gesdoto": Rune(0x02A82)
+  of "lesdotor": Rune(0x02A83)
+  of "gesdotol": Rune(0x02A84)
+  of "lap", "lessapprox": Rune(0x02A85)
+  of "gap", "gtrapprox": Rune(0x02A86)
+  of "lne", "lneq": Rune(0x02A87)
+  of "gne", "gneq": Rune(0x02A88)
+  of "lnap", "lnapprox": Rune(0x02A89)
+  of "gnap", "gnapprox": Rune(0x02A8A)
+  of "lEg", "lesseqqgtr": Rune(0x02A8B)
+  of "gEl", "gtreqqless": Rune(0x02A8C)
+  of "lsime": Rune(0x02A8D)
+  of "gsime": Rune(0x02A8E)
+  of "lsimg": Rune(0x02A8F)
+  of "gsiml": Rune(0x02A90)
+  of "lgE": Rune(0x02A91)
+  of "glE": Rune(0x02A92)
+  of "lesges": Rune(0x02A93)
+  of "gesles": Rune(0x02A94)
+  of "els", "eqslantless": Rune(0x02A95)
+  of "egs", "eqslantgtr": Rune(0x02A96)
+  of "elsdot": Rune(0x02A97)
+  of "egsdot": Rune(0x02A98)
+  of "el": Rune(0x02A99)
+  of "eg": Rune(0x02A9A)
+  of "siml": Rune(0x02A9D)
+  of "simg": Rune(0x02A9E)
+  of "simlE": Rune(0x02A9F)
+  of "simgE": Rune(0x02AA0)
+  of "LessLess": Rune(0x02AA1)
+  of "GreaterGreater": Rune(0x02AA2)
+  of "glj": Rune(0x02AA4)
+  of "gla": Rune(0x02AA5)
+  of "ltcc": Rune(0x02AA6)
+  of "gtcc": Rune(0x02AA7)
+  of "lescc": Rune(0x02AA8)
+  of "gescc": Rune(0x02AA9)
+  of "smt": Rune(0x02AAA)
+  of "lat": Rune(0x02AAB)
+  of "smte": Rune(0x02AAC)
+  of "late": Rune(0x02AAD)
+  of "bumpE": Rune(0x02AAE)
+  of "pre", "preceq", "PrecedesEqual": Rune(0x02AAF)
+  of "sce", "succeq", "SucceedsEqual": Rune(0x02AB0)
+  of "prE": Rune(0x02AB3)
+  of "scE": Rune(0x02AB4)
+  of "prnE", "precneqq": Rune(0x02AB5)
+  of "scnE", "succneqq": Rune(0x02AB6)
+  of "prap", "precapprox": Rune(0x02AB7)
+  of "scap", "succapprox": Rune(0x02AB8)
+  of "prnap", "precnapprox": Rune(0x02AB9)
+  of "scnap", "succnapprox": Rune(0x02ABA)
+  of "Pr": Rune(0x02ABB)
+  of "Sc": Rune(0x02ABC)
+  of "subdot": Rune(0x02ABD)
+  of "supdot": Rune(0x02ABE)
+  of "subplus": Rune(0x02ABF)
+  of "supplus": Rune(0x02AC0)
+  of "submult": Rune(0x02AC1)
+  of "supmult": Rune(0x02AC2)
+  of "subedot": Rune(0x02AC3)
+  of "supedot": Rune(0x02AC4)
+  of "subE", "subseteqq": Rune(0x02AC5)
+  of "supE", "supseteqq": Rune(0x02AC6)
+  of "subsim": Rune(0x02AC7)
+  of "supsim": Rune(0x02AC8)
+  of "subnE", "subsetneqq": Rune(0x02ACB)
+  of "supnE", "supsetneqq": Rune(0x02ACC)
+  of "csub": Rune(0x02ACF)
+  of "csup": Rune(0x02AD0)
+  of "csube": Rune(0x02AD1)
+  of "csupe": Rune(0x02AD2)
+  of "subsup": Rune(0x02AD3)
+  of "supsub": Rune(0x02AD4)
+  of "subsub": Rune(0x02AD5)
+  of "supsup": Rune(0x02AD6)
+  of "suphsub": Rune(0x02AD7)
+  of "supdsub": Rune(0x02AD8)
+  of "forkv": Rune(0x02AD9)
+  of "topfork": Rune(0x02ADA)
+  of "mlcp": Rune(0x02ADB)
+  of "Dashv", "DoubleLeftTee": Rune(0x02AE4)
+  of "Vdashl": Rune(0x02AE6)
+  of "Barv": Rune(0x02AE7)
+  of "vBar": Rune(0x02AE8)
+  of "vBarv": Rune(0x02AE9)
+  of "Vbar": Rune(0x02AEB)
+  of "Not": Rune(0x02AEC)
+  of "bNot": Rune(0x02AED)
+  of "rnmid": Rune(0x02AEE)
+  of "cirmid": Rune(0x02AEF)
+  of "midcir": Rune(0x02AF0)
+  of "topcir": Rune(0x02AF1)
+  of "nhpar": Rune(0x02AF2)
+  of "parsim": Rune(0x02AF3)
+  of "parsl": Rune(0x02AFD)
+  of "fflig": Rune(0x0FB00)
+  of "filig": Rune(0x0FB01)
+  of "fllig": Rune(0x0FB02)
+  of "ffilig": Rune(0x0FB03)
+  of "ffllig": Rune(0x0FB04)
+  of "Ascr": Rune(0x1D49C)
+  of "Cscr": Rune(0x1D49E)
+  of "Dscr": Rune(0x1D49F)
+  of "Gscr": Rune(0x1D4A2)
+  of "Jscr": Rune(0x1D4A5)
+  of "Kscr": Rune(0x1D4A6)
+  of "Nscr": Rune(0x1D4A9)
+  of "Oscr": Rune(0x1D4AA)
+  of "Pscr": Rune(0x1D4AB)
+  of "Qscr": Rune(0x1D4AC)
+  of "Sscr": Rune(0x1D4AE)
+  of "Tscr": Rune(0x1D4AF)
+  of "Uscr": Rune(0x1D4B0)
+  of "Vscr": Rune(0x1D4B1)
+  of "Wscr": Rune(0x1D4B2)
+  of "Xscr": Rune(0x1D4B3)
+  of "Yscr": Rune(0x1D4B4)
+  of "Zscr": Rune(0x1D4B5)
+  of "ascr": Rune(0x1D4B6)
+  of "bscr": Rune(0x1D4B7)
+  of "cscr": Rune(0x1D4B8)
+  of "dscr": Rune(0x1D4B9)
+  of "fscr": Rune(0x1D4BB)
+  of "hscr": Rune(0x1D4BD)
+  of "iscr": Rune(0x1D4BE)
+  of "jscr": Rune(0x1D4BF)
+  of "kscr": Rune(0x1D4C0)
+  of "lscr": Rune(0x1D4C1)
+  of "mscr": Rune(0x1D4C2)
+  of "nscr": Rune(0x1D4C3)
+  of "pscr": Rune(0x1D4C5)
+  of "qscr": Rune(0x1D4C6)
+  of "rscr": Rune(0x1D4C7)
+  of "sscr": Rune(0x1D4C8)
+  of "tscr": Rune(0x1D4C9)
+  of "uscr": Rune(0x1D4CA)
+  of "vscr": Rune(0x1D4CB)
+  of "wscr": Rune(0x1D4CC)
+  of "xscr": Rune(0x1D4CD)
+  of "yscr": Rune(0x1D4CE)
+  of "zscr": Rune(0x1D4CF)
+  of "Afr": Rune(0x1D504)
+  of "Bfr": Rune(0x1D505)
+  of "Dfr": Rune(0x1D507)
+  of "Efr": Rune(0x1D508)
+  of "Ffr": Rune(0x1D509)
+  of "Gfr": Rune(0x1D50A)
+  of "Jfr": Rune(0x1D50D)
+  of "Kfr": Rune(0x1D50E)
+  of "Lfr": Rune(0x1D50F)
+  of "Mfr": Rune(0x1D510)
+  of "Nfr": Rune(0x1D511)
+  of "Ofr": Rune(0x1D512)
+  of "Pfr": Rune(0x1D513)
+  of "Qfr": Rune(0x1D514)
+  of "Sfr": Rune(0x1D516)
+  of "Tfr": Rune(0x1D517)
+  of "Ufr": Rune(0x1D518)
+  of "Vfr": Rune(0x1D519)
+  of "Wfr": Rune(0x1D51A)
+  of "Xfr": Rune(0x1D51B)
+  of "Yfr": Rune(0x1D51C)
+  of "afr": Rune(0x1D51E)
+  of "bfr": Rune(0x1D51F)
+  of "cfr": Rune(0x1D520)
+  of "dfr": Rune(0x1D521)
+  of "efr": Rune(0x1D522)
+  of "ffr": Rune(0x1D523)
+  of "gfr": Rune(0x1D524)
+  of "hfr": Rune(0x1D525)
+  of "ifr": Rune(0x1D526)
+  of "jfr": Rune(0x1D527)
+  of "kfr": Rune(0x1D528)
+  of "lfr": Rune(0x1D529)
+  of "mfr": Rune(0x1D52A)
+  of "nfr": Rune(0x1D52B)
+  of "ofr": Rune(0x1D52C)
+  of "pfr": Rune(0x1D52D)
+  of "qfr": Rune(0x1D52E)
+  of "rfr": Rune(0x1D52F)
+  of "sfr": Rune(0x1D530)
+  of "tfr": Rune(0x1D531)
+  of "ufr": Rune(0x1D532)
+  of "vfr": Rune(0x1D533)
+  of "wfr": Rune(0x1D534)
+  of "xfr": Rune(0x1D535)
+  of "yfr": Rune(0x1D536)
+  of "zfr": Rune(0x1D537)
+  of "Aopf": Rune(0x1D538)
+  of "Bopf": Rune(0x1D539)
+  of "Dopf": Rune(0x1D53B)
+  of "Eopf": Rune(0x1D53C)
+  of "Fopf": Rune(0x1D53D)
+  of "Gopf": Rune(0x1D53E)
+  of "Iopf": Rune(0x1D540)
+  of "Jopf": Rune(0x1D541)
+  of "Kopf": Rune(0x1D542)
+  of "Lopf": Rune(0x1D543)
+  of "Mopf": Rune(0x1D544)
+  of "Oopf": Rune(0x1D546)
+  of "Sopf": Rune(0x1D54A)
+  of "Topf": Rune(0x1D54B)
+  of "Uopf": Rune(0x1D54C)
+  of "Vopf": Rune(0x1D54D)
+  of "Wopf": Rune(0x1D54E)
+  of "Xopf": Rune(0x1D54F)
+  of "Yopf": Rune(0x1D550)
+  of "aopf": Rune(0x1D552)
+  of "bopf": Rune(0x1D553)
+  of "copf": Rune(0x1D554)
+  of "dopf": Rune(0x1D555)
+  of "eopf": Rune(0x1D556)
+  of "fopf": Rune(0x1D557)
+  of "gopf": Rune(0x1D558)
+  of "hopf": Rune(0x1D559)
+  of "iopf": Rune(0x1D55A)
+  of "jopf": Rune(0x1D55B)
+  of "kopf": Rune(0x1D55C)
+  of "lopf": Rune(0x1D55D)
+  of "mopf": Rune(0x1D55E)
+  of "nopf": Rune(0x1D55F)
+  of "oopf": Rune(0x1D560)
+  of "popf": Rune(0x1D561)
+  of "qopf": Rune(0x1D562)
+  of "ropf": Rune(0x1D563)
+  of "sopf": Rune(0x1D564)
+  of "topf": Rune(0x1D565)
+  of "uopf": Rune(0x1D566)
+  of "vopf": Rune(0x1D567)
+  of "wopf": Rune(0x1D568)
+  of "xopf": Rune(0x1D569)
+  of "yopf": Rune(0x1D56A)
+  of "zopf": Rune(0x1D56B)
+  else: Rune(0)
 
 proc entityToUtf8*(entity: string): string =
   ## Converts an HTML entity name like ``&Uuml;`` or values like ``&#220;``
@@ -1869,19 +1872,20 @@ proc entityToUtf8*(entity: string): string =
   ## "" is returned if the entity name is unknown. The HTML parser
   ## already converts entities to UTF-8.
   runnableExamples:
+    const sigma = "Σ"
     doAssert entityToUtf8("") == ""
     doAssert entityToUtf8("a") == ""
     doAssert entityToUtf8("gt") == ">"
     doAssert entityToUtf8("Uuml") == "Ü"
     doAssert entityToUtf8("quest") == "?"
     doAssert entityToUtf8("#63") == "?"
-    doAssert entityToUtf8("Sigma") == "Σ"
-    doAssert entityToUtf8("#931") == "Σ"
-    doAssert entityToUtf8("#0931") == "Σ"
-    doAssert entityToUtf8("#x3A3") == "Σ"
-    doAssert entityToUtf8("#x03A3") == "Σ"
-    doAssert entityToUtf8("#x3a3") == "Σ"
-    doAssert entityToUtf8("#X3a3") == "Σ"
+    doAssert entityToUtf8("Sigma") == sigma
+    doAssert entityToUtf8("#931") == sigma
+    doAssert entityToUtf8("#0931") == sigma
+    doAssert entityToUtf8("#x3A3") == sigma
+    doAssert entityToUtf8("#x03A3") == sigma
+    doAssert entityToUtf8("#x3a3") == sigma
+    doAssert entityToUtf8("#X3a3") == sigma
   let rune = entityToRune(entity)
   if rune.ord <= 0: result = ""
   else: result = toUTF8(rune)