Hello,

I’ve taken some time to create a function for decoding html-style entities. So 
instead of entering
\markup { á è ç â ... }

you can do

\markup\htmldecode { á è ç â ... }

or

\markup\htmldecode { "á" "è" "ç" "â" ... }

or

\markup\htmldecode { &:xE1; &:xE8; &:xE7; &:xE2; ... }

(I’ve added the option of using a : to specify unicode number as the default # 
has a special meaning in Lilypond and will thus require quotes.)

The file is quite large because it contains a mapping of entity-strings to 
unicode entities. But simply include the file and use \htmldecode where ever 
you need.

Cheers,
Valentin

Am Mittwoch, 3. Juli 2024, 11:14:52 MESZ schrieb Jean Abou Samra:
> Le mercredi 03 juillet 2024 à 08:26 +0100, Raphael Mankin a écrit :
> > Thank you. The obvious is what generally escapes one. But character
> > picking is a PITA. I shall have to add a French keyboard to my layouts.
> > AZERTY :-(
> 
> Have you tried a Compose key?
> 
> At least under a GNOME Linux desktop, this is very easy to enable:
> open Settings app, select the "Keyboard" tab and click "Compose key"
> (under "Special Character Entry"). You can configure a key of your
> keyboard to be a "Compose key" which makes it insert various special
> characters when you type this key followed by one of many predefined
> sequences. For example:
> 
> Compose ' e → é
> Compose ` a → à
> Compose " i → ï
> Compose > a → â
> Compose , c → ç
> 
> This is incredibly convenient to type all sorts of unusual characters
> without changing your keyboard layout (for another example, I typed
> the arrows above with "Compose - >").

#(use-modules (srfi srfi-43))
#(use-modules (ice-9 regex))

%%% Mapping of entity names to unicode chars. key-ordered vector for efficient lookup
#(define entitymap
         #(
           ("AElig" . "#xC6")
           ("AMP" . "#x26")
           ("Aacute" . "#xC1")
           ("Abreve" . "#x102")
           ("Acirc" . "#xC2")
           ("Acy" . "#x410")
           ("Afr" . "#x1D504")
           ("Agrave" . "#xC0")
           ("Alpha" . "#x391")
           ("Amacr" . "#x100")
           ("And" . "#x2A53")
           ("Aogon" . "#x104")
           ("Aopf" . "#x1D538")
           ("ApplyFunction" . "#x2061")
           ("Aring" . "#xC5")
           ("Ascr" . "#x1D49C")
           ("Assign" . "#x2254")
           ("Atilde" . "#xC3")
           ("Auml" . "#xC4")
           ("Backslash" . "#x2216")
           ("Barv" . "#x2AE7")
           ("Barwed" . "#x2306")
           ("Bcy" . "#x411")
           ("Because" . "#x2235")
           ("Bernoullis" . "#x212C")
           ("Beta" . "#x392")
           ("Bfr" . "#x1D505")
           ("Bopf" . "#x1D539")
           ("Breve" . "#x2D8")
           ("Bscr" . "#x212C")
           ("Bumpeq" . "#x224E")
           ("CHcy" . "#x427")
           ("COPY" . "#xA9")
           ("Cacute" . "#x106")
           ("Cap" . "#x22D2")
           ("CapitalDifferentialD" . "#x2145")
           ("Cayleys" . "#x212D")
           ("Ccaron" . "#x10C")
           ("Ccedil" . "#xC7")
           ("Ccirc" . "#x108")
           ("Cconint" . "#x2230")
           ("Cdot" . "#x10A")
           ("Cedilla" . "#xB8")
           ("CenterDot" . "#xB7")
           ("Cfr" . "#x212D")
           ("Chi" . "#x3A7")
           ("CircleDot" . "#x2299")
           ("CircleMinus" . "#x2296")
           ("CirclePlus" . "#x2295")
           ("CircleTimes" . "#x2297")
           ("ClockwiseContourIntegral" . "#x2232")
           ("CloseCurlyDoubleQuote" . "#x201D")
           ("CloseCurlyQuote" . "#x2019")
           ("Colon" . "#x2237")
           ("Colone" . "#x2A74")
           ("Congruent" . "#x2261")
           ("Conint" . "#x222F")
           ("ContourIntegral" . "#x222E")
           ("Copf" . "#x2102")
           ("Coproduct" . "#x2210")
           ("CounterClockwiseContourIntegral" . "#x2233")
           ("Cross" . "#x2A2F")
           ("Cscr" . "#x1D49E")
           ("Cup" . "#x22D3")
           ("CupCap" . "#x224D")
           ("DD" . "#x2145")
           ("DDotrahd" . "#x2911")
           ("DJcy" . "#x402")
           ("DScy" . "#x405")
           ("DZcy" . "#x40F")
           ("Dagger" . "#x2021")
           ("Darr" . "#x21A1")
           ("Dashv" . "#x2AE4")
           ("Dcaron" . "#x10E")
           ("Dcy" . "#x414")
           ("Del" . "#x2207")
           ("Delta" . "#x394")
           ("Dfr" . "#x1D507")
           ("DiacriticalAcute" . "#xB4")
           ("DiacriticalDot" . "#x2D9")
           ("DiacriticalDoubleAcute" . "#x2DD")
           ("DiacriticalGrave" . "#x60")
           ("DiacriticalTilde" . "#x2DC")
           ("Diamond" . "#x22C4")
           ("DifferentialD" . "#x2146")
           ("Dopf" . "#x1D53B")
           ("Dot" . "#xA8")
           ("DotDot" . "#x20DC")
           ("DotEqual" . "#x2250")
           ("DoubleContourIntegral" . "#x222F")
           ("DoubleDot" . "#xA8")
           ("DoubleDownArrow" . "#x21D3")
           ("DoubleLeftArrow" . "#x21D0")
           ("DoubleLeftRightArrow" . "#x21D4")
           ("DoubleLeftTee" . "#x2AE4")
           ("DoubleLongLeftArrow" . "#x27F8")
           ("DoubleLongLeftRightArrow" . "#x27FA")
           ("DoubleLongRightArrow" . "#x27F9")
           ("DoubleRightArrow" . "#x21D2")
           ("DoubleRightTee" . "#x22A8")
           ("DoubleUpArrow" . "#x21D1")
           ("DoubleUpDownArrow" . "#x21D5")
           ("DoubleVerticalBar" . "#x2225")
           ("DownArrow" . "#x2193")
           ("DownArrowBar" . "#x2913")
           ("DownArrowUpArrow" . "#x21F5")
           ("DownBreve" . "#x311")
           ("DownLeftRightVector" . "#x2950")
           ("DownLeftTeeVector" . "#x295E")
           ("DownLeftVector" . "#x21BD")
           ("DownLeftVectorBar" . "#x2956")
           ("DownRightTeeVector" . "#x295F")
           ("DownRightVector" . "#x21C1")
           ("DownRightVectorBar" . "#x2957")
           ("DownTee" . "#x22A4")
           ("DownTeeArrow" . "#x21A7")
           ("Downarrow" . "#x21D3")
           ("Dscr" . "#x1D49F")
           ("Dstrok" . "#x110")
           ("ENG" . "#x14A")
           ("ETH" . "#xD0")
           ("Eacute" . "#xC9")
           ("Ecaron" . "#x11A")
           ("Ecirc" . "#xCA")
           ("Ecy" . "#x42D")
           ("Edot" . "#x116")
           ("Efr" . "#x1D508")
           ("Egrave" . "#xC8")
           ("Element" . "#x2208")
           ("Emacr" . "#x112")
           ("EmptySmallSquare" . "#x25FB")
           ("EmptyVerySmallSquare" . "#x25AB")
           ("Eogon" . "#x118")
           ("Eopf" . "#x1D53C")
           ("Epsilon" . "#x395")
           ("Equal" . "#x2A75")
           ("EqualTilde" . "#x2242")
           ("Equilibrium" . "#x21CC")
           ("Escr" . "#x2130")
           ("Esim" . "#x2A73")
           ("Eta" . "#x397")
           ("Euml" . "#xCB")
           ("Exists" . "#x2203")
           ("ExponentialE" . "#x2147")
           ("Fcy" . "#x424")
           ("Ffr" . "#x1D509")
           ("FilledSmallSquare" . "#x25FC")
           ("FilledVerySmallSquare" . "#x25AA")
           ("Fopf" . "#x1D53D")
           ("ForAll" . "#x2200")
           ("Fouriertrf" . "#x2131")
           ("Fscr" . "#x2131")
           ("GJcy" . "#x403")
           ("GT" . "#x3E")
           ("Gamma" . "#x393")
           ("Gammad" . "#x3DC")
           ("Gbreve" . "#x11E")
           ("Gcedil" . "#x122")
           ("Gcirc" . "#x11C")
           ("Gcy" . "#x413")
           ("Gdot" . "#x120")
           ("Gfr" . "#x1D50A")
           ("Gg" . "#x22D9")
           ("Gopf" . "#x1D53E")
           ("GreaterEqual" . "#x2265")
           ("GreaterEqualLess" . "#x22DB")
           ("GreaterFullEqual" . "#x2267")
           ("GreaterGreater" . "#x2AA2")
           ("GreaterLess" . "#x2277")
           ("GreaterSlantEqual" . "#x2A7E")
           ("GreaterTilde" . "#x2273")
           ("Gscr" . "#x1D4A2")
           ("Gt" . "#x226B")
           ("HARDcy" . "#x42A")
           ("Hacek" . "#x2C7")
           ("Hat" . "#x5E")
           ("Hcirc" . "#x124")
           ("Hfr" . "#x210C")
           ("HilbertSpace" . "#x210B")
           ("Hopf" . "#x210D")
           ("HorizontalLine" . "#x2500")
           ("Hscr" . "#x210B")
           ("Hstrok" . "#x126")
           ("HumpDownHump" . "#x224E")
           ("HumpEqual" . "#x224F")
           ("IEcy" . "#x415")
           ("IJlig" . "#x132")
           ("IOcy" . "#x401")
           ("Iacute" . "#xCD")
           ("Icirc" . "#xCE")
           ("Icy" . "#x418")
           ("Idot" . "#x130")
           ("Ifr" . "#x2111")
           ("Igrave" . "#xCC")
           ("Im" . "#x2111")
           ("Imacr" . "#x12A")
           ("ImaginaryI" . "#x2148")
           ("Implies" . "#x21D2")
           ("Int" . "#x222C")
           ("Integral" . "#x222B")
           ("Intersection" . "#x22C2")
           ("InvisibleComma" . "#x2063")
           ("InvisibleTimes" . "#x2062")
           ("Iogon" . "#x12E")
           ("Iopf" . "#x1D540")
           ("Iota" . "#x399")
           ("Iscr" . "#x2110")
           ("Itilde" . "#x128")
           ("Iukcy" . "#x406")
           ("Iuml" . "#xCF")
           ("Jcirc" . "#x134")
           ("Jcy" . "#x419")
           ("Jfr" . "#x1D50D")
           ("Jopf" . "#x1D541")
           ("Jscr" . "#x1D4A5")
           ("Jsercy" . "#x408")
           ("Jukcy" . "#x404")
           ("KHcy" . "#x425")
           ("KJcy" . "#x40C")
           ("Kappa" . "#x39A")
           ("Kcedil" . "#x136")
           ("Kcy" . "#x41A")
           ("Kfr" . "#x1D50E")
           ("Kopf" . "#x1D542")
           ("Kscr" . "#x1D4A6")
           ("LJcy" . "#x409")
           ("LT" . "#x3C")
           ("Lacute" . "#x139")
           ("Lambda" . "#x39B")
           ("Lang" . "#x27EA")
           ("Laplacetrf" . "#x2112")
           ("Larr" . "#x219E")
           ("Lcaron" . "#x13D")
           ("Lcedil" . "#x13B")
           ("Lcy" . "#x41B")
           ("LeftAngleBracket" . "#x27E8")
           ("LeftArrow" . "#x2190")
           ("LeftArrowBar" . "#x21E4")
           ("LeftArrowRightArrow" . "#x21C6")
           ("LeftCeiling" . "#x2308")
           ("LeftDoubleBracket" . "#x27E6")
           ("LeftDownTeeVector" . "#x2961")
           ("LeftDownVector" . "#x21C3")
           ("LeftDownVectorBar" . "#x2959")
           ("LeftFloor" . "#x230A")
           ("LeftRightArrow" . "#x2194")
           ("LeftRightVector" . "#x294E")
           ("LeftTee" . "#x22A3")
           ("LeftTeeArrow" . "#x21A4")
           ("LeftTeeVector" . "#x295A")
           ("LeftTriangle" . "#x22B2")
           ("LeftTriangleBar" . "#x29CF")
           ("LeftTriangleEqual" . "#x22B4")
           ("LeftUpDownVector" . "#x2951")
           ("LeftUpTeeVector" . "#x2960")
           ("LeftUpVector" . "#x21BF")
           ("LeftUpVectorBar" . "#x2958")
           ("LeftVector" . "#x21BC")
           ("LeftVectorBar" . "#x2952")
           ("Leftarrow" . "#x21D0")
           ("Leftrightarrow" . "#x21D4")
           ("LessEqualGreater" . "#x22DA")
           ("LessFullEqual" . "#x2266")
           ("LessGreater" . "#x2276")
           ("LessLess" . "#x2AA1")
           ("LessSlantEqual" . "#x2A7D")
           ("LessTilde" . "#x2272")
           ("Lfr" . "#x1D50F")
           ("Ll" . "#x22D8")
           ("Lleftarrow" . "#x21DA")
           ("Lmidot" . "#x13F")
           ("LongLeftArrow" . "#x27F5")
           ("LongLeftRightArrow" . "#x27F7")
           ("LongRightArrow" . "#x27F6")
           ("Longleftarrow" . "#x27F8")
           ("Longleftrightarrow" . "#x27FA")
           ("Longrightarrow" . "#x27F9")
           ("Lopf" . "#x1D543")
           ("LowerLeftArrow" . "#x2199")
           ("LowerRightArrow" . "#x2198")
           ("Lscr" . "#x2112")
           ("Lsh" . "#x21B0")
           ("Lstrok" . "#x141")
           ("Lt" . "#x226A")
           ("Map" . "#x2905")
           ("Mcy" . "#x41C")
           ("MediumSpace" . "#x205F")
           ("Mellintrf" . "#x2133")
           ("Mfr" . "#x1D510")
           ("MinusPlus" . "#x2213")
           ("Mopf" . "#x1D544")
           ("Mscr" . "#x2133")
           ("Mu" . "#x39C")
           ("NJcy" . "#x40A")
           ("Nacute" . "#x143")
           ("Ncaron" . "#x147")
           ("Ncedil" . "#x145")
           ("Ncy" . "#x41D")
           ("NegativeMediumSpace" . "#x200B")
           ("NegativeThickSpace" . "#x200B")
           ("NegativeThinSpace" . "#x200B")
           ("NegativeVeryThinSpace" . "#x200B")
           ("NestedGreaterGreater" . "#x226B")
           ("NestedLessLess" . "#x226A")
           ("NewLine" . "#xA")
           ("Nfr" . "#x1D511")
           ("NoBreak" . "#x2060")
           ("NonBreakingSpace" . "#xA0")
           ("Nopf" . "#x2115")
           ("Not" . "#x2AEC")
           ("NotCongruent" . "#x2262")
           ("NotCupCap" . "#x226D")
           ("NotDoubleVerticalBar" . "#x2226")
           ("NotElement" . "#x2209")
           ("NotEqual" . "#x2260")
           ("NotEqualTilde" . "#x2242")
           ("NotExists" . "#x2204")
           ("NotGreater" . "#x226F")
           ("NotGreaterEqual" . "#x2271")
           ("NotGreaterFullEqual" . "#x2267")
           ("NotGreaterGreater" . "#x226B")
           ("NotGreaterLess" . "#x2279")
           ("NotGreaterSlantEqual" . "#x2A7E")
           ("NotGreaterTilde" . "#x2275")
           ("NotHumpDownHump" . "#x224E")
           ("NotHumpEqual" . "#x224F")
           ("NotLeftTriangle" . "#x22EA")
           ("NotLeftTriangleBar" . "#x29CF")
           ("NotLeftTriangleEqual" . "#x22EC")
           ("NotLess" . "#x226E")
           ("NotLessEqual" . "#x2270")
           ("NotLessGreater" . "#x2278")
           ("NotLessLess" . "#x226A")
           ("NotLessSlantEqual" . "#x2A7D")
           ("NotLessTilde" . "#x2274")
           ("NotNestedGreaterGreater" . "#x2AA2")
           ("NotNestedLessLess" . "#x2AA1")
           ("NotPrecedes" . "#x2280")
           ("NotPrecedesEqual" . "#x2AAF")
           ("NotPrecedesSlantEqual" . "#x22E0")
           ("NotReverseElement" . "#x220C")
           ("NotRightTriangle" . "#x22EB")
           ("NotRightTriangleBar" . "#x29D0")
           ("NotRightTriangleEqual" . "#x22ED")
           ("NotSquareSubset" . "#x228F")
           ("NotSquareSubsetEqual" . "#x22E2")
           ("NotSquareSuperset" . "#x2290")
           ("NotSquareSupersetEqual" . "#x22E3")
           ("NotSubset" . "#x2282")
           ("NotSubsetEqual" . "#x2288")
           ("NotSucceeds" . "#x2281")
           ("NotSucceedsEqual" . "#x2AB0")
           ("NotSucceedsSlantEqual" . "#x22E1")
           ("NotSucceedsTilde" . "#x227F")
           ("NotSuperset" . "#x2283")
           ("NotSupersetEqual" . "#x2289")
           ("NotTilde" . "#x2241")
           ("NotTildeEqual" . "#x2244")
           ("NotTildeFullEqual" . "#x2247")
           ("NotTildeTilde" . "#x2249")
           ("NotVerticalBar" . "#x2224")
           ("Nscr" . "#x1D4A9")
           ("Ntilde" . "#xD1")
           ("Nu" . "#x39D")
           ("OElig" . "#x152")
           ("Oacute" . "#xD3")
           ("Ocirc" . "#xD4")
           ("Ocy" . "#x41E")
           ("Odblac" . "#x150")
           ("Ofr" . "#x1D512")
           ("Ograve" . "#xD2")
           ("Omacr" . "#x14C")
           ("Omega" . "#x3A9")
           ("Omicron" . "#x39F")
           ("Oopf" . "#x1D546")
           ("OpenCurlyDoubleQuote" . "#x201C")
           ("OpenCurlyQuote" . "#x2018")
           ("Or" . "#x2A54")
           ("Oscr" . "#x1D4AA")
           ("Oslash" . "#xD8")
           ("Otilde" . "#xD5")
           ("Otimes" . "#x2A37")
           ("Ouml" . "#xD6")
           ("OverBar" . "#x203E")
           ("OverBrace" . "#x23DE")
           ("OverBracket" . "#x23B4")
           ("OverParenthesis" . "#x23DC")
           ("PartialD" . "#x2202")
           ("Pcy" . "#x41F")
           ("Pfr" . "#x1D513")
           ("Phi" . "#x3A6")
           ("Pi" . "#x3A0")
           ("PlusMinus" . "#xB1")
           ("Poincareplane" . "#x210C")
           ("Popf" . "#x2119")
           ("Pr" . "#x2ABB")
           ("Precedes" . "#x227A")
           ("PrecedesEqual" . "#x2AAF")
           ("PrecedesSlantEqual" . "#x227C")
           ("PrecedesTilde" . "#x227E")
           ("Prime" . "#x2033")
           ("Product" . "#x220F")
           ("Proportion" . "#x2237")
           ("Proportional" . "#x221D")
           ("Pscr" . "#x1D4AB")
           ("Psi" . "#x3A8")
           ("QUOT" . "#x22")
           ("Qfr" . "#x1D514")
           ("Qopf" . "#x211A")
           ("Qscr" . "#x1D4AC")
           ("RBarr" . "#x2910")
           ("REG" . "#xAE")
           ("Racute" . "#x154")
           ("Rang" . "#x27EB")
           ("Rarr" . "#x21A0")
           ("Rarrtl" . "#x2916")
           ("Rcaron" . "#x158")
           ("Rcedil" . "#x156")
           ("Rcy" . "#x420")
           ("Re" . "#x211C")
           ("ReverseElement" . "#x220B")
           ("ReverseEquilibrium" . "#x21CB")
           ("ReverseUpEquilibrium" . "#x296F")
           ("Rfr" . "#x211C")
           ("Rho" . "#x3A1")
           ("RightAngleBracket" . "#x27E9")
           ("RightArrow" . "#x2192")
           ("RightArrowBar" . "#x21E5")
           ("RightArrowLeftArrow" . "#x21C4")
           ("RightCeiling" . "#x2309")
           ("RightDoubleBracket" . "#x27E7")
           ("RightDownTeeVector" . "#x295D")
           ("RightDownVector" . "#x21C2")
           ("RightDownVectorBar" . "#x2955")
           ("RightFloor" . "#x230B")
           ("RightTee" . "#x22A2")
           ("RightTeeArrow" . "#x21A6")
           ("RightTeeVector" . "#x295B")
           ("RightTriangle" . "#x22B3")
           ("RightTriangleBar" . "#x29D0")
           ("RightTriangleEqual" . "#x22B5")
           ("RightUpDownVector" . "#x294F")
           ("RightUpTeeVector" . "#x295C")
           ("RightUpVector" . "#x21BE")
           ("RightUpVectorBar" . "#x2954")
           ("RightVector" . "#x21C0")
           ("RightVectorBar" . "#x2953")
           ("Rightarrow" . "#x21D2")
           ("Ropf" . "#x211D")
           ("RoundImplies" . "#x2970")
           ("Rrightarrow" . "#x21DB")
           ("Rscr" . "#x211B")
           ("Rsh" . "#x21B1")
           ("RuleDelayed" . "#x29F4")
           ("SHCHcy" . "#x429")
           ("SHcy" . "#x428")
           ("SOFTcy" . "#x42C")
           ("Sacute" . "#x15A")
           ("Sc" . "#x2ABC")
           ("Scaron" . "#x160")
           ("Scedil" . "#x15E")
           ("Scirc" . "#x15C")
           ("Scy" . "#x421")
           ("Sfr" . "#x1D516")
           ("ShortDownArrow" . "#x2193")
           ("ShortLeftArrow" . "#x2190")
           ("ShortRightArrow" . "#x2192")
           ("ShortUpArrow" . "#x2191")
           ("Sigma" . "#x3A3")
           ("SmallCircle" . "#x2218")
           ("Sopf" . "#x1D54A")
           ("Sqrt" . "#x221A")
           ("Square" . "#x25A1")
           ("SquareIntersection" . "#x2293")
           ("SquareSubset" . "#x228F")
           ("SquareSubsetEqual" . "#x2291")
           ("SquareSuperset" . "#x2290")
           ("SquareSupersetEqual" . "#x2292")
           ("SquareUnion" . "#x2294")
           ("Sscr" . "#x1D4AE")
           ("Star" . "#x22C6")
           ("Sub" . "#x22D0")
           ("Subset" . "#x22D0")
           ("SubsetEqual" . "#x2286")
           ("Succeeds" . "#x227B")
           ("SucceedsEqual" . "#x2AB0")
           ("SucceedsSlantEqual" . "#x227D")
           ("SucceedsTilde" . "#x227F")
           ("SuchThat" . "#x220B")
           ("Sum" . "#x2211")
           ("Sup" . "#x22D1")
           ("Superset" . "#x2283")
           ("SupersetEqual" . "#x2287")
           ("Supset" . "#x22D1")
           ("THORN" . "#xDE")
           ("TRADE" . "#x2122")
           ("TSHcy" . "#x40B")
           ("TScy" . "#x426")
           ("Tab" . "#x9")
           ("Tau" . "#x3A4")
           ("Tcaron" . "#x164")
           ("Tcedil" . "#x162")
           ("Tcy" . "#x422")
           ("Tfr" . "#x1D517")
           ("Therefore" . "#x2234")
           ("Theta" . "#x398")
           ("ThickSpace" . "#x205F")
           ("ThinSpace" . "#x2009")
           ("Tilde" . "#x223C")
           ("TildeEqual" . "#x2243")
           ("TildeFullEqual" . "#x2245")
           ("TildeTilde" . "#x2248")
           ("Topf" . "#x1D54B")
           ("TripleDot" . "#x20DB")
           ("Tscr" . "#x1D4AF")
           ("Tstrok" . "#x166")
           ("Uacute" . "#xDA")
           ("Uarr" . "#x219F")
           ("Uarrocir" . "#x2949")
           ("Ubrcy" . "#x40E")
           ("Ubreve" . "#x16C")
           ("Ucirc" . "#xDB")
           ("Ucy" . "#x423")
           ("Udblac" . "#x170")
           ("Ufr" . "#x1D518")
           ("Ugrave" . "#xD9")
           ("Umacr" . "#x16A")
           ("UnderBar" . "#x5F")
           ("UnderBrace" . "#x23DF")
           ("UnderBracket" . "#x23B5")
           ("UnderParenthesis" . "#x23DD")
           ("Union" . "#x22C3")
           ("UnionPlus" . "#x228E")
           ("Uogon" . "#x172")
           ("Uopf" . "#x1D54C")
           ("UpArrow" . "#x2191")
           ("UpArrowBar" . "#x2912")
           ("UpArrowDownArrow" . "#x21C5")
           ("UpDownArrow" . "#x2195")
           ("UpEquilibrium" . "#x296E")
           ("UpTee" . "#x22A5")
           ("UpTeeArrow" . "#x21A5")
           ("Uparrow" . "#x21D1")
           ("Updownarrow" . "#x21D5")
           ("UpperLeftArrow" . "#x2196")
           ("UpperRightArrow" . "#x2197")
           ("Upsi" . "#x3D2")
           ("Upsilon" . "#x3A5")
           ("Uring" . "#x16E")
           ("Uscr" . "#x1D4B0")
           ("Utilde" . "#x168")
           ("Uuml" . "#xDC")
           ("VDash" . "#x22AB")
           ("Vbar" . "#x2AEB")
           ("Vcy" . "#x412")
           ("Vdash" . "#x22A9")
           ("Vdashl" . "#x2AE6")
           ("Vee" . "#x22C1")
           ("Verbar" . "#x2016")
           ("Vert" . "#x2016")
           ("VerticalBar" . "#x2223")
           ("VerticalLine" . "#x7C")
           ("VerticalSeparator" . "#x2758")
           ("VerticalTilde" . "#x2240")
           ("VeryThinSpace" . "#x200A")
           ("Vfr" . "#x1D519")
           ("Vopf" . "#x1D54D")
           ("Vscr" . "#x1D4B1")
           ("Vvdash" . "#x22AA")
           ("Wcirc" . "#x174")
           ("Wedge" . "#x22C0")
           ("Wfr" . "#x1D51A")
           ("Wopf" . "#x1D54E")
           ("Wscr" . "#x1D4B2")
           ("Xfr" . "#x1D51B")
           ("Xi" . "#x39E")
           ("Xopf" . "#x1D54F")
           ("Xscr" . "#x1D4B3")
           ("YAcy" . "#x42F")
           ("YIcy" . "#x407")
           ("YUcy" . "#x42E")
           ("Yacute" . "#xDD")
           ("Ycirc" . "#x176")
           ("Ycy" . "#x42B")
           ("Yfr" . "#x1D51C")
           ("Yopf" . "#x1D550")
           ("Yscr" . "#x1D4B4")
           ("Yuml" . "#x178")
           ("ZHcy" . "#x416")
           ("Zacute" . "#x179")
           ("Zcaron" . "#x17D")
           ("Zcy" . "#x417")
           ("Zdot" . "#x17B")
           ("ZeroWidthSpace" . "#x200B")
           ("Zeta" . "#x396")
           ("Zfr" . "#x2128")
           ("Zopf" . "#x2124")
           ("Zscr" . "#x1D4B5")
           ("aacute" . "#xE1")
           ("abreve" . "#x103")
           ("ac" . "#x223E")
           ("acE" . "#x223E")
           ("acd" . "#x223F")
           ("acirc" . "#xE2")
           ("acute" . "#xB4")
           ("acy" . "#x430")
           ("aelig" . "#xE6")
           ("af" . "#x2061")
           ("afr" . "#x1D51E")
           ("agrave" . "#xE0")
           ("alefsym" . "#x2135")
           ("aleph" . "#x2135")
           ("alpha" . "#x3B1")
           ("amacr" . "#x101")
           ("amalg" . "#x2A3F")
           ("amp" . "#x26")
           ("and" . "#x2227")
           ("andand" . "#x2A55")
           ("andd" . "#x2A5C")
           ("andslope" . "#x2A58")
           ("andv" . "#x2A5A")
           ("ang" . "#x2220")
           ("ange" . "#x29A4")
           ("angle" . "#x2220")
           ("angmsd" . "#x2221")
           ("angmsdaa" . "#x29A8")
           ("angmsdab" . "#x29A9")
           ("angmsdac" . "#x29AA")
           ("angmsdad" . "#x29AB")
           ("angmsdae" . "#x29AC")
           ("angmsdaf" . "#x29AD")
           ("angmsdag" . "#x29AE")
           ("angmsdah" . "#x29AF")
           ("angrt" . "#x221F")
           ("angrtvb" . "#x22BE")
           ("angrtvbd" . "#x299D")
           ("angsph" . "#x2222")
           ("angst" . "#xC5")
           ("angzarr" . "#x237C")
           ("aogon" . "#x105")
           ("aopf" . "#x1D552")
           ("ap" . "#x2248")
           ("apE" . "#x2A70")
           ("apacir" . "#x2A6F")
           ("ape" . "#x224A")
           ("apid" . "#x224B")
           ("apos" . "#x27")
           ("approx" . "#x2248")
           ("approxeq" . "#x224A")
           ("aring" . "#xE5")
           ("ascr" . "#x1D4B6")
           ("ast" . "#x2A")
           ("asymp" . "#x2248")
           ("asympeq" . "#x224D")
           ("atilde" . "#xE3")
           ("auml" . "#xE4")
           ("awconint" . "#x2233")
           ("awint" . "#x2A11")
           ("bNot" . "#x2AED")
           ("backcong" . "#x224C")
           ("backepsilon" . "#x3F6")
           ("backprime" . "#x2035")
           ("backsim" . "#x223D")
           ("backsimeq" . "#x22CD")
           ("barvee" . "#x22BD")
           ("barwed" . "#x2305")
           ("barwedge" . "#x2305")
           ("bbrk" . "#x23B5")
           ("bbrktbrk" . "#x23B6")
           ("bcong" . "#x224C")
           ("bcy" . "#x431")
           ("bdquo" . "#x201E")
           ("becaus" . "#x2235")
           ("because" . "#x2235")
           ("bemptyv" . "#x29B0")
           ("bepsi" . "#x3F6")
           ("bernou" . "#x212C")
           ("beta" . "#x3B2")
           ("beth" . "#x2136")
           ("between" . "#x226C")
           ("bfr" . "#x1D51F")
           ("bigcap" . "#x22C2")
           ("bigcirc" . "#x25EF")
           ("bigcup" . "#x22C3")
           ("bigodot" . "#x2A00")
           ("bigoplus" . "#x2A01")
           ("bigotimes" . "#x2A02")
           ("bigsqcup" . "#x2A06")
           ("bigstar" . "#x2605")
           ("bigtriangledown" . "#x25BD")
           ("bigtriangleup" . "#x25B3")
           ("biguplus" . "#x2A04")
           ("bigvee" . "#x22C1")
           ("bigwedge" . "#x22C0")
           ("bkarow" . "#x290D")
           ("blacklozenge" . "#x29EB")
           ("blacksquare" . "#x25AA")
           ("blacktriangle" . "#x25B4")
           ("blacktriangledown" . "#x25BE")
           ("blacktriangleleft" . "#x25C2")
           ("blacktriangleright" . "#x25B8")
           ("blank" . "#x2423")
           ("blk12" . "#x2592")
           ("blk14" . "#x2591")
           ("blk34" . "#x2593")
           ("block" . "#x2588")
           ("bne" . "#x3D")
           ("bnequiv" . "#x2261")
           ("bnot" . "#x2310")
           ("bopf" . "#x1D553")
           ("bot" . "#x22A5")
           ("bottom" . "#x22A5")
           ("bowtie" . "#x22C8")
           ("boxDL" . "#x2557")
           ("boxDR" . "#x2554")
           ("boxDl" . "#x2556")
           ("boxDr" . "#x2553")
           ("boxH" . "#x2550")
           ("boxHD" . "#x2566")
           ("boxHU" . "#x2569")
           ("boxHd" . "#x2564")
           ("boxHu" . "#x2567")
           ("boxUL" . "#x255D")
           ("boxUR" . "#x255A")
           ("boxUl" . "#x255C")
           ("boxUr" . "#x2559")
           ("boxV" . "#x2551")
           ("boxVH" . "#x256C")
           ("boxVL" . "#x2563")
           ("boxVR" . "#x2560")
           ("boxVh" . "#x256B")
           ("boxVl" . "#x2562")
           ("boxVr" . "#x255F")
           ("boxbox" . "#x29C9")
           ("boxdL" . "#x2555")
           ("boxdR" . "#x2552")
           ("boxdl" . "#x2510")
           ("boxdr" . "#x250C")
           ("boxh" . "#x2500")
           ("boxhD" . "#x2565")
           ("boxhU" . "#x2568")
           ("boxhd" . "#x252C")
           ("boxhu" . "#x2534")
           ("boxminus" . "#x229F")
           ("boxplus" . "#x229E")
           ("boxtimes" . "#x22A0")
           ("boxuL" . "#x255B")
           ("boxuR" . "#x2558")
           ("boxul" . "#x2518")
           ("boxur" . "#x2514")
           ("boxv" . "#x2502")
           ("boxvH" . "#x256A")
           ("boxvL" . "#x2561")
           ("boxvR" . "#x255E")
           ("boxvh" . "#x253C")
           ("boxvl" . "#x2524")
           ("boxvr" . "#x251C")
           ("bprime" . "#x2035")
           ("breve" . "#x2D8")
           ("brvbar" . "#xA6")
           ("bscr" . "#x1D4B7")
           ("bsemi" . "#x204F")
           ("bsim" . "#x223D")
           ("bsime" . "#x22CD")
           ("bsol" . "#x5C")
           ("bsolb" . "#x29C5")
           ("bsolhsub" . "#x27C8")
           ("bull" . "#x2022")
           ("bullet" . "#x2022")
           ("bump" . "#x224E")
           ("bumpE" . "#x2AAE")
           ("bumpe" . "#x224F")
           ("bumpeq" . "#x224F")
           ("cacute" . "#x107")
           ("cap" . "#x2229")
           ("capand" . "#x2A44")
           ("capbrcup" . "#x2A49")
           ("capcap" . "#x2A4B")
           ("capcup" . "#x2A47")
           ("capdot" . "#x2A40")
           ("caps" . "#x2229")
           ("caret" . "#x2041")
           ("caron" . "#x2C7")
           ("ccaps" . "#x2A4D")
           ("ccaron" . "#x10D")
           ("ccedil" . "#xE7")
           ("ccirc" . "#x109")
           ("ccups" . "#x2A4C")
           ("ccupssm" . "#x2A50")
           ("cdot" . "#x10B")
           ("cedil" . "#xB8")
           ("cemptyv" . "#x29B2")
           ("cent" . "#xA2")
           ("centerdot" . "#xB7")
           ("cfr" . "#x1D520")
           ("chcy" . "#x447")
           ("check" . "#x2713")
           ("checkmark" . "#x2713")
           ("chi" . "#x3C7")
           ("cir" . "#x25CB")
           ("cirE" . "#x29C3")
           ("circ" . "#x2C6")
           ("circeq" . "#x2257")
           ("circlearrowleft" . "#x21BA")
           ("circlearrowright" . "#x21BB")
           ("circledR" . "#xAE")
           ("circledS" . "#x24C8")
           ("circledast" . "#x229B")
           ("circledcirc" . "#x229A")
           ("circleddash" . "#x229D")
           ("cire" . "#x2257")
           ("cirfnint" . "#x2A10")
           ("cirmid" . "#x2AEF")
           ("cirscir" . "#x29C2")
           ("clubs" . "#x2663")
           ("clubsuit" . "#x2663")
           ("colon" . "#x3A")
           ("colone" . "#x2254")
           ("coloneq" . "#x2254")
           ("comma" . "#x2C")
           ("commat" . "#x40")
           ("comp" . "#x2201")
           ("compfn" . "#x2218")
           ("complement" . "#x2201")
           ("complexes" . "#x2102")
           ("cong" . "#x2245")
           ("congdot" . "#x2A6D")
           ("conint" . "#x222E")
           ("copf" . "#x1D554")
           ("coprod" . "#x2210")
           ("copy" . "#xA9")
           ("copysr" . "#x2117")
           ("crarr" . "#x21B5")
           ("cross" . "#x2717")
           ("cscr" . "#x1D4B8")
           ("csub" . "#x2ACF")
           ("csube" . "#x2AD1")
           ("csup" . "#x2AD0")
           ("csupe" . "#x2AD2")
           ("ctdot" . "#x22EF")
           ("cudarrl" . "#x2938")
           ("cudarrr" . "#x2935")
           ("cuepr" . "#x22DE")
           ("cuesc" . "#x22DF")
           ("cularr" . "#x21B6")
           ("cularrp" . "#x293D")
           ("cup" . "#x222A")
           ("cupbrcap" . "#x2A48")
           ("cupcap" . "#x2A46")
           ("cupcup" . "#x2A4A")
           ("cupdot" . "#x228D")
           ("cupor" . "#x2A45")
           ("cups" . "#x222A")
           ("curarr" . "#x21B7")
           ("curarrm" . "#x293C")
           ("curlyeqprec" . "#x22DE")
           ("curlyeqsucc" . "#x22DF")
           ("curlyvee" . "#x22CE")
           ("curlywedge" . "#x22CF")
           ("curren" . "#xA4")
           ("curvearrowleft" . "#x21B6")
           ("curvearrowright" . "#x21B7")
           ("cuvee" . "#x22CE")
           ("cuwed" . "#x22CF")
           ("cwconint" . "#x2232")
           ("cwint" . "#x2231")
           ("cylcty" . "#x232D")
           ("dArr" . "#x21D3")
           ("dHar" . "#x2965")
           ("dagger" . "#x2020")
           ("daleth" . "#x2138")
           ("darr" . "#x2193")
           ("dash" . "#x2010")
           ("dashv" . "#x22A3")
           ("dbkarow" . "#x290F")
           ("dblac" . "#x2DD")
           ("dcaron" . "#x10F")
           ("dcy" . "#x434")
           ("dd" . "#x2146")
           ("ddagger" . "#x2021")
           ("ddarr" . "#x21CA")
           ("ddotseq" . "#x2A77")
           ("deg" . "#xB0")
           ("delta" . "#x3B4")
           ("demptyv" . "#x29B1")
           ("dfisht" . "#x297F")
           ("dfr" . "#x1D521")
           ("dharl" . "#x21C3")
           ("dharr" . "#x21C2")
           ("diam" . "#x22C4")
           ("diamond" . "#x22C4")
           ("diamondsuit" . "#x2666")
           ("diams" . "#x2666")
           ("die" . "#xA8")
           ("digamma" . "#x3DD")
           ("disin" . "#x22F2")
           ("div" . "#xF7")
           ("divide" . "#xF7")
           ("divideontimes" . "#x22C7")
           ("divonx" . "#x22C7")
           ("djcy" . "#x452")
           ("dlcorn" . "#x231E")
           ("dlcrop" . "#x230D")
           ("dollar" . "#x24")
           ("dopf" . "#x1D555")
           ("dot" . "#x2D9")
           ("doteq" . "#x2250")
           ("doteqdot" . "#x2251")
           ("dotminus" . "#x2238")
           ("dotplus" . "#x2214")
           ("dotsquare" . "#x22A1")
           ("doublebarwedge" . "#x2306")
           ("downarrow" . "#x2193")
           ("downdownarrows" . "#x21CA")
           ("downharpoonleft" . "#x21C3")
           ("downharpoonright" . "#x21C2")
           ("drbkarow" . "#x2910")
           ("drcorn" . "#x231F")
           ("drcrop" . "#x230C")
           ("dscr" . "#x1D4B9")
           ("dscy" . "#x455")
           ("dsol" . "#x29F6")
           ("dstrok" . "#x111")
           ("dtdot" . "#x22F1")
           ("dtri" . "#x25BF")
           ("dtrif" . "#x25BE")
           ("duarr" . "#x21F5")
           ("duhar" . "#x296F")
           ("dwangle" . "#x29A6")
           ("dzcy" . "#x45F")
           ("dzigrarr" . "#x27FF")
           ("eDDot" . "#x2A77")
           ("eDot" . "#x2251")
           ("eacute" . "#xE9")
           ("easter" . "#x2A6E")
           ("ecaron" . "#x11B")
           ("ecir" . "#x2256")
           ("ecirc" . "#xEA")
           ("ecolon" . "#x2255")
           ("ecy" . "#x44D")
           ("edot" . "#x117")
           ("ee" . "#x2147")
           ("efDot" . "#x2252")
           ("efr" . "#x1D522")
           ("eg" . "#x2A9A")
           ("egrave" . "#xE8")
           ("egs" . "#x2A96")
           ("egsdot" . "#x2A98")
           ("el" . "#x2A99")
           ("elinters" . "#x23E7")
           ("ell" . "#x2113")
           ("els" . "#x2A95")
           ("elsdot" . "#x2A97")
           ("emacr" . "#x113")
           ("empty" . "#x2205")
           ("emptyset" . "#x2205")
           ("emptyv" . "#x2205")
           ("emsp" . "#x2003")
           ("emsp13" . "#x2004")
           ("emsp14" . "#x2005")
           ("eng" . "#x14B")
           ("ensp" . "#x2002")
           ("eogon" . "#x119")
           ("eopf" . "#x1D556")
           ("epar" . "#x22D5")
           ("eparsl" . "#x29E3")
           ("eplus" . "#x2A71")
           ("epsi" . "#x3B5")
           ("epsilon" . "#x3B5")
           ("epsiv" . "#x3F5")
           ("eqcirc" . "#x2256")
           ("eqcolon" . "#x2255")
           ("eqsim" . "#x2242")
           ("eqslantgtr" . "#x2A96")
           ("eqslantless" . "#x2A95")
           ("equals" . "#x3D")
           ("equest" . "#x225F")
           ("equiv" . "#x2261")
           ("equivDD" . "#x2A78")
           ("eqvparsl" . "#x29E5")
           ("erDot" . "#x2253")
           ("erarr" . "#x2971")
           ("escr" . "#x212F")
           ("esdot" . "#x2250")
           ("esim" . "#x2242")
           ("eta" . "#x3B7")
           ("eth" . "#xF0")
           ("euml" . "#xEB")
           ("euro" . "#x20AC")
           ("excl" . "#x21")
           ("exist" . "#x2203")
           ("expectation" . "#x2130")
           ("exponentiale" . "#x2147")
           ("fallingdotseq" . "#x2252")
           ("fcy" . "#x444")
           ("female" . "#x2640")
           ("ffilig" . "#xFB03")
           ("fflig" . "#xFB00")
           ("ffllig" . "#xFB04")
           ("ffr" . "#x1D523")
           ("filig" . "#xFB01")
           ("fjlig" . "#x66")
           ("flat" . "#x266D")
           ("fllig" . "#xFB02")
           ("fltns" . "#x25B1")
           ("fnof" . "#x192")
           ("fopf" . "#x1D557")
           ("forall" . "#x2200")
           ("fork" . "#x22D4")
           ("forkv" . "#x2AD9")
           ("fpartint" . "#x2A0D")
           ("frac12" . "#xBD")
           ("frac13" . "#x2153")
           ("frac14" . "#xBC")
           ("frac15" . "#x2155")
           ("frac16" . "#x2159")
           ("frac18" . "#x215B")
           ("frac23" . "#x2154")
           ("frac25" . "#x2156")
           ("frac34" . "#xBE")
           ("frac35" . "#x2157")
           ("frac38" . "#x215C")
           ("frac45" . "#x2158")
           ("frac56" . "#x215A")
           ("frac58" . "#x215D")
           ("frac78" . "#x215E")
           ("frasl" . "#x2044")
           ("frown" . "#x2322")
           ("fscr" . "#x1D4BB")
           ("gE" . "#x2267")
           ("gEl" . "#x2A8C")
           ("gacute" . "#x1F5")
           ("gamma" . "#x3B3")
           ("gammad" . "#x3DD")
           ("gap" . "#x2A86")
           ("gbreve" . "#x11F")
           ("gcirc" . "#x11D")
           ("gcy" . "#x433")
           ("gdot" . "#x121")
           ("ge" . "#x2265")
           ("gel" . "#x22DB")
           ("geq" . "#x2265")
           ("geqq" . "#x2267")
           ("geqslant" . "#x2A7E")
           ("ges" . "#x2A7E")
           ("gescc" . "#x2AA9")
           ("gesdot" . "#x2A80")
           ("gesdoto" . "#x2A82")
           ("gesdotol" . "#x2A84")
           ("gesl" . "#x22DB")
           ("gesles" . "#x2A94")
           ("gfr" . "#x1D524")
           ("gg" . "#x226B")
           ("ggg" . "#x22D9")
           ("gimel" . "#x2137")
           ("gjcy" . "#x453")
           ("gl" . "#x2277")
           ("glE" . "#x2A92")
           ("gla" . "#x2AA5")
           ("glj" . "#x2AA4")
           ("gnE" . "#x2269")
           ("gnap" . "#x2A8A")
           ("gnapprox" . "#x2A8A")
           ("gne" . "#x2A88")
           ("gneq" . "#x2A88")
           ("gneqq" . "#x2269")
           ("gnsim" . "#x22E7")
           ("gopf" . "#x1D558")
           ("grave" . "#x60")
           ("gscr" . "#x210A")
           ("gsim" . "#x2273")
           ("gsime" . "#x2A8E")
           ("gsiml" . "#x2A90")
           ("gt" . "#x3E")
           ("gtcc" . "#x2AA7")
           ("gtcir" . "#x2A7A")
           ("gtdot" . "#x22D7")
           ("gtlPar" . "#x2995")
           ("gtquest" . "#x2A7C")
           ("gtrapprox" . "#x2A86")
           ("gtrarr" . "#x2978")
           ("gtrdot" . "#x22D7")
           ("gtreqless" . "#x22DB")
           ("gtreqqless" . "#x2A8C")
           ("gtrless" . "#x2277")
           ("gtrsim" . "#x2273")
           ("gvertneqq" . "#x2269")
           ("gvnE" . "#x2269")
           ("hArr" . "#x21D4")
           ("hairsp" . "#x200A")
           ("half" . "#xBD")
           ("hamilt" . "#x210B")
           ("hardcy" . "#x44A")
           ("harr" . "#x2194")
           ("harrcir" . "#x2948")
           ("harrw" . "#x21AD")
           ("hbar" . "#x210F")
           ("hcirc" . "#x125")
           ("hearts" . "#x2665")
           ("heartsuit" . "#x2665")
           ("hellip" . "#x2026")
           ("hercon" . "#x22B9")
           ("hfr" . "#x1D525")
           ("hksearow" . "#x2925")
           ("hkswarow" . "#x2926")
           ("hoarr" . "#x21FF")
           ("homtht" . "#x223B")
           ("hookleftarrow" . "#x21A9")
           ("hookrightarrow" . "#x21AA")
           ("hopf" . "#x1D559")
           ("horbar" . "#x2015")
           ("hscr" . "#x1D4BD")
           ("hslash" . "#x210F")
           ("hstrok" . "#x127")
           ("hybull" . "#x2043")
           ("hyphen" . "#x2010")
           ("iacute" . "#xED")
           ("ic" . "#x2063")
           ("icirc" . "#xEE")
           ("icy" . "#x438")
           ("iecy" . "#x435")
           ("iexcl" . "#xA1")
           ("iff" . "#x21D4")
           ("ifr" . "#x1D526")
           ("igrave" . "#xEC")
           ("ii" . "#x2148")
           ("iiiint" . "#x2A0C")
           ("iiint" . "#x222D")
           ("iinfin" . "#x29DC")
           ("iiota" . "#x2129")
           ("ijlig" . "#x133")
           ("imacr" . "#x12B")
           ("image" . "#x2111")
           ("imagline" . "#x2110")
           ("imagpart" . "#x2111")
           ("imath" . "#x131")
           ("imof" . "#x22B7")
           ("imped" . "#x1B5")
           ("in" . "#x2208")
           ("incare" . "#x2105")
           ("infin" . "#x221E")
           ("infintie" . "#x29DD")
           ("inodot" . "#x131")
           ("int" . "#x222B")
           ("intcal" . "#x22BA")
           ("integers" . "#x2124")
           ("intercal" . "#x22BA")
           ("intlarhk" . "#x2A17")
           ("intprod" . "#x2A3C")
           ("iocy" . "#x451")
           ("iogon" . "#x12F")
           ("iopf" . "#x1D55A")
           ("iota" . "#x3B9")
           ("iprod" . "#x2A3C")
           ("iquest" . "#xBF")
           ("iscr" . "#x1D4BE")
           ("isin" . "#x2208")
           ("isinE" . "#x22F9")
           ("isindot" . "#x22F5")
           ("isins" . "#x22F4")
           ("isinsv" . "#x22F3")
           ("isinv" . "#x2208")
           ("it" . "#x2062")
           ("itilde" . "#x129")
           ("iukcy" . "#x456")
           ("iuml" . "#xEF")
           ("jcirc" . "#x135")
           ("jcy" . "#x439")
           ("jfr" . "#x1D527")
           ("jmath" . "#x237")
           ("jopf" . "#x1D55B")
           ("jscr" . "#x1D4BF")
           ("jsercy" . "#x458")
           ("jukcy" . "#x454")
           ("kappa" . "#x3BA")
           ("kappav" . "#x3F0")
           ("kcedil" . "#x137")
           ("kcy" . "#x43A")
           ("kfr" . "#x1D528")
           ("kgreen" . "#x138")
           ("khcy" . "#x445")
           ("kjcy" . "#x45C")
           ("kopf" . "#x1D55C")
           ("kscr" . "#x1D4C0")
           ("lAarr" . "#x21DA")
           ("lArr" . "#x21D0")
           ("lAtail" . "#x291B")
           ("lBarr" . "#x290E")
           ("lE" . "#x2266")
           ("lEg" . "#x2A8B")
           ("lHar" . "#x2962")
           ("lacute" . "#x13A")
           ("laemptyv" . "#x29B4")
           ("lagran" . "#x2112")
           ("lambda" . "#x3BB")
           ("lang" . "#x27E8")
           ("langd" . "#x2991")
           ("langle" . "#x27E8")
           ("lap" . "#x2A85")
           ("laquo" . "#xAB")
           ("larr" . "#x2190")
           ("larrb" . "#x21E4")
           ("larrbfs" . "#x291F")
           ("larrfs" . "#x291D")
           ("larrhk" . "#x21A9")
           ("larrlp" . "#x21AB")
           ("larrpl" . "#x2939")
           ("larrsim" . "#x2973")
           ("larrtl" . "#x21A2")
           ("lat" . "#x2AAB")
           ("latail" . "#x2919")
           ("late" . "#x2AAD")
           ("lates" . "#x2AAD")
           ("lbarr" . "#x290C")
           ("lbbrk" . "#x2772")
           ("lbrace" . "#x7B")
           ("lbrack" . "#x5B")
           ("lbrke" . "#x298B")
           ("lbrksld" . "#x298F")
           ("lbrkslu" . "#x298D")
           ("lcaron" . "#x13E")
           ("lcedil" . "#x13C")
           ("lceil" . "#x2308")
           ("lcub" . "#x7B")
           ("lcy" . "#x43B")
           ("ldca" . "#x2936")
           ("ldquo" . "#x201C")
           ("ldquor" . "#x201E")
           ("ldrdhar" . "#x2967")
           ("ldrushar" . "#x294B")
           ("ldsh" . "#x21B2")
           ("le" . "#x2264")
           ("leftarrow" . "#x2190")
           ("leftarrowtail" . "#x21A2")
           ("leftharpoondown" . "#x21BD")
           ("leftharpoonup" . "#x21BC")
           ("leftleftarrows" . "#x21C7")
           ("leftrightarrow" . "#x2194")
           ("leftrightarrows" . "#x21C6")
           ("leftrightharpoons" . "#x21CB")
           ("leftrightsquigarrow" . "#x21AD")
           ("leftthreetimes" . "#x22CB")
           ("leg" . "#x22DA")
           ("leq" . "#x2264")
           ("leqq" . "#x2266")
           ("leqslant" . "#x2A7D")
           ("les" . "#x2A7D")
           ("lescc" . "#x2AA8")
           ("lesdot" . "#x2A7F")
           ("lesdoto" . "#x2A81")
           ("lesdotor" . "#x2A83")
           ("lesg" . "#x22DA")
           ("lesges" . "#x2A93")
           ("lessapprox" . "#x2A85")
           ("lessdot" . "#x22D6")
           ("lesseqgtr" . "#x22DA")
           ("lesseqqgtr" . "#x2A8B")
           ("lessgtr" . "#x2276")
           ("lesssim" . "#x2272")
           ("lfisht" . "#x297C")
           ("lfloor" . "#x230A")
           ("lfr" . "#x1D529")
           ("lg" . "#x2276")
           ("lgE" . "#x2A91")
           ("lhard" . "#x21BD")
           ("lharu" . "#x21BC")
           ("lharul" . "#x296A")
           ("lhblk" . "#x2584")
           ("ljcy" . "#x459")
           ("ll" . "#x226A")
           ("llarr" . "#x21C7")
           ("llcorner" . "#x231E")
           ("llhard" . "#x296B")
           ("lltri" . "#x25FA")
           ("lmidot" . "#x140")
           ("lmoust" . "#x23B0")
           ("lmoustache" . "#x23B0")
           ("lnE" . "#x2268")
           ("lnap" . "#x2A89")
           ("lnapprox" . "#x2A89")
           ("lne" . "#x2A87")
           ("lneq" . "#x2A87")
           ("lneqq" . "#x2268")
           ("lnsim" . "#x22E6")
           ("loang" . "#x27EC")
           ("loarr" . "#x21FD")
           ("lobrk" . "#x27E6")
           ("longleftarrow" . "#x27F5")
           ("longleftrightarrow" . "#x27F7")
           ("longmapsto" . "#x27FC")
           ("longrightarrow" . "#x27F6")
           ("looparrowleft" . "#x21AB")
           ("looparrowright" . "#x21AC")
           ("lopar" . "#x2985")
           ("lopf" . "#x1D55D")
           ("loplus" . "#x2A2D")
           ("lotimes" . "#x2A34")
           ("lowast" . "#x2217")
           ("lowbar" . "#x5F")
           ("loz" . "#x25CA")
           ("lozenge" . "#x25CA")
           ("lozf" . "#x29EB")
           ("lpar" . "#x28")
           ("lparlt" . "#x2993")
           ("lrarr" . "#x21C6")
           ("lrcorner" . "#x231F")
           ("lrhar" . "#x21CB")
           ("lrhard" . "#x296D")
           ("lrm" . "#x200E")
           ("lrtri" . "#x22BF")
           ("lsaquo" . "#x2039")
           ("lscr" . "#x1D4C1")
           ("lsh" . "#x21B0")
           ("lsim" . "#x2272")
           ("lsime" . "#x2A8D")
           ("lsimg" . "#x2A8F")
           ("lsqb" . "#x5B")
           ("lsquo" . "#x2018")
           ("lsquor" . "#x201A")
           ("lstrok" . "#x142")
           ("lt" . "#x3C")
           ("ltcc" . "#x2AA6")
           ("ltcir" . "#x2A79")
           ("ltdot" . "#x22D6")
           ("lthree" . "#x22CB")
           ("ltimes" . "#x22C9")
           ("ltlarr" . "#x2976")
           ("ltquest" . "#x2A7B")
           ("ltrPar" . "#x2996")
           ("ltri" . "#x25C3")
           ("ltrie" . "#x22B4")
           ("ltrif" . "#x25C2")
           ("lurdshar" . "#x294A")
           ("luruhar" . "#x2966")
           ("lvertneqq" . "#x2268")
           ("lvnE" . "#x2268")
           ("mDDot" . "#x223A")
           ("macr" . "#xAF")
           ("male" . "#x2642")
           ("malt" . "#x2720")
           ("maltese" . "#x2720")
           ("map" . "#x21A6")
           ("mapsto" . "#x21A6")
           ("mapstodown" . "#x21A7")
           ("mapstoleft" . "#x21A4")
           ("mapstoup" . "#x21A5")
           ("marker" . "#x25AE")
           ("mcomma" . "#x2A29")
           ("mcy" . "#x43C")
           ("mdash" . "#x2014")
           ("measuredangle" . "#x2221")
           ("mfr" . "#x1D52A")
           ("mho" . "#x2127")
           ("micro" . "#xB5")
           ("mid" . "#x2223")
           ("midast" . "#x2A")
           ("midcir" . "#x2AF0")
           ("middot" . "#xB7")
           ("minus" . "#x2212")
           ("minusb" . "#x229F")
           ("minusd" . "#x2238")
           ("minusdu" . "#x2A2A")
           ("mlcp" . "#x2ADB")
           ("mldr" . "#x2026")
           ("mnplus" . "#x2213")
           ("models" . "#x22A7")
           ("mopf" . "#x1D55E")
           ("mp" . "#x2213")
           ("mscr" . "#x1D4C2")
           ("mstpos" . "#x223E")
           ("mu" . "#x3BC")
           ("multimap" . "#x22B8")
           ("mumap" . "#x22B8")
           ("nGg" . "#x22D9")
           ("nGt" . "#x226B")
           ("nGtv" . "#x226B")
           ("nLeftarrow" . "#x21CD")
           ("nLeftrightarrow" . "#x21CE")
           ("nLl" . "#x22D8")
           ("nLt" . "#x226A")
           ("nLtv" . "#x226A")
           ("nRightarrow" . "#x21CF")
           ("nVDash" . "#x22AF")
           ("nVdash" . "#x22AE")
           ("nabla" . "#x2207")
           ("nacute" . "#x144")
           ("nang" . "#x2220")
           ("nap" . "#x2249")
           ("napE" . "#x2A70")
           ("napid" . "#x224B")
           ("napos" . "#x149")
           ("napprox" . "#x2249")
           ("natur" . "#x266E")
           ("natural" . "#x266E")
           ("naturals" . "#x2115")
           ("nbsp" . "#xA0")
           ("nbump" . "#x224E")
           ("nbumpe" . "#x224F")
           ("ncap" . "#x2A43")
           ("ncaron" . "#x148")
           ("ncedil" . "#x146")
           ("ncong" . "#x2247")
           ("ncongdot" . "#x2A6D")
           ("ncup" . "#x2A42")
           ("ncy" . "#x43D")
           ("ndash" . "#x2013")
           ("ne" . "#x2260")
           ("neArr" . "#x21D7")
           ("nearhk" . "#x2924")
           ("nearr" . "#x2197")
           ("nearrow" . "#x2197")
           ("nedot" . "#x2250")
           ("nequiv" . "#x2262")
           ("nesear" . "#x2928")
           ("nesim" . "#x2242")
           ("nexist" . "#x2204")
           ("nexists" . "#x2204")
           ("nfr" . "#x1D52B")
           ("ngE" . "#x2267")
           ("nge" . "#x2271")
           ("ngeq" . "#x2271")
           ("ngeqq" . "#x2267")
           ("ngeqslant" . "#x2A7E")
           ("nges" . "#x2A7E")
           ("ngsim" . "#x2275")
           ("ngt" . "#x226F")
           ("ngtr" . "#x226F")
           ("nhArr" . "#x21CE")
           ("nharr" . "#x21AE")
           ("nhpar" . "#x2AF2")
           ("ni" . "#x220B")
           ("nis" . "#x22FC")
           ("nisd" . "#x22FA")
           ("niv" . "#x220B")
           ("njcy" . "#x45A")
           ("nlArr" . "#x21CD")
           ("nlE" . "#x2266")
           ("nlarr" . "#x219A")
           ("nldr" . "#x2025")
           ("nle" . "#x2270")
           ("nleftarrow" . "#x219A")
           ("nleftrightarrow" . "#x21AE")
           ("nleq" . "#x2270")
           ("nleqq" . "#x2266")
           ("nleqslant" . "#x2A7D")
           ("nles" . "#x2A7D")
           ("nless" . "#x226E")
           ("nlsim" . "#x2274")
           ("nlt" . "#x226E")
           ("nltri" . "#x22EA")
           ("nltrie" . "#x22EC")
           ("nmid" . "#x2224")
           ("nopf" . "#x1D55F")
           ("not" . "#xAC")
           ("notin" . "#x2209")
           ("notinE" . "#x22F9")
           ("notindot" . "#x22F5")
           ("notinva" . "#x2209")
           ("notinvb" . "#x22F7")
           ("notinvc" . "#x22F6")
           ("notni" . "#x220C")
           ("notniva" . "#x220C")
           ("notnivb" . "#x22FE")
           ("notnivc" . "#x22FD")
           ("npar" . "#x2226")
           ("nparallel" . "#x2226")
           ("nparsl" . "#x2AFD")
           ("npart" . "#x2202")
           ("npolint" . "#x2A14")
           ("npr" . "#x2280")
           ("nprcue" . "#x22E0")
           ("npre" . "#x2AAF")
           ("nprec" . "#x2280")
           ("npreceq" . "#x2AAF")
           ("nrArr" . "#x21CF")
           ("nrarr" . "#x219B")
           ("nrarrc" . "#x2933")
           ("nrarrw" . "#x219D")
           ("nrightarrow" . "#x219B")
           ("nrtri" . "#x22EB")
           ("nrtrie" . "#x22ED")
           ("nsc" . "#x2281")
           ("nsccue" . "#x22E1")
           ("nsce" . "#x2AB0")
           ("nscr" . "#x1D4C3")
           ("nshortmid" . "#x2224")
           ("nshortparallel" . "#x2226")
           ("nsim" . "#x2241")
           ("nsime" . "#x2244")
           ("nsimeq" . "#x2244")
           ("nsmid" . "#x2224")
           ("nspar" . "#x2226")
           ("nsqsube" . "#x22E2")
           ("nsqsupe" . "#x22E3")
           ("nsub" . "#x2284")
           ("nsubE" . "#x2AC5")
           ("nsube" . "#x2288")
           ("nsubset" . "#x2282")
           ("nsubseteq" . "#x2288")
           ("nsubseteqq" . "#x2AC5")
           ("nsucc" . "#x2281")
           ("nsucceq" . "#x2AB0")
           ("nsup" . "#x2285")
           ("nsupE" . "#x2AC6")
           ("nsupe" . "#x2289")
           ("nsupset" . "#x2283")
           ("nsupseteq" . "#x2289")
           ("nsupseteqq" . "#x2AC6")
           ("ntgl" . "#x2279")
           ("ntilde" . "#xF1")
           ("ntlg" . "#x2278")
           ("ntriangleleft" . "#x22EA")
           ("ntrianglelefteq" . "#x22EC")
           ("ntriangleright" . "#x22EB")
           ("ntrianglerighteq" . "#x22ED")
           ("nu" . "#x3BD")
           ("num" . "#x23")
           ("numero" . "#x2116")
           ("numsp" . "#x2007")
           ("nvDash" . "#x22AD")
           ("nvHarr" . "#x2904")
           ("nvap" . "#x224D")
           ("nvdash" . "#x22AC")
           ("nvge" . "#x2265")
           ("nvgt" . "#x3E")
           ("nvinfin" . "#x29DE")
           ("nvlArr" . "#x2902")
           ("nvle" . "#x2264")
           ("nvlt" . "#x3C")
           ("nvltrie" . "#x22B4")
           ("nvrArr" . "#x2903")
           ("nvrtrie" . "#x22B5")
           ("nvsim" . "#x223C")
           ("nwArr" . "#x21D6")
           ("nwarhk" . "#x2923")
           ("nwarr" . "#x2196")
           ("nwarrow" . "#x2196")
           ("nwnear" . "#x2927")
           ("oS" . "#x24C8")
           ("oacute" . "#xF3")
           ("oast" . "#x229B")
           ("ocir" . "#x229A")
           ("ocirc" . "#xF4")
           ("ocy" . "#x43E")
           ("odash" . "#x229D")
           ("odblac" . "#x151")
           ("odiv" . "#x2A38")
           ("odot" . "#x2299")
           ("odsold" . "#x29BC")
           ("oelig" . "#x153")
           ("ofcir" . "#x29BF")
           ("ofr" . "#x1D52C")
           ("ogon" . "#x2DB")
           ("ograve" . "#xF2")
           ("ogt" . "#x29C1")
           ("ohbar" . "#x29B5")
           ("ohm" . "#x3A9")
           ("oint" . "#x222E")
           ("olarr" . "#x21BA")
           ("olcir" . "#x29BE")
           ("olcross" . "#x29BB")
           ("oline" . "#x203E")
           ("olt" . "#x29C0")
           ("omacr" . "#x14D")
           ("omega" . "#x3C9")
           ("omicron" . "#x3BF")
           ("omid" . "#x29B6")
           ("ominus" . "#x2296")
           ("oopf" . "#x1D560")
           ("opar" . "#x29B7")
           ("operp" . "#x29B9")
           ("oplus" . "#x2295")
           ("or" . "#x2228")
           ("orarr" . "#x21BB")
           ("ord" . "#x2A5D")
           ("order" . "#x2134")
           ("orderof" . "#x2134")
           ("ordf" . "#xAA")
           ("ordm" . "#xBA")
           ("origof" . "#x22B6")
           ("oror" . "#x2A56")
           ("orslope" . "#x2A57")
           ("orv" . "#x2A5B")
           ("oscr" . "#x2134")
           ("oslash" . "#xF8")
           ("osol" . "#x2298")
           ("otilde" . "#xF5")
           ("otimes" . "#x2297")
           ("otimesas" . "#x2A36")
           ("ouml" . "#xF6")
           ("ovbar" . "#x233D")
           ("par" . "#x2225")
           ("para" . "#xB6")
           ("parallel" . "#x2225")
           ("parsim" . "#x2AF3")
           ("parsl" . "#x2AFD")
           ("part" . "#x2202")
           ("pcy" . "#x43F")
           ("percnt" . "#x25")
           ("period" . "#x2E")
           ("permil" . "#x2030")
           ("perp" . "#x22A5")
           ("pertenk" . "#x2031")
           ("pfr" . "#x1D52D")
           ("phi" . "#x3C6")
           ("phiv" . "#x3D5")
           ("phmmat" . "#x2133")
           ("phone" . "#x260E")
           ("pi" . "#x3C0")
           ("pitchfork" . "#x22D4")
           ("piv" . "#x3D6")
           ("planck" . "#x210F")
           ("planckh" . "#x210E")
           ("plankv" . "#x210F")
           ("plus" . "#x2B")
           ("plusacir" . "#x2A23")
           ("plusb" . "#x229E")
           ("pluscir" . "#x2A22")
           ("plusdo" . "#x2214")
           ("plusdu" . "#x2A25")
           ("pluse" . "#x2A72")
           ("plusmn" . "#xB1")
           ("plussim" . "#x2A26")
           ("plustwo" . "#x2A27")
           ("pm" . "#xB1")
           ("pointint" . "#x2A15")
           ("popf" . "#x1D561")
           ("pound" . "#xA3")
           ("pr" . "#x227A")
           ("prE" . "#x2AB3")
           ("prap" . "#x2AB7")
           ("prcue" . "#x227C")
           ("pre" . "#x2AAF")
           ("prec" . "#x227A")
           ("precapprox" . "#x2AB7")
           ("preccurlyeq" . "#x227C")
           ("preceq" . "#x2AAF")
           ("precnapprox" . "#x2AB9")
           ("precneqq" . "#x2AB5")
           ("precnsim" . "#x22E8")
           ("precsim" . "#x227E")
           ("prime" . "#x2032")
           ("primes" . "#x2119")
           ("prnE" . "#x2AB5")
           ("prnap" . "#x2AB9")
           ("prnsim" . "#x22E8")
           ("prod" . "#x220F")
           ("profalar" . "#x232E")
           ("profline" . "#x2312")
           ("profsurf" . "#x2313")
           ("prop" . "#x221D")
           ("propto" . "#x221D")
           ("prsim" . "#x227E")
           ("prurel" . "#x22B0")
           ("pscr" . "#x1D4C5")
           ("psi" . "#x3C8")
           ("puncsp" . "#x2008")
           ("qfr" . "#x1D52E")
           ("qint" . "#x2A0C")
           ("qopf" . "#x1D562")
           ("qprime" . "#x2057")
           ("qscr" . "#x1D4C6")
           ("quaternions" . "#x210D")
           ("quatint" . "#x2A16")
           ("quest" . "#x3F")
           ("questeq" . "#x225F")
           ("quot" . "#x22")
           ("rAarr" . "#x21DB")
           ("rArr" . "#x21D2")
           ("rAtail" . "#x291C")
           ("rBarr" . "#x290F")
           ("rHar" . "#x2964")
           ("race" . "#x223D")
           ("racute" . "#x155")
           ("radic" . "#x221A")
           ("raemptyv" . "#x29B3")
           ("rang" . "#x27E9")
           ("rangd" . "#x2992")
           ("range" . "#x29A5")
           ("rangle" . "#x27E9")
           ("raquo" . "#xBB")
           ("rarr" . "#x2192")
           ("rarrap" . "#x2975")
           ("rarrb" . "#x21E5")
           ("rarrbfs" . "#x2920")
           ("rarrc" . "#x2933")
           ("rarrfs" . "#x291E")
           ("rarrhk" . "#x21AA")
           ("rarrlp" . "#x21AC")
           ("rarrpl" . "#x2945")
           ("rarrsim" . "#x2974")
           ("rarrtl" . "#x21A3")
           ("rarrw" . "#x219D")
           ("ratail" . "#x291A")
           ("ratio" . "#x2236")
           ("rationals" . "#x211A")
           ("rbarr" . "#x290D")
           ("rbbrk" . "#x2773")
           ("rbrace" . "#x7D")
           ("rbrack" . "#x5D")
           ("rbrke" . "#x298C")
           ("rbrksld" . "#x298E")
           ("rbrkslu" . "#x2990")
           ("rcaron" . "#x159")
           ("rcedil" . "#x157")
           ("rceil" . "#x2309")
           ("rcub" . "#x7D")
           ("rcy" . "#x440")
           ("rdca" . "#x2937")
           ("rdldhar" . "#x2969")
           ("rdquo" . "#x201D")
           ("rdquor" . "#x201D")
           ("rdsh" . "#x21B3")
           ("real" . "#x211C")
           ("realine" . "#x211B")
           ("realpart" . "#x211C")
           ("reals" . "#x211D")
           ("rect" . "#x25AD")
           ("reg" . "#xAE")
           ("rfisht" . "#x297D")
           ("rfloor" . "#x230B")
           ("rfr" . "#x1D52F")
           ("rhard" . "#x21C1")
           ("rharu" . "#x21C0")
           ("rharul" . "#x296C")
           ("rho" . "#x3C1")
           ("rhov" . "#x3F1")
           ("rightarrow" . "#x2192")
           ("rightarrowtail" . "#x21A3")
           ("rightharpoondown" . "#x21C1")
           ("rightharpoonup" . "#x21C0")
           ("rightleftarrows" . "#x21C4")
           ("rightleftharpoons" . "#x21CC")
           ("rightrightarrows" . "#x21C9")
           ("rightsquigarrow" . "#x219D")
           ("rightthreetimes" . "#x22CC")
           ("ring" . "#x2DA")
           ("risingdotseq" . "#x2253")
           ("rlarr" . "#x21C4")
           ("rlhar" . "#x21CC")
           ("rlm" . "#x200F")
           ("rmoust" . "#x23B1")
           ("rmoustache" . "#x23B1")
           ("rnmid" . "#x2AEE")
           ("roang" . "#x27ED")
           ("roarr" . "#x21FE")
           ("robrk" . "#x27E7")
           ("ropar" . "#x2986")
           ("ropf" . "#x1D563")
           ("roplus" . "#x2A2E")
           ("rotimes" . "#x2A35")
           ("rpar" . "#x29")
           ("rpargt" . "#x2994")
           ("rppolint" . "#x2A12")
           ("rrarr" . "#x21C9")
           ("rsaquo" . "#x203A")
           ("rscr" . "#x1D4C7")
           ("rsh" . "#x21B1")
           ("rsqb" . "#x5D")
           ("rsquo" . "#x2019")
           ("rsquor" . "#x2019")
           ("rthree" . "#x22CC")
           ("rtimes" . "#x22CA")
           ("rtri" . "#x25B9")
           ("rtrie" . "#x22B5")
           ("rtrif" . "#x25B8")
           ("rtriltri" . "#x29CE")
           ("ruluhar" . "#x2968")
           ("rx" . "#x211E")
           ("sacute" . "#x15B")
           ("sbquo" . "#x201A")
           ("sc" . "#x227B")
           ("scE" . "#x2AB4")
           ("scap" . "#x2AB8")
           ("scaron" . "#x161")
           ("sccue" . "#x227D")
           ("sce" . "#x2AB0")
           ("scedil" . "#x15F")
           ("scirc" . "#x15D")
           ("scnE" . "#x2AB6")
           ("scnap" . "#x2ABA")
           ("scnsim" . "#x22E9")
           ("scpolint" . "#x2A13")
           ("scsim" . "#x227F")
           ("scy" . "#x441")
           ("sdot" . "#x22C5")
           ("sdotb" . "#x22A1")
           ("sdote" . "#x2A66")
           ("seArr" . "#x21D8")
           ("searhk" . "#x2925")
           ("searr" . "#x2198")
           ("searrow" . "#x2198")
           ("sect" . "#xA7")
           ("semi" . "#x3B")
           ("seswar" . "#x2929")
           ("setminus" . "#x2216")
           ("setmn" . "#x2216")
           ("sext" . "#x2736")
           ("sfr" . "#x1D530")
           ("sfrown" . "#x2322")
           ("sharp" . "#x266F")
           ("shchcy" . "#x449")
           ("shcy" . "#x448")
           ("shortmid" . "#x2223")
           ("shortparallel" . "#x2225")
           ("shy" . "#xAD")
           ("sigma" . "#x3C3")
           ("sigmaf" . "#x3C2")
           ("sigmav" . "#x3C2")
           ("sim" . "#x223C")
           ("simdot" . "#x2A6A")
           ("sime" . "#x2243")
           ("simeq" . "#x2243")
           ("simg" . "#x2A9E")
           ("simgE" . "#x2AA0")
           ("siml" . "#x2A9D")
           ("simlE" . "#x2A9F")
           ("simne" . "#x2246")
           ("simplus" . "#x2A24")
           ("simrarr" . "#x2972")
           ("slarr" . "#x2190")
           ("smallsetminus" . "#x2216")
           ("smashp" . "#x2A33")
           ("smeparsl" . "#x29E4")
           ("smid" . "#x2223")
           ("smile" . "#x2323")
           ("smt" . "#x2AAA")
           ("smte" . "#x2AAC")
           ("smtes" . "#x2AAC")
           ("softcy" . "#x44C")
           ("sol" . "#x2F")
           ("solb" . "#x29C4")
           ("solbar" . "#x233F")
           ("sopf" . "#x1D564")
           ("spades" . "#x2660")
           ("spadesuit" . "#x2660")
           ("spar" . "#x2225")
           ("sqcap" . "#x2293")
           ("sqcaps" . "#x2293")
           ("sqcup" . "#x2294")
           ("sqcups" . "#x2294")
           ("sqsub" . "#x228F")
           ("sqsube" . "#x2291")
           ("sqsubset" . "#x228F")
           ("sqsubseteq" . "#x2291")
           ("sqsup" . "#x2290")
           ("sqsupe" . "#x2292")
           ("sqsupset" . "#x2290")
           ("sqsupseteq" . "#x2292")
           ("squ" . "#x25A1")
           ("square" . "#x25A1")
           ("squarf" . "#x25AA")
           ("squf" . "#x25AA")
           ("srarr" . "#x2192")
           ("sscr" . "#x1D4C8")
           ("ssetmn" . "#x2216")
           ("ssmile" . "#x2323")
           ("sstarf" . "#x22C6")
           ("star" . "#x2606")
           ("starf" . "#x2605")
           ("straightepsilon" . "#x3F5")
           ("straightphi" . "#x3D5")
           ("strns" . "#xAF")
           ("sub" . "#x2282")
           ("subE" . "#x2AC5")
           ("subdot" . "#x2ABD")
           ("sube" . "#x2286")
           ("subedot" . "#x2AC3")
           ("submult" . "#x2AC1")
           ("subnE" . "#x2ACB")
           ("subne" . "#x228A")
           ("subplus" . "#x2ABF")
           ("subrarr" . "#x2979")
           ("subset" . "#x2282")
           ("subseteq" . "#x2286")
           ("subseteqq" . "#x2AC5")
           ("subsetneq" . "#x228A")
           ("subsetneqq" . "#x2ACB")
           ("subsim" . "#x2AC7")
           ("subsub" . "#x2AD5")
           ("subsup" . "#x2AD3")
           ("succ" . "#x227B")
           ("succapprox" . "#x2AB8")
           ("succcurlyeq" . "#x227D")
           ("succeq" . "#x2AB0")
           ("succnapprox" . "#x2ABA")
           ("succneqq" . "#x2AB6")
           ("succnsim" . "#x22E9")
           ("succsim" . "#x227F")
           ("sum" . "#x2211")
           ("sung" . "#x266A")
           ("sup" . "#x2283")
           ("sup1" . "#xB9")
           ("sup2" . "#xB2")
           ("sup3" . "#xB3")
           ("supE" . "#x2AC6")
           ("supdot" . "#x2ABE")
           ("supdsub" . "#x2AD8")
           ("supe" . "#x2287")
           ("supedot" . "#x2AC4")
           ("suphsol" . "#x27C9")
           ("suphsub" . "#x2AD7")
           ("suplarr" . "#x297B")
           ("supmult" . "#x2AC2")
           ("supnE" . "#x2ACC")
           ("supne" . "#x228B")
           ("supplus" . "#x2AC0")
           ("supset" . "#x2283")
           ("supseteq" . "#x2287")
           ("supseteqq" . "#x2AC6")
           ("supsetneq" . "#x228B")
           ("supsetneqq" . "#x2ACC")
           ("supsim" . "#x2AC8")
           ("supsub" . "#x2AD4")
           ("supsup" . "#x2AD6")
           ("swArr" . "#x21D9")
           ("swarhk" . "#x2926")
           ("swarr" . "#x2199")
           ("swarrow" . "#x2199")
           ("swnwar" . "#x292A")
           ("szlig" . "#xDF")
           ("target" . "#x2316")
           ("tau" . "#x3C4")
           ("tbrk" . "#x23B4")
           ("tcaron" . "#x165")
           ("tcedil" . "#x163")
           ("tcy" . "#x442")
           ("tdot" . "#x20DB")
           ("telrec" . "#x2315")
           ("tfr" . "#x1D531")
           ("there4" . "#x2234")
           ("therefore" . "#x2234")
           ("theta" . "#x3B8")
           ("thetasym" . "#x3D1")
           ("thetav" . "#x3D1")
           ("thickapprox" . "#x2248")
           ("thicksim" . "#x223C")
           ("thinsp" . "#x2009")
           ("thkap" . "#x2248")
           ("thksim" . "#x223C")
           ("thorn" . "#xFE")
           ("tilde" . "#x2DC")
           ("times" . "#xD7")
           ("timesb" . "#x22A0")
           ("timesbar" . "#x2A31")
           ("timesd" . "#x2A30")
           ("tint" . "#x222D")
           ("toea" . "#x2928")
           ("top" . "#x22A4")
           ("topbot" . "#x2336")
           ("topcir" . "#x2AF1")
           ("topf" . "#x1D565")
           ("topfork" . "#x2ADA")
           ("tosa" . "#x2929")
           ("tprime" . "#x2034")
           ("trade" . "#x2122")
           ("triangle" . "#x25B5")
           ("triangledown" . "#x25BF")
           ("triangleleft" . "#x25C3")
           ("trianglelefteq" . "#x22B4")
           ("triangleq" . "#x225C")
           ("triangleright" . "#x25B9")
           ("trianglerighteq" . "#x22B5")
           ("tridot" . "#x25EC")
           ("trie" . "#x225C")
           ("triminus" . "#x2A3A")
           ("triplus" . "#x2A39")
           ("trisb" . "#x29CD")
           ("tritime" . "#x2A3B")
           ("trpezium" . "#x23E2")
           ("tscr" . "#x1D4C9")
           ("tscy" . "#x446")
           ("tshcy" . "#x45B")
           ("tstrok" . "#x167")
           ("twixt" . "#x226C")
           ("twoheadleftarrow" . "#x219E")
           ("twoheadrightarrow" . "#x21A0")
           ("uArr" . "#x21D1")
           ("uHar" . "#x2963")
           ("uacute" . "#xFA")
           ("uarr" . "#x2191")
           ("ubrcy" . "#x45E")
           ("ubreve" . "#x16D")
           ("ucirc" . "#xFB")
           ("ucy" . "#x443")
           ("udarr" . "#x21C5")
           ("udblac" . "#x171")
           ("udhar" . "#x296E")
           ("ufisht" . "#x297E")
           ("ufr" . "#x1D532")
           ("ugrave" . "#xF9")
           ("uharl" . "#x21BF")
           ("uharr" . "#x21BE")
           ("uhblk" . "#x2580")
           ("ulcorn" . "#x231C")
           ("ulcorner" . "#x231C")
           ("ulcrop" . "#x230F")
           ("ultri" . "#x25F8")
           ("umacr" . "#x16B")
           ("uml" . "#xA8")
           ("uogon" . "#x173")
           ("uopf" . "#x1D566")
           ("uparrow" . "#x2191")
           ("updownarrow" . "#x2195")
           ("upharpoonleft" . "#x21BF")
           ("upharpoonright" . "#x21BE")
           ("uplus" . "#x228E")
           ("upsi" . "#x3C5")
           ("upsih" . "#x3D2")
           ("upsilon" . "#x3C5")
           ("upuparrows" . "#x21C8")
           ("urcorn" . "#x231D")
           ("urcorner" . "#x231D")
           ("urcrop" . "#x230E")
           ("uring" . "#x16F")
           ("urtri" . "#x25F9")
           ("uscr" . "#x1D4CA")
           ("utdot" . "#x22F0")
           ("utilde" . "#x169")
           ("utri" . "#x25B5")
           ("utrif" . "#x25B4")
           ("uuarr" . "#x21C8")
           ("uuml" . "#xFC")
           ("uwangle" . "#x29A7")
           ("vArr" . "#x21D5")
           ("vBar" . "#x2AE8")
           ("vBarv" . "#x2AE9")
           ("vDash" . "#x22A8")
           ("vangrt" . "#x299C")
           ("varepsilon" . "#x3F5")
           ("varkappa" . "#x3F0")
           ("varnothing" . "#x2205")
           ("varphi" . "#x3D5")
           ("varpi" . "#x3D6")
           ("varpropto" . "#x221D")
           ("varr" . "#x2195")
           ("varrho" . "#x3F1")
           ("varsigma" . "#x3C2")
           ("varsubsetneq" . "#x228A")
           ("varsubsetneqq" . "#x2ACB")
           ("varsupsetneq" . "#x228B")
           ("varsupsetneqq" . "#x2ACC")
           ("vartheta" . "#x3D1")
           ("vartriangleleft" . "#x22B2")
           ("vartriangleright" . "#x22B3")
           ("vcy" . "#x432")
           ("vdash" . "#x22A2")
           ("vee" . "#x2228")
           ("veebar" . "#x22BB")
           ("veeeq" . "#x225A")
           ("vellip" . "#x22EE")
           ("verbar" . "#x7C")
           ("vert" . "#x7C")
           ("vfr" . "#x1D533")
           ("vltri" . "#x22B2")
           ("vnsub" . "#x2282")
           ("vnsup" . "#x2283")
           ("vopf" . "#x1D567")
           ("vprop" . "#x221D")
           ("vrtri" . "#x22B3")
           ("vscr" . "#x1D4CB")
           ("vsubnE" . "#x2ACB")
           ("vsubne" . "#x228A")
           ("vsupnE" . "#x2ACC")
           ("vsupne" . "#x228B")
           ("vzigzag" . "#x299A")
           ("wcirc" . "#x175")
           ("wedbar" . "#x2A5F")
           ("wedge" . "#x2227")
           ("wedgeq" . "#x2259")
           ("weierp" . "#x2118")
           ("wfr" . "#x1D534")
           ("wopf" . "#x1D568")
           ("wp" . "#x2118")
           ("wr" . "#x2240")
           ("wreath" . "#x2240")
           ("wscr" . "#x1D4CC")
           ("xcap" . "#x22C2")
           ("xcirc" . "#x25EF")
           ("xcup" . "#x22C3")
           ("xdtri" . "#x25BD")
           ("xfr" . "#x1D535")
           ("xhArr" . "#x27FA")
           ("xharr" . "#x27F7")
           ("xi" . "#x3BE")
           ("xlArr" . "#x27F8")
           ("xlarr" . "#x27F5")
           ("xmap" . "#x27FC")
           ("xnis" . "#x22FB")
           ("xodot" . "#x2A00")
           ("xopf" . "#x1D569")
           ("xoplus" . "#x2A01")
           ("xotime" . "#x2A02")
           ("xrArr" . "#x27F9")
           ("xrarr" . "#x27F6")
           ("xscr" . "#x1D4CD")
           ("xsqcup" . "#x2A06")
           ("xuplus" . "#x2A04")
           ("xutri" . "#x25B3")
           ("xvee" . "#x22C1")
           ("xwedge" . "#x22C0")
           ("yacute" . "#xFD")
           ("yacy" . "#x44F")
           ("ycirc" . "#x177")
           ("ycy" . "#x44B")
           ("yen" . "#xA5")
           ("yfr" . "#x1D536")
           ("yicy" . "#x457")
           ("yopf" . "#x1D56A")
           ("yscr" . "#x1D4CE")
           ("yucy" . "#x44E")
           ("yuml" . "#xFF")
           ("zacute" . "#x17A")
           ("zcaron" . "#x17E")
           ("zcy" . "#x437")
           ("zdot" . "#x17C")
           ("zeetrf" . "#x2128")
           ("zeta" . "#x3B6")
           ("zfr" . "#x1D537")
           ("zhcy" . "#x436")
           ("zigrarr" . "#x21DD")
           ("zopf" . "#x1D56B")
           ("zscr" . "#x1D4CF")
           ("zwj" . "#x200D")
           ("zwnj" . "#x200C")))

%% Test: entitymap is ordered
% #(display
%   (let ((keys (map car (vector->list entitymap))))
%     (reduce (lambda (x y) (and x y)) #t (map string<=? keys (cdr keys)))))

%%% Like assoc-get, but for vectors. Assumes that the vector is key-ordered for efficient access.
#(define (avec-get what vec default)
   (define (key-or-value x)
     (if (pair? x) (car x) x))
   (define (cmp x y)
     (cond ((string<? (key-or-value x) (key-or-value y)) -1)
                       ((string<? (key-or-value y) (key-or-value x)) 1)
                       (else 0)))
   (let ((idx (vector-binary-search vec what cmp)))
     (if idx
         (cdr (vector-ref vec idx))
         default)))

%% Test avec-get
% #(display (avec-get "uuml" entitymap "NA"))#(newline)
% #(display (avec-get "uumle" entitymap "NA"))#(newline)


%%% Replace html entities by the correct characters in a string
#(define (string-replace-entities x)
   ; Parse a identifier such as "#[dec]", "#x[hex]" (or ":[dec]", ":x[hex]") to the encoded number
   (define (char->number x)
     (if (not (or (equal? (string-ref x 0) #\#) (equal? (string-ref x 0) #\:)))
         (ly:error (format #f "Unrecognized number format: ~a" x)))
     (let ((num
            (if (or (equal? (string-ref x 1) #\x) (equal? (string-ref x 1) #\X))
                (string->number (string-copy x 2) 16)
                (string->number (string-copy x 1) 10))))
     (if (not num) (ly:error (format #f "Unrecognized number format: ~a" x)))
     num))
   (regexp-substitute/global
    #f
    "&[^;]+;"
    x
    'pre
    (lambda (x)
      (let* ((basestr (vector-ref x 0))
             (coords (vector-ref x 1))
             (val (string-copy basestr (1+ (car coords)) (1- (cdr coords))))
             (val-unicode (avec-get val entitymap val))
             (num-val (char->number val-unicode))
             (char (integer->char num-val)))
        char))
    'post))

%% Test string-replace-entities
% \markup $(string-replace-entities "abc&aacute;d&agrave;")

htmldecode =
#(define-scheme-function (mup) (markup?)
   (markup #:with-string-transformer (lambda (layout props str) (string-replace-entities str)) mup))
#(define-markup-command (htmldecode layout props mup) (markup?)
   (interpret-markup layout props (htmldecode mup)))

%% Test htmldecode
% \markup \htmldecode { This is &aacute; t&egrave;st }
% \htmldecode \markup { This is &aacute; t&egrave;st }

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to