Skip to content

HTML Entity Encoder/Decoder — PHP source

Encode text to HTML entities and decode entities back to text (named + numeric). UTF-8 safe, runs entirely in your browser, with a shareable link to your exact input.

This is the PHP implementation — the same logic the interactive tool runs, in a shareable, citable form.

<?php
// @file php.php
// @language PHP
//
// HTML entity encode / decode — pure string transforms that never throw.
// Encode escapes the five HTML-significant characters (& < > ' ") and can
// optionally flatten every non-ASCII code point to a decimal numeric
// reference. Decode resolves named (&amp;, &copy;, …), decimal (&#169;), and
// hex (&#xA9;) references; unknown or malformed references pass through whole.
//
// CosmoDev polyglot showcase port of `html-entity-encoder`, ported from
// src/lib/htmlEntities.ts. Behavior matches the TypeScript lib exactly: same
// inputs yield identical outputs, including the lone-surrogate and
// out-of-range guards (decode never raises on bad input — invalid references
// are returned verbatim).
//
// Uses the mbstring extension (mb_ord / mb_chr, standard since PHP 7.2) for
// correct Unicode code-point math. No Composer dependencies.
//
// The named-entity table is the full WHATWG HTML named-character-reference
// set (2125 entries), generated from src/lib/htmlEntityTable.ts so the data
// stays byte-identical to the canonical TypeScript lib.
//
// Display source — part of CosmoDev's polyglot tool pages.

declare(strict_types=1);

/**
 * Encode options.
 *
 * - `ascii` (bool, default false): when true, every non-ASCII code point is
 *   also emitted as a decimal numeric reference (e.g. © → &#169;), producing
 *   ASCII-safe output. When false, only the five HTML-significant characters
 *   are escaped.
 */
class EncodeOptions
{
    public function __construct(public bool $ascii = false) {}
}

/**
 * Escape the five HTML-significant characters.
 *
 * '&' is replaced first so the entities we emit (&amp;, &lt;, …) are never
 * themselves re-escaped on a later pass — the array order passed to
 * str_replace is load-bearing (each search runs against the result of the
 * previous one, exactly like the TypeScript `.replace` chain).
 *
 * With `ascii: true`, every non-ASCII code point is additionally rewritten to
 * a decimal numeric reference. The `/u` PCRE modifier makes the character
 * class operate on whole UTF-8 code points, so an astral character such as an
 * emoji encodes as a single reference rather than two surrogate halves.
 *
 * @param string                    $text    Input string.
 * @param \EncodeOptions|array|null $options Options object or ['ascii' => bool].
 * @return string The escaped string (never throws).
 */
function encodeHtml(string $text, $options = null): string
{
    // '&' MUST come first so we do not re-escape the ampersands we emit.
    $out = str_replace(
        ['&', '<', '>', "'", '"'],
        ['&amp;', '&lt;', '&gt;', '&apos;', '&quot;'],
        $text
    );

    $ascii = false;
    if ($options instanceof EncodeOptions) {
        $ascii = $options->ascii;
    } elseif (is_array($options) && !empty($options['ascii'])) {
        $ascii = true;
    }

    if (!$ascii) {
        return $out;
    }

    return preg_replace_callback(
        '/[^\x{0}-\x{7F}]/u',
        static fn (array $m): string => '&#' . mb_ord($m[0], 'UTF-8') . ';',
        $out
    );
}

/**
 * Decode every recognized reference in $text. Unknown references and stray
 * ampersands are left exactly as they appear in the input. Decode is total:
 * it never throws on malformed or out-of-range input — such references are
 * returned verbatim.
 *
 * @param string $text Input possibly containing HTML references.
 * @return string Decoded string (never throws).
 */
function decodeHtml(string $text): string
{
    return preg_replace_callback(
        '/&(#[xX][0-9a-fA-F]+|#[0-9]+|[A-Za-z][A-Za-z0-9]*);/',
        'decodeReference',
        $text
    );
}

/**
 * Resolve one matched reference (&body;) to its character, or return the
 * original text unchanged when the reference is unrecognized / unsafe.
 *
 * mb_chr is the single guard for both failure modes the TypeScript source
 * handles separately: it returns false for lone surrogates (U+D800..U+DFFF)
 * AND for values above U+10FFFF, so one false-check reproduces both the
 * explicit surrogate guard and the fromCodePoint try/catch.
 *
 * @param array{0:string,1:string} $m  $m[0] is the whole match, $m[1] the body.
 * @return string
 */
function decodeReference(array $m): string
{
    $match = $m[0];
    $body  = $m[1];

    if ($body[0] === '#') {
        $hex    = ($body[1] ?? '') === 'x' || ($body[1] ?? '') === 'X';
        $digits = $hex ? substr($body, 2) : substr($body, 1);
        $num    = intval($digits, $hex ? 16 : 10);

        // mb_chr returns false for surrogates and for any code point above
        // U+10FFFF; fall back to the original reference text in that case.
        $decoded = mb_chr($num, 'UTF-8');
        return $decoded === false ? $match : $decoded;
    }

    return isset(HTML_ENTITY_TABLE[$body]) ? HTML_ENTITY_TABLE[$body] : $match;
}

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

Also available in 13 other languages

Every CosmoDev tool ships its pure logic in TypeScript (web) and Go (CLI), with authored implementations in a dozen-plus languages — the same contract, ported. Compare all languages side by side →