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

This commit is contained in:
2025-08-08 18:16:35 +03:00
parent 679c9770f0
commit a16d4f7416
2 changed files with 507 additions and 146 deletions

View File

@@ -42,9 +42,9 @@ STRINGS_FOR_DECODE = [
("ο ⊕ ∨ ª º ø õ ⊗ ö", "ο ª º ø õ ⊗ ö"),
("¶ ∂ ‰ ⊥ φ π ϖ ± £ ′ ∏", "¶ ∂ ‰ ⊥ φ π ϖ ± £ "),
("∝ ψ " ⇒ √ ⟩ » → ⌉ ”", "∝ ψ \" ⇒ √ ⟩ » → ⌉ ”"),
("ℜ ® ⌋ ρ ‏ › ’ ‚ š", " ® ⌋ ρ \u200f š"),
("⋅ § ­ σ ς ∼ ♠ ⊂ ⊆ ∑", "⋅ § \u00AD σ ς ♠ ⊂ ⊆ ∑"),
("⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ", "⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ"),
("ℜ ® ⌋ ρ ‏ › ’ ‚ š", " ® ⌋ ρ \u200f š"),
("⋅ § ­ σ ς ∼ ♠ ⊂ ⊆ ∑", "⋅ § \u00AD σ ς ♠ ⊂ ⊆ ∑"),
("⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ", "⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ"),
("  þ ˜ × ™ ⇑ ú ↑ û", "\u2009 þ ˜ × ™ ⇑ ú ↑ û"),
("ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ", "ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ"),
("ζ ‍ ‌ + = %", "ζ \u200D \u200C + = %"),
@@ -79,7 +79,7 @@ STRINGS_FOR_DECODE = [
("Χ χ ○ ˆ ≗ ↺ ↻", "Χ χ ○ ˆ ≗ ↺ ↻"),
("⊛ ⊚ ⊝ ⊙ ® Ⓢ", "⊛ ⊚ ⊝ ⊙ ® Ⓢ"),
("⊖ ⊕ ⊗ ⧃ ≗ ⨐ ⫯", "⊖ ⊕ ⊗ ⧃ ≗ ⨐ ⫯"),
("⧂ ∲ ” ’", "⧂ ∲ ” "),
("⧂ ∲ ” ’", "⧂ ∲ ” "),
("♣ ♣ ∷ : ⩴ ≔ ≔ , @", "♣ ♣ ∷ : ⩴ ≔ ≔ , @"),
("∁ ∘ ∁ ℂ ≅ ⩭ ≡", "∁ ∘ ∁ ≅ ⩭ ≡"),
("∯ ∮ ∮ ℂ 𝕔 ∐ ∐", "∯ ∮ ∮ 𝕔 ∐ ∐"),
@@ -234,7 +234,7 @@ STRINGS_FOR_DECODE = [
("⨷ ⊗ ⨶ Ö ö Ö ö ⌽ ‾", "⨷ ⊗ ⨶ Ö ö Ö ö ⌽ ‾"),
("⏞ ⎴ ⏜ ∥ ¶ ¶ ∥", "⏞ ⎴ ⏜ ∥ ¶ ¶ ∥"),
("⫳ ⫽ ∂ ∂ П п % . ‰", "⫳ ⫽ ∂ ∂ П п % . ‰"),
("⊥ ‱ 𝔓 𝔭 Φ φ ϕ ℳ ☎ Π π", "⊥ ‱ 𝔓 𝔭 Φ φ ϕ ☎ Π π"),
("⊥ ‱ 𝔓 𝔭 Φ φ ϕ ℳ ☎ Π π", "⊥ ‱ 𝔓 𝔭 Φ φ ϕ ☎ Π π"),
("⋔ ϖ ℏ ℎ ℏ + ⨣ ⊞", "⋔ ϖ ℏ ℏ + ⨣ ⊞"),
("⨢ ∔ ⨥ ⩲ ± ± ± ⨦", "⨢ ∔ ⨥ ⩲ ± ± ± ⨦"),
("⨧ ± ℌ ⨕ ℙ 𝕡 £ £ ⪻", "⨧ ± 𝕡 £ £ ⪻"),
@@ -272,7 +272,7 @@ STRINGS_FOR_DECODE = [
("⤥ ⇘ ↘ ↘ § § ; ⤩ ∖", "⤥ ⇘ ↘ ↘ § § ; ⤩ "),
("∖ ✶ 𝔖 𝔰 ⌢ ♯ Щ щ Ш ш", "𝔖 𝔰 ⌢ ♯ Щ щ Ш ш"),
("↓ ← ∣ ∥ →", "↓ ← ∥ →"),
("↑ ­ Σ σ ς ς ∼ ⩪", "\u00AD Σ σ ς ς "),
("↑ ­ Σ σ ς ς ∼ ⩪", "\u00AD Σ σ ς ς "),
("≃ ≃ ⪞ ⪠ ⪝ ⪟ ≆ ⨤ ⥲", "≃ ≃ ⪞ ⪠ ⪝ ⪟ ≆ ⨤ ⥲"),
("← ∘ ∖ ⨳ ⧤ ∣ ⌣ ⪪", "← ∘ ⨳ ⧤ ⌣ ⪪"),
("⪬ ⪬︀ Ь ь / ⧄ ⌿ 𝕊 𝕤 ♠", "⪬ ⪬︀ Ь ь / ⧄ ⌿ 𝕊 𝕤"),
@@ -315,7 +315,7 @@ STRINGS_FOR_DECODE = [
("𝒰 𝓊 ⋰ Ũ ũ ▵ ▴ ⇈ Ü ü", "𝒰 𝓊 ⋰ Ũ ũ ▵ ▴ ⇈ Ü ü"),
("Ü ü ⦧ ⦜ ϵ ϰ ∅ ϕ", "Ü ü ⦧ ⦜ ϵ ϰ ∅ ϕ"),
("ϖ ∝ ⇕ ↕ ϱ ς ⊊︀", "ϖ ∝ ⇕ ↕ ϱ ς ⊊︀"),
("⫋︀ ⊋︀ ⫌︀ ϑ ⊲", "⫋︀ ⊋︀ ⫌︀ ϑ ⊲"),
("⫋︀ ⊋︀ ⫌︀ ϑ ⊲", "⫋︀ ⊋︀ ⫌︀ ϑ ⊲"),
("⊳ ⫫ ⫨ ⫩ В в ⊫ ⊩ ⊨", "⊳ ⫫ ⫨ ⫩ В в ⊫ ⊩ ⊨"),
("⊢ ⫦ ⋁ ∨ ⊻ ≚ ⋮ ‖ |", "⊢ ⫦ ⊻ ≚ ⋮ ‖ |"),
("‖ | ∣ | ❘ ≀", "‖ | | ❘ ≀"),
@@ -351,7 +351,7 @@ STRINGS_FOR_ENCODE = [
("< > & \"", "&lt; &gt; &amp; &quot;"), # Самый простой набор HTML-мнемоников
("\u00AD", "&shy;"), # Мягкий перенос
("\u00A0\u2002\u2003\u2009\u200D\u200C", "&nbsp;&ensp;&emsp;&thinsp;&zwj;&zwnj;"), # Набор пробелов и невидимых символов
("", "&ndash; &mdash; &hyphen; &horbar;"), # Набор тире и дефисов
("", "&ndash; &mdash; &dash; &horbar;"), # Набор тире и дефисов
("$ ¢ £ ¤ ¥ € ₽", "&dollar; &cent; &pound; &curren; &yen; &euro; &#8381;"), # Валютные символы
("֏ ₽ ₴ ₸ ₹ ₼ ₾", "&#1423; &#8381; &#8372; &#8376; &#8377; &#8380; &#8382;"), # Валютные символы
# Набор из html.entities.name2codepoint
@@ -362,25 +362,25 @@ STRINGS_FOR_ENCODE = [
("Ω Ο Ø Õ Φ Π ″ Ψ Ρ Š", "&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; æ &agrave;"),
("α & ∧ ∠ ' å ≈ ã ä", "&alefsym; &alpha; &amp; &and; &ang; &apos; &aring; &asymp; &atilde; &auml;"),
("α & ∧ ∠ ' å ≈ ã ä", "&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;"),
("ε ≡ η ð ë € ∃ ƒ ∀ ½", "&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;"),
("ε ≡ η ð ë € ∃ ƒ ∀ ½", "&epsi; &equiv; &eta; &eth; &euml; &euro; &exist; &fnof; &forall; &half;"),
("¼ ¾ γ ≥ > ⇔ ↔ ♥ …", "&frac14; &frac34; &frasl; &gamma; &ge; &gt; &iff; &harr; &hearts; &hellip;"),
("í î ¡ ì ∞ ∫ ι ¿ ∈", "&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; &nabla; &nbsp; &ndash; &ne; &ni; &not; &notin;"),
("· μ ∇ \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; &perp; &phi; &pi; &piv; &plusmn; &pound; &prime; &prod;"),
("¶ ∂ ‰ ⊥ φ π ϖ ± £ ", "&para; &part; &permil; &bot; &phi; &pi; &piv; &pm; &pound; &prime; &prod;"),
("∝ ψ \" ⇒ √ ⟩ » → ⌉ ”", "&prop; &psi; &quot; &rArr; &radic; &rang; &raquo; &rarr; &rceil; &rdquo;"),
(" ® ⌋ ρ \u200f š", "&real; &reg; &rfloor; &rho; &rlm; &rsaquo; &rsquo; &sbquo; &scaron;"),
(" ® ⌋ ρ \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; &thetasym;"),
("⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ", "&sup; &sup1; &sup2; &sup3; &supe; &szlig; &tau; &there4; &theta; &thetav;"),
("\u2009 þ ˜ × ™ ⇑ ú ↑ û", "&thinsp; &thorn; &tilde; &times; &trade; &uArr; &uacute; &uarr; &ucirc;"),
("ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ", "&ugrave; &uml; &upsih; &upsilon; &uuml; &weierp; &xi; &yacute; &yen; &yuml;"),
("ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ", "&ugrave; &die; &upsih; &upsilon; &uuml; &weierp; &xi; &yacute; &yen; &yuml;"),
("ζ \u200D \u200C + = %", "&zeta; &zwj; &zwnj; &plus; = %"),
# Набор из html.entities.html5
("Á á Á á Ă ă ∾ ∿ Â", "&Aacute; &aacute; &Aacute; &aacute; &Abreve; &abreve; &ac; &acd; &Acirc;"),
@@ -390,114 +390,114 @@ STRINGS_FOR_ENCODE = [
("⩕ ⩜ ⩘ ⩚ ∠ ⦤ ∠ ∡ ⦨", "&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; &asymp; &apacir; &apE; &ape; &apid; &apos; &af; &asymp;"),
("𝕒 ≈ ⩯ ⩰ ≊ ≋ ' \u2061", "&aopf; &ap; &apacir; &apE; &ape; &apid; &apos; &af; &ap;"),
("≊ Å å Å å 𝒜 𝒶 ≔ *", "&ape; &Aring; &aring; &Aring; &aring; &Ascr; &ascr; &Assign; *"),
("≈ ≍ Ã ã Ã ã Ä ä Ä", "&asymp; &asympeq; &Atilde; &atilde; &Atilde; &atilde; &Auml; &auml; &Auml;"),
("≈ ≍ Ã ã Ã ã Ä ä Ä", "&ap; &CupCap; &Atilde; &atilde; &Atilde; &atilde; &Auml; &auml; &Auml;"),
("ä ∳ ⨑ ≌ ϶ ", "&auml; &awconint; &awint; &bcong; &bepsi; &bprime; &bsim;"),
(" ⫧ ⊽ ⌆ ⌅ ⌅ ⎵", "&bsime; &Backslash; &Barv; &barvee; &Barwed; &barwed; &barwed; &bbrk;"),
(" ⫧ ⊽ ⌆ ⌅ ⌅ ⎵", "&bsime; &setmn; &Barv; &barvee; &Barwed; &barwed; &barwed; &bbrk;"),
("⎶ ≌ Б б „ ∵ ⦰", "&bbrktbrk; &bcong; Б б &bdquo; &becaus; &bemptyv;"),
("϶ Β β ℶ ≬ 𝔅 𝔟", "&bepsi; &Bscr; &Bscr; &Beta; &beta; &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; &bNot; &bnot; &Bopf; &bopf; &perp; &perp; &bowtie; &boxbox; &boxDL;"),
("϶ Β β ℶ ≬ 𝔅 𝔟", "&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; &boxminus; &boxplus;"),
("⊠ ╝ ╜ ╛ ┘ ╚ ╙ ╘ └", "&boxtimes; &boxUL; &boxUl; &boxuL; &boxul; &boxUR; &boxUr; &boxuR; &boxur;"),
("╤ ╥ ┬ ╩ ╧ ╨ ┴ ⊟ ⊞", "&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; &CapitalDifferentialD; &caret;"),
("⩄ ⩉ ⩋ ⩇ ⩀ ", "&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;"),
# ("Ч ч ✓ ✓ Χ χ ○ ˆ", "&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; &ClockwiseContourIntegral;"),
# (" ♣ ♣ ∷ :", "&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; &copy; &COPY; &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;"),
# ("↷ ⤼ ⋞ ⋟ ⋎ ⋏", "&curarr; &curarrm; &curlyeqprec; &curlyeqsucc; &curlyvee; &curlywedge;"),
# ("¤ ¤ ↶ ↷ ⋎ ⋏", "&curren; &curren; &curvearrowleft; &curvearrowright; &cuvee; &cuwed;"),
# ("∲ ∱ ⌭ ‡ † ℸ ↡ ⇓ ↓", "&cwconint; &cwint; &cylcty; &Dagger; &dagger; &daleth; &Darr; &dArr; &darr;"),
# (" ⫤ ⊣ ⤏ ˝ Ď ď Д д ", "&dash; &Dashv; &dashv; &dbkarow; &dblac; &Dcaron; &dcaron; &Dcy; &dcy; &DD;"),
# (" ‡ ⇊ ⤑ ⩷ ° ° ∇ Δ δ", "&dd; &ddagger; &ddarr; &DDotrahd; &ddotseq; &deg; &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; &divide; &divideontimes;"),
# ("⋇ Ђ ђ ⌞ ⌍ $ 𝔻 𝕕 ¨ ˙", "&divonx; &DJcy; &djcy; &dlcorn; &dlcrop; &dollar; &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; &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;"),
# (" ≒ Ф ф ♀ ffi ff ffl", "&exponentiale; &fallingdotseq; &Fcy; &fcy; &female; &ffilig; &fflig; &ffllig;"),
# ("𝔉 𝔣 fi ◼ ▪ ♭ fl", "&Ffr; &ffr; &filig; &FilledSmallSquare; &FilledVerySmallSquare; &flat; &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; &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; &Hacek; &hairsp; &half; &hamilt;"),
# ("Ъ ъ ⇔ ↔ ⥈ ↭ ^ ℏ Ĥ ĥ", "&HARDcy; &hardcy; &hArr; &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; &icirc; &Icirc; &icirc; &Icy; &icy; &Idot; &IEcy; &iecy;"),
# ("¡ ¡ ⇔ 𝔦 Ì ì Ì ì ", "&iexcl; &iexcl; &iff; &Ifr; &ifr; &Igrave; &igrave; &Igrave; &igrave; &ii;"),
# ("⨌ ∭ ⧜ ℩ IJ ij Ī ī ", "&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; &iogon; &Iopf; &iopf; &Iota; &iota;"),
# ("⨼ ¿ ¿ 𝒾 ∈ ⋵ ⋹ ⋴", "&iprod; &iquest; &iquest; &Iscr; &iscr; &isin; &isindot; &isinE; &isins;"),
# ("⋳ ∈ Ĩ ĩ І і Ï ï Ï", "&isinsv; &isinv; &it; &Itilde; &itilde; &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; &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;"),
("Ч ч ✓ ✓ Χ χ ○ ˆ", "Ч ч &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;"),
(" ≒ Ф ф ♀ ffi ff ffl", "&ee; &efDot; Ф ф &female; &ffilig; &fflig; &ffllig;"),
("𝔉 𝔣 fi ◼ ▪ ♭ fl", "&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;"),
("≧ ⪢ ≷ ⩾", "&gE; &GreaterGreater; &gl; &ges;"),
("𝒢 ≳ ⪎ ⪐ > > ≫ >", "&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; &hellip; &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;"),
("⨌ ∭ ⧜ ℩ IJ ij Ī ī ", "&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;"),
# ("↔ ⇔ ↔ ⇆", "&LeftRightArrow; &Leftrightarrow; &leftrightarrow; &leftrightarrows;"),
# ("⇋ ↭ ⥎ ⊣", "&leftrightharpoons; &leftrightsquigarrow; &LeftRightVector; &LeftTee;"),
# ("↤ ⥚ ⋋ ⊲", "&LeftTeeArrow; &LeftTeeVector; &leftthreetimes; &LeftTriangle;"),
@@ -665,4 +665,15 @@ def test_utf_to_html_mnemo(input_string, expected_output):
# Act (действие) - тестируем
actual_output = codec.encode_from_unicode(input_string, mode="mnemonic")
# Assert (проверка)
assert actual_output == expected_output
@pytest.mark.parametrize("expected_output, input_string", STRINGS_FOR_ENCODE)
def test_html_mnemo_to_utf_back(expected_output, input_string):
"""
Проверяет ОБРАТНОЕ ПОВЕДЕНИЕ: из HTML-мнемоники после encode_from_unicode() в Unicode-строки.
"""
# Act (действие) - тестируем
actual_output = codec.decode_to_unicode(input_string)
# Assert (проверка)
assert actual_output == expected_output