mod: ++++++приоритеты и тесты html-мнемоник для decode_to_unicode()

This commit is contained in:
2025-08-09 11:31:30 +03:00
parent f052ec5eb1
commit 960ec97093
2 changed files with 121 additions and 125 deletions

View File

@@ -99,6 +99,7 @@ CUSTOM_ENCODE_MAP = {
# '\u007c': '|', # | / | / | / | # '\u007c': '|', # | / | / | / |
# '\u0026': '&', # & / & / & # '\u0026': '&', # & / & / &
# '\u00A0': ' ', # /   /   # '\u00A0': ' ', # /   /  
'\u0022': '"', # " / " / "
'\u0026': '&', # & / & / & '\u0026': '&', # & / & / &
'\u003e': '>', # > / > / > '\u003e': '>', # > / > / >
'\u003c': '&lt;', # < / &LT; / &lt; '\u003c': '&lt;', # < / &LT; / &lt;
@@ -175,9 +176,9 @@ CUSTOM_ENCODE_MAP = {
'\u24c8': '&oS;', # Ⓢ / &oS; / &circledS; '\u24c8': '&oS;', # Ⓢ / &oS; / &circledS;
'\u2296': '&ominus;', # ⊖ / &ominus; / &CircleMinus; '\u2296': '&ominus;', # ⊖ / &ominus; / &CircleMinus;
'\u2232': '&cwconint;', # ∲ / cwconint / ClockwiseContourIntegral '\u2232': '&cwconint;', # ∲ / cwconint / ClockwiseContourIntegral
'\u201d': '&rdquo;', # ” / &rdquo; / rdquor / CloseCurlyDoubleQuote '\u201d': '&rdquo;', # ” / &rdquo; / &rdquor; / &CloseCurlyDoubleQuote;
'\u2019': '&rsquo;', # / &rsquo; / rsquor / CloseCurlyQuote '\u2019': '&rsquo;', # / &rsquo; / rsquor / CloseCurlyQuote
'\u2237': '&Colon;', # ∷ / Colon / Proportion '\u2237': '&Colon;', # ∷ / &Colon; / &Proportion;
'\u2201': '&comp;', # ∁ / comp / complement '\u2201': '&comp;', # ∁ / comp / complement
'\u2218': '&compfn;', # ∘ / compfn / SmallCircle '\u2218': '&compfn;', # ∘ / compfn / SmallCircle
'\u2102': '&Copf;', # / Copf / complexes '\u2102': '&Copf;', # / Copf / complexes
@@ -199,7 +200,7 @@ CUSTOM_ENCODE_MAP = {
'\u21ca': '&ddarr;', # ⇊ / ddarr / downdownarrows '\u21ca': '&ddarr;', # ⇊ / ddarr / downdownarrows
'\u2a77': '&eDDot;', # ⩷ / eDDot / ddotseq '\u2a77': '&eDDot;', # ⩷ / eDDot / ddotseq
'\u21c3': '&dharl;', # ⇃ / &dharl; / &LeftDownVector; / &downharpoonleft; '\u21c3': '&dharl;', # ⇃ / &dharl; / &LeftDownVector; / &downharpoonleft;
'\u21c2': '&dharr;', # ⇂ / dharr / RightDownVector / downharpoonright '\u21c2': '&dharr;', # ⇂ / &dharr; / &RightDownVector; / &downharpoonright;
'\u02d9': '&dot;', # ˙ / dot / DiacriticalDot '\u02d9': '&dot;', # ˙ / dot / DiacriticalDot
'\u222b': '&int;', # ∫ / &int; / &Integral; '\u222b': '&int;', # ∫ / &int; / &Integral;
'\u22c4': '&diam;', # ⋄ / diam / diamond / Diamond '\u22c4': '&diam;', # ⋄ / diam / diamond / Diamond
@@ -234,7 +235,7 @@ CUSTOM_ENCODE_MAP = {
'\u2910': '&RBarr;', # ⤐ / &RBarr; / &drbkarow; '\u2910': '&RBarr;', # ⤐ / &RBarr; / &drbkarow;
'\u231f': '&drcorn;', # ⌟ / &drcorn; / &lrcorner; '\u231f': '&drcorn;', # ⌟ / &drcorn; / &lrcorner;
'\u25bf': '&dtri;', # ▿ / &dtri; / &triangledown; '\u25bf': '&dtri;', # ▿ / &dtri; / &triangledown;
'\u296f': '&duhar;', # ⥯ / duhar / ReverseUpEquilibrium '\u296f': '&duhar;', # ⥯ / &duhar; / &ReverseUpEquilibrium;
'\u2256': '&ecir;', # ≖ / &ecir; / &eqcirc; '\u2256': '&ecir;', # ≖ / &ecir; / &eqcirc;
'\u2255': '&ecolon;', # ≕ / ecolon / eqcolon '\u2255': '&ecolon;', # ≕ / ecolon / eqcolon
'\u2147': '&ee;', # / &ee; / &exponentiale; / &ExponentialE; '\u2147': '&ee;', # / &ee; / &exponentiale; / &ExponentialE;
@@ -245,7 +246,7 @@ CUSTOM_ENCODE_MAP = {
'\u2205': '&empty;', # ∅ / &empty; / &emptyv; / &emptyset; / &varnothing; '\u2205': '&empty;', # ∅ / &empty; / &emptyv; / &emptyset; / &varnothing;
'\u03f5': '&epsiv;', # ϵ / epsiv / varepsilon / straightepsilon '\u03f5': '&epsiv;', # ϵ / epsiv / varepsilon / straightepsilon
'\u2242': '&esim;', # ≂ / &esim; / &eqsim; / &EqualTilde; '\u2242': '&esim;', # ≂ / &esim; / &eqsim; / &EqualTilde;
'\u225f': '&equest;', # ≟ / equest / questeq '\u225f': '&equest;', # ≟ / &equest; / &questeq;
'\u21cc': '&rlhar;', # ⇌ / &rlhar; / &Equilibrium; / &rightleftharpoons; '\u21cc': '&rlhar;', # ⇌ / &rlhar; / &Equilibrium; / &rightleftharpoons;
'\u2253': '&erDot;', # ≓ / erDot / risingdotseq '\u2253': '&erDot;', # ≓ / erDot / risingdotseq
'\u2130': '&Escr;', # / &Escr; / &expectation; '\u2130': '&Escr;', # / &Escr; / &expectation;
@@ -276,7 +277,7 @@ CUSTOM_ENCODE_MAP = {
'\u2926': '&swarhk;', # ⤦ / &swarhk; / &hkswarow; '\u2926': '&swarhk;', # ⤦ / &swarhk; / &hkswarow;
'\u21a9': '&larrhk;', # ↩ / &larrhk; / &hookleftarrow; '\u21a9': '&larrhk;', # ↩ / &larrhk; / &hookleftarrow;
'\u21aa': '&rarrhk;', # ↪ / &rarrhk; / &hookrightarrow; '\u21aa': '&rarrhk;', # ↪ / &rarrhk; / &hookrightarrow;
'\u210d': '&Hopf;', # / Hopf / quaternions '\u210d': '&Hopf;', # / &Hopf; / &quaternions;
'\u2063': '&ic;', # / &ic; / &InvisibleComma; '\u2063': '&ic;', # / &ic; / &InvisibleComma;
'\u2111': '&Im;', # / &Im; / &Ifr; / &image; / &imagpart; '\u2111': '&Im;', # / &Im; / &Ifr; / &image; / &imagpart;
'\u2148': '&ii;', # / &ii; / &ImaginaryI; '\u2148': '&ii;', # / &ii; / &ImaginaryI;
@@ -391,38 +392,41 @@ CUSTOM_ENCODE_MAP = {
'\u23b4': '&tbrk;', # ⎴ / &tbrk; / &OverBracket; '\u23b4': '&tbrk;', # ⎴ / &tbrk; / &OverBracket;
'\u03d5': '&phiv;', # ϕ / phiv / varphi / straightphi '\u03d5': '&phiv;', # ϕ / phiv / varphi / straightphi
'\u2665': '&hearts;', # ♥ / &hearts; / &heartsuit; / '\u2665': '&hearts;', # ♥ / &hearts; / &heartsuit; /
'\u2119': '&Popf;', # / Popf / primes '\u2119': '&Popf;', # / &Popf; / &primes;
'\u227a': '&pr;', # ≺ / &pr; / &prec; / &Precedes; '\u227a': '&pr;', # ≺ / &pr; / &prec; / &Precedes;
'\u2ab7': '&prap;', # ⪷ / prap / precapprox '\u2ab7': '&prap;', # ⪷ / &prap; / &precapprox;
'\u227c': '&prcue;', # ≼ / prcue / preccurlyeq / PrecedesSlantEqual '\u227c': '&prcue;', # ≼ / &prcue; / &preccurlyeq; / &PrecedesSlantEqual;
'\u2aaf': '&pre;', # ⪯ / pre / preceq / PrecedesEqual '\u2aaf': '&pre;', # ⪯ / &pre; / &preceq; / &PrecedesEqual;
'\u227e': '&prsim;', # ≾ / prsim / precsim / PrecedesTilde '\u227e': '&prsim;', # ≾ / &prsim; / &precsim; / &PrecedesTilde;
'\u2ab9': '&prnap;', # ⪹ / prnap / precnapprox '\u2ab9': '&prnap;', # ⪹ / &prnap; / &precnapprox;
'\u2ab5': '&prnE;', # ⪵ / prnE / precneqq '\u2ab5': '&prnE;', # ⪵ / &prnE; / &precneqq;
'\u22e8': '&prnsim;', # ⋨ / prnsim / precnsim '\u22e8': '&prnsim;', # ⋨ / &prnsim; / &precnsim;
'\u220f': '&prod;', # ∏ / &prod; / &Product;
'\u221d': '&prop;', # ∝ / &prop; / &vprop; / &propto; / &varpropto; / &Proportional; '\u221d': '&prop;', # ∝ / &prop; / &vprop; / &propto; / &varpropto; / &Proportional;
'\u211a': '&Qopf;', # / Qopf / rationals '\u211a': '&Qopf;', # / &Qopf; / &rationals;
'\u21db': '&rAarr;', # ⇛ / rAarr / Rrightarrow '\u21db': '&rAarr;', # ⇛ / rAarr / Rrightarrow
'\u27e9': '&rang;', # ⟩ / &rang; / &rangle; / &RightAngleBracket; '\u27e9': '&rang;', # ⟩ / &rang; / &rangle; / &RightAngleBracket;
'\u21a0': '&Rarr;', # ↠ / Rarr / twoheadrightarrow '\u21a0': '&Rarr;', # ↠ / Rarr / twoheadrightarrow
'\u21e5': '&rarrb;', # ⇥ / rarrb / RightArrowBar '\u21e5': '&rarrb;', # ⇥ / &rarrb; / &RightArrowBar;
'\u21a3': '&rarrtl;', # ↣ / rarrtl / rightarrowtail '\u21a3': '&rarrtl;', # ↣ / &rarrtl; / &rightarrowtail;
'\u219d': '&rarrw;', # / rarrw / rightsquigarrow '\u2309': '&rceil;', # / &rceil; / &RightCeiling;
'\u219d': '&rarrw;', # ↝ / &rarrw; / &rightsquigarrow;
'\u03a9': '&ohm;', # Ω / &ohm; / &Omega; '\u03a9': '&ohm;', # Ω / &ohm; / &Omega;
'\u211c': '&Re;', # / &real; / &Re; / &Rfr; / &realpart; '\u211c': '&Re;', # / &real; / &Re; / &Rfr; / &realpart;
'\u211b': '&Rscr;', # / Rscr / realine '\u211b': '&Rscr;', # / &Rscr; / &realine;
'\u211d': '&Ropf;', # / Ropf / reals '\u211d': '&Ropf;', # / &Ropf; / &reals;
'\u21c0': '&rharu;', # ⇀ / rharu / RightVector / rightharpoonup '\u21c0': '&rharu;', # ⇀ / &rharu; / &RightVector; / &rightharpoonup;
'\u03f1': '&rhov;', # ϱ / rhov / varrho '\u03f1': '&rhov;', # ϱ / rhov / varrho
'\u2192': '&rarr;', # → / &rarr; / &srarr; / &rightarrow; / &RightArrow; / &ShortRightArrow; '\u2192': '&rarr;', # → / &rarr; / &srarr; / &rightarrow; / &RightArrow; / &ShortRightArrow;
'\u21c4': '&rlarr;', # ⇄ / rlarr / rightleftarrows / RightArrowLeftArrow '\u21c4': '&rlarr;', # ⇄ / &rlarr; / &rightleftarrows; / &RightArrowLeftArrow;
'\u27e7': '&robrk;', # ⟧ / robrk / RightDoubleBracket '\u27e7': '&robrk;', # ⟧ / &robrk; / &RightDoubleBracket;
'\u21c9': '&rrarr;', # / rrarr / rightrightarrows '\u230b': '&rfloor;', # / &rfloor; / &RightFloor;
'\u22a2': '&vdash;', # / vdash / RightTee '\u21c9': '&rrarr;', # / &rrarr; / &rightrightarrows;
'\u22cc': '&rthree;', # / rthree / rightthreetimes '\u22a2': '&vdash;', # / &vdash; / &RightTee;
'\u22b3': '&vrtri;', # / vrtri / RightTriangle / vartriangleright '\u22cc': '&rthree;', # / &rthree; / &rightthreetimes;
'\u22b5': '&rtrie;', # / rtrie / trianglerighteq / RightTriangleEqual '\u22b3': '&vrtri;', # / &vrtri; / &RightTriangle; / &vartriangleright;
'\u21be': '&uharr;', # / uharr / RightUpVector / upharpoonright '\u22b5': '&rtrie;', # / &rtrie; / &trianglerighteq; / &RightTriangleEqual;
'\u21be': '&uharr;', # ↾ / &uharr; / &RightUpVector; / &upharpoonright;
'\u23b1': '&rmoust;', # ⎱ / rmoust / rmoustache '\u23b1': '&rmoust;', # ⎱ / rmoust / rmoustache
'\u201c': '&ldquo;', # “ / &ldquo; / &OpenCurlyDoubleQuote; '\u201c': '&ldquo;', # “ / &ldquo; / &OpenCurlyDoubleQuote;
'\u2018': '&lsquo;', # / &lsquo; / &OpenCurlyQuote; '\u2018': '&lsquo;', # / &lsquo; / &OpenCurlyQuote;
@@ -474,7 +478,7 @@ CUSTOM_ENCODE_MAP = {
'\u2016': '&Vert;', # ‖ / Vert / Verbar '\u2016': '&Vert;', # ‖ / Vert / Verbar
'\u2240': '&wr;', # ≀ / wr / wreath / VerticalTilde '\u2240': '&wr;', # ≀ / wr / wreath / VerticalTilde
'\u2128': '&Zfr;', # / Zfr / zeetrf '\u2128': '&Zfr;', # / &Zfr; / &zeetrf;
} }
# === Динамическая генерация карт преобразования === # === Динамическая генерация карт преобразования ===

View File

@@ -359,7 +359,7 @@ STRINGS_FOR_ENCODE = [
("Β Ç Χ ‡ Δ Ð É Ê È", "&Beta; &Ccedil; &Chi; &Dagger; &Delta; &ETH; &Eacute; &Ecirc; &Egrave;"), ("Β Ç Χ ‡ Δ Ð É Ê È", "&Beta; &Ccedil; &Chi; &Dagger; &Delta; &ETH; &Eacute; &Ecirc; &Egrave;"),
("Ε Η Ë Γ Í Î Ì Ι Ï", "&Epsilon; &Eta; &Euml; &Gamma; &Iacute; &Icirc; &Igrave; &Iota; &Iuml;"), ("Ε Η Ë Γ Í Î Ì Ι Ï", "&Epsilon; &Eta; &Euml; &Gamma; &Iacute; &Icirc; &Igrave; &Iota; &Iuml;"),
("Κ Λ Μ Ñ Ν Œ Ó Ô Ò Ö", "&Kappa; &Lambda; &Mu; &Ntilde; &Nu; Œ &Oacute; &Ocirc; &Ograve; &Ouml;"), ("Κ Λ Μ Ñ Ν Œ Ó Ô Ò Ö", "&Kappa; &Lambda; &Mu; &Ntilde; &Nu; Œ &Oacute; &Ocirc; &Ograve; &Ouml;"),
("Ω Ο Ø Õ Φ Π ″ Ψ Ρ Š", "&Omega; &Omicron; &Oslash; &Otilde; &Phi; &Pi; &Prime; &Psi; &Rho; &Scaron;"), ("Ω Ο Ø Õ Φ Π ″ Ψ Ρ Š", "&ohm; &Omicron; &Oslash; &Otilde; &Phi; &Pi; &Prime; &Psi; &Rho; &Scaron;"),
("Σ Þ Τ Θ Ú Û Ù Υ Ü", "&Sigma; &THORN; &Tau; &Theta; &Uacute; &Ucirc; &Ugrave; &Upsilon; &Uuml;"), ("Σ Þ Τ Θ Ú Û Ù Υ Ü", "&Sigma; &THORN; &Tau; &Theta; &Uacute; &Ucirc; &Ugrave; &Upsilon; &Uuml;"),
("Ξ Ý Ÿ Ζ á â ´ æ à", "&Xi; &Yacute; &Yuml; &Zeta; &aacute; &acirc; &acute; æ &agrave;"), ("Ξ Ý Ÿ Ζ á â ´ æ à", "&Xi; &Yacute; &Yuml; &Zeta; &aacute; &acirc; &acute; æ &agrave;"),
("α & ∧ ∠ ' å ≈ ã ä", "&alefsym; &alpha; &amp; &and; &ang; &apos; &aring; &ap; &atilde; &auml;"), ("α & ∧ ∠ ' å ≈ ã ä", "&alefsym; &alpha; &amp; &and; &ang; &apos; &aring; &ap; &atilde; &auml;"),
@@ -367,7 +367,7 @@ STRINGS_FOR_ENCODE = [
("♣ ≅ © ↵ ¤ ⇓ † ↓ °", "&clubs; &cong; &copy; &crarr; &cup; &curren; &dArr; &dagger; &darr; &deg;"), ("♣ ≅ © ↵ ¤ ⇓ † ↓ °", "&clubs; &cong; &copy; &crarr; &cup; &curren; &dArr; &dagger; &darr; &deg;"),
("δ ♦ ÷ é ê è ∅ \u2003 \u2002", "&delta; &diams; &divide; &eacute; &ecirc; &egrave; &empty; &emsp; &ensp;"), ("δ ♦ ÷ é ê è ∅ \u2003 \u2002", "&delta; &diams; &divide; &eacute; &ecirc; &egrave; &empty; &emsp; &ensp;"),
("ε ≡ η ð ë € ∃ ƒ ∀ ½", "&epsi; &equiv; &eta; &eth; &euml; &euro; &exist; &fnof; &forall; &half;"), ("ε ≡ η ð ë € ∃ ƒ ∀ ½", "&epsi; &equiv; &eta; &eth; &euml; &euro; &exist; &fnof; &forall; &half;"),
("¼ ¾ γ ≥ > ⇔ ↔ ♥ …", "&frac14; &frac34; &frasl; &gamma; &ge; &gt; &iff; &harr; &hearts; &hellip;"), ("¼ ¾ γ ≥ > ⇔ ↔ ♥ …", "&frac14; &frac34; &frasl; &gamma; &ge; &gt; &iff; &harr; &hearts; &mldr;"),
("í î ¡ ì ∞ ∫ ι ¿ ∈", "&iacute; &icirc; &iexcl; &igrave; &Im; &infin; &int; &iota; &iquest; &in;"), ("í î ¡ ì ∞ ∫ ι ¿ ∈", "&iacute; &icirc; &iexcl; &igrave; &Im; &infin; &int; &iota; &iquest; &in;"),
("ï κ ⇐ λ ⟨ « ← ⌈ “ ≤", "&iuml; &kappa; &lArr; &lambda; &lang; &laquo; &larr; &lceil; &ldquo; &le;"), ("ï κ ⇐ λ ⟨ « ← ⌈ “ ≤", "&iuml; &kappa; &lArr; &lambda; &lang; &laquo; &larr; &lceil; &ldquo; &le;"),
("\u200e < ¯ — µ", "&lfloor; &lowast; &loz; &lrm; &lsaquo; &lsquo; &lt; &macr; &mdash; &micro;"), ("\u200e < ¯ — µ", "&lfloor; &lowast; &loz; &lrm; &lsaquo; &lsquo; &lt; &macr; &mdash; &micro;"),
@@ -472,7 +472,7 @@ STRINGS_FOR_ENCODE = [
("⪧ ⩺ ⋗ ⦕ ⩼ ⪆ ⥸ ⋗", "&gtcc; &gtcir; &gtdot; &gtlPar; &gtquest; &gap; &gtrarr; &gtdot;"), ("⪧ ⩺ ⋗ ⦕ ⩼ ⪆ ⥸ ⋗", "&gtcc; &gtcir; &gtdot; &gtlPar; &gtquest; &gap; &gtrarr; &gtdot;"),
("⋛ ⪌ ≷ ≳ ˇ \u200a ½ ", "&gel; &gEl; &gl; &gsim; &caron; &hairsp; &half; &Hscr;"), ("⋛ ⪌ ≷ ≳ ˇ \u200a ½ ", "&gel; &gEl; &gl; &gsim; &caron; &hairsp; &half; &Hscr;"),
("Ъ ъ ⇔ ↔ ⥈ ↭ ^ ℏ Ĥ ĥ", "Ъ ъ &iff; &harr; &harrcir; &harrw; ^ &hbar; &Hcirc; &hcirc;"), ("Ъ ъ ⇔ ↔ ⥈ ↭ ^ ℏ Ĥ ĥ", "Ъ ъ &iff; &harr; &harrcir; &harrw; ^ &hbar; &Hcirc; &hcirc;"),
("♥ … ⊹ 𝔥 ", "&hearts; &hellip; &hercon; &Hfr; &hfr; &Hscr; &searhk;"), ("♥ … ⊹ 𝔥 ", "&hearts; &mldr; &hercon; &Hfr; &hfr; &Hscr; &searhk;"),
("⤦ ⇿ ∻ ↩ ↪ 𝕙", "&swarhk; &hoarr; &homtht; &larrhk; &rarrhk; &Hopf; &hopf;"), ("⤦ ⇿ ∻ ↩ ↪ 𝕙", "&swarhk; &hoarr; &homtht; &larrhk; &rarrhk; &Hopf; &hopf;"),
("― ─ 𝒽 ℏ Ħ ħ", "&horbar; &boxh; &Hscr; &hscr; &hbar; &Hstrok; &hstrok;"), ("― ─ 𝒽 ℏ Ħ ħ", "&horbar; &boxh; &Hscr; &hscr; &hbar; &Hstrok; &hstrok;"),
("≎ ≏ Í í Í", "&bump; &bumpe; &hybull; &dash; &Iacute; &iacute; &Iacute;"), ("≎ ≏ Í í Í", "&bump; &bumpe; &hybull; &dash; &Iacute; &iacute; &Iacute;"),
@@ -498,96 +498,88 @@ STRINGS_FOR_ENCODE = [
("← ⇤ ⇆ ↢ ⌈", "&larr; &larrb; &lrarr; &larrtl; &lceil;"), ("← ⇤ ⇆ ↢ ⌈", "&larr; &larrb; &lrarr; &larrtl; &lceil;"),
("⟦ ⥡ ⇃ ⥙", "&lobrk; &LeftDownTeeVector; &dharl; &LeftDownVectorBar;"), ("⟦ ⥡ ⇃ ⥙", "&lobrk; &LeftDownTeeVector; &dharl; &LeftDownVectorBar;"),
("⌊ ↽ ↼ ⇇", "&lfloor; &lhard; &lharu; &llarr;"), ("⌊ ↽ ↼ ⇇", "&lfloor; &lhard; &lharu; &llarr;"),
# ("↔ ⇔ ↔ ⇆", "&LeftRightArrow; &Leftrightarrow; &leftrightarrow; &leftrightarrows;"), ("↔ ⇔ ↔ ⇆", "&harr; &iff; &harr; &lrarr;"),
# ("⇋ ↭ ⥎ ⊣", "&leftrightharpoons; &leftrightsquigarrow; &LeftRightVector; &LeftTee;"), ("⇋ ↭ ⥎ ⊣", "&lrhar; &harrw; &LeftRightVector; &dashv;"),
# ("↤ ⥚ ⋋ ⊲", "&LeftTeeArrow; &LeftTeeVector; &leftthreetimes; &LeftTriangle;"), ("↤ ⥚ ⋋ ⊲", "&mapstoleft; &LeftTeeVector; &lthree; &vltri;"),
# ("⧏ ⊴ ⥑ ⥠", "&LeftTriangleBar; &LeftTriangleEqual; &LeftUpDownVector; &LeftUpTeeVector;"), ("⧏ ⊴ ⥑ ⥠", "&LeftTriangleBar; &ltrie; &LeftUpDownVector; &LeftUpTeeVector;"),
# ("↿ ⥘ ↼ ⥒ ⪋ ⋚", "&LeftUpVector; &LeftUpVectorBar; &LeftVector; &LeftVectorBar; &lEg; &leg;"), ("↿ ⥘ ↼ ⥒ ⪋ ⋚", "&uharl; &LeftUpVectorBar; &lharu; &LeftVectorBar; &lEg; &leg;"),
# ("≤ ≦ ⩽ ⩽ ⪨ ⩿ ⪁ ⪃ ⪓", "&leq; &leqq; &leqslant; &les; &lescc; &lesdot; &lesdoto; &lesdotor; &lesges;"), ("≤ ≦ ⩽ ⩽ ⪨ ⩿ ⪁ ⪃ ⪓", "&le; &lE; &les; &les; &lescc; &lesdot; &lesdoto; &lesdotor; &lesges;"),
# ("⪅ ⋖ ⋚ ⪋ ⋚", "&lessapprox; &lessdot; &lesseqgtr; &lesseqqgtr; &LessEqualGreater;"), ("⪅ ⋖ ⋚ ⪋ ⋚", "&lap; &ltdot; &leg; &lEg; &leg;"),
# ("≦ ≶ ≶ ⪡ ≲ ⩽", "&LessFullEqual; &LessGreater; &lessgtr; &LessLess; &lesssim; &LessSlantEqual;"), ("≦ ≶ ≶ ⪡ ≲ ⩽", "&lE; &lg; &lg; &LessLess; &lsim; &les;"),
# ("≲ ⥼ ⌊ 𝔏 𝔩 ≶ ⪑ ⥢ ↽ ↼", "&LessTilde; &lfisht; &lfloor; &Lfr; &lfr; &lg; &lgE; &lHar; &lhard; &lharu;"), ("≲ ⥼ ⌊ 𝔏 𝔩 ≶ ⪑ ⥢ ↽ ↼", "&lsim; &lfisht; &lfloor; &Lfr; &lfr; &lg; &lgE; &lHar; &lhard; &lharu;"),
# ("⥪ ▄ Љ љ ⋘ ≪ ⇇ ⌞ ⇚", "&lharul; &lhblk; &LJcy; &ljcy; &Ll; &ll; &llarr; &llcorner; &Lleftarrow;"), ("⥪ ▄ Љ љ ⋘ ≪ ⇇ ⌞ ⇚", "&lharul; &lhblk; &LJcy; &ljcy; &Ll; &ll; &llarr; &dlcorn; &lAarr;"),
# ("⥫ ◺ Ŀ ŀ ⎰ ⎰ ⪉ ⪉", "&llhard; &lltri; &Lmidot; &lmidot; &lmoust; &lmoustache; &lnap; &lnapprox;"), ("⥫ ◺ Ŀ ŀ ⎰ ⎰ ⪉ ⪉", "&llhard; &lltri; &Lmidot; &lmidot; &lmoust; &lmoust; &lnap; &lnap;"),
# ("≨ ⪇ ⪇ ≨ ⋦ ⟬ ⇽ ⟦ ⟵", "&lnE; &lne; &lneq; &lneqq; &lnsim; &loang; &loarr; &lobrk; &LongLeftArrow;"), ("≨ ⪇ ⪇ ≨ ⋦ ⟬ ⇽ ⟦ ⟵", "&lnE; &lne; &lne; &lnE; &lnsim; &loang; &loarr; &lobrk; &xlarr;"),
# ("⟸ ⟵ ⟷ ⟺", "&Longleftarrow; &longleftarrow; &LongLeftRightArrow; &Longleftrightarrow;"), ("⟸ ⟵ ⟷ ⟺", "&xlArr; &xlarr; &xharr; &xhArr;"),
# ("⟷ ⟼ ⟶ ⟹", "&longleftrightarrow; &longmapsto; &LongRightArrow; &Longrightarrow;"), ("⟷ ⟼ ⟶ ⟹", "&xharr; &xmap; &xrarr; &xrArr;"),
# ("⟶ ↫ ↬ ⦅ 𝕃 𝕝", "&longrightarrow; &looparrowleft; &looparrowright; &lopar; &Lopf; &lopf;"), ("⟶ ↫ ↬ ⦅ 𝕃 𝕝", "&xrarr; &larrlp; &rarrlp; &lopar; &Lopf; &lopf;"),
# ("⨭ ⨴ _ ↙ ↘ ◊", "&loplus; &lotimes; &lowast; &lowbar; &LowerLeftArrow; &LowerRightArrow; &loz;"), ("⨭ ⨴ _ ↙ ↘ ◊", "&loplus; &lotimes; &lowast; _ &swarr; &searr; &loz;"),
# ("◊ ⧫ ( ⦓ ⇆ ⌟ ⇋ ⥭ ", "&lozenge; &lozf; &lpar; &lparlt; &lrarr; &lrcorner; &lrhar; &lrhard; &lrm;"), ("◊ ⧫ ( ⦓ ⇆ ⌟ ⇋ ⥭ \u200e", "&loz; &lozf; ( &lparlt; &lrarr; &drcorn; &lrhar; &lrhard; &lrm;"),
# (" 𝓁 ↰ ↰ ≲ ⪍ ⪏ [", "&lrtri; &lsaquo; &Lscr; &lscr; &Lsh; &lsh; &lsim; &lsime; &lsimg; &lsqb;"), (" 𝓁 ↰ ↰ ≲ ⪍ ⪏ [", "&lrtri; &lsaquo; &Lscr; &lscr; &lsh; &lsh; &lsim; &lsime; &lsimg; ["),
# (" Ł ł < < < < ⪦ ⩹", "&lsquo; &lsquor; &Lstrok; &lstrok; &LT; &lt; &LT; &Lt; &lt; &ltcc; &ltcir;"), (" Ł ł < < ≪ ⪦ ⩹", "&lsquo; &sbquo; &Lstrok; &lstrok; &lt; &lt; &ll; &ltcc; &ltcir;"),
# ("⋖ ⋋ ⋉ ⥶ ⩻ ◃ ⊴ ◂ ⦖", "&ltdot; &lthree; &ltimes; &ltlarr; &ltquest; &ltri; &ltrie; &ltrif; &ltrPar;"), ("⋖ ⋋ ⋉ ⥶ ⩻ ◃ ⊴ ◂ ⦖", "&ltdot; &lthree; &ltimes; &ltlarr; &ltquest; &ltri; &ltrie; &ltrif; &ltrPar;"),
# ("⥊ ⥦ ¯ ¯ ♂ ✠ ✠ ⤅ ↦", "&lurdshar; &luruhar; &macr; &macr; &male; &malt; &maltese; &Map; &map;"), ("⥊ ⥦ ¯ ¯ ♂ ✠ ✠ ⤅ ↦", "&lurdshar; &luruhar; &macr; &macr; &male; &malt; &malt; &Map; &map;"),
# ("↦ ↧ ↤ ↥ ▮ ⨩ М м", "&mapsto; &mapstodown; &mapstoleft; &mapstoup; &marker; &mcomma; &Mcy; &mcy;"), ("↦ ↧ ↤ ↥ ▮ ⨩ М м", "&map; &mapstodown; &mapstoleft; &mapstoup; &marker; &mcomma; М м"),
# ("— ∺ ∡ 𝔐 𝔪 ℧", "&mdash; &mDDot; &measuredangle; &MediumSpace; &Mellintrf; &Mfr; &mfr; &mho;"), ("— ∺ ∡ 𝔐 𝔪 ℧", "&mdash; &mDDot; &angmsd; &MediumSpace; &Mscr; &Mfr; &mfr; &mho;"),
# ("µ µ * ⫰ · · ", "&micro; &micro; &mid; &midast; &midcir; &middot; &middot; &minus; &minusb;"), ("µ µ * ⫰ · · ", "&micro; &micro; &mid; * &midcir; &middot; &middot; &minus; &minusb;"),
# ("∸ ⨪ ∓ ⫛ … ∓ ⊧ 𝕄 𝕞", "&minusd; &minusdu; &MinusPlus; &mlcp; &mldr; &mnplus; &models; &Mopf; &mopf;"), ("∸ ⨪ ∓ ⫛ … ∓ ⊧ 𝕄 𝕞", "&minusd; &minusdu; &mp; &mlcp; &mldr; &mp; &models; &Mopf; &mopf;"),
# (" 𝓂 ∾ Μ μ ⊸ ⊸ ∇ Ń", "&mp; &Mscr; &mscr; &mstpos; &Mu; &mu; &multimap; &mumap; &nabla; &Nacute;"), (" 𝓂 ∾ Μ μ ⊸ ⊸ ∇ Ń", "&mp; &Mscr; &mscr; &ac; &Mu; &mu; &mumap; &mumap; &Del; &Nacute;"),
# ("ń ≉ ʼn ≉ ♮ ♮    ", "&nacute; &nap; &napos; &napprox; &natur; &natural; &naturals; &nbsp; &nbsp;"), ("ń ≉ ʼn ≉ ♮ ♮ \u00A0", "&nacute; &nap; &napos; &nap; &natur; &natur; &Nopf; &nbsp;"),
# ("⩃ Ň ň Ņ ņ ≇ ⩂ Н н ", "&ncap; &Ncaron; &ncaron; &Ncedil; &ncedil; &ncong; &ncup; &Ncy; &ncy; &ndash;"), ("⩃ Ň ň Ņ ņ ≇ ⩂ Н н ", "&ncap; &Ncaron; &ncaron; &Ncedil; &ncedil; &ncong; &ncup; Н н &ndash;"),
# ("≠ ⤤ ⇗ ↗ ↗ ", "&ne; &nearhk; &neArr; &nearr; &nearrow; &NegativeMediumSpace;"), ("≠ ⤤ ⇗ ↗ ↗ \u200b", "&ne; &nearhk; &neArr; &nearr; &nearr; &ZeroWidthSpace; &nequiv;"),
# (" ≢", "&NegativeThickSpace; &NegativeThinSpace; &NegativeVeryThinSpace; &nequiv;"), ("⤨ ≫ ≪ \n # ∄ ∄", "&toea; &gg; &ll; \n # &nexist; &nexist;"),
# ("⤨ ≫ ≪ \n # ∄ ∄", "&nesear; &NestedGreaterGreater; &NestedLessLess; &NewLine; &nexist; &nexists;"), ("𝔑 𝔫 ≱ ≱ ≵ ≯ ⇎ ↮ ⫲ ∋", "&Nfr; &nfr; &nge; &nge; &ngsim; &ngt; &nhArr; &nharr; &nhpar; &ni;"),
# ("𝔑 𝔫 ≱ ≱ ≵ ≯ ≯ ⇎ ↮ ⫲ ∋", "&Nfr; &nfr; &nge; &ngeq; &ngsim; &ngt; &ngtr; &nhArr; &nharr; &nhpar; &ni;"), ("⋼ ⋺ ∋ Њ њ ⇍ ↚ ‥ ≰ ⇍", "&nis; &nisd; &ni; &NJcy; &njcy; &nlArr; &nlarr; &nldr; &nle; &nlArr;"),
# ("⋼ ⋺ ∋ Њ њ ⇍ ↚ ‥ ≰ ⇍", "&nis; &nisd; &niv; &NJcy; &njcy; &nlArr; &nlarr; &nldr; &nle; &nLeftarrow;"), ("↚ ⇎ ↮ ≰ ≮ ≴ ≮", "&nlarr; &nhArr; &nharr; &nle; &nlt; &nlsim; &nlt;"),
# ("↚ ⇎ ↮ ≰ ≮ ≴ ≮", "&nleftarrow; &nLeftrightarrow; &nleftrightarrow; &nleq; &nless; &nlsim; &nlt;"), ("⋪ ⋬ ∤ \u2060 \u00A0 𝕟 ¬ ⫬", "&nltri; &nltrie; &nmid; &NoBreak; &nbsp; &Nopf; &nopf; &not; &Not;"),
# ("⋪ ⋬ ∤   𝕟 ¬ ⫬", "&nltri; &nltrie; &nmid; &NoBreak; &NonBreakingSpace; &Nopf; &nopf; &not; &Not;"), ("¬ ≢ ≭ ∦ ∉ ⊈ ⊁ ⋡ ⊉", "&not; &nequiv; &NotCupCap; &npar; &notin; &nsube; &nsc; &nsccue; &nsupe;"),
# ("¬ ≢ ≭ ∦ ∉", "&not; &NotCongruent; &NotCupCap; &NotDoubleVerticalBar; &NotElement;"), ("≠ ∄ ≯ ≱ ≹ ⋭ ⋢ ⋣", "&ne; &nexist; &ngt; &nge; &ntgl; &nrtrie; &nsqsube; &nsqsupe;"),
# ("≠ ∄ ≯ ≱ ≹", "&NotEqual; &NotExists; &NotGreater; &NotGreaterEqual; &NotGreaterLess;"), ("≵ ∉ ∉ ⋷ ⋶ ⋪", "&ngsim; &notin; &notin; &notinvb; &notinvc; &nltri;"),
# ("≵ ∉ ∉ ⋷ ⋶ ⋪", "&NotGreaterTilde; &notin; &notinva; &notinvb; &notinvc; &NotLeftTriangle;"), ("⋬ ≮ ≰ ≸ ⋠ ∌ ⋫", "&nltrie; &nlt; &nle; &ntlg; &nprcue; &notni; &nrtri;"),
# ("⋬ ≮ ≰ ≸", "&NotLeftTriangleEqual; &NotLess; &NotLessEqual; &NotLessGreater;"), ("≴ ∌ ∌ ⋾ ⋽ ⊀ ≁ ≄ ≇ ≉", "&nlsim; &notni; &notni; &notnivb; &notnivc; &npr; &nsim; &nsime; &ncong; &nap;"),
# ("≴ ∌ ∌ ⋾ ⋽ ⊀", "&NotLessTilde; &notni; &notniva; &notnivb; &notnivc; &NotPrecedes;"), ("∤ ∦ ∦ ⨔ ⊀ ⋠ ⊀ ⇏", "&nmid; &npar; &npar; &npolint; &npr; &nprcue; &npr; &nrArr;"),
# ("⋠ ∌ ⋫", "&NotPrecedesSlantEqual; &NotReverseElement; &NotRightTriangle;"), ("↛ ⇏ ↛ ⋫ ⋭ ⊁ ⋡ 𝒩", "&nrarr; &nrArr; &nrarr; &nrtri; &nrtrie; &nsc; &nsccue; &Nscr;"),
# ("⋭ ⋢ ⋣", "&NotRightTriangleEqual; &NotSquareSubsetEqual; &NotSquareSupersetEqual;"), ("𝓃 ∤ ∦ ≁ ≄ ≄ ∤ ∦", "&nscr; &nmid; &npar; &nsim; &nsime; &nsime; &nmid; &npar;"),
# ("⊈ ⊁ ", "&NotSubsetEqual; &NotSucceeds; &NotSucceedsSlantEqual; &NotSupersetEqual;"), ("⋢ ⋣ ⊄ ⊈ ⊈ ⊁ ", "&nsqsube; &nsqsupe; &nsub; &nsube; &nsube; &nsc; &nsup; &nsupe;"),
# ("≁ ≄ ≇ ≉", "&NotTilde; &NotTildeEqual; &NotTildeFullEqual; &NotTildeTilde;"), ("⊉ ≹ Ñ ñ Ñ ñ ≸ ⋪", "&nsupe; &ntgl; &Ntilde; &ntilde; &Ntilde; &ntilde; &ntlg; &nltri;"),
# ("∤ ∦ ∦ ⨔ ⊀ ⋠ ⊀ ⇏", "&NotVerticalBar; &npar; &nparallel; &npolint; &npr; &nprcue; &nprec; &nrArr;"), ("⋬ ⋫ ⋭ Ν ν # №", "&nltrie; &nrtri; &nrtrie; &Nu; &nu; # &numero;"),
# ("↛ ⇏ ↛ ⋫ ⋭ ⊁ ⋡ 𝒩", "&nrarr; &nRightarrow; &nrightarrow; &nrtri; &nrtrie; &nsc; &nsccue; &Nscr;"), ("\u2007 ⊯ ⊮ ⊭ ⊬ ⤄ ⧞ ⤂", "&numsp; &nVDash; &nVdash; &nvDash; &nvdash; &nvHarr; &nvinfin; &nvlArr;"),
# ("𝓃 ∤ ∦ ≁ ≄ ≄ ∤ ∦", "&nscr; &nshortmid; &nshortparallel; &nsim; &nsime; &nsimeq; &nsmid; &nspar;"), ("⤃ ⤣ ⇖ ↖ ↖ ⤧ Ó ó", "&nvrArr; &nwarhk; &nwArr; &nwarr; &nwarr; &nwnear; &Oacute; &oacute;"),
# ("⋢ ⋣ ⊄ ⊈ ⊈ ⊁ ⊅ ⊉", "&nsqsube; &nsqsupe; &nsub; &nsube; &nsubseteq; &nsucc; &nsup; &nsupe;"), ("Ó ó ⊛ ⊚ Ô ô Ô ô О о", "&Oacute; &oacute; &oast; &ocir; &Ocirc; &ocirc; &Ocirc; &ocirc; О о"),
# ("⊉ ≹ Ñ ñ Ñ ñ ≸ ⋪", "&nsupseteq; &ntgl; &Ntilde; &ntilde; &Ntilde; &ntilde; &ntlg; &ntriangleleft;"), ("⊝ Ő ő ⨸ ⊙ ⦼ Œ œ ⦿ 𝔒", "&odash; &Odblac; &odblac; &odiv; &odot; &odsold; Œ œ &ofcir; &Ofr;"),
# ("⋬ ⋫ ⋭ Ν ν # №", "&ntrianglelefteq; &ntriangleright; &ntrianglerighteq; &Nu; &nu; &num; &numero;"), ("𝔬 ˛ Ò ò Ò ò ⧁ ⦵ Ω ∮", "&ofr; &ogon; &Ograve; &ograve; &Ograve; &ograve; &ogt; &ohbar; &ohm; &oint;"),
# (" ⊯ ⊮ ⊭ ⊬ ⤄ ⧞ ⤂", "&numsp; &nVDash; &nVdash; &nvDash; &nvdash; &nvHarr; &nvinfin; &nvlArr;"), ("↺ ⦾ ⦻ ‾ ⧀ Ō ō Ω ω", "&olarr; &olcir; &olcross; &oline; &olt; &Omacr; &omacr; &ohm; &omega;"),
# ("⤃ ⤣ ⇖ ↖ ↖ ⤧ Ó ó", "&nvrArr; &nwarhk; &nwArr; &nwarr; &nwarrow; &nwnear; &Oacute; &oacute;"), ("Ο ο ⦶ ⊖ 𝕆 𝕠", "&Omicron; &omicron; &omid; &ominus; &Oopf; &oopf; &opar;"),
# ("Ó ó ⊛ ⊚ Ô ô Ô ô О о", "&Oacute; &oacute; &oast; &ocir; &Ocirc; &ocirc; &Ocirc; &ocirc; &Ocy; &ocy;"), (" ⦹ ⊕ ⩔ ", "&ldquo; &lsquo; &operp; &oplus; &Or; &or; &orarr;"),
# ("⊝ Ő ő ⨸ ⊙ ⦼ Œ œ ⦿ 𝔒", "&odash; &Odblac; &odblac; &odiv; &odot; &odsold; &OElig; &oelig; &ofcir; &Ofr;"), (" ª ª º º ⊶ ⩖ ⩗", "&ord; &oscr; &oscr; &ordf; &ordf; &ordm; &ordm; &origof; &oror; &orslope;"),
# ("𝔬 ˛ Ò ò Ò ò ⧁ ⦵ Ω ∮", "&ofr; &ogon; &Ograve; &ograve; &Ograve; &ograve; &ogt; &ohbar; &ohm; &oint;"), ("⩛ Ⓢ 𝒪 Ø ø Ø ø ⊘ Õ", "&orv; &oS; &Oscr; &oscr; &Oslash; &oslash; &Oslash; &oslash; &osol; &Otilde;"),
# ("↺ ⦾ ⦻ ‾ ⧀ Ō ō Ω ω", "&olarr; &olcir; &olcross; &oline; &olt; &Omacr; &omacr; &Omega; &omega;"), ("õ Õ õ ⨷ ⊗ ⨶ Ö ö Ö", "&otilde; &Otilde; &otilde; &Otimes; &otimes; &otimesas; &Ouml; &ouml; &Ouml;"),
# ("Ο ο ⦶ ⊖ 𝕆 𝕠 ⦷", "&Omicron; &omicron; &omid; &ominus; &Oopf; &oopf; &opar;"), ("ö ⌽ ‾ ⏞ ⎴ ⏜ ∥", "&ouml; &ovbar; &oline; &OverBrace; &tbrk; &OverParenthesis; &par;"),
# ("“ ⦹ ⊕ ⩔ ↻", "&OpenCurlyDoubleQuote; &OpenCurlyQuote; &operp; &oplus; &Or; &or; &orarr;"), ("¶ ¶ ∥ ⫳ ⫽ ∂ ∂ П п", "&para; &para; &par; &parsim; &parsl; &part; &part; П п"),
# ("⩝ ª ª º º ⊶ ⩖ ⩗", "&ord; &order; &orderof; &ordf; &ordf; &ordm; &ordm; &origof; &oror; &orslope;"), ("% . ‰ ⊥ ‱ 𝔓 𝔭 Φ φ ϕ", "% . &permil; &bot; &pertenk; &Pfr; &pfr; &Phi; &phi; &phiv;"),
# ("⩛ Ⓢ 𝒪 Ø ø Ø ø ⊘ Õ", "&orv; &oS; &Oscr; &oscr; &Oslash; &oslash; &Oslash; &oslash; &osol; &Otilde;"), (" ☎ Π π ⋔ ϖ ℏ ", "&Mscr; &phone; &Pi; &pi; &fork; &piv; &hbar; &planckh; &hbar;"),
# ("õ Õ õ ⨷ ⊗ ⨶ Ö ö Ö", "&otilde; &Otilde; &otilde; &Otimes; &otimes; &otimesas; &Ouml; &ouml; &Ouml;"), ("+ ⨣ ⊞ ⨢ ∔ ⨥ ⩲ ±", "&plus; &plusacir; &plusb; &pluscir; &plusdo; &plusdu; &pluse; &pm;"),
# ("ö ⌽ ‾ ⏞ ⎴ ⏜ ∥", "&ouml; &ovbar; &OverBar; &OverBrace; &OverBracket; &OverParenthesis; &par;"), ("± ⨦ ⨧ ± ", "&pm; &plussim; &plustwo; &pm; &Hfr; &pointint; &Popf;"),
# ("¶ ¶ ∥ ⫳ ⫽ ∂ ∂ П п", "&para; &para; &parallel; &parsim; &parsl; &part; &PartialD; &Pcy; &pcy;"), ("𝕡 £ ⪻ ≺ ⪷ ≼ ⪳ ⪯ ≺", "&popf; &pound; &Pr; &pr; &prap; &prcue; &prE; &pre; &pr;"),
# ("% . ‰ ⊥ ‱ 𝔓 𝔭 Φ φ ϕ", "&percnt; &period; &permil; &perp; &pertenk; &Pfr; &pfr; &Phi; &phi; &phiv;"), ("⪷ ≼ ≺ ⪯ ≼ ∋ ⇋ ⥯ ⥽ ⌋", "&prap; &prcue; &pr; &pre; &prcue; &ni; &lrhar; &duhar; &rfisht; &rfloor;"),
# (" ☎ Π π ⋔ ϖ ℏ ℏ", "&phmmat; &phone; &Pi; &pi; &pitchfork; &piv; &planck; &planckh; &plankv;"), ("≾ ⪯ ⪹ ⪵ ⋨ ≾ ″", "&prsim; &pre; &prnap; &prnE; &prnsim; &prsim; &Prime;"),
# ("+ ⨣ ⊞ ⨢ ∔ ⨥ ⩲ ±", "&plus; &plusacir; &plusb; &pluscir; &plusdo; &plusdu; &pluse; &PlusMinus;"), (" ⪹ ⪵ ⋨ ∏ ∏ ⌮", "&prime; &Popf; &prnap; &prnE; &prnsim; &prod; &prod; &profalar;"),
# ("± ± ⨦ ⨧ ± ", "&plusmn; &plusmn; &plussim; &plustwo; &pm; &Poincareplane; &pointint; &Popf;"), ("⌒ ⌓ ∝ ∷ ∝ ∝ ≾", "&profline; &profsurf; &prop; &Colon; &prop; &prop; &prsim;"),
# ("𝕡 £ £ ⪻ ≺ ⪷ ≼ ⪳ ⪯ ≺", "&popf; &pound; &pound; &Pr; &pr; &prap; &prcue; &prE; &pre; &prec;"), ("𝒫 𝓅 Ψ ψ \u2008 𝔔 𝔮 𝕢", "&prurel; &Pscr; &pscr; &Psi; &psi; &puncsp; &Qfr; &qfr; &qint; &Qopf; &qopf;"),
# ("⪷ ≼ ≺ ⪯ ≼", "&precapprox; &preccurlyeq; &Precedes; &PrecedesEqual; &PrecedesSlantEqual;"), ("𝒬 𝓆 ⨖ ? ≟ \" \"", "&qprime; &Qscr; &qscr; &Hopf; &quatint; ? &equest; &quot; &quot;"),
# ("≾ ⪯ ⪹ ⪵ ⋨ ≾ ″", "&PrecedesTilde; &preceq; &precnapprox; &precneqq; &precnsim; &precsim; &Prime;"), ("⇛ Ŕ ŕ √ ⦳ ⟫ ⟩", "&rAarr; &Racute; &racute; &radic; &raemptyv; &Rang; &rang;"),
# (" ⪹ ⪵ ⋨ ∏ ∏ ⌮", "&prime; &primes; &prnap; &prnE; &prnsim; &prod; &Product; &profalar;"), ("⦒ ⦥ ⟩ » » ↠ ⇒ → ⥵ ⇥", "&rangd; &range; &rang; &raquo; &raquo; &Rarr; &rArr; &rarr; &rarrap; &rarrb;"),
# ("⌒ ⌓ ∝ ∷ ∝ ∝ ≾", "&profline; &profsurf; &prop; &Proportion; &Proportional; &propto; &prsim;"), ("⤠ ⤳ ⤞ ↪ ↬ ⥅ ⥴ ⤖", "&rarrbfs; &rarrc; &rarrfs; &rarrhk; &rarrlp; &rarrpl; &rarrsim; &Rarrtl;"),
# ("⊰ 𝒫 𝓅 Ψ ψ 𝔔 𝔮 𝕢", "&prurel; &Pscr; &pscr; &Psi; &psi; &puncsp; &Qfr; &qfr; &qint; &Qopf; &qopf;"), ("↣ ↝ ⤜ ⤚ ⤐ ⤏ ⤍", "&rarrtl; &rarrw; &rAtail; &ratail; &ratio; &Qopf; &RBarr; &rBarr; &rbarr;"),
# ("⁗ 𝒬 𝓆 ⨖ ? ≟ " "", "&qprime; &Qscr; &qscr; &quaternions; &quatint; &quest; &questeq; &QUOT; &quot;"), (" } ] ⦌ ⦎ ⦐ Ř ř", "&rbbrk; } ] &rbrke; &rbrksld; &rbrkslu; &Rcaron; &rcaron;"),
# ("" " ⇛ Ŕ ŕ √ ⦳ ⟫ ⟩", "&QUOT; &quot; &rAarr; &Racute; &racute; &radic; &raemptyv; &Rang; &rang;"), ("Ŗ ŗ ⌉ } Р р ⤷ ⥩ ” ”", "&Rcedil; &rcedil; &rceil; } Р р &rdca; &rdldhar; &rdquo; &rdquo;"),
# ("⦒ ⦥ ⟩ » » ↠ ⇒ → ⥵ ⇥", "&rangd; &range; &rangle; &raquo; &raquo; &Rarr; &rArr; &rarr; &rarrap; &rarrb;"), (" ▭ ®", "&rdsh; &Re; &Re; &Rscr; &Re; &Ropf; &rect; &reg;"),
# ("⤠ ⤳ ⤞ ↪ ↬ ⥅ ⥴ ⤖", "&rarrbfs; &rarrc; &rarrfs; &rarrhk; &rarrlp; &rarrpl; &rarrsim; &Rarrtl;"), (" 𝔯 ⥤ ⇁ ⇀ ⥬ Ρ ρ ϱ", "&Re; &rfr; &rHar; &rhard; &rharu; &rharul; &Rho; &rho; &rhov;"),
# ("↣ ↝ ⤜ ⤚ ⤐ ⤏ ⤍", "&rarrtl; &rarrw; &rAtail; &ratail; &ratio; &rationals; &RBarr; &rBarr; &rbarr;"), ("⟩ → ⇒ → ⇥ ⇄ ↣ ⌉ ⟧", "&rang; &rarr; &rArr; &rarr; &rarrb; &rlarr; &rarrtl; &rceil; &robrk;"),
# (" } ] ⦌ ⦎ ⦐ Ř ř", "&rbbrk; &rbrace; &rbrack; &rbrke; &rbrksld; &rbrkslu; &Rcaron; &rcaron;"), ("⥝ ⇂ ⥕ ⌋", "&RightDownTeeVector; &dharr; &RightDownVectorBar; &rfloor;"),
# ("Ŗ ŗ ⌉ } Р р ⤷ ⥩ ” ”", "&Rcedil; &rcedil; &rceil; &rcub; &Rcy; &rcy; &rdca; &rdldhar; &rdquo; &rdquor;"), ("⇁ ⇀ ⇄ ⇌ ⇉ ↝ ⊢ ↦", "&rhard; &rharu; &rlarr; &rlhar; &rrarr; &rarrw; &vdash; &map;"),
# ("↳ ▭ ® ® ® ®", "&rdsh; &Re; &real; &realine; &realpart; &reals; &rect; &REG; &reg; &REG; &reg;"), ("⥛ ⋌ ⊳ ⧐", "&RightTeeVector; &rthree; &vrtri; &RightTriangleBar;"),
# ("∋ ⇋ ⥯ ⥽ ⌋", "&ReverseElement; &ReverseEquilibrium; &ReverseUpEquilibrium; &rfisht; &rfloor;"), ("⊵ ⥏ ⥜ ↾", "&rtrie; &RightUpDownVector; &RightUpTeeVector; &uharr;"),
# (" 𝔯 ⥤ ⇁ ⇀ ⥬ Ρ ρ ϱ", "&Rfr; &rfr; &rHar; &rhard; &rharu; &rharul; &Rho; &rho; &rhov;"),
# ("⟩ → ⇒ → ⇥", "&RightAngleBracket; &RightArrow; &Rightarrow; &rightarrow; &RightArrowBar;"),
# ("⇄ ↣ ⌉ ⟧", "&RightArrowLeftArrow; &rightarrowtail; &RightCeiling; &RightDoubleBracket;"),
# ("⥝ ⇂ ⥕ ⌋", "&RightDownTeeVector; &RightDownVector; &RightDownVectorBar; &RightFloor;"),
# ("⇁ ⇀ ⇄ ⇌", "&rightharpoondown; &rightharpoonup; &rightleftarrows; &rightleftharpoons;"),
# ("⇉ ↝ ⊢ ↦", "&rightrightarrows; &rightsquigarrow; &RightTee; &RightTeeArrow;"),
# ("⥛ ⋌ ⊳ ⧐", "&RightTeeVector; &rightthreetimes; &RightTriangle; &RightTriangleBar;"),
# ("⊵ ⥏ ⥜ ↾", "&RightTriangleEqual; &RightUpDownVector; &RightUpTeeVector; &RightUpVector;"),
# ("⥔ ⇀ ⥓ ˚ ≓", "&RightUpVectorBar; &RightVector; &RightVectorBar; &ring; &risingdotseq;"), # ("⥔ ⇀ ⥓ ˚ ≓", "&RightUpVectorBar; &RightVector; &RightVectorBar; &ring; &risingdotseq;"),
# ("⇄ ⇌ ⎱ ⎱ ⫮ ⟭ ⇾ ⟧", "&rlarr; &rlhar; &rlm; &rmoust; &rmoustache; &rnmid; &roang; &roarr; &robrk;"), # ("⇄ ⇌ ⎱ ⎱ ⫮ ⟭ ⇾ ⟧", "&rlarr; &rlhar; &rlm; &rmoust; &rmoustache; &rnmid; &roang; &roarr; &robrk;"),
# ("⦆ 𝕣 ⨮ ⨵ ⥰ ) ⦔", "&ropar; &Ropf; &ropf; &roplus; &rotimes; &RoundImplies; &rpar; &rpargt;"), # ("⦆ 𝕣 ⨮ ⨵ ⥰ ) ⦔", "&ropar; &Ropf; &ropf; &roplus; &rotimes; &RoundImplies; &rpar; &rpargt;"),
@@ -653,8 +645,8 @@ STRINGS_FOR_ENCODE = [
# ("𝓍 ⨆ ⨄ △ ⋀ Ý ý Ý", "&xscr; &xsqcup; &xuplus; &xutri; &xvee; &xwedge; &Yacute; &yacute; &Yacute;"), # ("𝓍 ⨆ ⨄ △ ⋀ Ý ý Ý", "&xscr; &xsqcup; &xuplus; &xutri; &xvee; &xwedge; &Yacute; &yacute; &Yacute;"),
# ("ý Я я Ŷ ŷ Ы ы ¥ ¥ 𝔜 𝔶", "&yacute; &YAcy; &yacy; &Ycirc; &ycirc; &Ycy; &ycy; &yen; &yen; &Yfr; &yfr;"), # ("ý Я я Ŷ ŷ Ы ы ¥ ¥ 𝔜 𝔶", "&yacute; &YAcy; &yacy; &Ycirc; &ycirc; &Ycy; &ycy; &yen; &yen; &Yfr; &yfr;"),
# ("Ї ї 𝕐 𝕪 𝒴 𝓎 Ю ю ÿ Ÿ ÿ", "&YIcy; &yicy; &Yopf; &yopf; &Yscr; &yscr; &YUcy; &yucy; &yuml; &Yuml; &yuml;"), # ("Ї ї 𝕐 𝕪 𝒴 𝓎 Ю ю ÿ Ÿ ÿ", "&YIcy; &yicy; &Yopf; &yopf; &Yscr; &yscr; &YUcy; &yucy; &yuml; &Yuml; &yuml;"),
# ("Ź ź Ž ž З з Ż ż ", "&Zacute; &zacute; &Zcaron; &zcaron; &Zcy; &zcy; &Zdot; &zdot; &zeetrf;"), ("Ź ź Ž ž З з Ż ż ", "&Zacute; &zacute; &Zcaron; &zcaron; З з &Zdot; &zdot; &Zfr;"),
# (" Ζ ζ 𝔷 Ж ж ⇝ ", "&ZeroWidthSpace; &Zeta; &zeta; &Zfr; &zfr; &ZHcy; &zhcy; &zigrarr; &Zopf;"), ("\u200b Ζ ζ 𝔷 Ж ж ⇝ ", "&ZeroWidthSpace; &Zeta; &zeta; &Zfr; &zfr; Ж ж &zigrarr; &Zopf;"),
] ]
@pytest.mark.parametrize("input_string, expected_output", STRINGS_FOR_ENCODE) @pytest.mark.parametrize("input_string, expected_output", STRINGS_FOR_ENCODE)