# 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!"), # Строка ("Привет типограф!", "Привет типограф!"), # Строка русского текста ("< > & "", "< > & \""), # Самый простой набор HTML-мнемоников ("­", "\u00AD"), # Мягкий перенос ("    ‍‌", "\u00A0\u2002\u2003\u2009\u200D\u200C"), # Набор пробелов и невидимых символов ("– — ‐ ―", "– — ‐ ―"), # Набор тире и дефисов ("$ ¢ £ ¤ ¥ €", "$ ¢ £ ¤ ¥ €"), # Валютные символы ("֏ ₽ ₴ ₸ ₹ ₼ ₾", "֏ ₽ ₴ ₸ ₹ ₼ ₾"), # Валютные символы # Набор из html.entities.name2codepoint ("Æ Á  À Α Å Ã Ä Ä", "Æ Á  À Α Å Ã Ä Ä"), ("Β Ç Χ ‡ Δ Ð É Ê È", "Β Ç Χ ‡ Δ Ð É Ê È"), ("Ε Η Ë Γ Í Î Ì Ι Ï", "Ε Η Ë Γ Í Î Ì Ι Ï"), ("Κ Λ Μ Ñ Ν Œ Ó Ô Ò Ö", "Κ Λ Μ Ñ Ν Œ Ó Ô Ò Ö"), ("Ω Ο Ø Õ Φ Π ″ Ψ Ρ Š", "Ω Ο Ø Õ Φ Π ″ Ψ Ρ Š"), ("Σ Þ Τ Θ Ú Û Ù Υ Ü", "Σ Þ Τ Θ Ú Û Ù Υ Ü"), ("Ξ Ý Ÿ Ζ á â ´ æ à", "Ξ Ý Ÿ Ζ á â ´ æ à"), ("ℵ α & ∧ ∠ ' å ≈ ã ä", "ℵ α & ∧ ∠ ' å ≈ ã ä"), ("„ β ¦ • ∩ ç ¸ ¢ χ ˆ", "„ β ¦ • ∩ ç ¸ ¢ χ ˆ"), ("♣ ≅ © ↵ ∪ ¤ ⇓ † ↓ °", "♣ ≅ © ↵ ∪ ¤ ⇓ † ↓ °"), ("δ ♦ ÷ é ê è ∅    ", "δ ♦ ÷ é ê è ∅ \u2003 \u2002"), ("ε ≡ η ð ë € ∃ ƒ ∀ ½", "ε ≡ η ð ë € ∃ ƒ ∀ ½"), ("¼ ¾ ⁄ γ ≥ > ⇔ ↔ ♥ …", "¼ ¾ ⁄ γ ≥ > ⇔ ↔ ♥ …"), ("í î ¡ ì ℑ ∞ ∫ ι ¿ ∈", "í î ¡ ì ℑ ∞ ∫ ι ¿ ∈"), ("ï κ ⇐ λ ⟨ « ← ⌈ “ ≤", "ï κ ⇐ λ ⟨ « ← ⌈ “ ≤"), ("⌊ ∗ ◊ ‎ ‹ ‘ < ¯ — µ", "⌊ ∗ ◊ \u200e ‹ ‘ < ¯ — µ"), ("· − μ ∇   – ≠ ∋ ¬ ∉", "· − μ ∇ \u00A0 – ≠ ∋ ¬ ∉"), ("⊄ ñ ν ó ô œ ò ‾ ω", "⊄ ñ ν ó ô œ ò ‾ ω"), ("ο ⊕ ∨ ª º ø õ ⊗ ö", "ο ⊕ ∨ ª º ø õ ⊗ ö"), ("¶ ∂ ‰ ⊥ φ π ϖ ± £ ′ ∏", "¶ ∂ ‰ ⊥ φ π ϖ ± £ ′ ∏"), ("∝ ψ " ⇒ √ ⟩ » → ⌉ ”", "∝ ψ \" ⇒ √ ⟩ » → ⌉ ”"), ("ℜ ® ⌋ ρ ‏ › ’ ‚ š", "ℜ ® ⌋ ρ \u200f › ’ ‚ š"), ("⋅ § ­ σ ς ∼ ♠ ⊂ ⊆ ∑", "⋅ § \u00AD σ ς ∼ ♠ ⊂ ⊆ ∑"), ("⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ", "⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ"), ("  þ ˜ × ™ ⇑ ú ↑ û", "\u2009 þ ˜ × ™ ⇑ ú ↑ û"), ("ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ", "ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ"), ("ζ ‍ ‌ + = %", "ζ \u200D \u200C + = %"), # Набор из html.entities.html5 (только новые html-мнемоники) ("Ă ă ∾ ∿ ∾̳ ´ А а ⁡ 𝔄 𝔞", "Ă ă ∾ ∿ ∾̳ ´ А а \u2061 𝔄 𝔞"), ("ℵ Ā ā ⨿ & ⩓ ⩕ ⩜ ⩘", "ℵ Ā ā ⨿ & ⩓ ⩕ ⩜ ⩘"), ("⩚ ∠ ⦤ ∠ ∡ ⦨ ⦩ ⦪", "⩚ ∠ ⦤ ∠ ∡ ⦨ ⦩ ⦪"), ("⦫ ⦬ ⦭ ⦮ ⦯ ∟ ⊾", "⦫ ⦬ ⦭ ⦮ ⦯ ∟ ⊾"), ("⦝ ∢ Å ⍼ Ą ą 𝔸 𝕒 ≈", "⦝ ∢ Å ⍼ Ą ą 𝔸 𝕒 ≈"), ("⩯ ⩰ ≊ ≋ ' ⁡ ≈ ≊", "⩯ ⩰ ≊ ≋ ' \u2061 ≈ ≊"), ("𝒜 𝒶 ≔ * ≍ ∳ ⨑ ≌", "𝒜 𝒶 ≔ * ≍ ∳ ⨑ ≌"), ("϶ ‵ ∽ ⋍ ∖ ⫧ ⊽", "϶ ‵ ∽ ⋍ ∖ ⫧ ⊽"), ("⌆ ⌅ ⌅ ⎵ ⎶ ≌ Б б „", "⌆ ⌅ ⌅ ⎵ ⎶ ≌ Б б „"), ("∵ ∵ ∵ ⦰ ϶ ℬ ℬ ℶ", "∵ ∵ ∵ ⦰ ϶ ℬ ℬ ℶ"), ("≬ 𝔅 𝔟 ⋂ ◯ ⋃ ⨀ ⨁", "≬ 𝔅 𝔟 ⋂ ◯ ⋃ ⨀ ⨁"), ("⨂ ⨆ ★ ▽ △ ⨄", "⨂ ⨆ ★ ▽ △ ⨄"), ("⋁ ⋀ ⤍ ⧫ ▪ ▴", "⋁ ⋀ ⤍ ⧫ ▪ ▴"), ("▾ ◂ ▸ ␣ ▒", "▾ ◂ ▸ ␣ ▒"), ("░ ▓ █ =⃥ ≡⃥ ⫭ ⌐ 𝔹 𝕓 ⊥", "░ ▓ █ =⃥ ≡⃥ ⫭ ⌐ 𝔹 𝕓 ⊥"), ("⊥ ⋈ ⧉ ╗ ╖ ╕ ┐ ╔", "⊥ ⋈ ⧉ ╗ ╖ ╕ ┐ ╔"), ("╓ ╒ ┌ ═ ─ ╦ ╤ ╥ ┬", "╓ ╒ ┌ ═ ─ ╦ ╤ ╥ ┬"), ("╩ ╧ ╨ ┴ ⊟ ⊞ ⊠", "╩ ╧ ╨ ┴ ⊟ ⊞ ⊠"), ("╝ ╜ ╛ ┘ ╚ ╙ ╘ └ ║ │", "╝ ╜ ╛ ┘ ╚ ╙ ╘ └ ║ │"), ("╬ ╫ ╪ ┼ ╣ ╢ ╡ ┤ ╠", "╬ ╫ ╪ ┼ ╣ ╢ ╡ ┤ ╠"), ("╟ ╞ ├ ‵ ˘ ˘ ¦ ℬ 𝒷", "╟ ╞ ├ ‵ ˘ ˘ ¦ ℬ 𝒷"), ("⁏ ∽ ⋍ \ ⧅ ⟈ • • ≎", "⁏ ∽ ⋍ \\ ⧅ ⟈ • • ≎"), ("⪮ ≏ ≎ ≏ Ć ć ⋒ ∩ ⩄", "⪮ ≏ ≎ ≏ Ć ć ⋒ ∩ ⩄"), ("⩉ ⩋ ⩇ ⩀ ⅅ ∩︀ ⁁", "⩉ ⩋ ⩇ ⩀ ⅅ ∩︀ ⁁"), ("ˇ ℭ ⩍ Č č Ç ĉ ∰", "ˇ ℭ ⩍ Č č Ç ĉ ∰"), ("⩌ ⩐ Ċ ċ ¸ ¸ ⦲ ¢", "⩌ ⩐ Ċ ċ ¸ ¸ ⦲ ¢"), ("· · ℭ 𝔠 Ч ч ✓ ✓", "· · ℭ 𝔠 Ч ч ✓ ✓"), ("Χ χ ○ ˆ ≗ ↺ ↻", "Χ χ ○ ˆ ≗ ↺ ↻"), ("⊛ ⊚ ⊝ ⊙ ® Ⓢ", "⊛ ⊚ ⊝ ⊙ ® Ⓢ"), ("⊖ ⊕ ⊗ ⧃ ≗ ⨐ ⫯", "⊖ ⊕ ⊗ ⧃ ≗ ⨐ ⫯"), ("⧂ ∲ ” ’", "⧂ ∲ ” ’"), ("♣ ♣ ∷ : ⩴ ≔ ≔ , @", "♣ ♣ ∷ : ⩴ ≔ ≔ , @"), ("∁ ∘ ∁ ℂ ≅ ⩭ ≡", "∁ ∘ ∁ ℂ ≅ ⩭ ≡"), ("∯ ∮ ∮ ℂ 𝕔 ∐ ∐", "∯ ∮ ∮ ℂ 𝕔 ∐ ∐"), ("© ℗ ∳ ↵ ⨯ ✗", "© ℗ ∳ ↵ ⨯ ✗"), ("𝒞 𝒸 ⫏ ⫑ ⫐ ⫒ ⋯ ⤸ ⤵", "𝒞 𝒸 ⫏ ⫑ ⫐ ⫒ ⋯ ⤸ ⤵"), ("⋞ ⋟ ↶ ⤽ ⋓ ∪ ⩈ ≍ ⩆", "⋞ ⋟ ↶ ⤽ ⋓ ∪ ⩈ ≍ ⩆"), ("⩊ ⊍ ⩅ ∪︀ ↷ ⤼ ⋞ ⋟", "⩊ ⊍ ⩅ ∪\ufe00 ↷ ⤼ ⋞ ⋟"), ("⋎ ⋏ ¤ ↶ ↷ ⋎", "⋎ ⋏ ¤ ↶ ↷ ⋎"), ("⋏ ∲ ∱ ⌭ ℸ ↡ ⇓ ↓ ‐", "⋏ ∲ ∱ ⌭ ℸ ↡ ⇓ ↓ ‐"), ("⫤ ⊣ ⤏ ˝ Ď ď Д д ⅅ ⅆ", "⫤ ⊣ ⤏ ˝ Ď ď Д д ⅅ ⅆ"), ("‡ ⇊ ⤑ ⩷ ° ∇ Δ δ", "‡ ⇊ ⤑ ⩷ ° ∇ Δ δ"), ("⦱ ⥿ 𝔇 𝔡 ⥥ ⇃ ⇂ ´", "⦱ ⥿ 𝔇 𝔡 ⥥ ⇃ ⇂ ´"), ("˙ ˝ ` ˜", "˙ ˝ ` ˜"), ("⋄ ⋄ ⋄ ♦ ♦ ¨ ⅆ", "⋄ ⋄ ⋄ ♦ ♦ ¨ ⅆ"), ("ϝ ⋲ ÷ ÷ ⋇ ⋇ Ђ ђ", "ϝ ⋲ ÷ ÷ ⋇ ⋇ Ђ ђ"), ("⌞ ⌍ 𝔻 𝕕 ¨ ˙ ⃜ ≐ ≑", "⌞ ⌍ 𝔻 𝕕 ¨ ˙ ⃜ ≐ ≑"), ("≐ ∸ ∔ ⊡ ⌆", "≐ ∸ ∔ ⊡ ⌆"), ("∯ ¨ ⇓ ⇐", "∯ ¨ ⇓ ⇐"), ("⇔ ⫤ ⟸", "⇔ ⫤ ⟸"), ("⟺ ⟹ ⇒", "⟺ ⟹ ⇒"), ("⊨ ⇑ ⇕ ∥", "⊨ ⇑ ⇕ ∥"), ("↓ ⇓ ↓ ⤓ ⇵", "↓ ⇓ ↓ ⤓ ⇵"), ("̑ ⇊ ⇃ ⇂", "̑ ⇊ ⇃ ⇂"), ("⥐ ⥞ ↽ ⥖", "⥐ ⥞ ↽ ⥖"), ("⥟ ⇁ ⥗ ⊤", "⥟ ⇁ ⥗ ⊤"), ("↧ ⤐ ⌟ ⌌ 𝒟 𝒹 Ѕ ѕ ⧶", "↧ ⤐ ⌟ ⌌ 𝒟 𝒹 Ѕ ѕ ⧶"), ("Đ đ ⋱ ▿ ▾ ⇵ ⥯ ⦦ Џ", "Đ đ ⋱ ▿ ▾ ⇵ ⥯ ⦦ Џ"), ("џ ⟿ É é É é ⩮ Ě", "џ ⟿ É é É é ⩮ Ě"), ("ě ≖ Ê ê Ê ê ≕ Э э ⩷", "ě ≖ Ê ê Ê ê ≕ Э э ⩷"), ("Ė ≑ ė ⅇ ≒ 𝔈 𝔢 ⪚ È è È", "Ė ≑ ė ⅇ ≒ 𝔈 𝔢 ⪚ È è È"), ("è ⪖ ⪘ ⪙ ∈ ⏧ ℓ ⪕ ⪗ Ē", "è ⪖ ⪘ ⪙ ∈ ⏧ ℓ ⪕ ⪗ Ē"), ("ē ∅ ∅ ◻ ∅ ▫", "ē ∅ ∅ ◻ ∅ ▫"), ("      Ŋ ŋ   Ę ę 𝔼", "\u2004 \u2005 \u2003 Ŋ ŋ \u2002 Ę ę 𝔼"), ("𝕖 ⋕ ⧣ ⩱ ε Ε ε ϵ ≖ ≕", "𝕖 ⋕ ⧣ ⩱ ε Ε ε ϵ ≖ ≕"), ("≂ ⪖ ⪕ ⩵ = ≂ ≟", "≂ ⪖ ⪕ ⩵ = ≂ ≟"), ("⇌ ≡ ⩸ ⧥ ⥱ ≓ ℰ ℯ", "⇌ ≡ ⩸ ⧥ ⥱ ≓ ℰ ℯ"), ("≐ ⩳ ≂ Η η Ð ð Ð ð Ë ë Ë", "≐ ⩳ ≂ Η η Ð ð Ð ð Ë ë Ë"), ("ë € ! ∃ ∃ ℰ ⅇ", "ë € ! ∃ ∃ ℰ ⅇ"), ("ⅇ ≒ Ф ф ♀ ffi ff ffl", "ⅇ ≒ Ф ф ♀ ffi ff ffl"), ("𝔉 𝔣 fi ◼ ▪ fj ♭", "𝔉 𝔣 fi ◼ ▪ fj ♭"), ("fl ▱ ƒ 𝔽 𝕗 ∀ ∀ ⋔ ⫙", "fl ▱ ƒ 𝔽 𝕗 ∀ ∀ ⋔ ⫙"), ("ℱ ⨍ ½ ½ ⅓ ¼ ¼ ⅕", "ℱ ⨍ ½ ½ ⅓ ¼ ¼ ⅕"), ("⅙ ⅛ ⅔ ⅖ ¾ ¾ ⅗ ⅜", "⅙ ⅛ ⅔ ⅖ ¾ ¾ ⅗ ⅜"), ("⅘ ⅚ ⅝ ⅞ ⁄ ⌢ ℱ 𝒻 ǵ", "⅘ ⅚ ⅝ ⅞ ⁄ ⌢ ℱ 𝒻 ǵ"), ("Γ γ Ϝ ϝ ⪆ Ğ ğ Ģ Ĝ", "Γ γ Ϝ ϝ ⪆ Ğ ğ Ģ Ĝ"), ("ĝ Г г Ġ ġ ≧ ≥ ⪌ ⋛ ≥ ≧", "ĝ Г г Ġ ġ ≧ ≥ ⪌ ⋛ ≥ ≧"), ("⩾ ⩾ ⪩ ⪀ ⪂ ⪄ ⋛︀ ⪔ 𝔊", "⩾ ⩾ ⪩ ⪀ ⪂ ⪄ ⋛︀ ⪔ 𝔊"), ("𝔤 ⋙ ≫ ⋙ ℷ Ѓ ѓ ≷ ⪥ ⪒ ⪤ ⪊", "𝔤 ⋙ ≫ ⋙ ℷ Ѓ ѓ ≷ ⪥ ⪒ ⪤ ⪊"), ("⪊ ≩ ⪈ ⪈ ≩ ⋧ 𝔾 𝕘 `", "⪊ ≩ ⪈ ⪈ ≩ ⋧ 𝔾 𝕘 `"), ("≥ ⋛ ≧ ⪢", "≥ ⋛ ≧ ⪢"), ("≷ ⩾ ≳ 𝒢 ℊ ≳ ⪎", "≷ ⩾ ≳ 𝒢 ℊ ≳ ⪎"), ("⪐ > > > ≫ > ⪧ ⩺ ⋗ ⦕ ⩼", "⪐ > > > ≫ > ⪧ ⩺ ⋗ ⦕ ⩼"), ("⪆ ⥸ ⋗ ⋛ ⪌ ≷ ≳", "⪆ ⥸ ⋗ ⋛ ⪌ ≷ ≳"), ("≩︀ ≩︀ ˇ   ½ ℋ Ъ ъ ⇔", "≩︀ ≩︀ ˇ \u200a ½ ℋ Ъ ъ ⇔"), ("↔ ⥈ ↭ ^ ℏ Ĥ ĥ ♥ ♥", "↔ ⥈ ↭ ^ ℏ Ĥ ĥ ♥ ♥"), ("… ⊹ ℌ 𝔥 ℋ ⤥ ⤦ ⇿", "… ⊹ ℌ 𝔥 ℋ ⤥ ⤦ ⇿"), ("∻ ↩ ↪ ℍ 𝕙 ―", "∻ ↩ ↪ ℍ 𝕙 ―"), ("─ ℋ 𝒽 ℏ Ħ ħ ≎", "─ ℋ 𝒽 ℏ Ħ ħ ≎"), ("≏ ⁃ ‐ Í í Í í ⁣ Î", "≏ ⁃ ‐ Í í Í í \u2063 Î"), ("î Î î И и İ Е е ¡ ¡ ⇔", "î Î î И и İ Е е ¡ ¡ ⇔"), ("ℑ 𝔦 Ì ì Ì ì ⅈ ⨌ ∭ ⧜", "ℑ 𝔦 Ì ì Ì ì ⅈ ⨌ ∭ ⧜"), ("℩ IJ ij ℑ Ī ī ℑ ⅈ ℐ", "℩ IJ ij ℑ Ī ī ℑ ⅈ ℐ"), ("ℑ ı ⊷ Ƶ ⇒ ∈ ℅ ∞ ⧝", "ℑ ı ⊷ Ƶ ⇒ ∈ ℅ ∞ ⧝"), ("ı ∬ ∫ ⊺ ℤ ∫ ⊺ ⋂", "ı ∬ ∫ ⊺ ℤ ∫ ⊺ ⋂"), ("⨗ ⨼ ⁣ ⁢ Ё ё Į", "⨗ ⨼ \u2063 \u2062 Ё ё Į"), ("į 𝕀 𝕚 Ι ι ⨼ ¿ ¿ ℐ 𝒾", "į 𝕀 𝕚 Ι ι ⨼ ¿ ¿ ℐ 𝒾"), ("∈ ⋵ ⋹ ⋴ ⋳ ∈ ⁢ Ĩ ĩ", "∈ ⋵ ⋹ ⋴ ⋳ ∈ \u2062 Ĩ ĩ"), ("І і Ï ï Ï ï Ĵ ĵ Й й 𝔍", "І і Ï ï Ï ï Ĵ ĵ Й й 𝔍"), ("𝔧 ȷ 𝕁 𝕛 𝒥 𝒿 Ј ј Є є", "𝔧 ȷ 𝕁 𝕛 𝒥 𝒿 Ј ј Є є"), ("Κ κ ϰ Ķ ķ К к 𝔎 𝔨 ĸ", "Κ κ ϰ Ķ ķ К к 𝔎 𝔨 ĸ"), ("Х х Ќ ќ 𝕂 𝕜 𝒦 𝓀 ⇚ Ĺ", "Х х Ќ ќ 𝕂 𝕜 𝒦 𝓀 ⇚ Ĺ"), ("ĺ ⦴ ℒ Λ λ ⟪ ⟨ ⦑ ⟨", "ĺ ⦴ ℒ Λ λ ⟪ ⟨ ⦑ ⟨"), ("⪅ ℒ « « ↞ ⇐ ← ⇤ ⤟", "⪅ ℒ « « ↞ ⇐ ← ⇤ ⤟"), ("⤝ ↩ ↫ ⤹ ⥳ ↢ ⪫ ⤛ ⤙", "⤝ ↩ ↫ ⤹ ⥳ ↢ ⪫ ⤛ ⤙"), ("⪭ ⪭︀ ⤎ ⤌ ❲ { [ ⦋ ⦏", "⪭ ⪭︀ ⤎ ⤌ ❲ { [ ⦋ ⦏"), ("⦍ Ľ ľ Ļ ļ ⌈ { Л л", "⦍ Ľ ľ Ļ ļ ⌈ { Л л"), ("⤶ “ „ ⥧ ⥋ ↲ ≦ ≤", "⤶ “ „ ⥧ ⥋ ↲ ≦ ≤"), ("⟨ ← ⇐ ← ⇤", "⟨ ← ⇐ ← ⇤"), ("⇆ ↢ ⌈ ⟦", "⇆ ↢ ⌈ ⟦"), ("⥡ ⇃ ⥙ ⌊", "⥡ ⇃ ⥙ ⌊"), ("↽ ↼ ⇇ ↔", "↽ ↼ ⇇ ↔"), ("⇔ ↔ ⇆ ⇋", "⇔ ↔ ⇆ ⇋"), ("↭ ⥎ ⊣ ↤", "↭ ⥎ ⊣ ↤"), ("⥚ ⋋ ⊲ ⧏", "⥚ ⋋ ⊲ ⧏"), ("⊴ ⥑ ⥠ ↿", "⊴ ⥑ ⥠ ↿"), ("⥘ ↼ ⥒ ⪋ ⋚ ≤ ≦", "⥘ ↼ ⥒ ⪋ ⋚ ≤ ≦"), ("⩽ ⩽ ⪨ ⩿ ⪁ ⪃ ⋚︀ ⪓", "⩽ ⩽ ⪨ ⩿ ⪁ ⪃ ⋚︀ ⪓"), ("⪅ ⋖ ⋚ ⪋ ⋚", "⪅ ⋖ ⋚ ⪋ ⋚"), ("≦ ≶ ≶ ⪡ ≲ ⩽", "≦ ≶ ≶ ⪡ ≲ ⩽"), ("≲ ⥼ ⌊ 𝔏 𝔩 ≶ ⪑ ⥢ ↽ ↼", "≲ ⥼ ⌊ 𝔏 𝔩 ≶ ⪑ ⥢ ↽ ↼"), ("⥪ ▄ Љ љ ⋘ ≪ ⇇ ⌞ ⇚", "⥪ ▄ Љ љ ⋘ ≪ ⇇ ⌞ ⇚"), ("⥫ ◺ Ŀ ŀ ⎰ ⎰ ⪉ ⪉", "⥫ ◺ Ŀ ŀ ⎰ ⎰ ⪉ ⪉"), ("≨ ⪇ ⪇ ≨ ⋦ ⟬ ⇽ ⟦ ⟵", "≨ ⪇ ⪇ ≨ ⋦ ⟬ ⇽ ⟦ ⟵"), ("⟸ ⟵ ⟷ ⟺", "⟸ ⟵ ⟷ ⟺"), ("⟷ ⟼ ⟶ ⟹", "⟷ ⟼ ⟶ ⟹"), ("⟶ ↫ ↬ ⦅ 𝕃 𝕝", "⟶ ↫ ↬ ⦅ 𝕃 𝕝"), ("⨭ ⨴ ∗ _ ↙ ↘ ◊", "⨭ ⨴ ∗ _ ↙ ↘ ◊"), ("◊ ⧫ ( ⦓ ⇆ ⌟ ⇋ ⥭ ‎", "◊ ⧫ ( ⦓ ⇆ ⌟ ⇋ ⥭ \u200E"), ("⊿ ‹ ℒ 𝓁 ↰ ↰ ≲ ⪍ ⪏ [", "⊿ ‹ ℒ 𝓁 ↰ ↰ ≲ ⪍ ⪏ ["), ("‘ ‚ Ł ł < < < ≪ < ⪦ ⩹", "‘ ‚ Ł ł < < < ≪ < ⪦ ⩹"), ("⋖ ⋋ ⋉ ⥶ ⩻ ◃ ⊴ ◂ ⦖", "⋖ ⋋ ⋉ ⥶ ⩻ ◃ ⊴ ◂ ⦖"), ("⥊ ⥦ ≨︀ ≨︀ ¯ ¯ ♂ ✠ ✠", "⥊ ⥦ ≨︀ ≨︀ ¯ ¯ ♂ ✠ ✠"), ("⤅ ↦ ↦ ↧ ↤ ↥ ▮ ⨩", "⤅ ↦ ↦ ↧ ↤ ↥ ▮ ⨩"), ("М м — ∺ ∡   ℳ 𝔐", "М м — ∺ ∡ \u205F ℳ 𝔐"), ("𝔪 ℧ µ µ ∣ * ⫰ · · −", "𝔪 ℧ µ µ ∣ * ⫰ · · −"), ("⊟ ∸ ⨪ ∓ ⫛ … ∓ ⊧ 𝕄", "⊟ ∸ ⨪ ∓ ⫛ … ∓ ⊧ 𝕄"), ("𝕞 ∓ ℳ 𝓂 ∾ Μ μ ⊸ ⊸ ∇", "𝕞 ∓ ℳ 𝓂 ∾ Μ μ ⊸ ⊸ ∇"), ("Ń ń ∠⃒ ≉ ⩰̸ ≋̸ ʼn ≉ ♮", "Ń ń ∠⃒ ≉ ⩰̸ ≋̸ ʼn ≉ ♮"), ("♮ ℕ     ≎̸ ≏̸ ⩃ Ň ň", "♮ ℕ \u00A0 \u00A0 ≎̸ ≏̸ ⩃ Ň ň"), ("Ņ ņ ≇ ⩭̸ ⩂ Н н – ≠ ⤤", "Ņ ņ ≇ ⩭̸ ⩂ Н н – ≠ ⤤"), ("⇗ ↗ ↗ ≐̸ ​ ​", "⇗ ↗ ↗ ≐̸ \u200b \u200b"), ("​ ​ ≢ ⤨ ≂̸", "\u200b \u200b ≢ ⤨ ≂̸"), ("≫ ≪ ∄ ∄ 𝔑", "≫ ≪ \n ∄ ∄ 𝔑"), ("𝔫 ≧̸ ≱ ≱ ≧̸ ⩾̸ ⩾̸ ⋙̸ ≵ ≫⃒ ≯", "𝔫 ≧̸ ≱ ≱ ≧̸ ⩾̸ ⩾̸ ⋙̸ ≵ ≫⃒ ≯"), ("≯ ≫̸ ⇎ ↮ ⫲ ∋ ⋼ ⋺ ∋ Њ њ", "≯ ≫̸ ⇎ ↮ ⫲ ∋ ⋼ ⋺ ∋ Њ њ"), ("⇍ ↚ ‥ ≦̸ ≰ ⇍ ↚ ⇎", "⇍ ↚ ‥ ≦̸ ≰ ⇍ ↚ ⇎"), ("↮ ≰ ≦̸ ⩽̸ ⩽̸ ≮ ⋘̸ ≴", "↮ ≰ ≦̸ ⩽̸ ⩽̸ ≮ ⋘̸ ≴"), ("≪⃒ ≮ ⋪ ⋬ ≪̸ ∤ ⁠   ℕ", "≪⃒ ≮ ⋪ ⋬ ≪̸ ∤ \u2060 \u00A0 ℕ"), ("𝕟 ¬ ⫬ ¬ ≢ ≭ ∦", "𝕟 ¬ ⫬ ¬ ≢ ≭ ∦"), ("∉ ≠ ≂̸ ∄ ≯", "∉ ≠ ≂̸ ∄ ≯"), ("≱ ≧̸ ≫̸ ≹", "≱ ≧̸ ≫̸ ≹"), ("⩾̸ ≵ ≎̸ ≏̸", "⩾̸ ≵ ≎̸ ≏̸"), ("∉ ⋵̸ ⋹̸ ∉ ⋷ ⋶ ⋪", "∉ ⋵̸ ⋹̸ ∉ ⋷ ⋶ ⋪"), ("⧏̸ ⋬ ≮ ≰", "⧏̸ ⋬ ≮ ≰"), ("≸ ≪̸ ⩽̸ ≴", "≸ ≪̸ ⩽̸ ≴"), ("⪢̸ ⪡̸ ∌ ∌ ⋾", "⪢̸ ⪡̸ ∌ ∌ ⋾"), ("⋽ ⊀ ⪯̸ ⋠", "⋽ ⊀ ⪯̸ ⋠"), ("∌ ⋫ ⧐̸", "∌ ⋫ ⧐̸"), ("⋭ ⊏̸ ⋢", "⋭ ⊏̸ ⋢"), ("⊐̸ ⋣ ⊂⃒ ⊈", "⊐̸ ⋣ ⊂⃒ ⊈"), ("⊁ ⪰̸ ⋡ ≿̸", "⊁ ⪰̸ ⋡ ≿̸"), ("⊃⃒ ⊉ ≁ ≄", "⊃⃒ ⊉ ≁ ≄"), ("≇ ≉ ∤ ∦ ∦", "≇ ≉ ∤ ∦ ∦"), ("⫽⃥ ∂̸ ⨔ ⊀ ⋠ ⪯̸ ⊀ ⪯̸ ⇏", "⫽⃥ ∂̸ ⨔ ⊀ ⋠ ⪯̸ ⊀ ⪯̸ ⇏"), ("↛ ⤳̸ ↝̸ ⇏ ↛ ⋫ ⋭ ⊁", "↛ ⤳̸ ↝̸ ⇏ ↛ ⋫ ⋭ ⊁"), ("⋡ ⪰̸ 𝒩 𝓃 ∤ ∦ ≁ ≄", "⋡ ⪰̸ 𝒩 𝓃 ∤ ∦ ≁ ≄"), ("≄ ∤ ∦ ⋢ ⋣ ⊄ ⫅̸ ⊈ ⊂⃒", "≄ ∤ ∦ ⋢ ⋣ ⊄ ⫅̸ ⊈ ⊂⃒"), ("⊈ ⫅̸ ⊁ ⪰̸ ⊅ ⫆̸ ⊉ ⊃⃒", "⊈ ⫅̸ ⊁ ⪰̸ ⊅ ⫆̸ ⊉ ⊃⃒"), ("⊉ ⫆̸ ≹ Ñ ñ Ñ ñ ≸", "⊉ ⫆̸ ≹ Ñ ñ Ñ ñ ≸"), ("⋪ ⋬ ⋫ ⋭ Ν", "⋪ ⋬ ⋫ ⋭ Ν"), ("ν # №   ≍⃒ ⊯ ⊮ ⊭ ⊬ ≥⃒", "ν # № \u2007 ≍⃒ ⊯ ⊮ ⊭ ⊬ ≥⃒"), (">⃒ ⤄ ⧞ ⤂ ≤⃒ <⃒ ⊴⃒ ⤃ ⊵⃒", ">⃒ ⤄ ⧞ ⤂ ≤⃒ <⃒ ⊴⃒ ⤃ ⊵⃒"), ("∼⃒ ⤣ ⇖ ↖ ↖ ⤧ Ó ó Ó", "∼⃒ ⤣ ⇖ ↖ ↖ ⤧ Ó ó Ó"), ("ó ⊛ ⊚ Ô ô Ô ô О о ⊝", "ó ⊛ ⊚ Ô ô Ô ô О о ⊝"), ("Ő ő ⨸ ⊙ ⦼ Œ œ ⦿ 𝔒 𝔬", "Ő ő ⨸ ⊙ ⦼ Œ œ ⦿ 𝔒 𝔬"), ("˛ Ò ò Ò ò ⧁ ⦵ Ω ∮ ↺", "˛ Ò ò Ò ò ⧁ ⦵ Ω ∮ ↺"), ("⦾ ⦻ ‾ ⧀ Ō ō Ω ω Ο", "⦾ ⦻ ‾ ⧀ Ō ō Ω ω Ο"), ("ο ⦶ ⊖ 𝕆 𝕠 ⦷ “", "ο ⦶ ⊖ 𝕆 𝕠 ⦷ “"), ("‘ ⦹ ⊕ ⩔ ∨ ↻ ⩝ ℴ ℴ", "‘ ⦹ ⊕ ⩔ ∨ ↻ ⩝ ℴ ℴ"), ("ª ª º º ⊶ ⩖ ⩗ ⩛ Ⓢ 𝒪 ℴ", "ª ª º º ⊶ ⩖ ⩗ ⩛ Ⓢ 𝒪 ℴ"), ("Ø ø Ø ø ⊘ Õ õ Õ õ", "Ø ø Ø ø ⊘ Õ õ Õ õ"), ("⨷ ⊗ ⨶ Ö ö Ö ö ⌽ ‾", "⨷ ⊗ ⨶ Ö ö Ö ö ⌽ ‾"), ("⏞ ⎴ ⏜ ∥ ¶ ¶ ∥", "⏞ ⎴ ⏜ ∥ ¶ ¶ ∥"), ("⫳ ⫽ ∂ ∂ П п % . ‰", "⫳ ⫽ ∂ ∂ П п % . ‰"), ("⊥ ‱ 𝔓 𝔭 Φ φ ϕ ℳ ☎ Π π", "⊥ ‱ 𝔓 𝔭 Φ φ ϕ ℳ ☎ Π π"), ("⋔ ϖ ℏ ℎ ℏ + ⨣ ⊞", "⋔ ϖ ℏ ℎ ℏ + ⨣ ⊞"), ("⨢ ∔ ⨥ ⩲ ± ± ± ⨦", "⨢ ∔ ⨥ ⩲ ± ± ± ⨦"), ("⨧ ± ℌ ⨕ ℙ 𝕡 £ £ ⪻", "⨧ ± ℌ ⨕ ℙ 𝕡 £ £ ⪻"), ("≺ ⪷ ≼ ⪳ ⪯ ≺ ⪷ ≼ ≺", "≺ ⪷ ≼ ⪳ ⪯ ≺ ⪷ ≼ ≺"), ("⪯ ≼ ≾ ⪯ ⪹", "⪯ ≼ ≾ ⪯ ⪹"), ("⪵ ⋨ ≾ ″ ′ ℙ ⪹ ⪵", "⪵ ⋨ ≾ ″ ′ ℙ ⪹ ⪵"), ("⋨ ∏ ∏ ⌮ ⌒ ⌓ ∝ ∷", "⋨ ∏ ∏ ⌮ ⌒ ⌓ ∝ ∷"), ("∝ ∝ ≾ ⊰ 𝒫 𝓅 Ψ ψ  ", "∝ ∝ ≾ ⊰ 𝒫 𝓅 Ψ ψ \u2008"), ("𝔔 𝔮 ⨌ ℚ 𝕢 ⁗ 𝒬 𝓆 ℍ", "𝔔 𝔮 ⨌ ℚ 𝕢 ⁗ 𝒬 𝓆 ℍ"), ("⨖ ? ≟ " " ⇛ ∽̱", "⨖ ? ≟ \" \" ⇛ ∽̱"), ("Ŕ ŕ √ ⦳ ⟫ ⟩ ⦒ ⦥ ⟩", "Ŕ ŕ √ ⦳ ⟫ ⟩ ⦒ ⦥ ⟩"), ("» » ↠ ⇒ → ⥵ ⇥ ⤠ ⤳", "» » ↠ ⇒ → ⥵ ⇥ ⤠ ⤳"), ("⤞ ↪ ↬ ⥅ ⥴ ⤖ ↣ ↝", "⤞ ↪ ↬ ⥅ ⥴ ⤖ ↣ ↝"), ("⤜ ⤚ ∶ ℚ ⤐ ⤏ ⤍ ❳ }", "⤜ ⤚ ∶ ℚ ⤐ ⤏ ⤍ ❳ }"), ("] ⦌ ⦎ ⦐ Ř ř Ŗ ŗ", "] ⦌ ⦎ ⦐ Ř ř Ŗ ŗ"), ("⌉ } Р р ⤷ ⥩ ” ” ↳ ℜ", "⌉ } Р р ⤷ ⥩ ” ” ↳ ℜ"), ("ℜ ℛ ℜ ℝ ▭ ® ® ® ®", "ℜ ℛ ℜ ℝ ▭ ® ® ® ®"), ("∋ ⇋ ⥯ ⥽ ⌋", "∋ ⇋ ⥯ ⥽ ⌋"), ("ℜ 𝔯 ⥤ ⇁ ⇀ ⥬ Ρ ρ ϱ", "ℜ 𝔯 ⥤ ⇁ ⇀ ⥬ Ρ ρ ϱ"), ("⟩ → ⇒ → ⇥", "⟩ → ⇒ → ⇥"), ("⇄ ↣ ⌉ ⟧", "⇄ ↣ ⌉ ⟧"), ("⥝ ⇂ ⥕ ⌋", "⥝ ⇂ ⥕ ⌋"), ("⇁ ⇀ ⇄ ⇌", "⇁ ⇀ ⇄ ⇌"), ("⇉ ↝ ⊢ ↦", "⇉ ↝ ⊢ ↦"), ("⥛ ⋌ ⊳ ⧐", "⥛ ⋌ ⊳ ⧐"), ("⊵ ⥏ ⥜ ↾", "⊵ ⥏ ⥜ ↾"), ("⥔ ⇀ ⥓ ˚ ≓", "⥔ ⇀ ⥓ ˚ ≓"), ("⇄ ⇌ ‏ ⎱ ⎱ ⫮ ⟭ ⇾ ⟧", "⇄ ⇌ \u200f ⎱ ⎱ ⫮ ⟭ ⇾ ⟧"), ("⦆ ℝ 𝕣 ⨮ ⨵ ⥰ ) ⦔", "⦆ ℝ 𝕣 ⨮ ⨵ ⥰ ) ⦔"), ("⨒ ⇉ ⇛ › ℛ 𝓇 ↱ ↱ ]", "⨒ ⇉ ⇛ › ℛ 𝓇 ↱ ↱ ]"), ("’ ’ ⋌ ⋊ ▹ ⊵ ▸ ⧎", "’ ’ ⋌ ⋊ ▹ ⊵ ▸ ⧎"), ("⧴ ⥨ ℞ Ś ś ‚ ⪼ ≻ ⪸", "⧴ ⥨ ℞ Ś ś ‚ ⪼ ≻ ⪸"), ("Š š ≽ ⪴ ⪰ Ş ş Ŝ ŝ", "Š š ≽ ⪴ ⪰ Ş ş Ŝ ŝ"), ("⪺ ⪶ ⋩ ⨓ ≿ С с ⋅ ⊡ ⩦", "⪺ ⪶ ⋩ ⨓ ≿ С с ⋅ ⊡ ⩦"), ("⤥ ⇘ ↘ ↘ § § ; ⤩ ∖", "⤥ ⇘ ↘ ↘ § § ; ⤩ ∖"), ("∖ ✶ 𝔖 𝔰 ⌢ ♯ Щ щ Ш ш", "∖ ✶ 𝔖 𝔰 ⌢ ♯ Щ щ Ш ш"), ("↓ ← ∣ ∥ →", "↓ ← ∣ ∥ →"), ("↑ ­ Σ σ ς ς ∼ ⩪", "↑ \u00AD Σ σ ς ς ∼ ⩪"), ("≃ ≃ ⪞ ⪠ ⪝ ⪟ ≆ ⨤ ⥲", "≃ ≃ ⪞ ⪠ ⪝ ⪟ ≆ ⨤ ⥲"), ("← ∘ ∖ ⨳ ⧤ ∣ ⌣ ⪪", "← ∘ ∖ ⨳ ⧤ ∣ ⌣ ⪪"), ("⪬ ⪬︀ Ь ь / ⧄ ⌿ 𝕊 𝕤 ♠", "⪬ ⪬︀ Ь ь / ⧄ ⌿ 𝕊 𝕤 ♠"), ("♠ ∥ ⊓ ⊓︀ ⊔ ⊔︀ √ ⊏ ⊑", "♠ ∥ ⊓ ⊓︀ ⊔ ⊔︀ √ ⊏ ⊑"), ("⊏ ⊑ ⊐ ⊒ ⊐ ⊒ □", "⊏ ⊑ ⊐ ⊒ ⊐ ⊒ □"), ("□ □ ⊓ ⊏ ⊑", "□ □ ⊓ ⊏ ⊑"), ("⊐ ⊒ ⊔ ▪ ▪ →", "⊐ ⊒ ⊔ ▪ ▪ →"), ("𝒮 𝓈 ∖ ⌣ ⋆ ⋆ ☆ ★", "𝒮 𝓈 ∖ ⌣ ⋆ ⋆ ☆ ★"), ("ϵ ϕ ¯ ⋐ ⊂ ⪽ ⫅ ⊆", "ϵ ϕ ¯ ⋐ ⊂ ⪽ ⫅ ⊆"), ("⫃ ⫁ ⫋ ⊊ ⪿ ⥹ ⋐ ⊂", "⫃ ⫁ ⫋ ⊊ ⪿ ⥹ ⋐ ⊂"), ("⊆ ⫅ ⊆ ⊊ ⫋ ⫇", "⊆ ⫅ ⊆ ⊊ ⫋ ⫇"), ("⫕ ⫓ ≻ ⪸ ≽ ≻ ⪰", "⫕ ⫓ ≻ ⪸ ≽ ≻ ⪰"), ("≽ ≿ ⪰ ⪺ ⪶", "≽ ≿ ⪰ ⪺ ⪶"), ("⋩ ≿ ∋ ∑ ∑ ♪ ¹ ¹ ² ²", "⋩ ≿ ∋ ∑ ∑ ♪ ¹ ¹ ² ²"), ("³ ³ ⋑ ⊃ ⪾ ⫘ ⫆ ⊇ ⫄", "³ ³ ⋑ ⊃ ⪾ ⫘ ⫆ ⊇ ⫄"), ("⊃ ⊇ ⟉ ⫗ ⥻ ⫂ ⫌", "⊃ ⊇ ⟉ ⫗ ⥻ ⫂ ⫌"), ("⊋ ⫀ ⋑ ⊃ ⊇ ⫆ ⊋", "⊋ ⫀ ⋑ ⊃ ⊇ ⫆ ⊋"), ("⫌ ⫈ ⫔ ⫖ ⤦ ⇙ ↙ ↙", "⫌ ⫈ ⫔ ⫖ ⤦ ⇙ ↙ ↙"), ("⤪ ß ß ⌖ Τ τ ⎴ Ť ť", "⤪ ß ß ⌖ Τ τ ⎴ Ť ť"), ("Ţ ţ Т т ⃛ ⌕ 𝔗 𝔱 ∴ ∴", "Ţ ţ Т т ⃛ ⌕ 𝔗 𝔱 ∴ ∴"), ("∴ Θ θ ϑ ϑ ≈ ∼", "∴ Θ θ ϑ ϑ ≈ ∼"), ("       ≈ ∼ Þ", "\u205F\u200A \u2009 \u2009 ≈ ∼ Þ"), ("þ ∼ ˜ ≃ ≅ ≈ ×", "þ ∼ ˜ ≃ ≅ ≈ ×"), ("× ⊠ ⨱ ⨰ ∭ ⤨ ⊤ ⌶ ⫱", "× ⊠ ⨱ ⨰ ∭ ⤨ ⊤ ⌶ ⫱"), ("𝕋 𝕥 ⫚ ⤩ ‴ ™ ™ ▵", "𝕋 𝕥 ⫚ ⤩ ‴ ™ ™ ▵"), ("▿ ◃ ⊴ ≜ ▹", "▿ ◃ ⊴ ≜ ▹"), ("⊵ ◬ ≜ ⨺ ⃛ ⨹ ⧍", "⊵ ◬ ≜ ⨺ ⃛ ⨹ ⧍"), ("⨻ ⏢ 𝒯 𝓉 Ц ц Ћ ћ Ŧ", "⨻ ⏢ 𝒯 𝓉 Ц ц Ћ ћ Ŧ"), ("ŧ ≬ ↞ ↠ Ú ú", "ŧ ≬ ↞ ↠ Ú ú"), ("Ú ú ↟ ⇑ ↑ ⥉ Ў ў Ŭ", "Ú ú ↟ ⇑ ↑ ⥉ Ў ў Ŭ"), ("ŭ Û û Û û У у ⇅ Ű ű", "ŭ Û û Û û У у ⇅ Ű ű"), ("⥮ ⥾ 𝔘 𝔲 Ù ù Ù ù ⥣", "⥮ ⥾ 𝔘 𝔲 Ù ù Ù ù ⥣"), ("↿ ↾ ▀ ⌜ ⌜ ⌏ ◸ Ū ū", "↿ ↾ ▀ ⌜ ⌜ ⌏ ◸ Ū ū"), ("¨ ¨ _ ⏟ ⎵ ⏝ ⋃", "¨ ¨ _ ⏟ ⎵ ⏝ ⋃"), ("⊎ Ų ų 𝕌 𝕦 ↑ ⇑ ↑", "⊎ Ų ų 𝕌 𝕦 ↑ ⇑ ↑"), ("⤒ ⇅ ↕ ⇕ ↕", "⤒ ⇅ ↕ ⇕ ↕"), ("⥮ ↿ ↾ ⊎ ↖", "⥮ ↿ ↾ ⊎ ↖"), ("↗ ϒ υ ϒ Υ υ ⊥", "↗ ϒ υ ϒ Υ υ ⊥"), ("↥ ⇈ ⌝ ⌝ ⌎ Ů ů ◹", "↥ ⇈ ⌝ ⌝ ⌎ Ů ů ◹"), ("𝒰 𝓊 ⋰ Ũ ũ ▵ ▴ ⇈ Ü ü", "𝒰 𝓊 ⋰ Ũ ũ ▵ ▴ ⇈ Ü ü"), ("Ü ü ⦧ ⦜ ϵ ϰ ∅ ϕ", "Ü ü ⦧ ⦜ ϵ ϰ ∅ ϕ"), ("ϖ ∝ ⇕ ↕ ϱ ς ⊊︀", "ϖ ∝ ⇕ ↕ ϱ ς ⊊︀"), ("⫋︀ ⊋︀ ⫌︀ ϑ ⊲", "⫋︀ ⊋︀ ⫌︀ ϑ ⊲"), ("⊳ ⫫ ⫨ ⫩ В в ⊫ ⊩ ⊨", "⊳ ⫫ ⫨ ⫩ В в ⊫ ⊩ ⊨"), ("⊢ ⫦ ⋁ ∨ ⊻ ≚ ⋮ ‖ |", "⊢ ⫦ ⋁ ∨ ⊻ ≚ ⋮ ‖ |"), ("‖ | ∣ | ❘ ≀", "‖ | ∣ | ❘ ≀"), ("  𝔙 𝔳 ⊲ ⊂⃒ ⊃⃒ 𝕍 𝕧 ∝", "\u200A 𝔙 𝔳 ⊲ ⊂⃒ ⊃⃒ 𝕍 𝕧 ∝"), ("⊳ 𝒱 𝓋 ⫋︀ ⊊︀ ⫌︀ ⊋︀ ⊪ ⦚", "⊳ 𝒱 𝓋 ⫋︀ ⊊︀ ⫌︀ ⊋︀ ⊪ ⦚"), ("Ŵ ŵ ⩟ ⋀ ∧ ≙ ℘ 𝔚 𝔴 𝕎", "Ŵ ŵ ⩟ ⋀ ∧ ≙ ℘ 𝔚 𝔴 𝕎"), ("𝕨 ℘ ≀ ≀ 𝒲 𝓌 ⋂ ◯ ⋃ ▽ 𝔛", "𝕨 ℘ ≀ ≀ 𝒲 𝓌 ⋂ ◯ ⋃ ▽ 𝔛"), ("𝔵 ⟺ ⟷ Ξ ξ ⟸ ⟵ ⟼ ⋻ ⨀ 𝕏", "𝔵 ⟺ ⟷ Ξ ξ ⟸ ⟵ ⟼ ⋻ ⨀ 𝕏"), ("𝕩 ⨁ ⨂ ⟹ ⟶ 𝒳 𝓍 ⨆ ⨄", "𝕩 ⨁ ⨂ ⟹ ⟶ 𝒳 𝓍 ⨆ ⨄"), ("△ ⋁ ⋀ Ý ý Ý ý Я я", "△ ⋁ ⋀ Ý ý Ý ý Я я"), ("Ŷ ŷ Ы ы ¥ ¥ 𝔜 𝔶 Ї ї 𝕐", "Ŷ ŷ Ы ы ¥ ¥ 𝔜 𝔶 Ї ї 𝕐"), ("𝕪 𝒴 𝓎 Ю ю ÿ Ÿ ÿ Ź ź", "𝕪 𝒴 𝓎 Ю ю ÿ Ÿ ÿ Ź ź"), ("Ž ž З з Ż ż ℨ ​ Ζ", "Ž ž З з Ż ż ℨ \u200b Ζ"), ("ζ ℨ 𝔷 Ж ж ⇝ ℤ 𝕫 𝒵 𝓏 ‍", "ζ ℨ 𝔷 Ж ж ⇝ ℤ 𝕫 𝒵 𝓏 \u200d"), ] @pytest.mark.parametrize("input_string, expected_output", STRINGS_FOR_DECODE) def test_html_mnemo_to_utf(input_string, expected_output): """ Проверяет ПОВЕДЕНИЕ: декодирование HTML-мнемоников в Unicode-строки. """ # Act (действие) - тестируем actual_output = codec.decode_to_unicode(input_string) # Assert (проверка) assert actual_output == expected_output STRINGS_FOR_ENCODE = [ # Тестовые строки для декодирования html-метаккода в uft-8 ("", ""), # Пустая строка ("Hello world!", "Hello world!"), # Строка ("Привет типограф!", "Привет типограф!"), # Строка русского текста ("< > & \"", "< > & ""), # Самый простой набор HTML-мнемоников ("\u00AD", "­"), # Мягкий перенос ("\u00A0\u2002\u2003\u2009\u200D\u200C", "    ‍‌"), # Набор пробелов и невидимых символов ("– — ‐ ―", "– — ‐ ―"), # Набор тире и дефисов ("$ ¢ £ ¤ ¥ € ₽", "$ ¢ £ ¤ ¥ € ₽"), # Валютные символы ("֏ ₽ ₴ ₸ ₹ ₼ ₾", "֏ ₽ ₴ ₸ ₹ ₼ ₾"), # Валютные символы # Набор из html.entities.name2codepoint ("Æ Á  À Α Å Ã Ä Ä", "Æ Á  À Α Å Ã Ä Ä"), ("Β Ç Χ ‡ Δ Ð É Ê È", "Β Ç Χ ‡ Δ Ð É Ê È"), ("Ε Η Ë Γ Í Î Ì Ι Ï", "Ε Η Ë Γ Í Î Ì Ι Ï"), ("Κ Λ Μ Ñ Ν Œ Ó Ô Ò Ö", "Κ Λ Μ Ñ Ν Œ Ó Ô Ò Ö"), ("Ω Ο Ø Õ Φ Π ″ Ψ Ρ Š", "Ω Ο Ø Õ Φ Π ″ Ψ Ρ Š"), ("Σ Þ Τ Θ Ú Û Ù Υ Ü", "Σ Þ Τ Θ Ú Û Ù Υ Ü"), ("Ξ Ý Ÿ Ζ á â ´ æ à", "Ξ Ý Ÿ Ζ á â ´ æ à"), ("ℵ α & ∧ ∠ ' å ≈ ã ä", "ℵ α & ∧ ∠ ' å ≈ ã ä"), ("„ β ¦ • ∩ ç ¸ ¢ χ ˆ", "„ β ¦ • ∩ ç ¸ ¢ χ ˆ"), ("♣ ≅ © ↵ ∪ ¤ ⇓ † ↓ °", "♣ ≅ © ↵ ∪ ¤ ⇓ † ↓ °"), ("δ ♦ ÷ é ê è ∅ \u2003 \u2002", "δ ♦ ÷ é ê è ∅    "), ("ε ≡ η ð ë € ∃ ƒ ∀ ½", "ε ≡ η ð ë € ∃ ƒ ∀ ½"), ("¼ ¾ ⁄ γ ≥ > ⇔ ↔ ♥ …", "¼ ¾ ⁄ γ ≥ > ⇔ ↔ ♥ …"), ("í î ¡ ì ℑ ∞ ∫ ι ¿ ∈", "í î ¡ ì ℑ ∞ ∫ ι ¿ ∈"), ("ï κ ⇐ λ ⟨ « ← ⌈ “ ≤", "ï κ ⇐ λ ⟨ « ← ⌈ “ ≤"), ("⌊ ∗ ◊ \u200e ‹ ‘ < ¯ — µ", "⌊ ∗ ◊ ‎ ‹ ‘ < ¯ — µ"), ("· − μ ∇ \u00A0 – ≠ ∋ ¬ ∉", "· − μ ∇   – ≠ ∋ ¬ ∉"), ("⊄ ñ ν ó ô œ ò ‾ ω", "⊄ ñ ν ó ô œ ò ‾ ω"), ("ο ⊕ ∨ ª º ø õ ⊗ ö", "ο ⊕ ∨ ª º ø õ ⊗ ö"), ("¶ ∂ ‰ ⊥ φ π ϖ ± £ ′ ∏", "¶ ∂ ‰ ⊥ φ π ϖ ± £ ′ ∏"), ("∝ ψ \" ⇒ √ ⟩ » → ⌉ ”", "∝ ψ " ⇒ √ ⟩ » → ⌉ ”"), ("ℜ ® ⌋ ρ \u200f › ’ ‚ š", "ℜ ® ⌋ ρ ‏ › ’ ‚ š"), ("⋅ § \u00AD σ ς ∼ ♠ ⊂ ⊆ ∑", "⋅ § ­ σ ς ∼ ♠ ⊂ ⊆ ∑"), ("⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ", "⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ"), ("\u2009 þ ˜ × ™ ⇑ ú ↑ û", "  þ ˜ × ™ ⇑ ú ↑ û"), ("ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ", "ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ"), ("ζ \u200D \u200C + = %", "ζ ‍ ‌ + = %"), # Набор из html.entities.html5 ("Á á Á á Ă ă ∾ ∿ Â", "Á á Á á Ă ă ∾ ∿ Â"), ("â  ⠴ ´ А а Æ æ Æ", "â  ⠴ ´ А а Æ æ Æ"), ("æ \u2061 𝔄 𝔞 À à À à ℵ ℵ", "æ ⁡ 𝔄 𝔞 À à À à ℵ ℵ"), ("Α α Ā ā ⨿ & & & & ⩓ ∧", "Α α Ā ā ⨿ & & & & ⩓ ∧"), ("⩕ ⩜ ⩘ ⩚ ∠ ⦤ ∠ ∡ ⦨", "⩕ ⩜ ⩘ ⩚ ∠ ⦤ ∠ ∡ ⦨"), ("⦩ ⦪ ⦫ ⦬ ⦭ ⦮ ⦯", "⦩ ⦪ ⦫ ⦬ ⦭ ⦮ ⦯"), ("∟ ⊾ ⦝ ∢ Å ⍼ Ą ą 𝔸", "∟ ⊾ ⦝ ∢ Å ⍼ Ą ą 𝔸"), ("𝕒 ≈ ⩯ ⩰ ≊ ≋ ' \u2061 ≈", "𝕒 ≈ ⩯ ⩰ ≊ ≋ ' ⁡ ≈"), ("≊ Å å Å å 𝒜 𝒶 ≔ *", "≊ Å å Å å 𝒜 𝒶 ≔ *"), ("≈ ≍ à ã à ã Ä ä Ä", "≈ ≍ à ã à ã Ä ä Ä"), ("ä ∳ ⨑ ≌ ϶ ‵ ∽", "ä ∳ ⨑ ≌ ϶ ‵ ∽"), ("⋍ ∖ ⫧ ⊽ ⌆ ⌅ ⌅ ⎵", "⋍ ∖ ⫧ ⊽ ⌆ ⌅ ⌅ ⎵"), ("⎶ ≌ Б б „ ∵ ⦰", "⎶ ≌ Б б „ ∵ ⦰"), ("϶ ℬ ℬ Β β ℶ ≬ 𝔅 𝔟", "϶ ℬ ℬ Β β ℶ ≬ 𝔅 𝔟"), ("⋂ ◯ ⋃ ⨀ ⨁ ⨂ ⨆", "⋂ ◯ ⋃ ⨀ ⨁ ⨂ ⨆"), ("★ ▽ △ ⨄ ⋁ ⋀", "★ ▽ △ ⨄ ⋁ ⋀"), ("⤍ ⧫ ▪ ▴ ▾", "⤍ ⧫ ▪ ▴ ▾"), ("◂ ▸ ␣ ▒ ░ ▓", "◂ ▸ ␣ ▒ ░ ▓"), ("█ ⫭ ⌐ 𝔹 𝕓 ⊥ ⊥ ⋈ ⧉ ╗", "█ ⫭ ⌐ 𝔹 𝕓 ⊥ ⊥ ⋈ ⧉ ╗"), ("╖ ╕ ┐ ╔ ╓ ╒ ┌ ═ ─ ╦", "╖ ╕ ┐ ╔ ╓ ╒ ┌ ═ ─ ╦"), ("╤ ╥ ┬ ╩ ╧ ╨ ┴ ⊟ ⊞", "╤ ╥ ┬ ╩ ╧ ╨ ┴ ⊟ ⊞"), ("⊠ ╝ ╜ ╛ ┘ ╚ ╙ ╘ └", "⊠ ╝ ╜ ╛ ┘ ╚ ╙ ╘ └"), ("║ │ ╬ ╫ ╪ ┼ ╣ ╢ ╡ ┤", "║ │ ╬ ╫ ╪ ┼ ╣ ╢ ╡ ┤"), ("╠ ╟ ╞ ├ ‵ ˘ ˘ ¦ ¦", "╠ ╟ ╞ ├ ‵ ˘ ˘ ¦ ¦"), ("ℬ 𝒷 ⁏ ∽ ⋍ \\ ⧅ ⟈ • •", "ℬ 𝒷 ⁏ ∽ ⋍ \\ ⧅ ⟈ • •"), ("≎ ⪮ ≏ ≎ ≏ Ć ć ⋒ ∩", "≎ ⪮ ≏ ≎ ≏ Ć ć ⋒ ∩"), ("⩄ ⩉ ⩋ ⩇ ⩀ ⅅ ⁁", "⩄ ⩉ ⩋ ⩇ ⩀ ⅅ ⁁"), ("ˇ ℭ ⩍ Č č Ç ç Ç", "ˇ ℭ ⩍ Č č Ç ç Ç"), ("ç Ĉ ĉ ∰ ⩌ ⩐ Ċ ċ ¸", "ç Ĉ ĉ ∰ ⩌ ⩐ Ċ ċ ¸"), ("¸ ¸ ⦲ ¢ ¢ · · ℭ 𝔠", "¸ ¸ ⦲ ¢ ¢ · · ℭ 𝔠"), ("Ч ч ✓ ✓ Χ χ ○ ˆ ≗", "Ч ч ✓ ✓ Χ χ ○ ˆ ≗"), ("↺ ↻ ⊛ ⊚ ⊝", "↺ ↻ ⊛ ⊚ ⊝"), ("⊙ ® Ⓢ ⊖ ⊕ ⊗", "⊙ ® Ⓢ ⊖ ⊕ ⊗"), ("⧃ ≗ ⨐ ⫯ ⧂ ∲", "⧃ ≗ ⨐ ⫯ ⧂ ∲"), ("” ’ ♣ ♣ ∷ :", "” ’ ♣ ♣ ∷ :"), ("⩴ ≔ ≔ , @ ∁ ∘ ∁", "⩴ ≔ ≔ , @ ∁ ∘ ∁"), ("ℂ ≅ ⩭ ≡ ∯ ∮ ∮", "ℂ ≅ ⩭ ≡ ∯ ∮ ∮"), ("ℂ 𝕔 ∐ ∐ © © © © ℗", "ℂ 𝕔 ∐ ∐ © © © © ℗"), ("∳ ↵ ⨯ ✗ 𝒞 𝒸 ⫏", "∳ ↵ ⨯ ✗ 𝒞 𝒸 ⫏"), ("⫑ ⫐ ⫒ ⋯ ⤸ ⤵ ⋞ ⋟ ↶", "⫑ ⫐ ⫒ ⋯ ⤸ ⤵ ⋞ ⋟ ↶"), ("⤽ ⋓ ∪ ⩈ ≍ ⩆ ⩊ ⊍ ⩅", "⤽ ⋓ ∪ ⩈ ≍ ⩆ ⩊ ⊍ ⩅"), ("↷ ⤼ ⋞ ⋟ ⋎ ⋏", "↷ ⤼ ⋞ ⋟ ⋎ ⋏"), ("¤ ¤ ↶ ↷ ⋎ ⋏", "¤ ¤ ↶ ↷ ⋎ ⋏"), ("∲ ∱ ⌭ ‡ † ℸ ↡ ⇓ ↓", "∲ ∱ ⌭ ‡ † ℸ ↡ ⇓ ↓"), ("‐ ⫤ ⊣ ⤏ ˝ Ď ď Д д ⅅ", "‐ ⫤ ⊣ ⤏ ˝ Ď ď Д д ⅅ"), ("ⅆ ‡ ⇊ ⤑ ⩷ ° ° ∇ Δ δ", "ⅆ ‡ ⇊ ⤑ ⩷ ° ° ∇ Δ δ"), ("⦱ ⥿ 𝔇 𝔡 ⥥ ⇃ ⇂ ´", "⦱ ⥿ 𝔇 𝔡 ⥥ ⇃ ⇂ ´"), ("˙ ˝ `", "˙ ˝ `"), ("˜ ⋄ ⋄ ⋄ ♦ ♦ ¨", "˜ ⋄ ⋄ ⋄ ♦ ♦ ¨"), ("ⅆ ϝ ⋲ ÷ ÷ ÷ ⋇", "ⅆ ϝ ⋲ ÷ ÷ ÷ ⋇"), ("⋇ Ђ ђ ⌞ ⌍ $ 𝔻 𝕕 ¨ ˙", "⋇ Ђ ђ ⌞ ⌍ $ 𝔻 𝕕 ¨ ˙"), ("⃜ ≐ ≑ ≐ ∸ ∔ ⊡", "⃜ ≐ ≑ ≐ ∸ ∔ ⊡"), ("⌆ ∯ ¨ ⇓", "⌆ ∯ ¨ ⇓"), ("⇐ ⇔ ⫤ ⟸", "⇐ ⇔ ⫤ ⟸"), ("⟺ ⟹ ⇒", "⟺ ⟹ ⇒"), ("⊨ ⇑ ⇕ ∥", "⊨ ⇑ ⇕ ∥"), ("↓ ⇓ ↓ ⤓ ⇵", "↓ ⇓ ↓ ⤓ ⇵"), ("̑ ⇊ ⇃ ⇂", "̑ ⇊ ⇃ ⇂"), ("⥐ ⥞ ↽ ⥖", "⥐ ⥞ ↽ ⥖"), ("⥟ ⇁ ⥗ ⊤", "⥟ ⇁ ⥗ ⊤"), ("↧ ⤐ ⌟ ⌌ 𝒟 𝒹 Ѕ ѕ ⧶", "↧ ⤐ ⌟ ⌌ 𝒟 𝒹 Ѕ ѕ ⧶"), ("Đ đ ⋱ ▿ ▾ ⇵ ⥯ ⦦ Џ", "Đ đ ⋱ ▿ ▾ ⇵ ⥯ ⦦ Џ"), ("џ ⟿ É é É é ⩮ Ě", "џ ⟿ É é É é ⩮ Ě"), ("ě ≖ Ê ê Ê ê ≕ Э э ⩷", "ě ≖ Ê ê Ê ê ≕ Э э ⩷"), ("Ė ≑ ė ⅇ ≒ 𝔈 𝔢 ⪚ È è È", "Ė ≑ ė ⅇ ≒ 𝔈 𝔢 ⪚ È è È"), ("è ⪖ ⪘ ⪙ ∈ ⏧ ℓ ⪕ ⪗ Ē", "è ⪖ ⪘ ⪙ ∈ ⏧ ℓ ⪕ ⪗ Ē"), ("ē ∅ ∅ ◻ ∅ ▫", "ē ∅ ∅ ◻ ∅ ▫"), ("\u2004 \u2005 \u2003 Ŋ ŋ Ę ę 𝔼 𝕖", "      Ŋ ŋ Ę ę 𝔼 𝕖"), ("⋕ ⧣ ⩱ ε Ε ε ϵ ≖ ≕", "⋕ ⧣ ⩱ ε Ε ε ϵ ≖ ≕"), ("≂ ⪖ ⪕ ⩵ = ≂ ≟", "≂ ⪖ ⪕ ⩵ = ≂ ≟"), ("⇌ ≡ ⩸ ⧥ ⥱ ≓ ℰ ℯ", "⇌ ≡ ⩸ ⧥ ⥱ ≓ ℰ ℯ"), ("≐ ⩳ ≂ Η η Ð ð Ð ð Ë ë Ë", "≐ ⩳ ≂ Η η Ð ð Ð ð Ë ë Ë"), ("ë € ! ∃ ∃ ℰ ⅇ", "ë € ! ∃ ∃ ℰ ⅇ"), ("ⅇ ≒ Ф ф ♀ ffi ff ffl", "ⅇ ≒ Ф ф ♀ ffi ff ffl"), ("𝔉 𝔣 fi ◼ ▪ ♭ fl", "𝔉 𝔣 fi ◼ ▪ ♭ fl"), ("▱ ƒ 𝔽 𝕗 ∀ ∀ ⋔ ⫙ ℱ", "▱ ƒ 𝔽 𝕗 ∀ ∀ ⋔ ⫙ ℱ"), ("⨍ ½ ½ ⅓ ¼ ¼ ⅕ ⅙", "⨍ ½ ½ ⅓ ¼ ¼ ⅕ ⅙"), ("⅛ ⅔ ⅖ ¾ ¾ ⅗ ⅜ ⅘", "⅛ ⅔ ⅖ ¾ ¾ ⅗ ⅜ ⅘"), ("⅚ ⅝ ⅞ ⁄ ⌢ ℱ 𝒻 ǵ Γ", "⅚ ⅝ ⅞ ⁄ ⌢ ℱ 𝒻 ǵ Γ"), ("γ Ϝ ϝ ⪆ Ğ ğ Ģ Ĝ ĝ", "γ Ϝ ϝ ⪆ Ğ ğ Ģ Ĝ ĝ"), ("Г г Ġ ġ ≧ ≥ ⪌ ⋛ ≥ ≧ ⩾", "Г г Ġ ġ ≧ ≥ ⪌ ⋛ ≥ ≧ ⩾"), ("⪩ ⪀ ⪂ ⪄ ⪔ 𝔊 𝔤 ⋙ ≫ ⋙", "⪩ ⪀ ⪂ ⪄ ⪔ 𝔊 𝔤 ⋙ ≫ ⋙"), ("ℷ Ѓ ѓ ≷ ⪥ ⪒ ⪤ ⪊ ⪊ ≩ ⪈", "ℷ Ѓ ѓ ≷ ⪥ ⪒ ⪤ ⪊ ⪊ ≩ ⪈"), ("⪈ ≩ ⋧ 𝔾 𝕘 ` ≥ ⋛", "⪈ ≩ ⋧ 𝔾 𝕘 ` ≥ ⋛"), ("≧ ⪢ ≷ ⩾", "≧ ⪢ ≷ ⩾"), ("≳ 𝒢 ℊ ≳ ⪎ ⪐ > > ≫ >", "≳ 𝒢 ℊ ≳ ⪎ ⪐ > > ≫ >"), ("⪧ ⩺ ⋗ ⦕ ⩼ ⪆ ⥸ ⋗", "⪧ ⩺ ⋗ ⦕ ⩼ ⪆ ⥸ ⋗"), ("⋛ ⪌ ≷ ≳ ˇ \u200a ½ ℋ", "⋛ ⪌ ≷ ≳ ˇ   ½ ℋ"), ("Ъ ъ ⇔ ↔ ⥈ ↭ ^ ℏ Ĥ ĥ", "Ъ ъ ⇔ ↔ ⥈ ↭ ^ ℏ Ĥ ĥ"), ("♥ … ⊹ ℌ 𝔥 ℋ ⤥", "♥ … ⊹ ℌ 𝔥 ℋ ⤥"), ("⤦ ⇿ ∻ ↩ ↪ ℍ 𝕙", "⤦ ⇿ ∻ ↩ ↪ ℍ 𝕙"), ("― ─ ℋ 𝒽 ℏ Ħ ħ", "― ─ ℋ 𝒽 ℏ Ħ ħ"), ("≎ ≏ ⁃ ‐ Í í Í", "≎ ≏ ⁃ ‐ Í í Í"), ("í ⁣ Î î Î î И и İ Е е", "í ⁣ Î î Î î И и İ Е е"), ("¡ ¡ ⇔ ℑ 𝔦 Ì ì Ì ì ⅈ", "¡ ¡ ⇔ ℑ 𝔦 Ì ì Ì ì ⅈ"), ("⨌ ∭ ⧜ ℩ IJ ij ℑ Ī ī ℑ", "⨌ ∭ ⧜ ℩ IJ ij ℑ Ī ī ℑ"), ("ⅈ ℐ ℑ ı ⊷ Ƶ ⇒ ∈", "ⅈ ℐ ℑ ı ⊷ Ƶ ⇒ ∈"), ("℅ ∞ ⧝ ı ∬ ∫ ⊺ ℤ", "℅ ∞ ⧝ ı ∬ ∫ ⊺ ℤ"), ("∫ ⊺ ⋂ ⨗ ⨼ ⁣", "∫ ⊺ ⋂ ⨗ ⨼ ⁣"), ("⁢ Ё ё Į į 𝕀 𝕚 Ι ι", "⁢ Ё ё Į į 𝕀 𝕚 Ι ι"), ("⨼ ¿ ¿ ℐ 𝒾 ∈ ⋵ ⋹ ⋴", "⨼ ¿ ¿ ℐ 𝒾 ∈ ⋵ ⋹ ⋴"), ("⋳ ∈ ⁢ Ĩ ĩ І і Ï ï Ï", "⋳ ∈ ⁢ Ĩ ĩ І і Ï ï Ï"), ("ï Ĵ ĵ Й й 𝔍 𝔧 ȷ 𝕁 𝕛 𝒥", "ï Ĵ ĵ Й й 𝔍 𝔧 ȷ 𝕁 𝕛 𝒥"), ("𝒿 Ј ј Є є Κ κ ϰ Ķ", "𝒿 Ј ј Є є Κ κ ϰ Ķ"), ("ķ К к 𝔎 𝔨 ĸ Х х Ќ ќ 𝕂", "ķ К к 𝔎 𝔨 ĸ Х х Ќ ќ 𝕂"), ("𝕜 𝒦 𝓀 ⇚ Ĺ ĺ ⦴ ℒ Λ", "𝕜 𝒦 𝓀 ⇚ Ĺ ĺ ⦴ ℒ Λ"), ("λ ⟪ ⟨ ⦑ ⟨ ⪅ ℒ « «", "λ ⟪ ⟨ ⦑ ⟨ ⪅ ℒ « «"), ("↞ ⇐ ← ⇤ ⤟ ⤝ ↩ ↫ ⤹", "↞ ⇐ ← ⇤ ⤟ ⤝ ↩ ↫ ⤹"), ("⥳ ↢ ⪫ ⤛ ⤙ ⪭ ⤎ ⤌ ❲", "⥳ ↢ ⪫ ⤛ ⤙ ⪭ ⤎ ⤌ ❲"), ("{ [ ⦋ ⦏ ⦍ Ľ ľ Ļ", "{ [ ⦋ ⦏ ⦍ Ľ ľ Ļ"), ("ļ ⌈ { Л л ⤶ “ „ ⥧", "ļ ⌈ { Л л ⤶ “ „ ⥧"), ("⥋ ↲ ≦ ≤ ⟨ ← ⇐", "⥋ ↲ ≦ ≤ ⟨ ← ⇐"), ("← ⇤ ⇆ ↢ ⌈", "← ⇤ ⇆ ↢ ⌈"), ("⟦ ⥡ ⇃ ⥙", "⟦ ⥡ ⇃ ⥙"), ("⌊ ↽ ↼ ⇇", "⌊ ↽ ↼ ⇇"), # ("↔ ⇔ ↔ ⇆", "↔ ⇔ ↔ ⇆"), # ("⇋ ↭ ⥎ ⊣", "⇋ ↭ ⥎ ⊣"), # ("↤ ⥚ ⋋ ⊲", "↤ ⥚ ⋋ ⊲"), # ("⧏ ⊴ ⥑ ⥠", "⧏ ⊴ ⥑ ⥠"), # ("↿ ⥘ ↼ ⥒ ⪋ ⋚", "↿ ⥘ ↼ ⥒ ⪋ ⋚"), # ("≤ ≦ ⩽ ⩽ ⪨ ⩿ ⪁ ⪃ ⪓", "≤ ≦ ⩽ ⩽ ⪨ ⩿ ⪁ ⪃ ⪓"), # ("⪅ ⋖ ⋚ ⪋ ⋚", "⪅ ⋖ ⋚ ⪋ ⋚"), # ("≦ ≶ ≶ ⪡ ≲ ⩽", "≦ ≶ ≶ ⪡ ≲ ⩽"), # ("≲ ⥼ ⌊ 𝔏 𝔩 ≶ ⪑ ⥢ ↽ ↼", "≲ ⥼ ⌊ 𝔏 𝔩 ≶ ⪑ ⥢ ↽ ↼"), # ("⥪ ▄ Љ љ ⋘ ≪ ⇇ ⌞ ⇚", "⥪ ▄ Љ љ ⋘ ≪ ⇇ ⌞ ⇚"), # ("⥫ ◺ Ŀ ŀ ⎰ ⎰ ⪉ ⪉", "⥫ ◺ Ŀ ŀ ⎰ ⎰ ⪉ ⪉"), # ("≨ ⪇ ⪇ ≨ ⋦ ⟬ ⇽ ⟦ ⟵", "≨ ⪇ ⪇ ≨ ⋦ ⟬ ⇽ ⟦ ⟵"), # ("⟸ ⟵ ⟷ ⟺", "⟸ ⟵ ⟷ ⟺"), # ("⟷ ⟼ ⟶ ⟹", "⟷ ⟼ ⟶ ⟹"), # ("⟶ ↫ ↬ ⦅ 𝕃 𝕝", "⟶ ↫ ↬ ⦅ 𝕃 𝕝"), # ("⨭ ⨴ ∗ _ ↙ ↘ ◊", "⨭ ⨴ ∗ _ ↙ ↘ ◊"), # ("◊ ⧫ ( ⦓ ⇆ ⌟ ⇋ ⥭ ‎", "◊ ⧫ ( ⦓ ⇆ ⌟ ⇋ ⥭ ‎"), # ("⊿ ‹ ℒ 𝓁 ↰ ↰ ≲ ⪍ ⪏ [", "⊿ ‹ ℒ 𝓁 ↰ ↰ ≲ ⪍ ⪏ ["), # ("‘ ‚ Ł ł < < < ≪ < ⪦ ⩹", "‘ ‚ Ł ł < < < ≪ < ⪦ ⩹"), # ("⋖ ⋋ ⋉ ⥶ ⩻ ◃ ⊴ ◂ ⦖", "⋖ ⋋ ⋉ ⥶ ⩻ ◃ ⊴ ◂ ⦖"), # ("⥊ ⥦ ¯ ¯ ♂ ✠ ✠ ⤅ ↦", "⥊ ⥦ ¯ ¯ ♂ ✠ ✠ ⤅ ↦"), # ("↦ ↧ ↤ ↥ ▮ ⨩ М м", "↦ ↧ ↤ ↥ ▮ ⨩ М м"), # ("— ∺ ∡   ℳ 𝔐 𝔪 ℧", "— ∺ ∡   ℳ 𝔐 𝔪 ℧"), # ("µ µ ∣ * ⫰ · · − ⊟", "µ µ ∣ * ⫰ · · − ⊟"), # ("∸ ⨪ ∓ ⫛ … ∓ ⊧ 𝕄 𝕞", "∸ ⨪ ∓ ⫛ … ∓ ⊧ 𝕄 𝕞"), # ("∓ ℳ 𝓂 ∾ Μ μ ⊸ ⊸ ∇ Ń", "∓ ℳ 𝓂 ∾ Μ μ ⊸ ⊸ ∇ Ń"), # ("ń ≉ ʼn ≉ ♮ ♮ ℕ    ", "ń ≉ ʼn ≉ ♮ ♮ ℕ    "), # ("⩃ Ň ň Ņ ņ ≇ ⩂ Н н –", "⩃ Ň ň Ņ ņ ≇ ⩂ Н н –"), # ("≠ ⤤ ⇗ ↗ ↗ ​", "≠ ⤤ ⇗ ↗ ↗ ​"), # ("​ ​ ​ ≢", "​ ​ ​ ≢"), # ("⤨ ≫ ≪ \n # ∄ ∄", "⤨ ≫ ≪ ∄ ∄"), # ("𝔑 𝔫 ≱ ≱ ≵ ≯ ≯ ⇎ ↮ ⫲ ∋", "𝔑 𝔫 ≱ ≱ ≵ ≯ ≯ ⇎ ↮ ⫲ ∋"), # ("⋼ ⋺ ∋ Њ њ ⇍ ↚ ‥ ≰ ⇍", "⋼ ⋺ ∋ Њ њ ⇍ ↚ ‥ ≰ ⇍"), # ("↚ ⇎ ↮ ≰ ≮ ≴ ≮", "↚ ⇎ ↮ ≰ ≮ ≴ ≮"), # ("⋪ ⋬ ∤ ⁠   ℕ 𝕟 ¬ ⫬", "⋪ ⋬ ∤ ⁠   ℕ 𝕟 ¬ ⫬"), # ("¬ ≢ ≭ ∦ ∉", "¬ ≢ ≭ ∦ ∉"), # ("≠ ∄ ≯ ≱ ≹", "≠ ∄ ≯ ≱ ≹"), # ("≵ ∉ ∉ ⋷ ⋶ ⋪", "≵ ∉ ∉ ⋷ ⋶ ⋪"), # ("⋬ ≮ ≰ ≸", "⋬ ≮ ≰ ≸"), # ("≴ ∌ ∌ ⋾ ⋽ ⊀", "≴ ∌ ∌ ⋾ ⋽ ⊀"), # ("⋠ ∌ ⋫", "⋠ ∌ ⋫"), # ("⋭ ⋢ ⋣", "⋭ ⋢ ⋣"), # ("⊈ ⊁ ⋡ ⊉", "⊈ ⊁ ⋡ ⊉"), # ("≁ ≄ ≇ ≉", "≁ ≄ ≇ ≉"), # ("∤ ∦ ∦ ⨔ ⊀ ⋠ ⊀ ⇏", "∤ ∦ ∦ ⨔ ⊀ ⋠ ⊀ ⇏"), # ("↛ ⇏ ↛ ⋫ ⋭ ⊁ ⋡ 𝒩", "↛ ⇏ ↛ ⋫ ⋭ ⊁ ⋡ 𝒩"), # ("𝓃 ∤ ∦ ≁ ≄ ≄ ∤ ∦", "𝓃 ∤ ∦ ≁ ≄ ≄ ∤ ∦"), # ("⋢ ⋣ ⊄ ⊈ ⊈ ⊁ ⊅ ⊉", "⋢ ⋣ ⊄ ⊈ ⊈ ⊁ ⊅ ⊉"), # ("⊉ ≹ Ñ ñ Ñ ñ ≸ ⋪", "⊉ ≹ Ñ ñ Ñ ñ ≸ ⋪"), # ("⋬ ⋫ ⋭ Ν ν # №", "⋬ ⋫ ⋭ Ν ν # №"), # ("  ⊯ ⊮ ⊭ ⊬ ⤄ ⧞ ⤂", "  ⊯ ⊮ ⊭ ⊬ ⤄ ⧞ ⤂"), # ("⤃ ⤣ ⇖ ↖ ↖ ⤧ Ó ó", "⤃ ⤣ ⇖ ↖ ↖ ⤧ Ó ó"), # ("Ó ó ⊛ ⊚ Ô ô Ô ô О о", "Ó ó ⊛ ⊚ Ô ô Ô ô О о"), # ("⊝ Ő ő ⨸ ⊙ ⦼ Œ œ ⦿ 𝔒", "⊝ Ő ő ⨸ ⊙ ⦼ Œ œ ⦿ 𝔒"), # ("𝔬 ˛ Ò ò Ò ò ⧁ ⦵ Ω ∮", "𝔬 ˛ Ò ò Ò ò ⧁ ⦵ Ω ∮"), # ("↺ ⦾ ⦻ ‾ ⧀ Ō ō Ω ω", "↺ ⦾ ⦻ ‾ ⧀ Ō ō Ω ω"), # ("Ο ο ⦶ ⊖ 𝕆 𝕠 ⦷", "Ο ο ⦶ ⊖ 𝕆 𝕠 ⦷"), # ("“ ‘ ⦹ ⊕ ⩔ ∨ ↻", "“ ‘ ⦹ ⊕ ⩔ ∨ ↻"), # ("⩝ ℴ ℴ ª ª º º ⊶ ⩖ ⩗", "⩝ ℴ ℴ ª ª º º ⊶ ⩖ ⩗"), # ("⩛ Ⓢ 𝒪 ℴ Ø ø Ø ø ⊘ Õ", "⩛ Ⓢ 𝒪 ℴ Ø ø Ø ø ⊘ Õ"), # ("õ Õ õ ⨷ ⊗ ⨶ Ö ö Ö", "õ Õ õ ⨷ ⊗ ⨶ Ö ö Ö"), # ("ö ⌽ ‾ ⏞ ⎴ ⏜ ∥", "ö ⌽ ‾ ⏞ ⎴ ⏜ ∥"), # ("¶ ¶ ∥ ⫳ ⫽ ∂ ∂ П п", "¶ ¶ ∥ ⫳ ⫽ ∂ ∂ П п"), # ("% . ‰ ⊥ ‱ 𝔓 𝔭 Φ φ ϕ", "% . ‰ ⊥ ‱ 𝔓 𝔭 Φ φ ϕ"), # ("ℳ ☎ Π π ⋔ ϖ ℏ ℎ ℏ", "ℳ ☎ Π π ⋔ ϖ ℏ ℎ ℏ"), # ("+ ⨣ ⊞ ⨢ ∔ ⨥ ⩲ ±", "+ ⨣ ⊞ ⨢ ∔ ⨥ ⩲ ±"), # ("± ± ⨦ ⨧ ± ℌ ⨕ ℙ", "± ± ⨦ ⨧ ± ℌ ⨕ ℙ"), # ("𝕡 £ £ ⪻ ≺ ⪷ ≼ ⪳ ⪯ ≺", "𝕡 £ £ ⪻ ≺ ⪷ ≼ ⪳ ⪯ ≺"), # ("⪷ ≼ ≺ ⪯ ≼", "⪷ ≼ ≺ ⪯ ≼"), # ("≾ ⪯ ⪹ ⪵ ⋨ ≾ ″", "≾ ⪯ ⪹ ⪵ ⋨ ≾ ″"), # ("′ ℙ ⪹ ⪵ ⋨ ∏ ∏ ⌮", "′ ℙ ⪹ ⪵ ⋨ ∏ ∏ ⌮"), # ("⌒ ⌓ ∝ ∷ ∝ ∝ ≾", "⌒ ⌓ ∝ ∷ ∝ ∝ ≾"), # ("⊰ 𝒫 𝓅 Ψ ψ   𝔔 𝔮 ⨌ ℚ 𝕢", "⊰ 𝒫 𝓅 Ψ ψ   𝔔 𝔮 ⨌ ℚ 𝕢"), # ("⁗ 𝒬 𝓆 ℍ ⨖ ? ≟ " "", "⁗ 𝒬 𝓆 ℍ ⨖ ? ≟ " ""), # ("" " ⇛ Ŕ ŕ √ ⦳ ⟫ ⟩", "" " ⇛ Ŕ ŕ √ ⦳ ⟫ ⟩"), # ("⦒ ⦥ ⟩ » » ↠ ⇒ → ⥵ ⇥", "⦒ ⦥ ⟩ » » ↠ ⇒ → ⥵ ⇥"), # ("⤠ ⤳ ⤞ ↪ ↬ ⥅ ⥴ ⤖", "⤠ ⤳ ⤞ ↪ ↬ ⥅ ⥴ ⤖"), # ("↣ ↝ ⤜ ⤚ ∶ ℚ ⤐ ⤏ ⤍", "↣ ↝ ⤜ ⤚ ∶ ℚ ⤐ ⤏ ⤍"), # ("❳ } ] ⦌ ⦎ ⦐ Ř ř", "❳ } ] ⦌ ⦎ ⦐ Ř ř"), # ("Ŗ ŗ ⌉ } Р р ⤷ ⥩ ” ”", "Ŗ ŗ ⌉ } Р р ⤷ ⥩ ” ”"), # ("↳ ℜ ℜ ℛ ℜ ℝ ▭ ® ® ® ®", "↳ ℜ ℜ ℛ ℜ ℝ ▭ ® ® ® ®"), # ("∋ ⇋ ⥯ ⥽ ⌋", "∋ ⇋ ⥯ ⥽ ⌋"), # ("ℜ 𝔯 ⥤ ⇁ ⇀ ⥬ Ρ ρ ϱ", "ℜ 𝔯 ⥤ ⇁ ⇀ ⥬ Ρ ρ ϱ"), # ("⟩ → ⇒ → ⇥", "⟩ → ⇒ → ⇥"), # ("⇄ ↣ ⌉ ⟧", "⇄ ↣ ⌉ ⟧"), # ("⥝ ⇂ ⥕ ⌋", "⥝ ⇂ ⥕ ⌋"), # ("⇁ ⇀ ⇄ ⇌", "⇁ ⇀ ⇄ ⇌"), # ("⇉ ↝ ⊢ ↦", "⇉ ↝ ⊢ ↦"), # ("⥛ ⋌ ⊳ ⧐", "⥛ ⋌ ⊳ ⧐"), # ("⊵ ⥏ ⥜ ↾", "⊵ ⥏ ⥜ ↾"), # ("⥔ ⇀ ⥓ ˚ ≓", "⥔ ⇀ ⥓ ˚ ≓"), # ("⇄ ⇌ ‏ ⎱ ⎱ ⫮ ⟭ ⇾ ⟧", "⇄ ⇌ ‏ ⎱ ⎱ ⫮ ⟭ ⇾ ⟧"), # ("⦆ ℝ 𝕣 ⨮ ⨵ ⥰ ) ⦔", "⦆ ℝ 𝕣 ⨮ ⨵ ⥰ ) ⦔"), # ("⨒ ⇉ ⇛ › ℛ 𝓇 ↱ ↱ ]", "⨒ ⇉ ⇛ › ℛ 𝓇 ↱ ↱ ]"), # ("’ ’ ⋌ ⋊ ▹ ⊵ ▸ ⧎", "’ ’ ⋌ ⋊ ▹ ⊵ ▸ ⧎"), # ("⧴ ⥨ ℞ Ś ś ‚ ⪼ ≻ ⪸", "⧴ ⥨ ℞ Ś ś ‚ ⪼ ≻ ⪸"), # ("Š š ≽ ⪴ ⪰ Ş ş Ŝ ŝ", "Š š ≽ ⪴ ⪰ Ş ş Ŝ ŝ"), # ("⪺ ⪶ ⋩ ⨓ ≿ С с ⋅ ⊡ ⩦", "⪺ ⪶ ⋩ ⨓ ≿ С с ⋅ ⊡ ⩦"), # ("⤥ ⇘ ↘ ↘ § § ; ⤩ ∖", "⤥ ⇘ ↘ ↘ § § ; ⤩ ∖"), # ("∖ ✶ 𝔖 𝔰 ⌢ ♯ Щ щ Ш ш", "∖ ✶ 𝔖 𝔰 ⌢ ♯ Щ щ Ш ш"), # ("↓ ← ∣ ∥ →", "↓ ← ∣ ∥ →"), # ("↑ ­ ­ Σ σ ς ς ∼ ⩪", "↑ ­ ­ Σ σ ς ς ∼ ⩪"), # ("≃ ≃ ⪞ ⪠ ⪝ ⪟ ≆ ⨤ ⥲", "≃ ≃ ⪞ ⪠ ⪝ ⪟ ≆ ⨤ ⥲"), # ("← ∘ ∖ ⨳ ⧤ ∣ ⌣ ⪪", "← ∘ ∖ ⨳ ⧤ ∣ ⌣ ⪪"), # ("⪬ Ь ь / ⧄ ⌿ 𝕊 𝕤 ♠", "⪬ Ь ь / ⧄ ⌿ 𝕊 𝕤 ♠"), # ("♠ ∥ ⊓ ⊔ √ ⊏ ⊑ ⊏", "♠ ∥ ⊓ ⊔ √ ⊏ ⊑ ⊏"), # ("⊑ ⊐ ⊒ ⊐ ⊒ □ □ □", "⊑ ⊐ ⊒ ⊐ ⊒ □ □ □"), # ("⊓ ⊏ ⊑ ⊐", "⊓ ⊏ ⊑ ⊐"), # ("⊒ ⊔ ▪ ▪ → 𝒮 𝓈", "⊒ ⊔ ▪ ▪ → 𝒮 𝓈"), # ("∖ ⌣ ⋆ ⋆ ☆ ★ ϵ", "∖ ⌣ ⋆ ⋆ ☆ ★ ϵ"), # ("ϕ ¯ ⋐ ⊂ ⪽ ⫅ ⊆ ⫃ ⫁", "ϕ ¯ ⋐ ⊂ ⪽ ⫅ ⊆ ⫃ ⫁"), # ("⫋ ⊊ ⪿ ⥹ ⋐ ⊂ ⊆ ⫅", "⫋ ⊊ ⪿ ⥹ ⋐ ⊂ ⊆ ⫅"), # ("⊆ ⊊ ⫋ ⫇ ⫕ ⫓ ≻", "⊆ ⊊ ⫋ ⫇ ⫕ ⫓ ≻"), # ("⪸ ≽ ≻ ⪰ ≽", "⪸ ≽ ≻ ⪰ ≽"), # ("≿ ⪰ ⪺ ⪶ ⋩ ≿", "≿ ⪰ ⪺ ⪶ ⋩ ≿"), # ("∋ ∑ ∑ ♪ ¹ ¹ ² ² ³ ³ ⋑", "∋ ∑ ∑ ♪ ¹ ¹ ² ² ³ ³ ⋑"), # ("⊃ ⪾ ⫘ ⫆ ⊇ ⫄ ⊃ ⊇", "⊃ ⪾ ⫘ ⫆ ⊇ ⫄ ⊃ ⊇"), # ("⟉ ⫗ ⥻ ⫂ ⫌ ⊋ ⫀ ⋑", "⟉ ⫗ ⥻ ⫂ ⫌ ⊋ ⫀ ⋑"), # ("⊃ ⊇ ⫆ ⊋ ⫌ ⫈ ⫔", "⊃ ⊇ ⫆ ⊋ ⫌ ⫈ ⫔"), # ("⫖ ⤦ ⇙ ↙ ↙ ⤪ ß ß ", "⫖ ⤦ ⇙ ↙ ↙ ⤪ ß ß "), # ("⌖ Τ τ ⎴ Ť ť Ţ ţ Т т", "⌖ Τ τ ⎴ Ť ť Ţ ţ Т т"), # ("⃛ ⌕ 𝔗 𝔱 ∴ ∴ ∴ Θ θ", "⃛ ⌕ 𝔗 𝔱 ∴ ∴ ∴ Θ θ"), # ("ϑ ϑ ≈ ∼     ≈", "ϑ ϑ ≈ ∼     ≈"), # ("∼ Þ þ Þ þ ∼ ˜ ≃", "∼ Þ þ Þ þ ∼ ˜ ≃"), # ("≅ ≈ × × ⊠ ⨱ ⨰", "≅ ≈ × × ⊠ ⨱ ⨰"), # ("∭ ⤨ ⊤ ⌶ ⫱ 𝕋 𝕥 ⫚ ⤩ ‴", "∭ ⤨ ⊤ ⌶ ⫱ 𝕋 𝕥 ⫚ ⤩ ‴"), # ("™ ™ ▵ ▿ ◃ ⊴", "™ ™ ▵ ▿ ◃ ⊴"), # ("≜ ▹ ⊵ ◬ ≜ ⨺", "≜ ▹ ⊵ ◬ ≜ ⨺"), # ("⃛ ⨹ ⧍ ⨻ ⏢ 𝒯 𝓉 Ц ц", "⃛ ⨹ ⧍ ⨻ ⏢ 𝒯 𝓉 Ц ц"), # ("Ћ ћ Ŧ ŧ ≬ ↞", "Ћ ћ Ŧ ŧ ≬ ↞"), # ("↠ Ú ú Ú ú ↟ ⇑ ↑", "↠ Ú ú Ú ú ↟ ⇑ ↑"), # ("⥉ Ў ў Ŭ ŭ Û û Û û", "⥉ Ў ў Ŭ ŭ Û û Û û"), # ("У у ⇅ Ű ű ⥮ ⥾ 𝔘 𝔲 Ù", "У у ⇅ Ű ű ⥮ ⥾ 𝔘 𝔲 Ù"), # ("ù Ù ù ⥣ ↿ ↾ ▀ ⌜ ⌜", "ù Ù ù ⥣ ↿ ↾ ▀ ⌜ ⌜"), # ("⌏ ◸ Ū ū ¨ ¨ _ ⏟", "⌏ ◸ Ū ū ¨ ¨ _ ⏟"), # ("⎵ ⏝ ⋃ ⊎ Ų ų 𝕌", "⎵ ⏝ ⋃ ⊎ Ų ų 𝕌"), # ("𝕦 ↑ ⇑ ↑ ⤒ ⇅", "𝕦 ↑ ⇑ ↑ ⤒ ⇅"), # ("↕ ⇕ ↕ ⥮ ↿", "↕ ⇕ ↕ ⥮ ↿"), # ("↾ ⊎ ↖ ↗ ϒ υ", "↾ ⊎ ↖ ↗ ϒ υ"), # ("ϒ Υ υ ⊥ ↥ ⇈ ⌝", "ϒ Υ υ ⊥ ↥ ⇈ ⌝"), # ("⌝ ⌎ Ů ů ◹ 𝒰 𝓊 ⋰ Ũ", "⌝ ⌎ Ů ů ◹ 𝒰 𝓊 ⋰ Ũ"), # ("ũ ▵ ▴ ⇈ Ü ü Ü ü ⦧ ⦜", "ũ ▵ ▴ ⇈ Ü ü Ü ü ⦧ ⦜"), # ("ϵ ϰ ∅ ϕ ϖ ∝ ⇕", "ϵ ϰ ∅ ϕ ϖ ∝ ⇕"), # ("↕ ϱ ς ϑ ⊲ ⊳", "↕ ϱ ς ϑ ⊲ ⊳"), # ("⫫ ⫨ ⫩ В в ⊫ ⊩ ⊨ ⊢ ⫦", "⫫ ⫨ ⫩ В в ⊫ ⊩ ⊨ ⊢ ⫦"), # ("⋁ ∨ ⊻ ≚ ⋮ ‖ | ‖ |", "⋁ ∨ ⊻ ≚ ⋮ ‖ | ‖ |"), # ("∣ | ❘ ≀", "∣ | ❘ ≀"), # ("  𝔙 𝔳 ⊲ 𝕍 𝕧 ∝ ⊳ 𝒱", "  𝔙 𝔳 ⊲ 𝕍 𝕧 ∝ ⊳ 𝒱"), # ("𝓋 ⊪ ⦚ Ŵ ŵ ⩟ ⋀ ∧ ≙", "𝓋 ⊪ ⦚ Ŵ ŵ ⩟ ⋀ ∧ ≙"), # ("℘ 𝔚 𝔴 𝕎 𝕨 ℘ ≀ ≀ 𝒲 𝓌 ⋂", "℘ 𝔚 𝔴 𝕎 𝕨 ℘ ≀ ≀ 𝒲 𝓌 ⋂"), # ("◯ ⋃ ▽ 𝔛 𝔵 ⟺ ⟷ Ξ ξ ⟸ ⟵", "◯ ⋃ ▽ 𝔛 𝔵 ⟺ ⟷ Ξ ξ ⟸ ⟵"), # ("⟼ ⋻ ⨀ 𝕏 𝕩 ⨁ ⨂ ⟹ ⟶ 𝒳", "⟼ ⋻ ⨀ 𝕏 𝕩 ⨁ ⨂ ⟹ ⟶ 𝒳"), # ("𝓍 ⨆ ⨄ △ ⋁ ⋀ Ý ý Ý", "𝓍 ⨆ ⨄ △ ⋁ ⋀ Ý ý Ý"), # ("ý Я я Ŷ ŷ Ы ы ¥ ¥ 𝔜 𝔶", "ý Я я Ŷ ŷ Ы ы ¥ ¥ 𝔜 𝔶"), # ("Ї ї 𝕐 𝕪 𝒴 𝓎 Ю ю ÿ Ÿ ÿ", "Ї ї 𝕐 𝕪 𝒴 𝓎 Ю ю ÿ Ÿ ÿ"), # ("Ź ź Ž ž З з Ż ż ℨ", "Ź ź Ž ž З з Ż ż ℨ"), # ("​ Ζ ζ ℨ 𝔷 Ж ж ⇝ ℤ", "​ Ζ ζ ℨ 𝔷 Ж ж ⇝ ℤ"), ] @pytest.mark.parametrize("input_string, expected_output", STRINGS_FOR_ENCODE) def test_utf_to_html_mnemo(input_string, expected_output): """ Проверяет ПОВЕДЕНИЕ: кодирование Unicode-строк в HTML-мнемоники. """ # 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