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