# tests/test_codec.py
import pytest
from etpgrf import codec

# Справочники html-мнемоник для любопытных:
# https://www.compart.com/en/unicode/html
# https://symbl.cc/ru/html-entities/

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

@pytest.mark.parametrize("mnemonic_string, unicode_output", STRINGS_FOR_DECODE)
def test_html_mnemo_to_utf(mnemonic_string, unicode_output):
    """
    Проверяет ПОВЕДЕНИЕ: декодирование HTML-мнемоников в Unicode-строки.
    """
    # Act (действие) - тестируем
    actual_output = codec.decode_to_unicode(mnemonic_string)
    # Assert (проверка)
    assert actual_output == unicode_output


STRINGS_FOR_ENCODE = [
    # Тестовые строки для декодирования html-метаккода в uft-8
    ("", ""),                                   # Пустая строка
    ("Hello world!", "Hello world!"),           # Строка
    ("Привет типограф!", "Привет типограф!"),   # Строка русского текста
    ("< > & \"", "&lt; &gt; &amp; &quot;"),     # Самый простой набор HTML-мнемоников
    ("\u00AD", "&shy;"),                        # Мягкий перенос
    ("\u00A0\u2002\u2003\u2009\u200D\u200C", "&nbsp;&ensp;&emsp;&thinsp;&zwj;&zwnj;"), # Набор пробелов и невидимых символов
    ("– — ‐ ―", "&ndash; &mdash; &dash; &horbar;"),  # Набор тире и дефисов
    ("$ ¢ £ ¤ ¥ € ₽", "&dollar; &cent; &pound; &curren; &yen; &euro; &#8381;"),  # Валютные символы
    ("֏ ₽ ₴ ₸ ₹ ₼ ₾", "&#1423; &#8381; &#8372; &#8376; &#8377; &#8380; &#8382;"),  # Валютные символы
    # Набор из html.entities.name2codepoint
    ("Æ Á Â À Α Å Ã Ä Ä", "Æ &Aacute; &Acirc; &Agrave; &Alpha; &Aring; &Atilde; &Auml; &Auml;"),
    ("Β Ç Χ ‡ Δ Ð É Ê È", "&Beta; &Ccedil; &Chi; &Dagger; &Delta; &ETH; &Eacute; &Ecirc; &Egrave;"),
    ("Ε Η Ë Γ Í Î Ì Ι Ï", "&Epsilon; &Eta; &Euml; &Gamma; &Iacute; &Icirc; &Igrave; &Iota; &Iuml;"),
    ("Κ Λ Μ Ñ Ν Œ Ó Ô Ò Ö", "&Kappa; &Lambda; &Mu; &Ntilde; &Nu; Œ &Oacute; &Ocirc; &Ograve; &Ouml;"),
    ("Ω Ο Ø Õ Φ Π ″ Ψ Ρ Š", "&ohm; &Omicron; &Oslash; &Otilde; &Phi; &Pi; &Prime; &Psi; &Rho; &Scaron;"),
    ("Σ Þ Τ Θ Ú Û Ù Υ Ü", "&Sigma; &THORN; &Tau; &Theta; &Uacute; &Ucirc; &Ugrave; &Upsilon; &Uuml;"),
    ("Ξ Ý Ÿ Ζ á â ´ æ à", "&Xi; &Yacute; &Yuml; &Zeta; &aacute; &acirc; &acute; æ &agrave;"),
    ("ℵ α & ∧ ∠ ' å ≈ ã ä", "&alefsym; &alpha; &amp; &and; &ang; &apos; &aring; &ap; &atilde; &auml;"),
    ("„ β ¦ • ∩ ç ¸ ¢ χ ˆ", "&bdquo; &beta; &brvbar; &bull; &cap; &ccedil; &cedil; &cent; &chi; &circ;"),
    ("♣ ≅ © ↵ ∪ ¤ ⇓ † ↓ °", "&clubs; &cong; &copy; &crarr; &cup; &curren; &dArr; &dagger; &darr; &deg;"),
    ("δ ♦ ÷ é ê è ∅ \u2003 \u2002", "&delta; &diams; &divide; &eacute; &ecirc; &egrave; &empty; &emsp; &ensp;"),
    ("ε ≡ η ð ë € ∃ ƒ ∀ ½", "&epsi; &equiv; &eta; &eth; &euml; &euro; &exist; &fnof; &forall; &half;"),
    ("¼ ¾ ⁄ γ ≥ > ⇔ ↔ ♥ …", "&frac14; &frac34; &frasl; &gamma; &ge; &gt; &iff; &harr; &hearts; &mldr;"),
    ("í î ¡ ì ℑ ∞ ∫ ι ¿ ∈", "&iacute; &icirc; &iexcl; &igrave; &Im; &infin; &int; &iota; &iquest; &in;"),
    ("ï κ ⇐ λ ⟨ « ← ⌈ “ ≤", "&iuml; &kappa; &lArr; &lambda; &lang; &laquo; &larr; &lceil; &ldquo; &le;"),
    ("⌊ ∗ ◊ \u200e ‹ ‘ < ¯ — µ", "&lfloor; &lowast; &loz; &lrm; &lsaquo; &lsquo; &lt; &macr; &mdash; &micro;"),
    ("· − μ ∇ \u00A0 – ≠ ∋ ¬ ∉", "&middot; &minus; &mu; &Del; &nbsp; &ndash; &ne; &ni; &not; &notin;"),
    ("⊄ ñ ν ó ô œ ò ‾ ω", "&nsub; &ntilde; &nu; &oacute; &ocirc; œ &ograve; &oline; &omega;"),
    ("ο ⊕ ∨ ª º ø õ ⊗ ö", "&omicron; &oplus; &or; &ordf; &ordm; &oslash; &otilde; &otimes; &ouml;"),
    ("¶ ∂ ‰ ⊥ φ π ϖ ± £ ′ ∏", "&para; &part; &permil; &bot; &phi; &pi; &piv; &pm; &pound; &prime; &prod;"),
    ("∝ ψ \" ⇒ √ ⟩ » → ⌉ ”", "&prop; &psi; &quot; &rArr; &Sqrt; &rang; &raquo; &rarr; &rceil; &rdquo;"),
    ("ℜ ® ⌋ ρ \u200f › ’ ‚ š", "&Re; &reg; &rfloor; &rho; &rlm; &rsaquo; &rsquo; &sbquo; &scaron;"),
    ("⋅ § \u00AD σ ς ∼ ♠ ⊂ ⊆ ∑", "&sdot; &sect; &shy; &sigma; &sigmaf; &sim; &spades; &sub; &sube; &sum;"),
    ("⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ", "&sup; &sup1; &sup2; &sup3; &supe; &szlig; &tau; &there4; &theta; &thetav;"),
    ("\u2009 þ ˜ × ™ ⇑ ú ↑ û", "&thinsp; &thorn; &tilde; &times; &trade; &uArr; &uacute; &uarr; &ucirc;"),
    ("ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ", "&ugrave; &die; &Upsi; &upsi; &uuml; &wp; &xi; &yacute; &yen; &yuml;"),
    ("ζ \u200D \u200C + = %", "&zeta; &zwj; &zwnj; &plus; = %"),
    # Набор из html.entities.html5
    ("Á á Á á Ă ă ∾ ∿ Â", "&Aacute; &aacute; &Aacute; &aacute; &Abreve; &abreve; &ac; &acd; &Acirc;"),
    ("â Â â ´ ´ А а Æ æ Æ", "&acirc; &Acirc; &acirc; &acute; &acute; А а Æ æ Æ"),
    ("æ \u2061 𝔄 𝔞 À à À à ℵ ℵ", "æ &af; &Afr; &afr; &Agrave; &agrave; &Agrave; &agrave; &alefsym; &alefsym;"),
    ("Α α Ā ā ⨿ & & & & ⩓ ∧", "&Alpha; &alpha; &Amacr; &amacr; &amalg; &amp; &amp; &amp; &amp; &And; &and;"),
    ("⩕ ⩜ ⩘ ⩚ ∠ ⦤ ∠ ∡ ⦨", "&andand; &andd; &andslope; &andv; &ang; &ange; &ang; &angmsd; &angmsdaa;"),
    ("⦩ ⦪ ⦫ ⦬ ⦭ ⦮ ⦯", "&angmsdab; &angmsdac; &angmsdad; &angmsdae; &angmsdaf; &angmsdag; &angmsdah;"),
    ("∟ ⊾ ⦝ ∢ Å ⍼ Ą ą 𝔸", "&angrt; &angrtvb; &angrtvbd; &angsph; &Aring; &angzarr; &Aogon; &aogon; &Aopf;"),
    ("𝕒 ≈ ⩯ ⩰ ≊ ≋ ' \u2061 ≈", "&aopf; &ap; &apacir; &apE; &ape; &apid; &apos; &af; &ap;"),
    ("≊ Å å Å å 𝒜 𝒶 ≔ *", "&ape; &Aring; &aring; &Aring; &aring; &Ascr; &ascr; &Assign; *"),
    ("≈ ≍ Ã ã Ã ã Ä ä Ä", "&ap; &CupCap; &Atilde; &atilde; &Atilde; &atilde; &Auml; &auml; &Auml;"),
    ("ä ∳ ⨑ ≌ ϶ ‵ ∽", "&auml; &awconint; &awint; &bcong; &bepsi; &bprime; &bsim;"),
    ("⋍ ∖ ⫧ ⊽ ⌆ ⌅ ⌅ ⎵", "&bsime; &setmn; &Barv; &barvee; &Barwed; &barwed; &barwed; &bbrk;"),
    ("⎶ ≌ Б б „ ∵ ⦰", "&bbrktbrk; &bcong; Б б &bdquo; &becaus; &bemptyv;"),
    ("϶ ℬ ℬ Β β ℶ ≬ 𝔅 𝔟", "&bepsi; &Bscr; &Bscr; &Beta; &beta; &beth; &twixt; &Bfr; &bfr;"),
    ("⋂ ◯ ⋃ ⨀ ⨁ ⨂ ⨆", "&xcap; &xcirc; &xcup; &xodot; &xoplus; &xotime; &xsqcup;"),
    ("★ ▽ △ ⨄ ⋁ ⋀", "&starf; &xdtri; &xutri; &xuplus; &Vee; &Wedge;"),
    ("⤍ ⧫ ▪ ▴ ▾", "&rbarr; &lozf; &squf; &utrif; &dtrif;"),
    ("◂ ▸ ␣ ▒ ░ ▓", "&ltrif; &rtrif; &blank; &blk12; &blk14; &blk34;"),
    ("█ ⫭ ⌐ 𝔹 𝕓 ⊥ ⊥ ⋈ ⧉ ╗", "&block; &bNot; &bnot; &Bopf; &bopf; &bot; &bot; &bowtie; &boxbox; &boxDL;"),
    ("╖ ╕ ┐ ╔ ╓ ╒ ┌ ═ ─ ╦", "&boxDl; &boxdL; &boxdl; &boxDR; &boxDr; &boxdR; &boxdr; &boxH; &boxh; &boxHD;"),
    ("╤ ╥ ┬ ╩ ╧ ╨ ┴ ⊟ ⊞", "&boxHd; &boxhD; &boxhd; &boxHU; &boxHu; &boxhU; &boxhu; &minusb; &plusb;"),
    ("⊠ ╝ ╜ ╛ ┘ ╚ ╙ ╘ └", "&timesb; &boxUL; &boxUl; &boxuL; &boxul; &boxUR; &boxUr; &boxuR; &boxur;"),
    ("║ │ ╬ ╫ ╪ ┼ ╣ ╢ ╡ ┤", "&boxV; &boxv; &boxVH; &boxVh; &boxvH; &boxvh; &boxVL; &boxVl; &boxvL; &boxvl;"),
    ("╠ ╟ ╞ ├ ‵ ˘ ˘ ¦ ¦", "&boxVR; &boxVr; &boxvR; &boxvr; &bprime; &breve; &breve; &brvbar; &brvbar;"),
    ("ℬ 𝒷 ⁏ ∽ ⋍ \\ ⧅ ⟈ • •", "&Bscr; &bscr; &bsemi; &bsim; &bsime; \\ &bsolb; &bsolhsub; &bull; &bull;"),
    ("≎ ⪮ ≏ ≎ ≏ Ć ć ⋒ ∩", "&bump; &bumpE; &bumpe; &bump; &bumpe; &Cacute; &cacute; &Cap; &cap;"),
    ("⩄ ⩉ ⩋ ⩇ ⩀ ⅅ ⁁", "&capand; &capbrcup; &capcap; &capcup; &capdot; &DD; &caret;"),
    ("ˇ ℭ ⩍ Č č Ç ç Ç", "&caron; &Cfr; &ccaps; &Ccaron; &ccaron; &Ccedil; &ccedil; &Ccedil;"),
    ("ç Ĉ ĉ ∰ ⩌ ⩐ Ċ ċ ¸", "&ccedil; &Ccirc; &ccirc; &Cconint; &ccups; &ccupssm; &Cdot; &cdot; &cedil;"),
    ("¸ ¸ ⦲ ¢ ¢ · · ℭ 𝔠", "&cedil; &cedil; &cemptyv; &cent; &cent; &middot; &middot; &Cfr; &cfr;"),
    ("Ч ч ✓ ✓ Χ χ ○ ˆ ≗", "Ч ч &check; &check; &Chi; &chi; &cir; &circ; &cire;"),
    ("↺ ↻ ⊛ ⊚ ⊝", "&olarr; &orarr; &oast; &ocir; &odash;"),
    ("⊙ ® Ⓢ ⊖ ⊕ ⊗", "&odot; &reg; &oS; &ominus; &oplus; &otimes;"),
    ("⧃ ≗ ⨐ ⫯ ⧂ ∲", "&cirE; &cire; &cirfnint; &cirmid; &cirscir; &cwconint;"),
    ("” ’ ♣ ♣ ∷ :", "&rdquo; &rsquo; &clubs; &clubs; &Colon; :"),
    ("⩴ ≔ ≔ , @ ∁ ∘ ∁", "&Colone; &Assign; &Assign; , @ &comp; &compfn; &comp;"),
    ("ℂ ≅ ⩭ ≡ ∯ ∮ ∮", "&Copf; &cong; &congdot; &equiv; &Conint; &oint; &oint;"),
    ("ℂ 𝕔 ∐ ∐ © © © © ℗", "&Copf; &copf; &coprod; &coprod; &copy; &copy; &copy; &copy; &copysr;"),
    ("∳ ↵ ⨯ ✗ 𝒞 𝒸 ⫏", "&awconint; &crarr; &Cross; &cross; &Cscr; &cscr; &csub;"),
    ("⫑ ⫐ ⫒ ⋯ ⤸ ⤵ ⋞ ⋟ ↶", "&csube; &csup; &csupe; &ctdot; &cudarrl; &cudarrr; &cuepr; &cuesc; &cularr;"),
    ("⤽ ⋓ ∪ ⩈ ≍ ⩆ ⩊ ⊍ ⩅", "&cularrp; &Cup; &cup; &cupbrcap; &CupCap; &cupcap; &cupcup; &cupdot; &cupor;"),
    ("↷ ⤼ ⋞ ⋟ ⋎ ⋏", "&curarr; &curarrm; &cuepr; &cuesc; &cuvee; &cuwed;"),
    ("¤ ¤ ↶ ↷ ⋎ ⋏", "&curren; &curren; &cularr; &curarr; &cuvee; &cuwed;"),
    ("∲ ∱ ⌭ ‡ † ℸ ↡ ⇓ ↓", "&cwconint; &cwint; &cylcty; &Dagger; &dagger; &daleth; &Darr; &dArr; &darr;"),
    ("‐ ⫤ ⊣ ⤏ ˝ Ď ď Д д ⅅ", "&dash; &Dashv; &dashv; &rBarr; &dblac; &Dcaron; &dcaron; Д д &DD;"),
    ("ⅆ ‡ ⇊ ⤑ ⩷ ° ° ∇ Δ δ", "&dd; &Dagger; &ddarr; &DDotrahd; &eDDot; &deg; &deg; &Del; &Delta; &delta;"),
    ("⦱ ⥿ 𝔇 𝔡 ⥥ ⇃ ⇂ ´", "&demptyv; &dfisht; &Dfr; &dfr; &dHar; &dharl; &dharr; &acute;"),
    ("˙ ˝ ` ˜ ⋄ ⋄ ⋄ ♦ ♦ ¨", "&dot; &dblac; &grave; &tilde; &diam; &diam; &diam; &diams; &diams; &die;"),
    ("ⅆ ϝ ⋲ ÷ ÷ ÷ ⋇", "&dd; &gammad; &disin; &divide; &divide; &divide; &divonx;"),
    ("⋇ Ђ ђ ⌞ ⌍ $ 𝔻 𝕕 ¨ ˙", "&divonx; &DJcy; &djcy; &dlcorn; &dlcrop; &dollar; &Dopf; &dopf; &die; &dot;"),
    ("⃜ ≐ ≑ ≐ ∸ ∔ ⊡", "&DotDot; &esdot; &eDot; &esdot; &minusd; &plusdo; &sdotb;"),
    ("⌆ ∯ ¨ ⇓ ⇐ ⇔ ⫤ ⟸", "&Barwed; &Conint; &die; &dArr; &lArr; &iff; &Dashv; &xlArr;"),
    ("⟺ ⟹ ⇒ ⊨ ⇑ ⇕ ∥", "&xhArr; &xrArr; &rArr; &vDash; &uArr; &vArr; &par;"),
    ("↓ ⇓ ↓ ⤓ ⇵ ̑ ⇊ ⇃ ⇂", "&darr; &dArr; &darr; &DownArrowBar; &duarr; &DownBreve; &ddarr; &dharl; &dharr;"),
    ("⥐ ⥞ ↽ ⥖", "&DownLeftRightVector; &DownLeftTeeVector; &lhard; &DownLeftVectorBar;"),
    ("⥟ ⇁ ⥗ ⊤", "&DownRightTeeVector; &rhard; &DownRightVectorBar; &top;"),
    ("↧ ⤐ ⌟ ⌌ 𝒟 𝒹 Ѕ ѕ ⧶", "&mapstodown; &RBarr; &drcorn; &drcrop; &Dscr; &dscr; &DScy; &dscy; &dsol;"),
    ("Đ đ ⋱ ▿ ▾ ⇵ ⥯ ⦦ Џ", "&Dstrok; &dstrok; &dtdot; &dtri; &dtrif; &duarr; &duhar; &dwangle; &DZcy;"),
    ("џ ⟿ É é É é ⩮ Ě", "&dzcy; &dzigrarr; &Eacute; &eacute; &Eacute; &eacute; &easter; &Ecaron;"),
    ("ě ≖ Ê ê Ê ê ≕ Э э ⩷", "&ecaron; &ecir; &Ecirc; &ecirc; &Ecirc; &ecirc; &ecolon; Э э &eDDot;"),
    ("Ė ≑ ė ⅇ ≒ 𝔈 𝔢 ⪚ È è È", "&Edot; &eDot; &edot; &ee; &efDot; &Efr; &efr; &eg; &Egrave; &egrave; &Egrave;"),
    ("è ⪖ ⪘ ⪙ ∈ ⏧ ℓ ⪕ ⪗ Ē", "&egrave; &egs; &egsdot; &el; &in; &elinters; &ell; &els; &elsdot; &Emacr;"),
    ("ē ∅ ∅ ◻ ∅ ▫", "&emacr; &empty; &empty; &EmptySmallSquare; &empty; &EmptyVerySmallSquare;"),
    ("\u2004 \u2005 \u2003 Ŋ ŋ Ę ę 𝔼 𝕖", "&emsp13; &emsp14; &emsp; &ENG; &eng; &Eogon; &eogon; &Eopf; &eopf;"),
    ("⋕ ⧣ ⩱ ε Ε ε ϵ ≖ ≕", "&epar; &eparsl; &eplus; &epsi; &Epsilon; &epsi; &epsiv; &ecir; &ecolon;"),
    ("≂ ⪖ ⪕ ⩵ = ≂ ≟", "&esim; &egs; &els; &Equal; = &esim; &equest;"),
    ("⇌ ≡ ⩸ ⧥ ⥱ ≓ ℰ ℯ", "&rlhar; &equiv; &equivDD; &eqvparsl; &erarr; &erDot; &Escr; &escr;"),
    ("≐ ⩳ ≂ Η η Ð ð Ð ð Ë ë Ë", "&esdot; &Esim; &esim; &Eta; &eta; &ETH; &eth; &ETH; &eth; &Euml; &euml; &Euml;"),
    ("ë € ! ∃ ∃ ℰ ⅇ ≧ ⪢ ≷ ⩾", "&euml; &euro; ! &exist; &exist; &Escr; &ee; &gE; &GreaterGreater; &gl; &ges;"),
    ("ⅇ ≒ Ф ф ♀ ﬃ ﬀ ﬄ", "&ee; &efDot; Ф ф &female; &ffilig; &fflig; &ffllig;"),
    ("𝔉 𝔣 ﬁ ◼ ▪ ♭ ﬂ", "&Ffr; &ffr; &filig; &FilledSmallSquare; &squf; &flat; &fllig;"),
    ("▱ ƒ 𝔽 𝕗 ∀ ∀ ⋔ ⫙ ℱ", "&fltns; &fnof; &Fopf; &fopf; &forall; &forall; &fork; &forkv; &Fscr;"),
    ("⨍ ½ ½ ⅓ ¼ ¼ ⅕ ⅙", "&fpartint; &half; &half; &frac13; &frac14; &frac14; &frac15; &frac16;"),
    ("⅛ ⅔ ⅖ ¾ ¾ ⅗ ⅜ ⅘", "&frac18; &frac23; &frac25; &frac34; &frac34; &frac35; &frac38; &frac45;"),
    ("⅚ ⅝ ⅞ ⁄ ⌢ ℱ 𝒻 ǵ Γ", "&frac56; &frac58; &frac78; &frasl; &frown; &Fscr; &fscr; &gacute; &Gamma;"),
    ("γ Ϝ ϝ ⪆ Ğ ğ Ģ Ĝ ĝ", "&gamma; &Gammad; &gammad; &gap; &Gbreve; &gbreve; &Gcedil; &Gcirc; &gcirc;"),
    ("Г г Ġ ġ ≧ ≥ ⪌ ⋛ ≥ ≧ ⩾", "Г г &Gdot; &gdot; &gE; &ge; &gEl; &gel; &ge; &gE; &ges;"),
    ("⪩ ⪀ ⪂ ⪄ ⪔ 𝔊 𝔤 ⋙ ≫ ⋙", "&gescc; &gesdot; &gesdoto; &gesdotol; &gesles; &Gfr; &gfr; &Gg; &gg; &Gg;"),
    ("ℷ Ѓ ѓ ≷ ⪥ ⪒ ⪤ ⪊ ⪊ ≩ ⪈", "&gimel; &GJcy; &gjcy; &gl; &gla; &glE; &glj; &gnap; &gnap; &gnE; &gne;"),
    ("⪈ ≩ ⋧ 𝔾 𝕘 ` ≥ ⋛", "&gne; &gnE; &gnsim; &Gopf; &gopf; &grave; &ge; &gel;"),
    ("≳ 𝒢 ℊ ≳ ⪎ ⪐ > > ≫ >", "&gsim; &Gscr; &gscr; &gsim; &gsime; &gsiml; &gt; &gt; &gg; &gt;"),
    ("⪧ ⩺ ⋗ ⦕ ⩼ ⪆ ⥸ ⋗", "&gtcc; &gtcir; &gtdot; &gtlPar; &gtquest; &gap; &gtrarr; &gtdot;"),
    ("⋛ ⪌ ≷ ≳ ˇ \u200a ½ ℋ", "&gel; &gEl; &gl; &gsim; &caron; &hairsp; &half; &Hscr;"),
    ("Ъ ъ ⇔ ↔ ⥈ ↭ ^ ℏ Ĥ ĥ", "Ъ ъ &iff; &harr; &harrcir; &harrw; ^ &hbar; &Hcirc; &hcirc;"),
    ("♥ … ⊹ ℌ 𝔥 ℋ ⤥", "&hearts; &mldr; &hercon; &Hfr; &hfr; &Hscr; &searhk;"),
    ("⤦ ⇿ ∻ ↩ ↪ ℍ 𝕙", "&swarhk; &hoarr; &homtht; &larrhk; &rarrhk; &Hopf; &hopf;"),
    ("― ─ ℋ 𝒽 ℏ Ħ ħ", "&horbar; &boxh; &Hscr; &hscr; &hbar; &Hstrok; &hstrok;"),
    ("≎ ≏ ⁃ ‐ Í í Í", "&bump; &bumpe; &hybull; &dash; &Iacute; &iacute; &Iacute;"),
    ("í ⁣ Î î Î î И и İ Е е", "&iacute; &ic; &Icirc; &icirc; &Icirc; &icirc; И и &Idot; Е е"),
    ("¡ ¡ ⇔ ℑ 𝔦 Ì ì Ì ì ⅈ", "&iexcl; &iexcl; &iff; &Im; &ifr; &Igrave; &igrave; &Igrave; &igrave; &ii;"),
    ("⨌ ∭ ⧜ ℩ Ĳ ĳ ℑ Ī ī ℑ", "&qint; &tint; &iinfin; &iiota; &IJlig; &ijlig; &Im; &Imacr; &imacr; &Im;"),
    ("ⅈ ℐ ℑ ı ⊷ Ƶ ⇒ ∈", "&ii; &Iscr; &Im; &imath; &imof; &imped; &rArr; &in;"),
    ("℅ ∞ ⧝ ı ∬ ∫ ⊺ ℤ", "&incare; &infin; &infintie; &imath; &Int; &int; &intcal; &Zopf;"),
    ("∫ ⊺ ⋂ ⨗ ⨼ ⁣", "&int; &intcal; &xcap; &intlarhk; &iprod; &ic;"),
    ("⁢ Ё ё Į į 𝕀 𝕚 Ι ι", "&it; Ё ё &Iogon; &iogon; &Iopf; &iopf; &Iota; &iota;"),
    ("⨼ ¿ ¿ ℐ 𝒾 ∈ ⋵ ⋹ ⋴", "&iprod; &iquest; &iquest; &Iscr; &iscr; &in; &isindot; &isinE; &isins;"),
    ("⋳ ∈ ⁢ Ĩ ĩ І і Ï ï Ï", "&isinsv; &in; &it; &Itilde; &itilde; &Iukcy; &iukcy; &Iuml; &iuml; &Iuml;"),
    ("ï Ĵ ĵ Й й 𝔍 𝔧 ȷ 𝕁 𝕛 𝒥", "&iuml; &Jcirc; &jcirc; Й й &Jfr; &jfr; &jmath; &Jopf; &jopf; &Jscr;"),
    ("𝒿 Ј ј Є є Κ κ ϰ Ķ", "&jscr; &Jsercy; &jsercy; &Jukcy; &jukcy; &Kappa; &kappa; &kappav; &Kcedil;"),
    ("ķ К к 𝔎 𝔨 ĸ Х х Ќ ќ 𝕂", "&kcedil; К к &Kfr; &kfr; &kgreen; Х х &KJcy; &kjcy; &Kopf;"),
    ("𝕜 𝒦 𝓀 ⇚ Ĺ ĺ ⦴ ℒ Λ", "&kopf; &Kscr; &kscr; &lAarr; &Lacute; &lacute; &laemptyv; &Lscr; &Lambda;"),
    ("λ ⟪ ⟨ ⦑ ⟨ ⪅ ℒ « «", "&lambda; &Lang; &lang; &langd; &lang; &lap; &Lscr; &laquo; &laquo;"),
    ("↞ ⇐ ← ⇤ ⤟ ⤝ ↩ ↫ ⤹", "&Larr; &lArr; &larr; &larrb; &larrbfs; &larrfs; &larrhk; &larrlp; &larrpl;"),
    ("⥳ ↢ ⪫ ⤛ ⤙ ⪭ ⤎ ⤌ ❲", "&larrsim; &larrtl; &lat; &lAtail; &latail; &late; &lBarr; &lbarr; &lbbrk;"),
    ("{ [ ⦋ ⦏ ⦍ Ľ ľ Ļ", "{ [ &lbrke; &lbrksld; &lbrkslu; &Lcaron; &lcaron; &Lcedil;"),
    ("ļ ⌈ { Л л ⤶ “ „ ⥧", "&lcedil; &lceil; { Л л &ldca; &ldquo; &bdquo; &ldrdhar;"),
    ("⥋ ↲ ≦ ≤ ⟨ ← ⇐", "&ldrushar; &ldsh; &lE; &le; &lang; &larr; &lArr;"),
    ("← ⇤ ⇆ ↢ ⌈", "&larr; &larrb; &lrarr; &larrtl; &lceil;"),
    ("⟦ ⥡ ⇃ ⥙", "&lobrk; &LeftDownTeeVector; &dharl; &LeftDownVectorBar;"),
    ("⌊ ↽ ↼ ⇇", "&lfloor; &lhard; &lharu; &llarr;"),
    ("↔ ⇔ ↔ ⇆", "&harr; &iff; &harr; &lrarr;"),
    ("⇋ ↭ ⥎ ⊣", "&lrhar; &harrw; &LeftRightVector; &dashv;"),
    ("↤ ⥚ ⋋ ⊲", "&mapstoleft; &LeftTeeVector; &lthree; &vltri;"),
    ("⧏ ⊴ ⥑ ⥠", "&LeftTriangleBar; &ltrie; &LeftUpDownVector; &LeftUpTeeVector;"),
    ("↿ ⥘ ↼ ⥒ ⪋ ⋚", "&uharl; &LeftUpVectorBar; &lharu; &LeftVectorBar; &lEg; &leg;"),
    ("≤ ≦ ⩽ ⩽ ⪨ ⩿ ⪁ ⪃ ⪓", "&le; &lE; &les; &les; &lescc; &lesdot; &lesdoto; &lesdotor; &lesges;"),
    ("⪅ ⋖ ⋚ ⪋ ⋚", "&lap; &ltdot; &leg; &lEg; &leg;"),
    ("≦ ≶ ≶ ⪡ ≲ ⩽", "&lE; &lg; &lg; &LessLess; &lsim; &les;"),
    ("≲ ⥼ ⌊ 𝔏 𝔩 ≶ ⪑ ⥢ ↽ ↼", "&lsim; &lfisht; &lfloor; &Lfr; &lfr; &lg; &lgE; &lHar; &lhard; &lharu;"),
    ("⥪ ▄ Љ љ ⋘ ≪ ⇇ ⌞ ⇚", "&lharul; &lhblk; &LJcy; &ljcy; &Ll; &ll; &llarr; &dlcorn; &lAarr;"),
    ("⥫ ◺ Ŀ ŀ ⎰ ⎰ ⪉ ⪉", "&llhard; &lltri; &Lmidot; &lmidot; &lmoust; &lmoust; &lnap; &lnap;"),
    ("≨ ⪇ ⪇ ≨ ⋦ ⟬ ⇽ ⟦ ⟵", "&lnE; &lne; &lne; &lnE; &lnsim; &loang; &loarr; &lobrk; &xlarr;"),
    ("⟸ ⟵ ⟷ ⟺", "&xlArr; &xlarr; &xharr; &xhArr;"),
    ("⟷ ⟼ ⟶ ⟹", "&xharr; &xmap; &xrarr; &xrArr;"),
    ("⟶ ↫ ↬ ⦅ 𝕃 𝕝", "&xrarr; &larrlp; &rarrlp; &lopar; &Lopf; &lopf;"),
    ("⨭ ⨴ ∗ _ ↙ ↘ ◊", "&loplus; &lotimes; &lowast; _ &swarr; &searr; &loz;"),
    ("◊ ⧫ ( ⦓ ⇆ ⌟ ⇋ ⥭ \u200e", "&loz; &lozf; ( &lparlt; &lrarr; &drcorn; &lrhar; &lrhard; &lrm;"),
    ("⊿ ‹ ℒ 𝓁 ↰ ↰ ≲ ⪍ ⪏ [", "&lrtri; &lsaquo; &Lscr; &lscr; &lsh; &lsh; &lsim; &lsime; &lsimg; ["),
    ("‘ ‚ Ł ł < < ≪ ⪦ ⩹", "&lsquo; &sbquo; &Lstrok; &lstrok; &lt; &lt; &ll; &ltcc; &ltcir;"),
    ("⋖ ⋋ ⋉ ⥶ ⩻ ◃ ⊴ ◂ ⦖", "&ltdot; &lthree; &ltimes; &ltlarr; &ltquest; &ltri; &ltrie; &ltrif; &ltrPar;"),
    ("⥊ ⥦ ¯ ¯ ♂ ✠ ⤅ ↦", "&lurdshar; &luruhar; &macr; &macr; &male; &malt; &Map; &map;"),
    ("↦ ↧ ↤ ↥ ▮ ⨩ М м", "&map; &mapstodown; &mapstoleft; &mapstoup; &marker; &mcomma; М м"),
    ("— ∺ ∡ \u205f ℳ 𝔐 𝔪 ℧", "&mdash; &mDDot; &angmsd; &MediumSpace; &Mscr; &Mfr; &mfr; &mho;"),
    ("µ µ ∣ * ⫰ · · − ⊟", "&micro; &micro; &mid; * &midcir; &middot; &middot; &minus; &minusb;"),
    ("∸ ⨪ ∓ ⫛ … ∓ ⊧ 𝕄 𝕞", "&minusd; &minusdu; &mp; &mlcp; &mldr; &mp; &models; &Mopf; &mopf;"),
    ("∓ ℳ 𝓂 ∾ Μ μ ⊸ ⊸ ∇ Ń", "&mp; &Mscr; &mscr; &ac; &Mu; &mu; &mumap; &mumap; &Del; &Nacute;"),
    ("ń ≉ ŉ ≉ ♮ ♮ ℕ \u00A0", "&nacute; &nap; &napos; &nap; &natur; &natur; &Nopf; &nbsp;"),
    ("⩃ Ň ň Ņ ņ ≇ ⩂ Н н –", "&ncap; &Ncaron; &ncaron; &Ncedil; &ncedil; &ncong; &ncup; Н н &ndash;"),
    ("≠ ⤤ ⇗ ↗ ↗ \u200b ≢", "&ne; &nearhk; &neArr; &nearr; &nearr; &ZeroWidthSpace; &nequiv;"),
    ("⤨ ≫ ≪ \n # ∄ ∄", "&toea; &gg; &ll; \n # &nexist; &nexist;"),
    ("𝔑 𝔫 ≱ ≱ ≵ ≯ ⇎ ↮ ⫲ ∋", "&Nfr; &nfr; &nge; &nge; &ngsim; &ngt; &nhArr; &nharr; &nhpar; &ni;"),
    ("⋼ ⋺ ∋ Њ њ ⇍ ↚ ‥ ≰ ⇍", "&nis; &nisd; &ni; &NJcy; &njcy; &nlArr; &nlarr; &nldr; &nle; &nlArr;"),
    ("↚ ⇎ ↮ ≰ ≮ ≴ ≮", "&nlarr; &nhArr; &nharr; &nle; &nlt; &nlsim; &nlt;"),
    ("⋪ ⋬ ∤ \u2060 \u00A0 ℕ 𝕟 ¬ ⫬", "&nltri; &nltrie; &nmid; &NoBreak; &nbsp; &Nopf; &nopf; &not; &Not;"),
    ("¬ ≢ ≭ ∦ ∉ ⊈ ⊁ ⋡ ⊉", "&not; &nequiv; &NotCupCap; &npar; &notin; &nsube; &nsc; &nsccue; &nsupe;"),
    ("≠ ∄ ≯ ≱ ≹ ⋭ ⋢ ⋣", "&ne; &nexist; &ngt; &nge; &ntgl; &nrtrie; &nsqsube; &nsqsupe;"),
    ("≵ ∉ ∉ ⋷ ⋶ ⋪", "&ngsim; &notin; &notin; &notinvb; &notinvc; &nltri;"),
    ("⋬ ≮ ≰ ≸ ⋠ ∌ ⋫", "&nltrie; &nlt; &nle; &ntlg; &nprcue; &notni; &nrtri;"),
    ("≴ ∌ ∌ ⋾ ⋽ ⊀ ≁ ≄ ≇ ≉", "&nlsim; &notni; &notni; &notnivb; &notnivc; &npr; &nsim; &nsime; &ncong; &nap;"),
    ("∤ ∦ ∦ ⨔ ⊀ ⋠ ⊀ ⇏", "&nmid; &npar; &npar; &npolint; &npr; &nprcue; &npr; &nrArr;"),
    ("↛ ⇏ ↛ ⋫ ⋭ ⊁ ⋡ 𝒩", "&nrarr; &nrArr; &nrarr; &nrtri; &nrtrie; &nsc; &nsccue; &Nscr;"),
    ("𝓃 ∤ ∦ ≁ ≄ ≄ ∤ ∦", "&nscr; &nmid; &npar; &nsim; &nsime; &nsime; &nmid; &npar;"),
    ("⋢ ⋣ ⊄ ⊈ ⊈ ⊁ ⊅ ⊉", "&nsqsube; &nsqsupe; &nsub; &nsube; &nsube; &nsc; &nsup; &nsupe;"),
    ("⊉ ≹ Ñ ñ Ñ ñ ≸ ⋪", "&nsupe; &ntgl; &Ntilde; &ntilde; &Ntilde; &ntilde; &ntlg; &nltri;"),
    ("⋬ ⋫ ⋭ Ν ν # №", "&nltrie; &nrtri; &nrtrie; &Nu; &nu; # &numero;"),
    ("\u2007 ⊯ ⊮ ⊭ ⊬ ⤄ ⧞ ⤂", "&numsp; &nVDash; &nVdash; &nvDash; &nvdash; &nvHarr; &nvinfin; &nvlArr;"),
    ("⤃ ⤣ ⇖ ↖ ↖ ⤧ Ó ó", "&nvrArr; &nwarhk; &nwArr; &nwarr; &nwarr; &nwnear; &Oacute; &oacute;"),
    ("Ó ó ⊛ ⊚ Ô ô Ô ô О о", "&Oacute; &oacute; &oast; &ocir; &Ocirc; &ocirc; &Ocirc; &ocirc; О о"),
    ("⊝ Ő ő ⨸ ⊙ ⦼ Œ œ ⦿ 𝔒", "&odash; &Odblac; &odblac; &odiv; &odot; &odsold; Œ œ &ofcir; &Ofr;"),
    ("𝔬 ˛ Ò ò Ò ò ⧁ ⦵ Ω ∮", "&ofr; &ogon; &Ograve; &ograve; &Ograve; &ograve; &ogt; &ohbar; &ohm; &oint;"),
    ("↺ ⦾ ⦻ ‾ ⧀ Ō ō Ω ω", "&olarr; &olcir; &olcross; &oline; &olt; &Omacr; &omacr; &ohm; &omega;"),
    ("Ο ο ⦶ ⊖ 𝕆 𝕠 ⦷", "&Omicron; &omicron; &omid; &ominus; &Oopf; &oopf; &opar;"),
    ("“ ‘ ⦹ ⊕ ⩔ ∨ ↻", "&ldquo; &lsquo; &operp; &oplus; &Or; &or; &orarr;"),
    ("⩝ ℴ ℴ ª ª º º ⊶ ⩖ ⩗", "&ord; &oscr; &oscr; &ordf; &ordf; &ordm; &ordm; &origof; &oror; &orslope;"),
    ("⩛ Ⓢ 𝒪 ℴ Ø ø Ø ø ⊘ Õ", "&orv; &oS; &Oscr; &oscr; &Oslash; &oslash; &Oslash; &oslash; &osol; &Otilde;"),
    ("õ Õ õ ⨷ ⊗ ⨶ Ö ö Ö", "&otilde; &Otilde; &otilde; &Otimes; &otimes; &otimesas; &Ouml; &ouml; &Ouml;"),
    ("ö ⌽ ‾ ⏞ ⎴ ⏜ ∥", "&ouml; &ovbar; &oline; &OverBrace; &tbrk; &OverParenthesis; &par;"),
    ("¶ ¶ ∥ ⫳ ⫽ ∂ ∂ П п", "&para; &para; &par; &parsim; &parsl; &part; &part; П п"),
    ("% . ‰ ⊥ ‱ 𝔓 𝔭 Φ φ ϕ", "% . &permil; &bot; &pertenk; &Pfr; &pfr; &Phi; &phi; &phiv;"),
    ("ℳ ☎ Π π ⋔ ϖ ℏ ℎ ℏ", "&Mscr; &phone; &Pi; &pi; &fork; &piv; &hbar; &planckh; &hbar;"),
    ("+ ⨣ ⊞ ⨢ ∔ ⨥ ⩲ ±", "&plus; &plusacir; &plusb; &pluscir; &plusdo; &plusdu; &pluse; &pm;"),
    ("± ⨦ ⨧ ± ℌ ⨕ ℙ", "&pm; &plussim; &plustwo; &pm; &Hfr; &pointint; &Popf;"),
    ("𝕡 £ ⪻ ≺ ⪷ ≼ ⪳ ⪯ ≺", "&popf; &pound; &Pr; &pr; &prap; &prcue; &prE; &pre; &pr;"),
    ("⪷ ≼ ≺ ⪯ ≼ ∋ ⇋ ⥯ ⥽ ⌋", "&prap; &prcue; &pr; &pre; &prcue; &ni; &lrhar; &duhar; &rfisht; &rfloor;"),
    ("≾ ⪯ ⪹ ⪵ ⋨ ≾ ″", "&prsim; &pre; &prnap; &prnE; &prnsim; &prsim; &Prime;"),
    ("′ ℙ ⪹ ⪵ ⋨ ∏ ∏ ⌮", "&prime; &Popf; &prnap; &prnE; &prnsim; &prod; &prod; &profalar;"),
    ("⌒ ⌓ ∝ ∷ ∝ ∝ ≾", "&profline; &profsurf; &prop; &Colon; &prop; &prop; &prsim;"),
    ("⊰ 𝒫 𝓅 Ψ ψ \u2008 𝔔 𝔮 ⨌ ℚ 𝕢", "&prurel; &Pscr; &pscr; &Psi; &psi; &puncsp; &Qfr; &qfr; &qint; &Qopf; &qopf;"),
    ("⁗ 𝒬 𝓆 ℍ ⨖ ? ≟ \" \"", "&qprime; &Qscr; &qscr; &Hopf; &quatint; ? &equest; &quot; &quot;"),
    ("⇛ Ŕ ŕ √ ⦳ ⟫ ⟩", "&rAarr; &Racute; &racute; &Sqrt; &raemptyv; &Rang; &rang;"),
    ("⦒ ⦥ ⟩ » » ↠ ⇒ → ⥵ ⇥", "&rangd; &range; &rang; &raquo; &raquo; &Rarr; &rArr; &rarr; &rarrap; &rarrb;"),
    ("⤠ ⤳ ⤞ ↪ ↬ ⥅ ⥴ ⤖", "&rarrbfs; &rarrc; &rarrfs; &rarrhk; &rarrlp; &rarrpl; &rarrsim; &Rarrtl;"),
    ("↣ ↝ ⤜ ⤚ ∶ ℚ ⤐ ⤏ ⤍", "&rarrtl; &rarrw; &rAtail; &ratail; &ratio; &Qopf; &RBarr; &rBarr; &rbarr;"),
    ("❳ } ] ⦌ ⦎ ⦐ Ř ř", "&rbbrk; } ] &rbrke; &rbrksld; &rbrkslu; &Rcaron; &rcaron;"),
    ("Ŗ ŗ ⌉ } Р р ⤷ ⥩ ” ”", "&Rcedil; &rcedil; &rceil; } Р р &rdca; &rdldhar; &rdquo; &rdquo;"),
    ("↳ ℜ ℜ ℛ ℜ ℝ ▭ ®", "&rdsh; &Re; &Re; &Rscr; &Re; &Ropf; &rect; &reg;"),
    ("ℜ 𝔯 ⥤ ⇁ ⇀ ⥬ Ρ ρ ϱ", "&Re; &rfr; &rHar; &rhard; &rharu; &rharul; &Rho; &rho; &rhov;"),
    ("⟩ → ⇒ → ⇥ ⇄ ↣ ⌉ ⟧", "&rang; &rarr; &rArr; &rarr; &rarrb; &rlarr; &rarrtl; &rceil; &robrk;"),
    ("⥝ ⇂ ⥕ ⌋", "&RightDownTeeVector; &dharr; &RightDownVectorBar; &rfloor;"),
    ("⇁ ⇀ ⇄ ⇌ ⇉ ↝ ⊢ ↦", "&rhard; &rharu; &rlarr; &rlhar; &rrarr; &rarrw; &vdash; &map;"),
    ("⥛ ⋌ ⊳ ⧐", "&RightTeeVector; &rthree; &vrtri; &RightTriangleBar;"),
    ("⊵ ⥏ ⥜ ↾", "&rtrie; &RightUpDownVector; &RightUpTeeVector; &uharr;"),
    ("⥔ ⇀ ⥓ ˚ ≓", "&RightUpVectorBar; &rharu; &RightVectorBar; &ring; &erDot;"),
    ("⇄ ⇌ \u200F ⎱ ⎱ ⫮ ⟭ ⇾ ⟧", "&rlarr; &rlhar; &rlm; &rmoust; &rmoust; &rnmid; &roang; &roarr; &robrk;"),
    ("⦆ ℝ 𝕣 ⨮ ⨵ ⥰ ) ⦔", "&ropar; &Ropf; &ropf; &roplus; &rotimes; &RoundImplies; ) &rpargt;"),
    ("⨒ ⇉ ⇛ › ℛ 𝓇 ↱ ↱ ]", "&rppolint; &rrarr; &rAarr; &rsaquo; &Rscr; &rscr; &rsh; &rsh; ]"),
    ("’ ’ ⋌ ⋊ ▹ ⊵ ▸ ⧎", "&rsquo; &rsquo; &rthree; &rtimes; &rtri; &rtrie; &rtrif; &rtriltri;"),
    ("⧴ ⥨ ℞ Ś ś ‚ ⪼ ≻ ⪸", "&RuleDelayed; &ruluhar; &rx; &Sacute; &sacute; &sbquo; &Sc; &sc; &scap;"),
    ("Š š ≽ ⪴ ⪰ Ş ş Ŝ ŝ", "&Scaron; &scaron; &sccue; &scE; &sce; &Scedil; &scedil; &Scirc; &scirc;"),
    ("⪺ ⪶ ⋩ ⨓ ≿ С с ⋅ ⊡ ⩦", "&scnap; &scnE; &scnsim; &scpolint; &scsim; С с &sdot; &sdotb; &sdote;"),
    ("⤥ ⇘ ↘ ↘ § § ; ⤩ ∖", "&searhk; &seArr; &searr; &searr; &sect; &sect; ; &tosa; &setmn;"),
    ("∖ ✶ 𝔖 𝔰 ⌢ ♯ Щ щ Ш ш", "&setmn; &sext; &Sfr; &sfr; &frown; &sharp; Щ щ Ш ш"),
    ("↓ ← ∣ ∥ →", "&darr; &larr; &mid; &par; &rarr;"),
    ("↑ \u00AD Σ σ ς ς ∼ ⩪", "&uarr; &shy; &Sigma; &sigma; &sigmaf; &sigmaf; &sim; &simdot;"),
    ("≃ ≃ ⪞ ⪠ ⪝ ⪟ ≆ ⨤ ⥲", "&sime; &sime; &simg; &simgE; &siml; &simlE; &simne; &simplus; &simrarr;"),
    ("← ∘ ∖ ⨳ ⧤ ∣ ⌣ ⪪", "&larr; &compfn; &setmn; &smashp; &smeparsl; &mid; &smile; &smt;"),
    ("⪬ Ь ь / ⧄ ⌿ 𝕊 𝕤 ♠", "&smte; Ь ь / &solb; &solbar; &Sopf; &sopf; &spades;"),
    ("♠ ∥ ⊓ ⊔ √ ⊏ ⊑ ⊏", "&spades; &par; &sqcap; &sqcup; &Sqrt; &sqsub; &sqsube; &sqsub;"),
    ("⊑ ⊐ ⊒ ⊐ ⊒ □ ⊓ ⊏ ⊑ ⊐", "&sqsube; &sqsup; &sqsupe; &sqsup; &sqsupe; &squ; &sqcap; &sqsub; &sqsube; &sqsup;"),
    ("⊒ ⊔ ▪ → 𝒮 𝓈", "&sqsupe; &sqcup; &squf; &rarr; &Sscr; &sscr;"),
    ("∖ ⌣ ⋆ ☆ ★ ϵ", "&setmn; &smile; &Star; &star; &starf; &epsiv;"),
    ("ϕ ¯ ⋐ ⊂ ⪽ ⫅ ⊆ ⫃ ⫁", "&phiv; &macr; &Sub; &sub; &subdot; &subE; &sube; &subedot; &submult;"),
    ("⫋ ⊊ ⪿ ⥹ ⋐ ⊂ ⊆ ⫅", "&subnE; &subne; &subplus; &subrarr; &Sub; &sub; &sube; &subE;"),
    ("⊆ ⊊ ⫋ ⫇ ⫕ ⫓ ≻", "&sube; &subne; &subnE; &subsim; &subsub; &subsup; &sc;"),
    ("⪸ ≽ ⪰ ≽ ≿ ⪰ ⪺ ⪶ ⋩", "&scap; &sccue; &sce; &sccue; &scsim; &sce; &scnap; &scnE; &scnsim;"),
    ("∋ ∑ ♪ ¹ ¹ ² ² ³ ³ ⋑", "&ni; &sum; &sung; &sup1; &sup1; &sup2; &sup2; &sup3; &sup3; &Sup;"),
    ("⊃ ⪾ ⫘ ⫆ ⊇ ⫄ ⊃ ⊇", "&sup; &supdot; &supdsub; &supE; &supe; &supedot; &sup; &supe;"),
    ("⟉ ⫗ ⥻ ⫂ ⫌ ⊋ ⫀ ⋑", "&suphsol; &suphsub; &suplarr; &supmult; &supnE; &supne; &supplus; &Sup;"),
    ("⊃ ⊇ ⫆ ⊋ ⫌ ⫈ ⫔", "&sup; &supe; &supE; &supne; &supnE; &supsim; &supsub;"),
    ("⫖ ⤦ ⇙ ↙ ↙ ⤪ ß ß \t", "&supsup; &swarhk; &swArr; &swarr; &swarr; &swnwar; &szlig; &szlig; \t"),
    ("⌖ Τ τ ⎴ Ť ť Ţ ţ Т т", "&target; &Tau; &tau; &tbrk; &Tcaron; &tcaron; &Tcedil; &tcedil; Т т"),
    ("⃛ ⌕ 𝔗 𝔱 ∴ Θ θ", "&tdot; &telrec; &Tfr; &tfr; &there4; &Theta; &theta;"),
    ("ϑ ϑ ≈ ∼ \u2009 ≈", "&thetav; &thetav; &ap; &sim; &thinsp; &ap;"),
    ("∼ Þ þ Þ þ ˜ ≃", "&sim; &THORN; &thorn; &THORN; &thorn; &tilde; &sime;"),
    ("≅ ≈ × × ⊠ ⨱ ⨰", "&cong; &ap; &times; &times; &timesb; &timesbar; &timesd;"),
    ("∭ ⤨ ⊤ ⌶ ⫱ 𝕋 𝕥 ⫚ ⤩ ‴", "&tint; &toea; &top; &topbot; &topcir; &Topf; &topf; &topfork; &tosa; &tprime;"),
    ("™ ▵ ▿ ◃ ⊴", "&trade; &utri; &dtri; &ltri; &ltrie;"),
    ("≜ ▹ ⊵ ◬ ≜ ⨺", "&trie; &rtri; &rtrie; &tridot; &trie; &triminus;"),
    ("⃛ ⨹ ⧍ ⨻ ⏢ 𝒯 𝓉 Ц ц", "&tdot; &triplus; &trisb; &tritime; &trpezium; &Tscr; &tscr; Ц ц"),
    ("Ћ ћ Ŧ ŧ ≬ ↞", "&TSHcy; &tshcy; &Tstrok; &tstrok; &twixt; &Larr;"),
    ("↠ Ú ú Ú ú ↟ ⇑ ↑", "&Rarr; &Uacute; &uacute; &Uacute; &uacute; &Uarr; &uArr; &uarr;"),
    ("⥉ Ў ў Ŭ ŭ Û û Û û", "&Uarrocir; &Ubrcy; &ubrcy; &Ubreve; &ubreve; &Ucirc; &ucirc; &Ucirc; &ucirc;"),
    ("У у ⇅ Ű ű ⥮ ⥾ 𝔘 𝔲 Ù", "У у &udarr; &Udblac; &udblac; &udhar; &ufisht; &Ufr; &ufr; &Ugrave;"),
    ("ù Ù ù ⥣ ↿ ↾ ▀ ⌜", "&ugrave; &Ugrave; &ugrave; &uHar; &uharl; &uharr; &uhblk; &ulcorn;"),
    ("⌏ ◸ Ū ū ¨ _ ⏟", "&ulcrop; &ultri; &Umacr; &umacr; &die; _ &UnderBrace;"),
    ("⎵ ⏝ ⋃ ⊎ Ų ų 𝕌", "&bbrk; &UnderParenthesis; &xcup; &uplus; &Uogon; &uogon; &Uopf;"),
    ("𝕦 ↑ ⇑ ↑ ⤒ ⇅", "&uopf; &uarr; &uArr; &uarr; &UpArrowBar; &udarr;"),
    ("↕ ⇕ ↕ ⥮ ↿", "&varr; &vArr; &varr; &udhar; &uharl;"),
    ("↾ ⊎ ↖ ↗ ϒ υ", "&uharr; &uplus; &nwarr; &nearr; &Upsi; &upsi;"),
    ("ϒ Υ υ ⊥ ↥ ⇈ ⌝", "&Upsi; &Upsilon; &upsi; &bot; &mapstoup; &uuarr; &urcorn;"),
    ("⌝ ⌎ Ů ů ◹ 𝒰 𝓊 ⋰ Ũ", "&urcorn; &urcrop; &Uring; &uring; &urtri; &Uscr; &uscr; &utdot; &Utilde;"),
    ("ũ ▵ ▴ ⇈ Ü ü Ü ü ⦧ ⦜", "&utilde; &utri; &utrif; &uuarr; &Uuml; &uuml; &Uuml; &uuml; &uwangle; &vangrt;"),
    ("ϵ ϰ ∅ ϕ ϖ ∝ ⇕", "&epsiv; &kappav; &empty; &phiv; &piv; &prop; &vArr;"),
    ("↕ ϱ ς ϑ ⊲ ⊳", "&varr; &rhov; &sigmaf; &thetav; &vltri; &vrtri;"),
    ("⫫ ⫨ ⫩ В в ⊫ ⊩ ⊨ ⊢ ⫦", "&Vbar; &vBar; &vBarv; В в &VDash; &Vdash; &vDash; &vdash; &Vdashl;"),
    ("⋁ ∨ ⊻ ≚ ⋮ ‖ | ∣ | ❘ ≀", "&Vee; &or; &veebar; &veeeq; &vellip; &Vert; | &mid; | &VerticalSeparator; &wr;"),
    ("\u200A 𝔙 𝔳 ⊲ 𝕍 𝕧 ∝ ⊳ 𝒱", "&hairsp; &Vfr; &vfr; &vltri; &Vopf; &vopf; &prop; &vrtri; &Vscr;"),
    ("𝓋 ⊪ ⦚ Ŵ ŵ ⩟ ⋀ ∧ ≙", "&vscr; &Vvdash; &vzigzag; &Wcirc; &wcirc; &wedbar; &Wedge; &and; &wedgeq;"),
    ("℘ 𝔚 𝔴 𝕎 𝕨 ℘ ≀ ≀ 𝒲 𝓌 ⋂", "&wp; &Wfr; &wfr; &Wopf; &wopf; &wp; &wr; &wr; &Wscr; &wscr; &xcap;"),
    ("◯ ⋃ ▽ 𝔛 𝔵 ⟺ ⟷ Ξ ξ ⟸ ⟵", "&xcirc; &xcup; &xdtri; &Xfr; &xfr; &xhArr; &xharr; &Xi; &xi; &xlArr; &xlarr;"),
    ("⟼ ⋻ ⨀ 𝕏 𝕩 ⨁ ⨂ ⟹ ⟶ 𝒳", "&xmap; &xnis; &xodot; &Xopf; &xopf; &xoplus; &xotime; &xrArr; &xrarr; &Xscr;"),
    ("𝓍 ⨆ ⨄ △ ⋁ ⋀ Ý ý Ý", "&xscr; &xsqcup; &xuplus; &xutri; &Vee; &Wedge; &Yacute; &yacute; &Yacute;"),
    ("ý Я я Ŷ ŷ Ы ы ¥ ¥ 𝔜 𝔶", "&yacute; Я я &Ycirc; &ycirc; Ы ы &yen; &yen; &Yfr; &yfr;"),
    ("Ї ї 𝕐 𝕪 𝒴 𝓎 Ю ю ÿ Ÿ ÿ", "&YIcy; &yicy; &Yopf; &yopf; &Yscr; &yscr; Ю ю &yuml; &Yuml; &yuml;"),
    ("Ź ź Ž ž З з Ż ż ℨ", "&Zacute; &zacute; &Zcaron; &zcaron; З з &Zdot; &zdot; &Zfr;"),
    ("\u200b Ζ ζ ℨ 𝔷 Ж ж ⇝ ℤ", "&ZeroWidthSpace; &Zeta; &zeta; &Zfr; &zfr; Ж ж &zigrarr; &Zopf;"),
]

@pytest.mark.parametrize("unicode_string, mnemonic_string", STRINGS_FOR_ENCODE)
def test_utf_to_html_mnemo(unicode_string, mnemonic_string):
    """
    Проверяет ПОВЕДЕНИЕ: кодирование Unicode-строк в HTML-мнемоники.
    """
    # Act (действие) - тестируем
    actual_output = codec.encode_from_unicode(unicode_string, mode="mnemonic")
    # Assert (проверка)
    assert actual_output == mnemonic_string


@pytest.mark.parametrize("mnemonic_string, unicode_string", STRINGS_FOR_ENCODE)
def test_html_mnemo_to_utf_back(mnemonic_string, unicode_string):
    """
    Проверяет ОБРАТНОЕ ПОВЕДЕНИЕ: из HTML-мнемоники после encode_from_unicode() в Unicode-строки.
    """
    # Act (действие) - тестируем
    actual_output = codec.decode_to_unicode(unicode_string)
    # Assert (проверка)
    assert actual_output == mnemonic_string