Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Initial commit

  • Loading branch information...
commit e14f65acdcf131defd83859898b81b252a12a142 0 parents
@mightybyte mightybyte authored
3  .ghci
@@ -0,0 +1,3 @@
+:set -XOverloadedStrings
+:set -Wall
+:set -isrc
13 .gitignore
@@ -0,0 +1,13 @@
+*~
+dist/
+*.tix
+.hpc
+*.prof
+*.hi
+*.o
+*.swp
+#*#
+.#*
+.DS_Store
+**/.DS_Store
+docs/out
30 LICENSE
@@ -0,0 +1,30 @@
+Copyright (c)2011, Chris Smith <cdsmith@gmail.com>
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above
+ copyright notice, this list of conditions and the following
+ disclaimer in the documentation and/or other materials provided
+ with the distribution.
+
+ * Neither the name of Chris Smith <cdsmith@gmail.com> nor the names of other
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
17 README
@@ -0,0 +1,17 @@
+Tasks:
+
+1. More unit tests!
+
+2. Fix internal DTD subset parsing. Instead of throwing an error, read through
+ and just store as a gigantic Text value?
+
+3. Do something better with character encodings. For now, they are basically
+ ignored, and we just use the byte order mark to distinguish between the
+ three required encodings. We should implement the encoding sniffing rules
+ for both XML (the <?xml ... ?> declaration) and HTML 5.
+
+4. Improve parser error messages.
+
+5. Ensure that rendering always gives an error rather than writing an invalid
+ document. (is this a good idea? It does limit rendering speed.)
+
2  Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
32 src/Text/XmlHtml.hs
@@ -0,0 +1,32 @@
+module Text.XmlHtml (
+ Document(..),
+ Node(..),
+ DocType(..),
+ ExternalID(..),
+ Encoding(..),
+ parseXML,
+ parseHTML,
+ render
+ ) where
+
+import Blaze.ByteString.Builder (Builder)
+import Data.ByteString (ByteString)
+
+import Text.XmlHtml.Common
+
+import qualified Text.XmlHtml.XML.Parse as XML
+import qualified Text.XmlHtml.XML.Render as XML
+
+import qualified Text.XmlHtml.HTML.Parse as HTML
+import qualified Text.XmlHtml.HTML.Render as HTML
+
+parseXML :: ByteString -> Either String Document
+parseXML = XML.parse
+
+parseHTML :: ByteString -> Either String Document
+parseHTML = HTML.parse
+
+render :: Document -> Builder
+render (XmlDocument e dt ns) = XML.render e dt ns
+render (HtmlDocument e dt ns) = HTML.render e dt ns
+
55 src/Text/XmlHtml/Common.hs
@@ -0,0 +1,55 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+module Text.XmlHtml.Common where
+
+import Data.ByteString (ByteString)
+
+import Data.Text (Text)
+import qualified Data.Text.Encoding as T
+
+data Document = XmlDocument Encoding (Maybe DocType) [Node]
+ | HtmlDocument Encoding (Maybe DocType) [Node]
+ deriving (Eq, Show)
+
+data Node = TextNode Text
+ | Comment Text
+ | Element Text [(Text, Text)] [Node]
+ deriving (Eq, Show)
+
+data DocType = DocType Text (Maybe ExternalID)
+ deriving (Eq, Show)
+
+data ExternalID = System Text
+ | Public Text Text
+ deriving (Eq, Show)
+
+data Encoding = UTF8 | UTF16BE | UTF16LE deriving (Eq, Show)
+
+encodingName :: Encoding -> Text
+encodingName UTF8 = "UTF-8"
+encodingName UTF16BE = "UTF-16"
+encodingName UTF16LE = "UTF-16"
+
+encoder :: Encoding -> Text -> ByteString
+encoder UTF8 = T.encodeUtf8
+encoder UTF16BE = T.encodeUtf16BE
+encoder UTF16LE = T.encodeUtf16LE
+
+decoder :: Encoding -> ByteString -> Text
+decoder UTF8 = T.decodeUtf8
+decoder UTF16BE = T.decodeUtf16BE
+decoder UTF16LE = T.decodeUtf16LE
+
+isUTF16 :: Encoding -> Bool
+isUTF16 e = e == UTF16BE || e == UTF16LE
+
+{-
+manyWith :: Parser a -> Parser b -> Parser ([a], b)
+manyWith p1 p2 = scan
+ where scan = P.try finish <|> continue
+ finish = do y <- p2
+ return ([],y)
+ continue = do x <- p1
+ (xs,y) <- scan
+ return (x:xs, y)
+-}
2,201 src/Text/XmlHtml/HTML/Meta.hs
@@ -0,0 +1,2201 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+module Text.XmlHtml.HTML.Meta where
+
+import Data.Text (Text)
+
+import Data.Map (Map)
+import qualified Data.Map as M
+
+import Data.Set (Set)
+import qualified Data.Set as S
+
+-------------------------------------------------------------------------------
+-- Metadata used for HTML5 quirks mode. --
+-------------------------------------------------------------------------------
+
+voidTags :: Set Text
+voidTags = S.fromAscList [
+ "area", "base", "br", "col", "command", "embed", "hr", "img", "input",
+ "keygen", "link", "meta", "param", "source", "track", "wbr"
+ ]
+
+rawTextTags :: Set Text
+rawTextTags = S.fromAscList [ "script", "style" ]
+
+rcdataTags :: Set Text
+rcdataTags = S.fromAscList [ "textarea", "title" ]
+
+{-
+ Tags which can be implicitly ended in case they are the last element in
+ their parent. This list actually includes all of the elements that have
+ any kind of omittable end tag, since in general when an element with an
+ omittable end tag isn't specified to be omittable in this way, it's just
+ because in a complete document it isn't expected to ever be the last thing
+ in its parent. We aren't interested in enforcing element structure rules,
+ so we'll allow it anyway.
+-}
+endOmittableLast :: Set Text
+endOmittableLast = S.fromAscList [
+ "body", "colgroup", "dd", "dt", "head", "html", "li", "optgroup", "option",
+ "p", "rp", "rt", "tbody", "td", "tfoot", "th", "thead", "tr"
+ ]
+
+{-
+ Tags which should be considered automatically ended in case one of a
+ certain set of tags pops up.
+-}
+endOmittableNext :: Map Text (Set Text)
+endOmittableNext = M.fromAscList [
+ ("colgroup", S.fromAscList ["caption", "colgroup", "tbody",
+ "thead", "tfoot", "tr"]),
+ ("dd", S.fromAscList ["dd", "dt"]),
+ ("dt", S.fromAscList ["dd", "dt"]),
+ ("head", S.fromAscList ["body"]),
+ ("li", S.fromAscList ["li"]),
+ ("optgroup", S.fromAscList ["optgroup"]),
+ ("option", S.fromAscList ["optgroup", "option"]),
+ ("p", S.fromAscList ["address", "article", "aside", "blockquote",
+ "dir", "div", "dl", "fieldset", "footer",
+ "form", "h1", "h2", "h3", "h4", "h5", "h6",
+ "header", "hgroup", "hr", "menu", "nav", "ol",
+ "p", "pre", "section", "table", "ul"]),
+ ("rp", S.fromAscList ["rp", "rt"]),
+ ("rt", S.fromAscList ["rp", "rt"]),
+ ("tbody", S.fromAscList ["tbody", "tfoot", "thead"]),
+ ("td", S.fromAscList ["td", "th"]),
+ ("tfoot", S.fromAscList ["tbody", "tfoot", "thead"]),
+ ("th", S.fromAscList ["td", "th"]),
+ ("thead", S.fromAscList ["tbody", "tfoot", "thead"]),
+ ("tr", S.fromAscList ["tr"])
+ ]
+
+predefinedRefs :: Map Text Text
+predefinedRefs = M.fromAscList [
+ ("AElig", "\x000C6"),
+ ("AMP", "\x00026"),
+ ("Aacute", "\x000C1"),
+ ("Abreve", "\x00102"),
+ ("Acirc", "\x000C2"),
+ ("Acy", "\x00410"),
+ ("Afr", "\x1D504"),
+ ("Agrave", "\x000C0"),
+ ("Alpha", "\x00391"),
+ ("Amacr", "\x00100"),
+ ("And", "\x02A53"),
+ ("Aogon", "\x00104"),
+ ("Aopf", "\x1D538"),
+ ("ApplyFunction", "\x02061"),
+ ("Aring", "\x000C5"),
+ ("Ascr", "\x1D49C"),
+ ("Assign", "\x02254"),
+ ("Atilde", "\x000C3"),
+ ("Auml", "\x000C4"),
+ ("Backslash", "\x02216"),
+ ("Barv", "\x02AE7"),
+ ("Barwed", "\x02306"),
+ ("Bcy", "\x00411"),
+ ("Because", "\x02235"),
+ ("Bernoullis", "\x0212C"),
+ ("Beta", "\x00392"),
+ ("Bfr", "\x1D505"),
+ ("Bopf", "\x1D539"),
+ ("Breve", "\x002D8"),
+ ("Bscr", "\x0212C"),
+ ("Bumpeq", "\x0224E"),
+ ("CHcy", "\x00427"),
+ ("COPY", "\x000A9"),
+ ("Cacute", "\x00106"),
+ ("Cap", "\x022D2"),
+ ("CapitalDifferentialD", "\x02145"),
+ ("Cayleys", "\x0212D"),
+ ("Ccaron", "\x0010C"),
+ ("Ccedil", "\x000C7"),
+ ("Ccirc", "\x00108"),
+ ("Cconint", "\x02230"),
+ ("Cdot", "\x0010A"),
+ ("Cedilla", "\x000B8"),
+ ("CenterDot", "\x000B7"),
+ ("Cfr", "\x0212D"),
+ ("Chi", "\x003A7"),
+ ("CircleDot", "\x02299"),
+ ("CircleMinus", "\x02296"),
+ ("CirclePlus", "\x02295"),
+ ("CircleTimes", "\x02297"),
+ ("ClockwiseContourIntegral", "\x02232"),
+ ("CloseCurlyDoubleQuote", "\x0201D"),
+ ("CloseCurlyQuote", "\x02019"),
+ ("Colon", "\x02237"),
+ ("Colone", "\x02A74"),
+ ("Congruent", "\x02261"),
+ ("Conint", "\x0222F"),
+ ("ContourIntegral", "\x0222E"),
+ ("Copf", "\x02102"),
+ ("Coproduct", "\x02210"),
+ ("CounterClockwiseContourIntegral", "\x02233"),
+ ("Cross", "\x02A2F"),
+ ("Cscr", "\x1D49E"),
+ ("Cup", "\x022D3"),
+ ("CupCap", "\x0224D"),
+ ("DD", "\x02145"),
+ ("DDotrahd", "\x02911"),
+ ("DJcy", "\x00402"),
+ ("DScy", "\x00405"),
+ ("DZcy", "\x0040F"),
+ ("Dagger", "\x02021"),
+ ("Darr", "\x021A1"),
+ ("Dashv", "\x02AE4"),
+ ("Dcaron", "\x0010E"),
+ ("Dcy", "\x00414"),
+ ("Del", "\x02207"),
+ ("Delta", "\x00394"),
+ ("Dfr", "\x1D507"),
+ ("DiacriticalAcute", "\x000B4"),
+ ("DiacriticalDot", "\x002D9"),
+ ("DiacriticalDoubleAcute", "\x002DD"),
+ ("DiacriticalGrave", "\x00060"),
+ ("DiacriticalTilde", "\x002DC"),
+ ("Diamond", "\x022C4"),
+ ("DifferentialD", "\x02146"),
+ ("Dopf", "\x1D53B"),
+ ("Dot", "\x000A8"),
+ ("DotDot", "\x020DC"),
+ ("DotEqual", "\x02250"),
+ ("DoubleContourIntegral", "\x0222F"),
+ ("DoubleDot", "\x000A8"),
+ ("DoubleDownArrow", "\x021D3"),
+ ("DoubleLeftArrow", "\x021D0"),
+ ("DoubleLeftRightArrow", "\x021D4"),
+ ("DoubleLeftTee", "\x02AE4"),
+ ("DoubleLongLeftArrow", "\x027F8"),
+ ("DoubleLongLeftRightArrow", "\x027FA"),
+ ("DoubleLongRightArrow", "\x027F9"),
+ ("DoubleRightArrow", "\x021D2"),
+ ("DoubleRightTee", "\x022A8"),
+ ("DoubleUpArrow", "\x021D1"),
+ ("DoubleUpDownArrow", "\x021D5"),
+ ("DoubleVerticalBar", "\x02225"),
+ ("DownArrow", "\x02193"),
+ ("DownArrowBar", "\x02913"),
+ ("DownArrowUpArrow", "\x021F5"),
+ ("DownBreve", "\x00311"),
+ ("DownLeftRightVector", "\x02950"),
+ ("DownLeftTeeVector", "\x0295E"),
+ ("DownLeftVector", "\x021BD"),
+ ("DownLeftVectorBar", "\x02956"),
+ ("DownRightTeeVector", "\x0295F"),
+ ("DownRightVector", "\x021C1"),
+ ("DownRightVectorBar", "\x02957"),
+ ("DownTee", "\x022A4"),
+ ("DownTeeArrow", "\x021A7"),
+ ("Downarrow", "\x021D3"),
+ ("Dscr", "\x1D49F"),
+ ("Dstrok", "\x00110"),
+ ("ENG", "\x0014A"),
+ ("ETH", "\x000D0"),
+ ("Eacute", "\x000C9"),
+ ("Ecaron", "\x0011A"),
+ ("Ecirc", "\x000CA"),
+ ("Ecy", "\x0042D"),
+ ("Edot", "\x00116"),
+ ("Efr", "\x1D508"),
+ ("Egrave", "\x000C8"),
+ ("Element", "\x02208"),
+ ("Emacr", "\x00112"),
+ ("EmptySmallSquare", "\x025FB"),
+ ("EmptyVerySmallSquare", "\x025AB"),
+ ("Eogon", "\x00118"),
+ ("Eopf", "\x1D53C"),
+ ("Epsilon", "\x00395"),
+ ("Equal", "\x02A75"),
+ ("EqualTilde", "\x02242"),
+ ("Equilibrium", "\x021CC"),
+ ("Escr", "\x02130"),
+ ("Esim", "\x02A73"),
+ ("Eta", "\x00397"),
+ ("Euml", "\x000CB"),
+ ("Exists", "\x02203"),
+ ("ExponentialE", "\x02147"),
+ ("Fcy", "\x00424"),
+ ("Ffr", "\x1D509"),
+ ("FilledSmallSquare", "\x025FC"),
+ ("FilledVerySmallSquare", "\x025AA"),
+ ("Fopf", "\x1D53D"),
+ ("ForAll", "\x02200"),
+ ("Fouriertrf", "\x02131"),
+ ("Fscr", "\x02131"),
+ ("GJcy", "\x00403"),
+ ("GT", "\x0003E"),
+ ("Gamma", "\x00393"),
+ ("Gammad", "\x003DC"),
+ ("Gbreve", "\x0011E"),
+ ("Gcedil", "\x00122"),
+ ("Gcirc", "\x0011C"),
+ ("Gcy", "\x00413"),
+ ("Gdot", "\x00120"),
+ ("Gfr", "\x1D50A"),
+ ("Gg", "\x022D9"),
+ ("Gopf", "\x1D53E"),
+ ("GreaterEqual", "\x02265"),
+ ("GreaterEqualLess", "\x022DB"),
+ ("GreaterFullEqual", "\x02267"),
+ ("GreaterGreater", "\x02AA2"),
+ ("GreaterLess", "\x02277"),
+ ("GreaterSlantEqual", "\x02A7E"),
+ ("GreaterTilde", "\x02273"),
+ ("Gscr", "\x1D4A2"),
+ ("Gt", "\x0226B"),
+ ("HARDcy", "\x0042A"),
+ ("Hacek", "\x002C7"),
+ ("Hat", "\x0005E"),
+ ("Hcirc", "\x00124"),
+ ("Hfr", "\x0210C"),
+ ("HilbertSpace", "\x0210B"),
+ ("Hopf", "\x0210D"),
+ ("HorizontalLine", "\x02500"),
+ ("Hscr", "\x0210B"),
+ ("Hstrok", "\x00126"),
+ ("HumpDownHump", "\x0224E"),
+ ("HumpEqual", "\x0224F"),
+ ("IEcy", "\x00415"),
+ ("IJlig", "\x00132"),
+ ("IOcy", "\x00401"),
+ ("Iacute", "\x000CD"),
+ ("Icirc", "\x000CE"),
+ ("Icy", "\x00418"),
+ ("Idot", "\x00130"),
+ ("Ifr", "\x02111"),
+ ("Igrave", "\x000CC"),
+ ("Im", "\x02111"),
+ ("Imacr", "\x0012A"),
+ ("ImaginaryI", "\x02148"),
+ ("Implies", "\x021D2"),
+ ("Int", "\x0222C"),
+ ("Integral", "\x0222B"),
+ ("Intersection", "\x022C2"),
+ ("InvisibleComma", "\x02063"),
+ ("InvisibleTimes", "\x02062"),
+ ("Iogon", "\x0012E"),
+ ("Iopf", "\x1D540"),
+ ("Iota", "\x00399"),
+ ("Iscr", "\x02110"),
+ ("Itilde", "\x00128"),
+ ("Iukcy", "\x00406"),
+ ("Iuml", "\x000CF"),
+ ("Jcirc", "\x00134"),
+ ("Jcy", "\x00419"),
+ ("Jfr", "\x1D50D"),
+ ("Jopf", "\x1D541"),
+ ("Jscr", "\x1D4A5"),
+ ("Jsercy", "\x00408"),
+ ("Jukcy", "\x00404"),
+ ("KHcy", "\x00425"),
+ ("KJcy", "\x0040C"),
+ ("Kappa", "\x0039A"),
+ ("Kcedil", "\x00136"),
+ ("Kcy", "\x0041A"),
+ ("Kfr", "\x1D50E"),
+ ("Kopf", "\x1D542"),
+ ("Kscr", "\x1D4A6"),
+ ("LJcy", "\x00409"),
+ ("LT", "\x0003C"),
+ ("Lacute", "\x00139"),
+ ("Lambda", "\x0039B"),
+ ("Lang", "\x027EA"),
+ ("Laplacetrf", "\x02112"),
+ ("Larr", "\x0219E"),
+ ("Lcaron", "\x0013D"),
+ ("Lcedil", "\x0013B"),
+ ("Lcy", "\x0041B"),
+ ("LeftAngleBracket", "\x027E8"),
+ ("LeftArrow", "\x02190"),
+ ("LeftArrowBar", "\x021E4"),
+ ("LeftArrowRightArrow", "\x021C6"),
+ ("LeftCeiling", "\x02308"),
+ ("LeftDoubleBracket", "\x027E6"),
+ ("LeftDownTeeVector", "\x02961"),
+ ("LeftDownVector", "\x021C3"),
+ ("LeftDownVectorBar", "\x02959"),
+ ("LeftFloor", "\x0230A"),
+ ("LeftRightArrow", "\x02194"),
+ ("LeftRightVector", "\x0294E"),
+ ("LeftTee", "\x022A3"),
+ ("LeftTeeArrow", "\x021A4"),
+ ("LeftTeeVector", "\x0295A"),
+ ("LeftTriangle", "\x022B2"),
+ ("LeftTriangleBar", "\x029CF"),
+ ("LeftTriangleEqual", "\x022B4"),
+ ("LeftUpDownVector", "\x02951"),
+ ("LeftUpTeeVector", "\x02960"),
+ ("LeftUpVector", "\x021BF"),
+ ("LeftUpVectorBar", "\x02958"),
+ ("LeftVector", "\x021BC"),
+ ("LeftVectorBar", "\x02952"),
+ ("Leftarrow", "\x021D0"),
+ ("Leftrightarrow", "\x021D4"),
+ ("LessEqualGreater", "\x022DA"),
+ ("LessFullEqual", "\x02266"),
+ ("LessGreater", "\x02276"),
+ ("LessLess", "\x02AA1"),
+ ("LessSlantEqual", "\x02A7D"),
+ ("LessTilde", "\x02272"),
+ ("Lfr", "\x1D50F"),
+ ("Ll", "\x022D8"),
+ ("Lleftarrow", "\x021DA"),
+ ("Lmidot", "\x0013F"),
+ ("LongLeftArrow", "\x027F5"),
+ ("LongLeftRightArrow", "\x027F7"),
+ ("LongRightArrow", "\x027F6"),
+ ("Longleftarrow", "\x027F8"),
+ ("Longleftrightarrow", "\x027FA"),
+ ("Longrightarrow", "\x027F9"),
+ ("Lopf", "\x1D543"),
+ ("LowerLeftArrow", "\x02199"),
+ ("LowerRightArrow", "\x02198"),
+ ("Lscr", "\x02112"),
+ ("Lsh", "\x021B0"),
+ ("Lstrok", "\x00141"),
+ ("Lt", "\x0226A"),
+ ("Map", "\x02905"),
+ ("Mcy", "\x0041C"),
+ ("MediumSpace", "\x0205F"),
+ ("Mellintrf", "\x02133"),
+ ("Mfr", "\x1D510"),
+ ("MinusPlus", "\x02213"),
+ ("Mopf", "\x1D544"),
+ ("Mscr", "\x02133"),
+ ("Mu", "\x0039C"),
+ ("NJcy", "\x0040A"),
+ ("Nacute", "\x00143"),
+ ("Ncaron", "\x00147"),
+ ("Ncedil", "\x00145"),
+ ("Ncy", "\x0041D"),
+ ("NegativeMediumSpace", "\x0200B"),
+ ("NegativeThickSpace", "\x0200B"),
+ ("NegativeThinSpace", "\x0200B"),
+ ("NegativeVeryThinSpace", "\x0200B"),
+ ("NestedGreaterGreater", "\x0226B"),
+ ("NestedLessLess", "\x0226A"),
+ ("NewLine", "\x0000A"),
+ ("Nfr", "\x1D511"),
+ ("NoBreak", "\x02060"),
+ ("NonBreakingSpace", "\x000A0"),
+ ("Nopf", "\x02115"),
+ ("Not", "\x02AEC"),
+ ("NotCongruent", "\x02262"),
+ ("NotCupCap", "\x0226D"),
+ ("NotDoubleVerticalBar", "\x02226"),
+ ("NotElement", "\x02209"),
+ ("NotEqual", "\x02260"),
+ ("NotEqualTilde", "\x02242\x00338"),
+ ("NotExists", "\x02204"),
+ ("NotGreater", "\x0226F"),
+ ("NotGreaterEqual", "\x02271"),
+ ("NotGreaterFullEqual", "\x02267\x00338"),
+ ("NotGreaterGreater", "\x0226B\x00338"),
+ ("NotGreaterLess", "\x02279"),
+ ("NotGreaterSlantEqual", "\x02A7E\x00338"),
+ ("NotGreaterTilde", "\x02275"),
+ ("NotHumpDownHump", "\x0224E\x00338"),
+ ("NotHumpEqual", "\x0224F\x00338"),
+ ("NotLeftTriangle", "\x022EA"),
+ ("NotLeftTriangleBar", "\x029CF\x00338"),
+ ("NotLeftTriangleEqual", "\x022EC"),
+ ("NotLess", "\x0226E"),
+ ("NotLessEqual", "\x02270"),
+ ("NotLessGreater", "\x02278"),
+ ("NotLessLess", "\x0226A\x00338"),
+ ("NotLessSlantEqual", "\x02A7D\x00338"),
+ ("NotLessTilde", "\x02274"),
+ ("NotNestedGreaterGreater", "\x02AA2\x00338"),
+ ("NotNestedLessLess", "\x02AA1\x00338"),
+ ("NotPrecedes", "\x02280"),
+ ("NotPrecedesEqual", "\x02AAF\x00338"),
+ ("NotPrecedesSlantEqual", "\x022E0"),
+ ("NotReverseElement", "\x0220C"),
+ ("NotRightTriangle", "\x022EB"),
+ ("NotRightTriangleBar", "\x029D0\x00338"),
+ ("NotRightTriangleEqual", "\x022ED"),
+ ("NotSquareSubset", "\x0228F\x00338"),
+ ("NotSquareSubsetEqual", "\x022E2"),
+ ("NotSquareSuperset", "\x02290\x00338"),
+ ("NotSquareSupersetEqual", "\x022E3"),
+ ("NotSubset", "\x02282\x020D2"),
+ ("NotSubsetEqual", "\x02288"),
+ ("NotSucceeds", "\x02281"),
+ ("NotSucceedsEqual", "\x02AB0\x00338"),
+ ("NotSucceedsSlantEqual", "\x022E1"),
+ ("NotSucceedsTilde", "\x0227F\x00338"),
+ ("NotSuperset", "\x02283\x020D2"),
+ ("NotSupersetEqual", "\x02289"),
+ ("NotTilde", "\x02241"),
+ ("NotTildeEqual", "\x02244"),
+ ("NotTildeFullEqual", "\x02247"),
+ ("NotTildeTilde", "\x02249"),
+ ("NotVerticalBar", "\x02224"),
+ ("Nscr", "\x1D4A9"),
+ ("Ntilde", "\x000D1"),
+ ("Nu", "\x0039D"),
+ ("OElig", "\x00152"),
+ ("Oacute", "\x000D3"),
+ ("Ocirc", "\x000D4"),
+ ("Ocy", "\x0041E"),
+ ("Odblac", "\x00150"),
+ ("Ofr", "\x1D512"),
+ ("Ograve", "\x000D2"),
+ ("Omacr", "\x0014C"),
+ ("Omega", "\x003A9"),
+ ("Omicron", "\x0039F"),
+ ("Oopf", "\x1D546"),
+ ("OpenCurlyDoubleQuote", "\x0201C"),
+ ("OpenCurlyQuote", "\x02018"),
+ ("Or", "\x02A54"),
+ ("Oscr", "\x1D4AA"),
+ ("Oslash", "\x000D8"),
+ ("Otilde", "\x000D5"),
+ ("Otimes", "\x02A37"),
+ ("Ouml", "\x000D6"),
+ ("OverBar", "\x0203E"),
+ ("OverBrace", "\x023DE"),
+ ("OverBracket", "\x023B4"),
+ ("OverParenthesis", "\x023DC"),
+ ("PartialD", "\x02202"),
+ ("Pcy", "\x0041F"),
+ ("Pfr", "\x1D513"),
+ ("Phi", "\x003A6"),
+ ("Pi", "\x003A0"),
+ ("PlusMinus", "\x000B1"),
+ ("Poincareplane", "\x0210C"),
+ ("Popf", "\x02119"),
+ ("Pr", "\x02ABB"),
+ ("Precedes", "\x0227A"),
+ ("PrecedesEqual", "\x02AAF"),
+ ("PrecedesSlantEqual", "\x0227C"),
+ ("PrecedesTilde", "\x0227E"),
+ ("Prime", "\x02033"),
+ ("Product", "\x0220F"),
+ ("Proportion", "\x02237"),
+ ("Proportional", "\x0221D"),
+ ("Pscr", "\x1D4AB"),
+ ("Psi", "\x003A8"),
+ ("QUOT", "\x00022"),
+ ("Qfr", "\x1D514"),
+ ("Qopf", "\x0211A"),
+ ("Qscr", "\x1D4AC"),
+ ("RBarr", "\x02910"),
+ ("REG", "\x000AE"),
+ ("Racute", "\x00154"),
+ ("Rang", "\x027EB"),
+ ("Rarr", "\x021A0"),
+ ("Rarrtl", "\x02916"),
+ ("Rcaron", "\x00158"),
+ ("Rcedil", "\x00156"),
+ ("Rcy", "\x00420"),
+ ("Re", "\x0211C"),
+ ("ReverseElement", "\x0220B"),
+ ("ReverseEquilibrium", "\x021CB"),
+ ("ReverseUpEquilibrium", "\x0296F"),
+ ("Rfr", "\x0211C"),
+ ("Rho", "\x003A1"),
+ ("RightAngleBracket", "\x027E9"),
+ ("RightArrow", "\x02192"),
+ ("RightArrowBar", "\x021E5"),
+ ("RightArrowLeftArrow", "\x021C4"),
+ ("RightCeiling", "\x02309"),
+ ("RightDoubleBracket", "\x027E7"),
+ ("RightDownTeeVector", "\x0295D"),
+ ("RightDownVector", "\x021C2"),
+ ("RightDownVectorBar", "\x02955"),
+ ("RightFloor", "\x0230B"),
+ ("RightTee", "\x022A2"),
+ ("RightTeeArrow", "\x021A6"),
+ ("RightTeeVector", "\x0295B"),
+ ("RightTriangle", "\x022B3"),
+ ("RightTriangleBar", "\x029D0"),
+ ("RightTriangleEqual", "\x022B5"),
+ ("RightUpDownVector", "\x0294F"),
+ ("RightUpTeeVector", "\x0295C"),
+ ("RightUpVector", "\x021BE"),
+ ("RightUpVectorBar", "\x02954"),
+ ("RightVector", "\x021C0"),
+ ("RightVectorBar", "\x02953"),
+ ("Rightarrow", "\x021D2"),
+ ("Ropf", "\x0211D"),
+ ("RoundImplies", "\x02970"),
+ ("Rrightarrow", "\x021DB"),
+ ("Rscr", "\x0211B"),
+ ("Rsh", "\x021B1"),
+ ("RuleDelayed", "\x029F4"),
+ ("SHCHcy", "\x00429"),
+ ("SHcy", "\x00428"),
+ ("SOFTcy", "\x0042C"),
+ ("Sacute", "\x0015A"),
+ ("Sc", "\x02ABC"),
+ ("Scaron", "\x00160"),
+ ("Scedil", "\x0015E"),
+ ("Scirc", "\x0015C"),
+ ("Scy", "\x00421"),
+ ("Sfr", "\x1D516"),
+ ("ShortDownArrow", "\x02193"),
+ ("ShortLeftArrow", "\x02190"),
+ ("ShortRightArrow", "\x02192"),
+ ("ShortUpArrow", "\x02191"),
+ ("Sigma", "\x003A3"),
+ ("SmallCircle", "\x02218"),
+ ("Sopf", "\x1D54A"),
+ ("Sqrt", "\x0221A"),
+ ("Square", "\x025A1"),
+ ("SquareIntersection", "\x02293"),
+ ("SquareSubset", "\x0228F"),
+ ("SquareSubsetEqual", "\x02291"),
+ ("SquareSuperset", "\x02290"),
+ ("SquareSupersetEqual", "\x02292"),
+ ("SquareUnion", "\x02294"),
+ ("Sscr", "\x1D4AE"),
+ ("Star", "\x022C6"),
+ ("Sub", "\x022D0"),
+ ("Subset", "\x022D0"),
+ ("SubsetEqual", "\x02286"),
+ ("Succeeds", "\x0227B"),
+ ("SucceedsEqual", "\x02AB0"),
+ ("SucceedsSlantEqual", "\x0227D"),
+ ("SucceedsTilde", "\x0227F"),
+ ("SuchThat", "\x0220B"),
+ ("Sum", "\x02211"),
+ ("Sup", "\x022D1"),
+ ("Superset", "\x02283"),
+ ("SupersetEqual", "\x02287"),
+ ("Supset", "\x022D1"),
+ ("THORN", "\x000DE"),
+ ("TRADE", "\x02122"),
+ ("TSHcy", "\x0040B"),
+ ("TScy", "\x00426"),
+ ("Tab", "\x00009"),
+ ("Tau", "\x003A4"),
+ ("Tcaron", "\x00164"),
+ ("Tcedil", "\x00162"),
+ ("Tcy", "\x00422"),
+ ("Tfr", "\x1D517"),
+ ("Therefore", "\x02234"),
+ ("Theta", "\x00398"),
+ ("ThickSpace", "\x0205F\x0200A"),
+ ("ThinSpace", "\x02009"),
+ ("Tilde", "\x0223C"),
+ ("TildeEqual", "\x02243"),
+ ("TildeFullEqual", "\x02245"),
+ ("TildeTilde", "\x02248"),
+ ("Topf", "\x1D54B"),
+ ("TripleDot", "\x020DB"),
+ ("Tscr", "\x1D4AF"),
+ ("Tstrok", "\x00166"),
+ ("Uacute", "\x000DA"),
+ ("Uarr", "\x0219F"),
+ ("Uarrocir", "\x02949"),
+ ("Ubrcy", "\x0040E"),
+ ("Ubreve", "\x0016C"),
+ ("Ucirc", "\x000DB"),
+ ("Ucy", "\x00423"),
+ ("Udblac", "\x00170"),
+ ("Ufr", "\x1D518"),
+ ("Ugrave", "\x000D9"),
+ ("Umacr", "\x0016A"),
+ ("UnderBar", "\x0005F"),
+ ("UnderBrace", "\x023DF"),
+ ("UnderBracket", "\x023B5"),
+ ("UnderParenthesis", "\x023DD"),
+ ("Union", "\x022C3"),
+ ("UnionPlus", "\x0228E"),
+ ("Uogon", "\x00172"),
+ ("Uopf", "\x1D54C"),
+ ("UpArrow", "\x02191"),
+ ("UpArrowBar", "\x02912"),
+ ("UpArrowDownArrow", "\x021C5"),
+ ("UpDownArrow", "\x02195"),
+ ("UpEquilibrium", "\x0296E"),
+ ("UpTee", "\x022A5"),
+ ("UpTeeArrow", "\x021A5"),
+ ("Uparrow", "\x021D1"),
+ ("Updownarrow", "\x021D5"),
+ ("UpperLeftArrow", "\x02196"),
+ ("UpperRightArrow", "\x02197"),
+ ("Upsi", "\x003D2"),
+ ("Upsilon", "\x003A5"),
+ ("Uring", "\x0016E"),
+ ("Uscr", "\x1D4B0"),
+ ("Utilde", "\x00168"),
+ ("Uuml", "\x000DC"),
+ ("VDash", "\x022AB"),
+ ("Vbar", "\x02AEB"),
+ ("Vcy", "\x00412"),
+ ("Vdash", "\x022A9"),
+ ("Vdashl", "\x02AE6"),
+ ("Vee", "\x022C1"),
+ ("Verbar", "\x02016"),
+ ("Vert", "\x02016"),
+ ("VerticalBar", "\x02223"),
+ ("VerticalLine", "\x0007C"),
+ ("VerticalSeparator", "\x02758"),
+ ("VerticalTilde", "\x02240"),
+ ("VeryThinSpace", "\x0200A"),
+ ("Vfr", "\x1D519"),
+ ("Vopf", "\x1D54D"),
+ ("Vscr", "\x1D4B1"),
+ ("Vvdash", "\x022AA"),
+ ("Wcirc", "\x00174"),
+ ("Wedge", "\x022C0"),
+ ("Wfr", "\x1D51A"),
+ ("Wopf", "\x1D54E"),
+ ("Wscr", "\x1D4B2"),
+ ("Xfr", "\x1D51B"),
+ ("Xi", "\x0039E"),
+ ("Xopf", "\x1D54F"),
+ ("Xscr", "\x1D4B3"),
+ ("YAcy", "\x0042F"),
+ ("YIcy", "\x00407"),
+ ("YUcy", "\x0042E"),
+ ("Yacute", "\x000DD"),
+ ("Ycirc", "\x00176"),
+ ("Ycy", "\x0042B"),
+ ("Yfr", "\x1D51C"),
+ ("Yopf", "\x1D550"),
+ ("Yscr", "\x1D4B4"),
+ ("Yuml", "\x00178"),
+ ("ZHcy", "\x00416"),
+ ("Zacute", "\x00179"),
+ ("Zcaron", "\x0017D"),
+ ("Zcy", "\x00417"),
+ ("Zdot", "\x0017B"),
+ ("ZeroWidthSpace", "\x0200B"),
+ ("Zeta", "\x00396"),
+ ("Zfr", "\x02128"),
+ ("Zopf", "\x02124"),
+ ("Zscr", "\x1D4B5"),
+ ("aacute", "\x000E1"),
+ ("abreve", "\x00103"),
+ ("ac", "\x0223E"),
+ ("acE", "\x0223E\x00333"),
+ ("acd", "\x0223F"),
+ ("acirc", "\x000E2"),
+ ("acute", "\x000B4"),
+ ("acy", "\x00430"),
+ ("aelig", "\x000E6"),
+ ("af", "\x02061"),
+ ("afr", "\x1D51E"),
+ ("agrave", "\x000E0"),
+ ("alefsym", "\x02135"),
+ ("aleph", "\x02135"),
+ ("alpha", "\x003B1"),
+ ("amacr", "\x00101"),
+ ("amalg", "\x02A3F"),
+ ("amp", "\x00026"),
+ ("and", "\x02227"),
+ ("andand", "\x02A55"),
+ ("andd", "\x02A5C"),
+ ("andslope", "\x02A58"),
+ ("andv", "\x02A5A"),
+ ("ang", "\x02220"),
+ ("ange", "\x029A4"),
+ ("angle", "\x02220"),
+ ("angmsd", "\x02221"),
+ ("angmsdaa", "\x029A8"),
+ ("angmsdab", "\x029A9"),
+ ("angmsdac", "\x029AA"),
+ ("angmsdad", "\x029AB"),
+ ("angmsdae", "\x029AC"),
+ ("angmsdaf", "\x029AD"),
+ ("angmsdag", "\x029AE"),
+ ("angmsdah", "\x029AF"),
+ ("angrt", "\x0221F"),
+ ("angrtvb", "\x022BE"),
+ ("angrtvbd", "\x0299D"),
+ ("angsph", "\x02222"),
+ ("angst", "\x000C5"),
+ ("angzarr", "\x0237C"),
+ ("aogon", "\x00105"),
+ ("aopf", "\x1D552"),
+ ("ap", "\x02248"),
+ ("apE", "\x02A70"),
+ ("apacir", "\x02A6F"),
+ ("ape", "\x0224A"),
+ ("apid", "\x0224B"),
+ ("apos", "\x00027"),
+ ("approx", "\x02248"),
+ ("approxeq", "\x0224A"),
+ ("aring", "\x000E5"),
+ ("ascr", "\x1D4B6"),
+ ("ast", "\x0002A"),
+ ("asymp", "\x02248"),
+ ("asympeq", "\x0224D"),
+ ("atilde", "\x000E3"),
+ ("auml", "\x000E4"),
+ ("awconint", "\x02233"),
+ ("awint", "\x02A11"),
+ ("bNot", "\x02AED"),
+ ("backcong", "\x0224C"),
+ ("backepsilon", "\x003F6"),
+ ("backprime", "\x02035"),
+ ("backsim", "\x0223D"),
+ ("backsimeq", "\x022CD"),
+ ("barvee", "\x022BD"),
+ ("barwed", "\x02305"),
+ ("barwedge", "\x02305"),
+ ("bbrk", "\x023B5"),
+ ("bbrktbrk", "\x023B6"),
+ ("bcong", "\x0224C"),
+ ("bcy", "\x00431"),
+ ("bdquo", "\x0201E"),
+ ("becaus", "\x02235"),
+ ("because", "\x02235"),
+ ("bemptyv", "\x029B0"),
+ ("bepsi", "\x003F6"),
+ ("bernou", "\x0212C"),
+ ("beta", "\x003B2"),
+ ("beth", "\x02136"),
+ ("between", "\x0226C"),
+ ("bfr", "\x1D51F"),
+ ("bigcap", "\x022C2"),
+ ("bigcirc", "\x025EF"),
+ ("bigcup", "\x022C3"),
+ ("bigodot", "\x02A00"),
+ ("bigoplus", "\x02A01"),
+ ("bigotimes", "\x02A02"),
+ ("bigsqcup", "\x02A06"),
+ ("bigstar", "\x02605"),
+ ("bigtriangledown", "\x025BD"),
+ ("bigtriangleup", "\x025B3"),
+ ("biguplus", "\x02A04"),
+ ("bigvee", "\x022C1"),
+ ("bigwedge", "\x022C0"),
+ ("bkarow", "\x0290D"),
+ ("blacklozenge", "\x029EB"),
+ ("blacksquare", "\x025AA"),
+ ("blacktriangle", "\x025B4"),
+ ("blacktriangledown", "\x025BE"),
+ ("blacktriangleleft", "\x025C2"),
+ ("blacktriangleright", "\x025B8"),
+ ("blank", "\x02423"),
+ ("blk12", "\x02592"),
+ ("blk14", "\x02591"),
+ ("blk34", "\x02593"),
+ ("block", "\x02588"),
+ ("bne", "\x0003D\x020E5"),
+ ("bnequiv", "\x02261\x020E5"),
+ ("bnot", "\x02310"),
+ ("bopf", "\x1D553"),
+ ("bot", "\x022A5"),
+ ("bottom", "\x022A5"),
+ ("bowtie", "\x022C8"),
+ ("boxDL", "\x02557"),
+ ("boxDR", "\x02554"),
+ ("boxDl", "\x02556"),
+ ("boxDr", "\x02553"),
+ ("boxH", "\x02550"),
+ ("boxHD", "\x02566"),
+ ("boxHU", "\x02569"),
+ ("boxHd", "\x02564"),
+ ("boxHu", "\x02567"),
+ ("boxUL", "\x0255D"),
+ ("boxUR", "\x0255A"),
+ ("boxUl", "\x0255C"),
+ ("boxUr", "\x02559"),
+ ("boxV", "\x02551"),
+ ("boxVH", "\x0256C"),
+ ("boxVL", "\x02563"),
+ ("boxVR", "\x02560"),
+ ("boxVh", "\x0256B"),
+ ("boxVl", "\x02562"),
+ ("boxVr", "\x0255F"),
+ ("boxbox", "\x029C9"),
+ ("boxdL", "\x02555"),
+ ("boxdR", "\x02552"),
+ ("boxdl", "\x02510"),
+ ("boxdr", "\x0250C"),
+ ("boxh", "\x02500"),
+ ("boxhD", "\x02565"),
+ ("boxhU", "\x02568"),
+ ("boxhd", "\x0252C"),
+ ("boxhu", "\x02534"),
+ ("boxminus", "\x0229F"),
+ ("boxplus", "\x0229E"),
+ ("boxtimes", "\x022A0"),
+ ("boxuL", "\x0255B"),
+ ("boxuR", "\x02558"),
+ ("boxul", "\x02518"),
+ ("boxur", "\x02514"),
+ ("boxv", "\x02502"),
+ ("boxvH", "\x0256A"),
+ ("boxvL", "\x02561"),
+ ("boxvR", "\x0255E"),
+ ("boxvh", "\x0253C"),
+ ("boxvl", "\x02524"),
+ ("boxvr", "\x0251C"),
+ ("bprime", "\x02035"),
+ ("breve", "\x002D8"),
+ ("brvbar", "\x000A6"),
+ ("bscr", "\x1D4B7"),
+ ("bsemi", "\x0204F"),
+ ("bsim", "\x0223D"),
+ ("bsime", "\x022CD"),
+ ("bsol", "\x0005C"),
+ ("bsolb", "\x029C5"),
+ ("bsolhsub", "\x027C8"),
+ ("bull", "\x02022"),
+ ("bullet", "\x02022"),
+ ("bump", "\x0224E"),
+ ("bumpE", "\x02AAE"),
+ ("bumpe", "\x0224F"),
+ ("bumpeq", "\x0224F"),
+ ("cacute", "\x00107"),
+ ("cap", "\x02229"),
+ ("capand", "\x02A44"),
+ ("capbrcup", "\x02A49"),
+ ("capcap", "\x02A4B"),
+ ("capcup", "\x02A47"),
+ ("capdot", "\x02A40"),
+ ("caps", "\x02229\x0FE00"),
+ ("caret", "\x02041"),
+ ("caron", "\x002C7"),
+ ("ccaps", "\x02A4D"),
+ ("ccaron", "\x0010D"),
+ ("ccedil", "\x000E7"),
+ ("ccirc", "\x00109"),
+ ("ccups", "\x02A4C"),
+ ("ccupssm", "\x02A50"),
+ ("cdot", "\x0010B"),
+ ("cedil", "\x000B8"),
+ ("cemptyv", "\x029B2"),
+ ("cent", "\x000A2"),
+ ("centerdot", "\x000B7"),
+ ("cfr", "\x1D520"),
+ ("chcy", "\x00447"),
+ ("check", "\x02713"),
+ ("checkmark", "\x02713"),
+ ("chi", "\x003C7"),
+ ("cir", "\x025CB"),
+ ("cirE", "\x029C3"),
+ ("circ", "\x002C6"),
+ ("circeq", "\x02257"),
+ ("circlearrowleft", "\x021BA"),
+ ("circlearrowright", "\x021BB"),
+ ("circledR", "\x000AE"),
+ ("circledS", "\x024C8"),
+ ("circledast", "\x0229B"),
+ ("circledcirc", "\x0229A"),
+ ("circleddash", "\x0229D"),
+ ("cire", "\x02257"),
+ ("cirfnint", "\x02A10"),
+ ("cirmid", "\x02AEF"),
+ ("cirscir", "\x029C2"),
+ ("clubs", "\x02663"),
+ ("clubsuit", "\x02663"),
+ ("colon", "\x0003A"),
+ ("colone", "\x02254"),
+ ("coloneq", "\x02254"),
+ ("comma", "\x0002C"),
+ ("commat", "\x00040"),
+ ("comp", "\x02201"),
+ ("compfn", "\x02218"),
+ ("complement", "\x02201"),
+ ("complexes", "\x02102"),
+ ("cong", "\x02245"),
+ ("congdot", "\x02A6D"),
+ ("conint", "\x0222E"),
+ ("copf", "\x1D554"),
+ ("coprod", "\x02210"),
+ ("copy", "\x000A9"),
+ ("copysr", "\x02117"),
+ ("crarr", "\x021B5"),
+ ("cross", "\x02717"),
+ ("cscr", "\x1D4B8"),
+ ("csub", "\x02ACF"),
+ ("csube", "\x02AD1"),
+ ("csup", "\x02AD0"),
+ ("csupe", "\x02AD2"),
+ ("ctdot", "\x022EF"),
+ ("cudarrl", "\x02938"),
+ ("cudarrr", "\x02935"),
+ ("cuepr", "\x022DE"),
+ ("cuesc", "\x022DF"),
+ ("cularr", "\x021B6"),
+ ("cularrp", "\x0293D"),
+ ("cup", "\x0222A"),
+ ("cupbrcap", "\x02A48"),
+ ("cupcap", "\x02A46"),
+ ("cupcup", "\x02A4A"),
+ ("cupdot", "\x0228D"),
+ ("cupor", "\x02A45"),
+ ("cups", "\x0222A\x0FE00"),
+ ("curarr", "\x021B7"),
+ ("curarrm", "\x0293C"),
+ ("curlyeqprec", "\x022DE"),
+ ("curlyeqsucc", "\x022DF"),
+ ("curlyvee", "\x022CE"),
+ ("curlywedge", "\x022CF"),
+ ("curren", "\x000A4"),
+ ("curvearrowleft", "\x021B6"),
+ ("curvearrowright", "\x021B7"),
+ ("cuvee", "\x022CE"),
+ ("cuwed", "\x022CF"),
+ ("cwconint", "\x02232"),
+ ("cwint", "\x02231"),
+ ("cylcty", "\x0232D"),
+ ("dArr", "\x021D3"),
+ ("dHar", "\x02965"),
+ ("dagger", "\x02020"),
+ ("daleth", "\x02138"),
+ ("darr", "\x02193"),
+ ("dash", "\x02010"),
+ ("dashv", "\x022A3"),
+ ("dbkarow", "\x0290F"),
+ ("dblac", "\x002DD"),
+ ("dcaron", "\x0010F"),
+ ("dcy", "\x00434"),
+ ("dd", "\x02146"),
+ ("ddagger", "\x02021"),
+ ("ddarr", "\x021CA"),
+ ("ddotseq", "\x02A77"),
+ ("deg", "\x000B0"),
+ ("delta", "\x003B4"),
+ ("demptyv", "\x029B1"),
+ ("dfisht", "\x0297F"),
+ ("dfr", "\x1D521"),
+ ("dharl", "\x021C3"),
+ ("dharr", "\x021C2"),
+ ("diam", "\x022C4"),
+ ("diamond", "\x022C4"),
+ ("diamondsuit", "\x02666"),
+ ("diams", "\x02666"),
+ ("die", "\x000A8"),
+ ("digamma", "\x003DD"),
+ ("disin", "\x022F2"),
+ ("div", "\x000F7"),
+ ("divide", "\x000F7"),
+ ("divideontimes", "\x022C7"),
+ ("divonx", "\x022C7"),
+ ("djcy", "\x00452"),
+ ("dlcorn", "\x0231E"),
+ ("dlcrop", "\x0230D"),
+ ("dollar", "\x00024"),
+ ("dopf", "\x1D555"),
+ ("dot", "\x002D9"),
+ ("doteq", "\x02250"),
+ ("doteqdot", "\x02251"),
+ ("dotminus", "\x02238"),
+ ("dotplus", "\x02214"),
+ ("dotsquare", "\x022A1"),
+ ("doublebarwedge", "\x02306"),
+ ("downarrow", "\x02193"),
+ ("downdownarrows", "\x021CA"),
+ ("downharpoonleft", "\x021C3"),
+ ("downharpoonright", "\x021C2"),
+ ("drbkarow", "\x02910"),
+ ("drcorn", "\x0231F"),
+ ("drcrop", "\x0230C"),
+ ("dscr", "\x1D4B9"),
+ ("dscy", "\x00455"),
+ ("dsol", "\x029F6"),
+ ("dstrok", "\x00111"),
+ ("dtdot", "\x022F1"),
+ ("dtri", "\x025BF"),
+ ("dtrif", "\x025BE"),
+ ("duarr", "\x021F5"),
+ ("duhar", "\x0296F"),
+ ("dwangle", "\x029A6"),
+ ("dzcy", "\x0045F"),
+ ("dzigrarr", "\x027FF"),
+ ("eDDot", "\x02A77"),
+ ("eDot", "\x02251"),
+ ("eacute", "\x000E9"),
+ ("easter", "\x02A6E"),
+ ("ecaron", "\x0011B"),
+ ("ecir", "\x02256"),
+ ("ecirc", "\x000EA"),
+ ("ecolon", "\x02255"),
+ ("ecy", "\x0044D"),
+ ("edot", "\x00117"),
+ ("ee", "\x02147"),
+ ("efDot", "\x02252"),
+ ("efr", "\x1D522"),
+ ("eg", "\x02A9A"),
+ ("egrave", "\x000E8"),
+ ("egs", "\x02A96"),
+ ("egsdot", "\x02A98"),
+ ("el", "\x02A99"),
+ ("elinters", "\x023E7"),
+ ("ell", "\x02113"),
+ ("els", "\x02A95"),
+ ("elsdot", "\x02A97"),
+ ("emacr", "\x00113"),
+ ("empty", "\x02205"),
+ ("emptyset", "\x02205"),
+ ("emptyv", "\x02205"),
+ ("emsp", "\x02003"),
+ ("emsp13", "\x02004"),
+ ("emsp14", "\x02005"),
+ ("eng", "\x0014B"),
+ ("ensp", "\x02002"),
+ ("eogon", "\x00119"),
+ ("eopf", "\x1D556"),
+ ("epar", "\x022D5"),
+ ("eparsl", "\x029E3"),
+ ("eplus", "\x02A71"),
+ ("epsi", "\x003B5"),
+ ("epsilon", "\x003B5"),
+ ("epsiv", "\x003F5"),
+ ("eqcirc", "\x02256"),
+ ("eqcolon", "\x02255"),
+ ("eqsim", "\x02242"),
+ ("eqslantgtr", "\x02A96"),
+ ("eqslantless", "\x02A95"),
+ ("equals", "\x0003D"),
+ ("equest", "\x0225F"),
+ ("equiv", "\x02261"),
+ ("equivDD", "\x02A78"),
+ ("eqvparsl", "\x029E5"),
+ ("erDot", "\x02253"),
+ ("erarr", "\x02971"),
+ ("escr", "\x0212F"),
+ ("esdot", "\x02250"),
+ ("esim", "\x02242"),
+ ("eta", "\x003B7"),
+ ("eth", "\x000F0"),
+ ("euml", "\x000EB"),
+ ("euro", "\x020AC"),
+ ("excl", "\x00021"),
+ ("exist", "\x02203"),
+ ("expectation", "\x02130"),
+ ("exponentiale", "\x02147"),
+ ("fallingdotseq", "\x02252"),
+ ("fcy", "\x00444"),
+ ("female", "\x02640"),
+ ("ffilig", "\x0FB03"),
+ ("fflig", "\x0FB00"),
+ ("ffllig", "\x0FB04"),
+ ("ffr", "\x1D523"),
+ ("filig", "\x0FB01"),
+ ("fjlig", "\x00066\x0006A"),
+ ("flat", "\x0266D"),
+ ("fllig", "\x0FB02"),
+ ("fltns", "\x025B1"),
+ ("fnof", "\x00192"),
+ ("fopf", "\x1D557"),
+ ("forall", "\x02200"),
+ ("fork", "\x022D4"),
+ ("forkv", "\x02AD9"),
+ ("fpartint", "\x02A0D"),
+ ("frac12", "\x000BD"),
+ ("frac13", "\x02153"),
+ ("frac14", "\x000BC"),
+ ("frac15", "\x02155"),
+ ("frac16", "\x02159"),
+ ("frac18", "\x0215B"),
+ ("frac23", "\x02154"),
+ ("frac25", "\x02156"),
+ ("frac34", "\x000BE"),
+ ("frac35", "\x02157"),
+ ("frac38", "\x0215C"),
+ ("frac45", "\x02158"),
+ ("frac56", "\x0215A"),
+ ("frac58", "\x0215D"),
+ ("frac78", "\x0215E"),
+ ("frasl", "\x02044"),
+ ("frown", "\x02322"),
+ ("fscr", "\x1D4BB"),
+ ("gE", "\x02267"),
+ ("gEl", "\x02A8C"),
+ ("gacute", "\x001F5"),
+ ("gamma", "\x003B3"),
+ ("gammad", "\x003DD"),
+ ("gap", "\x02A86"),
+ ("gbreve", "\x0011F"),
+ ("gcirc", "\x0011D"),
+ ("gcy", "\x00433"),
+ ("gdot", "\x00121"),
+ ("ge", "\x02265"),
+ ("gel", "\x022DB"),
+ ("geq", "\x02265"),
+ ("geqq", "\x02267"),
+ ("geqslant", "\x02A7E"),
+ ("ges", "\x02A7E"),
+ ("gescc", "\x02AA9"),
+ ("gesdot", "\x02A80"),
+ ("gesdoto", "\x02A82"),
+ ("gesdotol", "\x02A84"),
+ ("gesl", "\x022DB\x0FE00"),
+ ("gesles", "\x02A94"),
+ ("gfr", "\x1D524"),
+ ("gg", "\x0226B"),
+ ("ggg", "\x022D9"),
+ ("gimel", "\x02137"),
+ ("gjcy", "\x00453"),
+ ("gl", "\x02277"),
+ ("glE", "\x02A92"),
+ ("gla", "\x02AA5"),
+ ("glj", "\x02AA4"),
+ ("gnE", "\x02269"),
+ ("gnap", "\x02A8A"),
+ ("gnapprox", "\x02A8A"),
+ ("gne", "\x02A88"),
+ ("gneq", "\x02A88"),
+ ("gneqq", "\x02269"),
+ ("gnsim", "\x022E7"),
+ ("gopf", "\x1D558"),
+ ("grave", "\x00060"),
+ ("gscr", "\x0210A"),
+ ("gsim", "\x02273"),
+ ("gsime", "\x02A8E"),
+ ("gsiml", "\x02A90"),
+ ("gt", "\x0003E"),
+ ("gtcc", "\x02AA7"),
+ ("gtcir", "\x02A7A"),
+ ("gtdot", "\x022D7"),
+ ("gtlPar", "\x02995"),
+ ("gtquest", "\x02A7C"),
+ ("gtrapprox", "\x02A86"),
+ ("gtrarr", "\x02978"),
+ ("gtrdot", "\x022D7"),
+ ("gtreqless", "\x022DB"),
+ ("gtreqqless", "\x02A8C"),
+ ("gtrless", "\x02277"),
+ ("gtrsim", "\x02273"),
+ ("gvertneqq", "\x02269\x0FE00"),
+ ("gvnE", "\x02269\x0FE00"),
+ ("hArr", "\x021D4"),
+ ("hairsp", "\x0200A"),
+ ("half", "\x000BD"),
+ ("hamilt", "\x0210B"),
+ ("hardcy", "\x0044A"),
+ ("harr", "\x02194"),
+ ("harrcir", "\x02948"),
+ ("harrw", "\x021AD"),
+ ("hbar", "\x0210F"),
+ ("hcirc", "\x00125"),
+ ("hearts", "\x02665"),
+ ("heartsuit", "\x02665"),
+ ("hellip", "\x02026"),
+ ("hercon", "\x022B9"),
+ ("hfr", "\x1D525"),
+ ("hksearow", "\x02925"),
+ ("hkswarow", "\x02926"),
+ ("hoarr", "\x021FF"),
+ ("homtht", "\x0223B"),
+ ("hookleftarrow", "\x021A9"),
+ ("hookrightarrow", "\x021AA"),
+ ("hopf", "\x1D559"),
+ ("horbar", "\x02015"),
+ ("hscr", "\x1D4BD"),
+ ("hslash", "\x0210F"),
+ ("hstrok", "\x00127"),
+ ("hybull", "\x02043"),
+ ("hyphen", "\x02010"),
+ ("iacute", "\x000ED"),
+ ("ic", "\x02063"),
+ ("icirc", "\x000EE"),
+ ("icy", "\x00438"),
+ ("iecy", "\x00435"),
+ ("iexcl", "\x000A1"),
+ ("iff", "\x021D4"),
+ ("ifr", "\x1D526"),
+ ("igrave", "\x000EC"),
+ ("ii", "\x02148"),
+ ("iiiint", "\x02A0C"),
+ ("iiint", "\x0222D"),
+ ("iinfin", "\x029DC"),
+ ("iiota", "\x02129"),
+ ("ijlig", "\x00133"),
+ ("imacr", "\x0012B"),
+ ("image", "\x02111"),
+ ("imagline", "\x02110"),
+ ("imagpart", "\x02111"),
+ ("imath", "\x00131"),
+ ("imof", "\x022B7"),
+ ("imped", "\x001B5"),
+ ("in", "\x02208"),
+ ("incare", "\x02105"),
+ ("infin", "\x0221E"),
+ ("infintie", "\x029DD"),
+ ("inodot", "\x00131"),
+ ("int", "\x0222B"),
+ ("intcal", "\x022BA"),
+ ("integers", "\x02124"),
+ ("intercal", "\x022BA"),
+ ("intlarhk", "\x02A17"),
+ ("intprod", "\x02A3C"),
+ ("iocy", "\x00451"),
+ ("iogon", "\x0012F"),
+ ("iopf", "\x1D55A"),
+ ("iota", "\x003B9"),
+ ("iprod", "\x02A3C"),
+ ("iquest", "\x000BF"),
+ ("iscr", "\x1D4BE"),
+ ("isin", "\x02208"),
+ ("isinE", "\x022F9"),
+ ("isindot", "\x022F5"),
+ ("isins", "\x022F4"),
+ ("isinsv", "\x022F3"),
+ ("isinv", "\x02208"),
+ ("it", "\x02062"),
+ ("itilde", "\x00129"),
+ ("iukcy", "\x00456"),
+ ("iuml", "\x000EF"),
+ ("jcirc", "\x00135"),
+ ("jcy", "\x00439"),
+ ("jfr", "\x1D527"),
+ ("jmath", "\x00237"),
+ ("jopf", "\x1D55B"),
+ ("jscr", "\x1D4BF"),
+ ("jsercy", "\x00458"),
+ ("jukcy", "\x00454"),
+ ("kappa", "\x003BA"),
+ ("kappav", "\x003F0"),
+ ("kcedil", "\x00137"),
+ ("kcy", "\x0043A"),
+ ("kfr", "\x1D528"),
+ ("kgreen", "\x00138"),
+ ("khcy", "\x00445"),
+ ("kjcy", "\x0045C"),
+ ("kopf", "\x1D55C"),
+ ("kscr", "\x1D4C0"),
+ ("lAarr", "\x021DA"),
+ ("lArr", "\x021D0"),
+ ("lAtail", "\x0291B"),
+ ("lBarr", "\x0290E"),
+ ("lE", "\x02266"),
+ ("lEg", "\x02A8B"),
+ ("lHar", "\x02962"),
+ ("lacute", "\x0013A"),
+ ("laemptyv", "\x029B4"),
+ ("lagran", "\x02112"),
+ ("lambda", "\x003BB"),
+ ("lang", "\x027E8"),
+ ("langd", "\x02991"),
+ ("langle", "\x027E8"),
+ ("lap", "\x02A85"),
+ ("laquo", "\x000AB"),
+ ("larr", "\x02190"),
+ ("larrb", "\x021E4"),
+ ("larrbfs", "\x0291F"),
+ ("larrfs", "\x0291D"),
+ ("larrhk", "\x021A9"),
+ ("larrlp", "\x021AB"),
+ ("larrpl", "\x02939"),
+ ("larrsim", "\x02973"),
+ ("larrtl", "\x021A2"),
+ ("lat", "\x02AAB"),
+ ("latail", "\x02919"),
+ ("late", "\x02AAD"),
+ ("lates", "\x02AAD\x0FE00"),
+ ("lbarr", "\x0290C"),
+ ("lbbrk", "\x02772"),
+ ("lbrace", "\x0007B"),
+ ("lbrack", "\x0005B"),
+ ("lbrke", "\x0298B"),
+ ("lbrksld", "\x0298F"),
+ ("lbrkslu", "\x0298D"),
+ ("lcaron", "\x0013E"),
+ ("lcedil", "\x0013C"),
+ ("lceil", "\x02308"),
+ ("lcub", "\x0007B"),
+ ("lcy", "\x0043B"),
+ ("ldca", "\x02936"),
+ ("ldquo", "\x0201C"),
+ ("ldquor", "\x0201E"),
+ ("ldrdhar", "\x02967"),
+ ("ldrushar", "\x0294B"),
+ ("ldsh", "\x021B2"),
+ ("le", "\x02264"),
+ ("leftarrow", "\x02190"),
+ ("leftarrowtail", "\x021A2"),
+ ("leftharpoondown", "\x021BD"),
+ ("leftharpoonup", "\x021BC"),
+ ("leftleftarrows", "\x021C7"),
+ ("leftrightarrow", "\x02194"),
+ ("leftrightarrows", "\x021C6"),
+ ("leftrightharpoons", "\x021CB"),
+ ("leftrightsquigarrow", "\x021AD"),
+ ("leftthreetimes", "\x022CB"),
+ ("leg", "\x022DA"),
+ ("leq", "\x02264"),
+ ("leqq", "\x02266"),
+ ("leqslant", "\x02A7D"),
+ ("les", "\x02A7D"),
+ ("lescc", "\x02AA8"),
+ ("lesdot", "\x02A7F"),
+ ("lesdoto", "\x02A81"),
+ ("lesdotor", "\x02A83"),
+ ("lesg", "\x022DA\x0FE00"),
+ ("lesges", "\x02A93"),
+ ("lessapprox", "\x02A85"),
+ ("lessdot", "\x022D6"),
+ ("lesseqgtr", "\x022DA"),
+ ("lesseqqgtr", "\x02A8B"),
+ ("lessgtr", "\x02276"),
+ ("lesssim", "\x02272"),
+ ("lfisht", "\x0297C"),
+ ("lfloor", "\x0230A"),
+ ("lfr", "\x1D529"),
+ ("lg", "\x02276"),
+ ("lgE", "\x02A91"),
+ ("lhard", "\x021BD"),
+ ("lharu", "\x021BC"),
+ ("lharul", "\x0296A"),
+ ("lhblk", "\x02584"),
+ ("ljcy", "\x00459"),
+ ("ll", "\x0226A"),
+ ("llarr", "\x021C7"),
+ ("llcorner", "\x0231E"),
+ ("llhard", "\x0296B"),
+ ("lltri", "\x025FA"),
+ ("lmidot", "\x00140"),
+ ("lmoust", "\x023B0"),
+ ("lmoustache", "\x023B0"),
+ ("lnE", "\x02268"),
+ ("lnap", "\x02A89"),
+ ("lnapprox", "\x02A89"),
+ ("lne", "\x02A87"),
+ ("lneq", "\x02A87"),
+ ("lneqq", "\x02268"),
+ ("lnsim", "\x022E6"),
+ ("loang", "\x027EC"),
+ ("loarr", "\x021FD"),
+ ("lobrk", "\x027E6"),
+ ("longleftarrow", "\x027F5"),
+ ("longleftrightarrow", "\x027F7"),
+ ("longmapsto", "\x027FC"),
+ ("longrightarrow", "\x027F6"),
+ ("looparrowleft", "\x021AB"),
+ ("looparrowright", "\x021AC"),
+ ("lopar", "\x02985"),
+ ("lopf", "\x1D55D"),
+ ("loplus", "\x02A2D"),
+ ("lotimes", "\x02A34"),
+ ("lowast", "\x02217"),
+ ("lowbar", "\x0005F"),
+ ("loz", "\x025CA"),
+ ("lozenge", "\x025CA"),
+ ("lozf", "\x029EB"),
+ ("lpar", "\x00028"),
+ ("lparlt", "\x02993"),
+ ("lrarr", "\x021C6"),
+ ("lrcorner", "\x0231F"),
+ ("lrhar", "\x021CB"),
+ ("lrhard", "\x0296D"),
+ ("lrm", "\x0200E"),
+ ("lrtri", "\x022BF"),
+ ("lsaquo", "\x02039"),
+ ("lscr", "\x1D4C1"),
+ ("lsh", "\x021B0"),
+ ("lsim", "\x02272"),
+ ("lsime", "\x02A8D"),
+ ("lsimg", "\x02A8F"),
+ ("lsqb", "\x0005B"),
+ ("lsquo", "\x02018"),
+ ("lsquor", "\x0201A"),
+ ("lstrok", "\x00142"),
+ ("lt", "\x0003C"),
+ ("ltcc", "\x02AA6"),
+ ("ltcir", "\x02A79"),
+ ("ltdot", "\x022D6"),
+ ("lthree", "\x022CB"),
+ ("ltimes", "\x022C9"),
+ ("ltlarr", "\x02976"),
+ ("ltquest", "\x02A7B"),
+ ("ltrPar", "\x02996"),
+ ("ltri", "\x025C3"),
+ ("ltrie", "\x022B4"),
+ ("ltrif", "\x025C2"),
+ ("lurdshar", "\x0294A"),
+ ("luruhar", "\x02966"),
+ ("lvertneqq", "\x02268\x0FE00"),
+ ("lvnE", "\x02268\x0FE00"),
+ ("mDDot", "\x0223A"),
+ ("macr", "\x000AF"),
+ ("male", "\x02642"),
+ ("malt", "\x02720"),
+ ("maltese", "\x02720"),
+ ("map", "\x021A6"),
+ ("mapsto", "\x021A6"),
+ ("mapstodown", "\x021A7"),
+ ("mapstoleft", "\x021A4"),
+ ("mapstoup", "\x021A5"),
+ ("marker", "\x025AE"),
+ ("mcomma", "\x02A29"),
+ ("mcy", "\x0043C"),
+ ("mdash", "\x02014"),
+ ("measuredangle", "\x02221"),
+ ("mfr", "\x1D52A"),
+ ("mho", "\x02127"),
+ ("micro", "\x000B5"),
+ ("mid", "\x02223"),
+ ("midast", "\x0002A"),
+ ("midcir", "\x02AF0"),
+ ("middot", "\x000B7"),
+ ("minus", "\x02212"),
+ ("minusb", "\x0229F"),
+ ("minusd", "\x02238"),
+ ("minusdu", "\x02A2A"),
+ ("mlcp", "\x02ADB"),
+ ("mldr", "\x02026"),
+ ("mnplus", "\x02213"),
+ ("models", "\x022A7"),
+ ("mopf", "\x1D55E"),
+ ("mp", "\x02213"),
+ ("mscr", "\x1D4C2"),
+ ("mstpos", "\x0223E"),
+ ("mu", "\x003BC"),
+ ("multimap", "\x022B8"),
+ ("mumap", "\x022B8"),
+ ("nGg", "\x022D9\x00338"),
+ ("nGt", "\x0226B\x020D2"),
+ ("nGtv", "\x0226B\x00338"),
+ ("nLeftarrow", "\x021CD"),
+ ("nLeftrightarrow", "\x021CE"),
+ ("nLl", "\x022D8\x00338"),
+ ("nLt", "\x0226A\x020D2"),
+ ("nLtv", "\x0226A\x00338"),
+ ("nRightarrow", "\x021CF"),
+ ("nVDash", "\x022AF"),
+ ("nVdash", "\x022AE"),
+ ("nabla", "\x02207"),
+ ("nacute", "\x00144"),
+ ("nang", "\x02220\x020D2"),
+ ("nap", "\x02249"),
+ ("napE", "\x02A70\x00338"),
+ ("napid", "\x0224B\x00338"),
+ ("napos", "\x00149"),
+ ("napprox", "\x02249"),
+ ("natur", "\x0266E"),
+ ("natural", "\x0266E"),
+ ("naturals", "\x02115"),
+ ("nbsp", "\x000A0"),
+ ("nbump", "\x0224E\x00338"),
+ ("nbumpe", "\x0224F\x00338"),
+ ("ncap", "\x02A43"),
+ ("ncaron", "\x00148"),
+ ("ncedil", "\x00146"),
+ ("ncong", "\x02247"),
+ ("ncongdot", "\x02A6D\x00338"),
+ ("ncup", "\x02A42"),
+ ("ncy", "\x0043D"),
+ ("ndash", "\x02013"),
+ ("ne", "\x02260"),
+ ("neArr", "\x021D7"),
+ ("nearhk", "\x02924"),
+ ("nearr", "\x02197"),
+ ("nearrow", "\x02197"),
+ ("nedot", "\x02250\x00338"),
+ ("nequiv", "\x02262"),
+ ("nesear", "\x02928"),
+ ("nesim", "\x02242\x00338"),
+ ("nexist", "\x02204"),
+ ("nexists", "\x02204"),
+ ("nfr", "\x1D52B"),
+ ("ngE", "\x02267\x00338"),
+ ("nge", "\x02271"),
+ ("ngeq", "\x02271"),
+ ("ngeqq", "\x02267\x00338"),
+ ("ngeqslant", "\x02A7E\x00338"),
+ ("nges", "\x02A7E\x00338"),
+ ("ngsim", "\x02275"),
+ ("ngt", "\x0226F"),
+ ("ngtr", "\x0226F"),
+ ("nhArr", "\x021CE"),
+ ("nharr", "\x021AE"),
+ ("nhpar", "\x02AF2"),
+ ("ni", "\x0220B"),
+ ("nis", "\x022FC"),
+ ("nisd", "\x022FA"),
+ ("niv", "\x0220B"),
+ ("njcy", "\x0045A"),
+ ("nlArr", "\x021CD"),
+ ("nlE", "\x02266\x00338"),
+ ("nlarr", "\x0219A"),
+ ("nldr", "\x02025"),
+ ("nle", "\x02270"),
+ ("nleftarrow", "\x0219A"),
+ ("nleftrightarrow", "\x021AE"),
+ ("nleq", "\x02270"),
+ ("nleqq", "\x02266\x00338"),
+ ("nleqslant", "\x02A7D\x00338"),
+ ("nles", "\x02A7D\x00338"),
+ ("nless", "\x0226E"),
+ ("nlsim", "\x02274"),
+ ("nlt", "\x0226E"),
+ ("nltri", "\x022EA"),
+ ("nltrie", "\x022EC"),
+ ("nmid", "\x02224"),
+ ("nopf", "\x1D55F"),
+ ("not", "\x000AC"),
+ ("notin", "\x02209"),
+ ("notinE", "\x022F9\x00338"),
+ ("notindot", "\x022F5\x00338"),
+ ("notinva", "\x02209"),
+ ("notinvb", "\x022F7"),
+ ("notinvc", "\x022F6"),
+ ("notni", "\x0220C"),
+ ("notniva", "\x0220C"),
+ ("notnivb", "\x022FE"),
+ ("notnivc", "\x022FD"),
+ ("npar", "\x02226"),
+ ("nparallel", "\x02226"),
+ ("nparsl", "\x02AFD\x020E5"),
+ ("npart", "\x02202\x00338"),
+ ("npolint", "\x02A14"),
+ ("npr", "\x02280"),
+ ("nprcue", "\x022E0"),
+ ("npre", "\x02AAF\x00338"),
+ ("nprec", "\x02280"),
+ ("npreceq", "\x02AAF\x00338"),
+ ("nrArr", "\x021CF"),
+ ("nrarr", "\x0219B"),
+ ("nrarrc", "\x02933\x00338"),
+ ("nrarrw", "\x0219D\x00338"),
+ ("nrightarrow", "\x0219B"),
+ ("nrtri", "\x022EB"),
+ ("nrtrie", "\x022ED"),
+ ("nsc", "\x02281"),
+ ("nsccue", "\x022E1"),
+ ("nsce", "\x02AB0\x00338"),
+ ("nscr", "\x1D4C3"),
+ ("nshortmid", "\x02224"),
+ ("nshortparallel", "\x02226"),
+ ("nsim", "\x02241"),
+ ("nsime", "\x02244"),
+ ("nsimeq", "\x02244"),
+ ("nsmid", "\x02224"),
+ ("nspar", "\x02226"),
+ ("nsqsube", "\x022E2"),
+ ("nsqsupe", "\x022E3"),
+ ("nsub", "\x02284"),
+ ("nsubE", "\x02AC5\x00338"),
+ ("nsube", "\x02288"),
+ ("nsubset", "\x02282\x020D2"),
+ ("nsubseteq", "\x02288"),
+ ("nsubseteqq", "\x02AC5\x00338"),
+ ("nsucc", "\x02281"),
+ ("nsucceq", "\x02AB0\x00338"),
+ ("nsup", "\x02285"),
+ ("nsupE", "\x02AC6\x00338"),
+ ("nsupe", "\x02289"),
+ ("nsupset", "\x02283\x020D2"),
+ ("nsupseteq", "\x02289"),
+ ("nsupseteqq", "\x02AC6\x00338"),
+ ("ntgl", "\x02279"),
+ ("ntilde", "\x000F1"),
+ ("ntlg", "\x02278"),
+ ("ntriangleleft", "\x022EA"),
+ ("ntrianglelefteq", "\x022EC"),
+ ("ntriangleright", "\x022EB"),
+ ("ntrianglerighteq", "\x022ED"),
+ ("nu", "\x003BD"),
+ ("num", "\x00023"),
+ ("numero", "\x02116"),
+ ("numsp", "\x02007"),
+ ("nvDash", "\x022AD"),
+ ("nvHarr", "\x02904"),
+ ("nvap", "\x0224D\x020D2"),
+ ("nvdash", "\x022AC"),
+ ("nvge", "\x02265\x020D2"),
+ ("nvgt", "\x0003E\x020D2"),
+ ("nvinfin", "\x029DE"),
+ ("nvlArr", "\x02902"),
+ ("nvle", "\x02264\x020D2"),
+ ("nvlt", "\x0003C\x020D2"),
+ ("nvltrie", "\x022B4\x020D2"),
+ ("nvrArr", "\x02903"),
+ ("nvrtrie", "\x022B5\x020D2"),
+ ("nvsim", "\x0223C\x020D2"),
+ ("nwArr", "\x021D6"),
+ ("nwarhk", "\x02923"),
+ ("nwarr", "\x02196"),
+ ("nwarrow", "\x02196"),
+ ("nwnear", "\x02927"),
+ ("oS", "\x024C8"),
+ ("oacute", "\x000F3"),
+ ("oast", "\x0229B"),
+ ("ocir", "\x0229A"),
+ ("ocirc", "\x000F4"),
+ ("ocy", "\x0043E"),
+ ("odash", "\x0229D"),
+ ("odblac", "\x00151"),
+ ("odiv", "\x02A38"),
+ ("odot", "\x02299"),
+ ("odsold", "\x029BC"),
+ ("oelig", "\x00153"),
+ ("ofcir", "\x029BF"),
+ ("ofr", "\x1D52C"),
+ ("ogon", "\x002DB"),
+ ("ograve", "\x000F2"),
+ ("ogt", "\x029C1"),
+ ("ohbar", "\x029B5"),
+ ("ohm", "\x003A9"),
+ ("oint", "\x0222E"),
+ ("olarr", "\x021BA"),
+ ("olcir", "\x029BE"),
+ ("olcross", "\x029BB"),
+ ("oline", "\x0203E"),
+ ("olt", "\x029C0"),
+ ("omacr", "\x0014D"),
+ ("omega", "\x003C9"),
+ ("omicron", "\x003BF"),
+ ("omid", "\x029B6"),
+ ("ominus", "\x02296"),
+ ("oopf", "\x1D560"),
+ ("opar", "\x029B7"),
+ ("operp", "\x029B9"),
+ ("oplus", "\x02295"),
+ ("or", "\x02228"),
+ ("orarr", "\x021BB"),
+ ("ord", "\x02A5D"),
+ ("order", "\x02134"),
+ ("orderof", "\x02134"),
+ ("ordf", "\x000AA"),
+ ("ordm", "\x000BA"),
+ ("origof", "\x022B6"),
+ ("oror", "\x02A56"),
+ ("orslope", "\x02A57"),
+ ("orv", "\x02A5B"),
+ ("oscr", "\x02134"),
+ ("oslash", "\x000F8"),
+ ("osol", "\x02298"),
+ ("otilde", "\x000F5"),
+ ("otimes", "\x02297"),
+ ("otimesas", "\x02A36"),
+ ("ouml", "\x000F6"),
+ ("ovbar", "\x0233D"),
+ ("par", "\x02225"),
+ ("para", "\x000B6"),
+ ("parallel", "\x02225"),
+ ("parsim", "\x02AF3"),
+ ("parsl", "\x02AFD"),
+ ("part", "\x02202"),
+ ("pcy", "\x0043F"),
+ ("percnt", "\x00025