From c4df3ba9c11522942548a09f5cff7eef8bf0f485 Mon Sep 17 00:00:00 2001 From: erjemin Date: Mon, 11 Aug 2025 21:38:49 +0300 Subject: [PATCH] =?UTF-8?q?mod:=20+++++++=D0=BF=D1=80=D0=B8=D0=BE=D1=80?= =?UTF-8?q?=D0=B8=D1=82=D0=B5=D1=82=D1=8B=20=D0=B8=20=D1=82=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D1=8B=20html-=D0=BC=D0=BD=D0=B5=D0=BC=D0=BE=D0=BD=D0=B8?= =?UTF-8?q?=D0=BA=20=D0=B4=D0=BB=D1=8F=20decode=5Fto=5Funicode()?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etpgrf/config.py | 239 +++++++++++++++++++++++--------------------- tests/test_codec.py | 152 +++++++++++++--------------- 2 files changed, 199 insertions(+), 192 deletions(-) diff --git a/etpgrf/config.py b/etpgrf/config.py index 9e2b0b1..9a2c311 100644 --- a/etpgrf/config.py +++ b/etpgrf/config.py @@ -109,6 +109,8 @@ CUSTOM_ENCODE_MAP = { '\u00a8': '¨', # ¨ / ¨ / ¨ / ¨ '\u00b1': '±', # ± / ± / ± '\u00bd': '½', # ½ / ½ / ½ + '\u00af': '¯', # ¯ / ¯ / ¯ + '\u00a8': '¨', # ¨ / ¨ / ¨ '\u201a': '‚', # ‚ / ‚ / ‚ '\u223e': '∾', # ∾ / ∾ / ∾ '\u2207': '∇', # ∇ / ∇ / ∇ @@ -118,18 +120,18 @@ CUSTOM_ENCODE_MAP = { '\u224a': '≊', # ≊ / ≊ / ≊ '\u2254': '≔', # ≔ / ≔ / ≔ / ≔ '\u224d': '≍', # ≍ / ≍ / ≍ - '\u2233': '∳', # ∳ / awconint / CounterClockwiseContourIntegral - '\u224c': '≌', # ≌ / bcong / backcong - '\u03f6': '϶', # ϶ / bepsi / backepsilon - '\u2035': '‵', # ‵ / bprime / backprime - '\u223d': '∽', # ∽ / bsim / backsim - '\u22cd': '⋍', # ⋍ / bsime / backsimeq + '\u2233': '∳', # ∳ / ∳ / ∳ + '\u224c': '≌', # ≌ / ≌ / ≌ + '\u03f6': '϶', # ϶ / ϶ / ϶ + '\u2035': '‵', # ‵ / ‵ / ‵ + '\u223d': '∽', # ∽ / ∽ / ∽ + '\u22cd': '⋍', # ⋍ / ⋍ / ⋍ '\u2216': '∖', # ∖ / ∖ / ∖ / ∖ / ∖ / ∖ - '\u2306': '⌆', # ⌆ / Barwed / doublebarwedge - '\u2305': '⌅', # ⌅ / barwed / barwedge - '\u23b5': '⎵', # ⎵ / bbrk / UnderBracket - '\u2235': '∵', # ∵ / becaus / because / Because - '\u212c': 'ℬ', # ℬ / Bscr / bernou / Bernoullis + '\u2306': '⌆', # ⌆ / ⌆ / ⌆ + '\u2305': '⌅', # ⌅ / ⌅ / ⌅ + '\u23b5': '⎵', # ⎵ / ⎵ / ⎵ + '\u2235': '∵', # ∵ / ∵ / ∵ / ∵ + '\u212c': 'ℬ', # ℬ / ℬ / ℬ / ℬ '\u2264': '≤', # ≤ / ≤ / ≤ '\u226c': '≬', # ≬ / ≬ / ≬ '\u22c2': '⋂', # ⋂ / ⋂ / ⋂ / ⋂ @@ -144,8 +146,9 @@ CUSTOM_ENCODE_MAP = { '\u25b3': '△', # △ / △ / △ '\u2a04': '⨄', # ⨄ / ⨄ / ⨄ '\u22c1': '⋁', # ⋁ / ⋁ / ⋁ / ⋁ - '\u22c0': '⋀', # ⋀ / Wedge / ⋀ / $bigwedge; - '\u290d': '⤍', # ⤍ / rbarr / bkarow + '\u22c0': '⋀', # ⋀ / ⋀ / ⋀ / $bigwedge; + '\u2227': '∧', # ∧ / ∧ / ∧ + '\u290d': '⤍', # ⤍ / ⤍ / ⤍ '\u29eb': '⧫', # ⧫ / ⧫ / ⧫ '\u25ca': '◊', # ◊ / ◊ / &lozenge '\u25aa': '▪', # ▪ / ▪ / ▪ / ▪ / ▪ @@ -158,74 +161,73 @@ CUSTOM_ENCODE_MAP = { '\u229f': '⊟', # ⊟ / ⊟ / ⊟ '\u229e': '⊞', # ⊞ / ⊞ / ⊞ '\u22a0': '⊠', # ⊠ / ⊠ / ⊠ - '\u02d8': '˘', # ˘ / breve / Breve + '\u02d8': '˘', # ˘ / ˘ / ˘ '\u224e': '≎', # ≎ / ≎ / ≎ / ≎ '\u224f': '≏', # ≏ / ≏ / ≏ / ≏ '\u2145': 'ⅅ', # ⅅ / ⅅ / ⅅ '\u02c7': 'ˇ', # ˇ / ˇ / ˇ - '\u212d': 'ℭ', # ℭ / Cfr / Cayleys - '\u2713': '✓', # ✓ / check / checkmark - '\u2257': '≗', # ≗ / cire / circeq - '\u21ba': '↺', # ↺ / olarr / circlearrowleft - '\u21bb': '↻', # ↻ / orarr / circlearrowright + '\u212d': 'ℭ', # ℭ / ℭ / ℭ + '\u2713': '✓', # ✓ / ✓ / ✓ + '\u2257': '≗', # ≗ / ≗ / ≗ + '\u21ba': '↺', # ↺ / ↺ / ↺ + '\u21bb': '↻', # ↻ / ↻ / ↻ '\u229b': '⊛', # ⊛ / ⊛ / ⊛ '\u229a': '⊚', # ⊚ / ⊚ / ⊚ '\u229d': '⊝', # ⊝ / ⊝ / ⊝ - '\u2299': '⊙', # ⊙ / odot / CircleDot + '\u2299': '⊙', # ⊙ / ⊙ / ⊙ '\u2200': '∀', # ∀ / ∀ / ∀ '\u24c8': 'Ⓢ', # Ⓢ / Ⓢ / Ⓢ '\u2296': '⊖', # ⊖ / ⊖ / ⊖ - '\u2232': '∲', # ∲ / cwconint / ClockwiseContourIntegral + '\u2232': '∲', # ∲ / ∲ / ∲ '\u201d': '”', # ” / ” / ” / ” - '\u2019': '’', # ’ / ’ / rsquor / CloseCurlyQuote + '\u2019': '’', # ’ / ’ / ’ / ’ '\u2237': '∷', # ∷ / ∷ / ∷ - '\u2201': '∁', # ∁ / comp / complement - '\u2218': '∘', # ∘ / compfn / SmallCircle - '\u2102': 'ℂ', # ℂ / Copf / complexes - '\u222f': '∯', # ∯ / Conint / DoubleContourIntegral - '\u222e': '∮', # ∮ / oint / conint / ContourIntegral - '\u2210': '∐', # ∐ / coprod / Coproduct - '\u22de': '⋞', # ⋞ / cuepr / curlyeqprec - '\u22df': '⋟', # ⋟ / cuesc / curlyeqsucc - '\u21b6': '↶', # ↶ / cularr / curvearrowleft - '\u21b7': '↷', # ↷ / curarr / curvearrowright - '\u22ce': '⋎', # ⋎ / cuvee / curlyvee - '\u22cf': '⋏', # ⋏ / cuwed / curlywedge + '\u2201': '∁', # ∁ / ∁ / ∁ + '\u2218': '∘', # ∘ / ∘ / ∘ + '\u2102': 'ℂ', # ℂ / ℂ / ℂ + '\u222f': '∯', # ∯ / ∯ / ∯ + '\u222e': '∮', # ∮ / ∮ / ∮ / ∮ + '\u2210': '∐', # ∐ / ∐ / ∐ + '\u22de': '⋞', # ⋞ / ⋞ / ⋞ + '\u22df': '⋟', # ⋟ / ⋟ / ⋟ + '\u21b6': '↶', # ↶ / ↶ / ↶ + '\u21b7': '↷', # ↷ / ↷ / ↷ + '\u22ce': '⋎', # ⋎ / ⋎ / ⋎ + '\u22cf': '⋏', # ⋏ / ⋏ / ⋏ '\u2010': '‐', # ‐ / ‐ / ‐ - '\u2ae4': '⫤', # ⫤ / Dashv / DoubleLeftTee + '\u2ae4': '⫤', # ⫤ / ⫤ / ⫤ '\u22a3': '⊣', # ⊣ / ⊣ / ⊣ '\u290f': '⤏', # ⤏ / ⤏ / ⤏ - '\u02dd': '˝', # ˝ / dblac / DiacriticalDoubleAcute - '\u2146': 'ⅆ', # ⅆ / dd / DifferentialD - '\u21ca': '⇊', # ⇊ / ddarr / downdownarrows - '\u2a77': '⩷', # ⩷ / eDDot / ddotseq + '\u02dd': '˝', # ˝ / ˝ / ˝ + '\u2146': 'ⅆ', # ⅆ / ⅆ / ⅆ + '\u21ca': '⇊', # ⇊ / ⇊ / ⇊ + '\u2a77': '⩷', # ⩷ / ⩷ / ⩷ '\u21c3': '⇃', # ⇃ / ⇃ / ⇃ / ⇃ '\u21c2': '⇂', # ⇂ / ⇂ / ⇂ / ⇂ - '\u02d9': '˙', # ˙ / dot / DiacriticalDot + '\u02d9': '˙', # ˙ / ˙ / ˙ '\u222b': '∫', # ∫ / ∫ / ∫ - '\u22c4': '⋄', # ⋄ / diam / diamond / Diamond + '\u22c4': '⋄', # ⋄ / ⋄ / ⋄ / ⋄ '\u03b5': 'ε', # ε / ε / ε - '\u03dd': 'ϝ', # ϝ / gammad / digamma - '\u22c7': '⋇', # ⋇ / divonx / divideontimes + '\u03dd': 'ϝ', # ϝ / ϝ / ϝ + '\u22c7': '⋇', # ⋇ / ⋇ / ⋇ '\u231e': '⌞', # ⌞ / ⌞ / ⌞ - '\u2250': '≐', # ≐ / esdot / doteq / DotEqual - '\u2251': '≑', # ≑ / eDot / doteqdot - '\u2238': '∸', # ∸ / minusd / dotminus - '\u2214': '∔', # ∔ / plusdo / dotplus - '\u22a1': '⊡', # ⊡ / sdotb / dotsquare + '\u2250': '≐', # ≐ / ≐ / ≐ / ≐ + '\u2251': '≑', # ≑ / ≑ / ≑ + '\u2238': '∸', # ∸ / ∸ / ∸ + '\u2214': '∔', # ∔ / ∔ / ∔ + '\u22a1': '⊡', # ⊡ / ⊡ / ⊡ '\u21d3': '⇓', # ⇓ / ⇓ / ⇓ / ⇓ '\u21d0': '⇐', # ⇐ / ⇐ / ⇐ / ⇐ '\u21d4': '⇔', # ⇔ / ⇔ / ⇔ / ⇔ / ⇔ - '\u27f8': '⟸', # ⟸ / xlArr / Longleftarrow / DoubleLongLeftArrow + '\u27f8': '⟸', # ⟸ / ⟸ / ⟸ / ⟸ '\u27fa': '⟺', # ⟺ / ⟺ / ⟺ / ⟺ - '\u27f9': '⟹', # ⟹ / xrArr / Longrightarrow / DoubleLongRightArrow + '\u27f9': '⟹', # ⟹ / ⟹ / ⟹ / ⟹ '\u21d2': '⇒', # ⇒ / ⇒ / ⇒ / ⇒ / ⇒ - '\u22a8': '⊨', # ⊨ / vDash / DoubleRightTee + '\u22a8': '⊨', # ⊨ / ⊨ / ⊨ '\u21d1': '⇑', # ⇑ / ⇑ / ⇑ / ⇑ '\u2202': '∂', # ∂ / ∂ / ∂ - '\u21d5': '⇕', # ⇕ / vArr / Updownarrow / DoubleUpDownArrow + '\u21d5': '⇕', # ⇕ / ⇕ / ⇕ / ⇕ '\u2225': '∥', # ∥ / ∥ / ∥ / ∥ / ∥ / ∥ - '\u2191': '↑', # ↑ / ↑ / ↑ / ↑ '\u2193': '↓', # ↓ / ↓ / ↓ / ↓ / ↓ '\u21f5': '⇵', # ⇵ / ⇵ / ⇵ '\u21bd': '↽', # ↽ / ↽ /↽ / ↽ @@ -237,22 +239,22 @@ CUSTOM_ENCODE_MAP = { '\u25bf': '▿', # ▿ / ▿ / ▿ '\u296f': '⥯', # ⥯ / ⥯ / ⥯ '\u2256': '≖', # ≖ / ≖ / ≖ - '\u2255': '≕', # ≕ / ecolon / eqcolon + '\u2255': '≕', # ≕ / ≕ / ≕ '\u2147': 'ⅇ', # ⅇ / ⅇ / ⅇ / ⅇ '\u2252': '≒', # ≒ / ≒ / ≒ '\u2a96': '⪖', # ⪖ / ⪖ / ⪖ '\u2208': '∈', # ∈ / ∈ / ∈ / ∈ / ∈ '\u2a95': '⪕', # ⪕ / ⪕ / ⪕ '\u2205': '∅', # ∅ / ∅ / ∅ / ∅ / ∅ - '\u03f5': 'ϵ', # ϵ / epsiv / varepsilon / straightepsilon + '\u03f5': 'ϵ', # ϵ / ϵ / ϵ / ϵ '\u2242': '≂', # ≂ / ≂ / ≂ / ≂ '\u225f': '≟', # ≟ / ≟ / ≟ '\u21cc': '⇌', # ⇌ / ⇌ / ⇌ / ⇌ - '\u2253': '≓', # ≓ / erDot / risingdotseq + '\u2253': '≓', # ≓ / ≓ / ≓ '\u2130': 'ℰ', # ℰ / ℰ / ℰ '\u22d4': '⋔', # ⋔ / ⋔ / ⋔ '\u2131': 'ℱ', # ℱ / ℱ / ℱ - '\u2322': '⌢', # ⌢ / frown / sfrown + '\u2322': '⌢', # ⌢ / ⌢ / ⌢ '\u2a86': '⪆', # ⪆ / ⪆ / ⪆ '\u2267': '≧', # ≧ / ≧ / ≧ / ≧ '\u2a8c': '⪌', # ⪌ / ⪌ / ⪌ @@ -289,12 +291,12 @@ CUSTOM_ENCODE_MAP = { '\u2124': 'ℤ', # ℤ / ℤ / ℤ '\u2a3c': '⨼', # ⨼ / ⨼ / ⨼ '\u2062': '⁢', # ⁢ / ⁢ / ⁢ - '\u03f0': 'ϰ', # ϰ / kappav / varkappa + '\u03f0': 'ϰ', # ϰ / ϰ / ϰ '\u21da': '⇚', # ⇚ / ⇚ / ⇚ '\u2112': 'ℒ', # ℒ / ℒ / ℒ / ℒ '\u27e8': '⟨', # ⟨ / ⟨ / ⟨ / ⟨ '\u2a85': '⪅', # ⪅ / ⪅ / ⪅ - '\u219e': '↞', # ↞ / Larr / twoheadleftarrow + '\u219e': '↞', # ↞ / ↞ / ↞ '\u21e4': '⇤', # ⇤ / ⇤ / ⇤ '\u21ab': '↫', # ↫ / ↫ / ↫ '\u21a2': '↢', # ↢ / ↢ / ↢ @@ -332,13 +334,13 @@ CUSTOM_ENCODE_MAP = { '\u201e': '„', # „ / „ / „ '\u2199': '↙', # ↙ / ↙ / ↙ / ↙ '\u2198': '↘', # ↘ / ↘ / ↘ / ↘ - '\u21b0': '↰', # ↰ / Lsh / lsh - '\u25c3': '◃', # ◃ / ltri / triangleleft + '\u21b0': '↰', # ↰ / ↰ / ↰ + '\u25c3': '◃', # ◃ / ◃ / ◃ '\u2720': '✠', # ✠ / ✠ / ✠ '\u21a6': '↦', # ↦ / ↦ / ↦ / ↦ - '\u21a5': '↥', # ↥ / mapstoup / UpTeeArrow + '\u21a5': '↥', # ↥ / ↥ / ↥ '\u2133': 'ℳ', # ℳ / ℳ / ℳ / ℳ - '\u2223': '∣', # ∣ / mid / smid / shortmid / VerticalBar + '\u2223': '∣', # ∣ / ∣ / ∣ / ∣ / ∣ '\u2213': '∓', # ∓ / ∓ / ∓ / ∓ '\u2026': '…', # … / … / … '\u22b8': '⊸', # ⊸ / ⊸ / ⊸ @@ -385,12 +387,13 @@ CUSTOM_ENCODE_MAP = { '\u2241': '≁', # ≁ / ≁ / ≁ '\u2244': '≄', # ≄ / ≄ / ≄ / ≄ '\u21cf': '⇏', # ⇏ / ⇏ / ⇏ - '\u219b': '↛', # ↛ / nrarr / nrightarrow + '\u219b': '↛', # ↛ / ↛ / ↛ '\u2196': '↖', # ↖ / ↖ / ↖ / ↖ '\u2134': 'ℴ', # ℴ / ℴ / ℴ / ℴ '\u203e': '‾', # ̄ / ‾ / ‾ '\u23b4': '⎴', # ⎴ / ⎴ / ⎴ - '\u03d5': 'ϕ', # ϕ / phiv / varphi / straightphi + '\u03d6': 'ϖ', # ϖ / ϖ / ϖ + '\u03d5': 'ϕ', # ϕ / ϕ / ϕ / ϕ '\u2665': '♥', # ♥ / ♥ / ♥ / '\u2119': 'ℙ', # ℙ / ℙ / ℙ '\u227a': '≺', # ≺ / ≺ / ≺ / ≺ @@ -404,9 +407,9 @@ CUSTOM_ENCODE_MAP = { '\u220f': '∏', # ∏ / ∏ / ∏ '\u221d': '∝', # ∝ / ∝ / ∝ / ∝ / ∝ / ∝ '\u211a': 'ℚ', # ℚ / ℚ / ℚ - '\u21db': '⇛', # ⇛ / rAarr / Rrightarrow + '\u21db': '⇛', # ⇛ / ⇛ / ⇛ '\u27e9': '⟩', # ⟩ / ⟩ / ⟩ / ⟩ - '\u21a0': '↠', # ↠ / Rarr / twoheadrightarrow + '\u21a0': '↠', # ↠ / ↠ / ↠ '\u21e5': '⇥', # ⇥ / ⇥ / ⇥ '\u21a3': '↣', # ↣ / ↣ / ↣ '\u2309': '⌉', # ⌉ / ⌉ / ⌉ @@ -416,7 +419,7 @@ CUSTOM_ENCODE_MAP = { '\u211b': 'ℛ', # ℛ / ℛ / ℛ '\u211d': 'ℝ', # ℝ / ℝ / ℝ '\u21c0': '⇀', # ⇀ / ⇀ / ⇀ / ⇀ - '\u03f1': 'ϱ', # ϱ / rhov / varrho + '\u03f1': 'ϱ', # ϱ / ϱ / ϱ '\u2192': '→', # → / → / → / → / → / → '\u21c4': '⇄', # ⇄ / ⇄ / ⇄ / ⇄ '\u27e7': '⟧', # ⟧ / ⟧ / ⟧ @@ -427,58 +430,70 @@ CUSTOM_ENCODE_MAP = { '\u22b3': '⊳', # ⊳ / ⊳ / ⊳ / ⊳ '\u22b5': '⊵', # ⊵ / ⊵ / ⊵ / ⊵ '\u21be': '↾', # ↾ / ↾ / ↾ / ↾ - '\u23b1': '⎱', # ⎱ / rmoust / rmoustache + '\u23b1': '⎱', # ⎱ / ⎱ / ⎱ '\u201c': '“', # “ / “ / “ '\u2018': '‘', # ‘ / ‘ / ‘ - '\u21b1': '↱', # ↱ / rsh / Rsh - '\u25b9': '▹', # ▹ / rtri / triangleright - '\u227b': '≻', # ≻ / sc / succ / Succeeds - '\u2ab8': '⪸', # ⪸ / scap / succapprox - '\u227d': '≽', # ≽ / sccue / succcurlyeq / SucceedsSlantEqual - '\u2ab0': '⪰', # ⪰ / sce / succeq / SucceedsEqual - '\u2aba': '⪺', # ⪺ / scnap / succnapprox - '\u2ab6': '⪶', # ⪶ / scnE / succneqq - '\u22e9': '⋩', # ⋩ / scnsim / succnsim - '\u227f': '≿', # ≿ / scsim / succsim / SucceedsTilde - '\u2929': '⤩', # ⤩ / tosa / seswar + '\u21b1': '↱', # ↱ / ↱ / ↱ + '\u25b9': '▹', # ▹ / ▹ / ▹ + '\u227b': '≻', # ≻ / ≻ / ≻ / ≻ + '\u2ab8': '⪸', # ⪸ / ⪸ / ⪸ + '\u227d': '≽', # ≽ / ≽ / ≽ / ≽ + '\u2ab0': '⪰', # ⪰ / ⪰ / ⪰ / ⪰ + '\u2aba': '⪺', # ⪺ / ⪺ / ⪺ + '\u2ab6': '⪶', # ⪶ / ⪶ / ⪶ + '\u22e9': '⋩', # ⋩ / ⋩ / ⋩ + '\u227f': '≿', # ≿ / ≿ / ≿ / ≿ + '\u2929': '⤩', # ⤩ / ⤩ / ⤩ '\u03c2': 'ς', # ς / ς / ς / ς - '\u2243': '≃', # ≃ / sime / simeq / TildeEqual - '\u2323': '⌣', # ⌣ / smile / ssmile - '\u2293': '⊓', # ⊓ / sqcap / SquareIntersection - '\u2294': '⊔', # ⊔ / sqcup / SquareUnion - '\u228f': '⊏', # ⊏ / sqsub / sqsubset / SquareSubset - '\u2291': '⊑', # ⊑ / sqsube / sqsubseteq / SquareSubsetEqual - '\u2290': '⊐', # ⊐ / sqsup / sqsupset / SquareSuperset - '\u2292': '⊒', # ⊒ / sqsupe / sqsupseteq / SquareSupersetEqual - '\u25a1': '□', # □ / squ / Square / square - '\u22c6': '⋆', # ⋆ / Star / sstarf - '\u22d0': '⋐', # ⋐ / Sub / Subset - '\u2ac5': '⫅', # ⫅ / subE / subseteqq - '\u2acb': '⫋', # ⫋ / subnE / subsetneqq - '\u228a': '⊊', # ⊊ / subne / subsetneq + '\u2243': '≃', # ≃ / ≃ / ≃ / ≃ + '\u2323': '⌣', # ⌣ / ⌣ / ⌣ + '\u2660': '♠', # ♠ / ♠ / ♠ / + '\u2293': '⊓', # ⊓ / ⊓ / ⊓ + '\u2294': '⊔', # ⊔ / ⊔ / ⊔ + '\u221a': '√', # √ / √ / √ + '\u228f': '⊏', # ⊏ / ⊏ / ⊏ / ⊏ + '\u2291': '⊑', # ⊑ / ⊑ / ⊑ / ⊑ + '\u2290': '⊐', # ⊐ / ⊐ / ⊐ / ⊐ + '\u2292': '⊒', # ⊒ / ⊒ / ⊒ / ⊒ + '\u25a1': '□', # □ / □ / □ / □ + '\u22c6': '⋆', # ⋆ / ⋆ / ⋆ + '\u22d0': '⋐', # ⋐ / ⋐ / ⋐ + '\u2282': '⊂', # ⊂ / ⊂ / ⊂ + '\u2ac5': '⫅', # ⫅ / ⫅ / ⫅ + '\u2acb': '⫋', # ⫋ / ⫋ / ⫋ + '\u228a': '⊊', # ⊊ / ⊊ / ⊊ '\u2286': '⊆', # ⊆ / ⊆ / ⊆ / ⊆ - '\u22d1': '⋑', # ⋑ / Sup / Supset - '\u2ac6': '⫆', # ⫆ / supE / supseteqq + '\u2211': '∑', # ∑ / ∑ / ∑ + '\u22d1': '⋑', # ⋑ / ⋑ / ⋑ + '\u2ac6': '⫆', # ⫆ / ⫆ / ⫆ '\u2283': '⊃', # ⊃ / ⊃ / ⊃ / ⊃ '\u2287': '⊇', # ⊇ / ⊇ / ⊇ / ⊇ - '\u2acc': '⫌', # ⫌ / supnE / supsetneqq - '\u228b': '⊋', # ⊋ / supne / supsetneq - '\u20db': '⃛', # ⃛ / tdot / TripleDot + '\u2acc': '⫌', # ⫌ / ⫌ / ⫌ + '\u228b': '⊋', # ⊋ / ⊋ / ⊋ + '\u223c': '∼', # ∼ / ∼ / ∼ / ∼ / ∼ + '\u2245': '≅', # ≅ / ≅ / ≅ + '\u20db': '⃛', # ⃛ / ⃛ / ⃛ '\u2234': '∴', # ∴ / ∴ / ∴ / ∴ '\u03d1': 'ϑ', # ϑ / ϑ / ϑ / ϑ - '\u25b5': '▵', # ▵ / utri / triangle - '\u225c': '≜', # ≜ / trie / triangleq - '\u21c5': '⇅', # ⇅ / udarr / UpArrowDownArrow - '\u296e': '⥮', # ⥮ / udhar / UpEquilibrium - '\u231c': '⌜', # ⌜ / ulcorn / ulcorner - '\u228e': '⊎', # ⊎ / uplus / UnionPlus - '\u2195': '↕', # ↕ / varr / updownarrow / UpDownArrow - '\u21c8': '⇈', # ⇈ / uuarr / upuparrows - '\u231d': '⌝', # ⌝ / urcorn / urcorner - '\u2016': '‖', # ‖ / Vert / Verbar - - '\u2240': '≀', # ≀ / wr / wreath / VerticalTilde - '\u2128': 'ℨ', # ℨ / ℨ / ℨ + '\u2122': '™', # ™ / ™ / ™ + '\u25b5': '▵', # ▵ / ▵ / ▵ + '\u225c': '≜', # ≜ / ≜ / ≜ + '\u21c5': '⇅', # ⇅ / ⇅ / ⇅ + '\u296e': '⥮', # ⥮ / ⥮ / ⥮ + '\u231c': '⌜', # ⌜ / ⌜ / ⌜ + '\u03d2': 'ϒ', # ϒ / ϒ / ϒ + '\u03c5': 'υ', # υ / υ / υ + '\u228e': '⊎', # ⊎ / ⊎ / ⊎ + '\u2195': '↕', # ↕ / ↕ / ↕ / ↕ + '\u2191': '↑', # ↑ / ↑ / ↑ / ↑ / ↑ + '\u21c8': '⇈', # ⇈ / ⇈ / ⇈ + '\u231d': '⌝', # ⌝ / ⌝ / ⌝ + '\u2016': '‖', # ‖ / ‖ / ‖ + '\u2228': '∨', # ∨ / ∨ / ∨ + '\u2009': ' ', # /   /   + '\u2240': '≀', # ≀ / ≀ / ≀ / ≀ + '\u2128': 'ℨ', # ℨ / ℨ / ℨ + '\u2118': '℘', # ℘ / ℘ / ℘ } # === Динамическая генерация карт преобразования === diff --git a/tests/test_codec.py b/tests/test_codec.py index 4b1318d..8345f08 100644 --- a/tests/test_codec.py +++ b/tests/test_codec.py @@ -375,12 +375,12 @@ STRINGS_FOR_ENCODE = [ ("⊄ ñ ν ó ô œ ò ‾ ω", "⊄ ñ ν ó ô œ ò ‾ ω"), ("ο ⊕ ∨ ª º ø õ ⊗ ö", "ο ⊕ ∨ ª º ø õ ⊗ ö"), ("¶ ∂ ‰ ⊥ φ π ϖ ± £ ′ ∏", "¶ ∂ ‰ ⊥ φ π ϖ ± £ ′ ∏"), - ("∝ ψ \" ⇒ √ ⟩ » → ⌉ ”", "∝ ψ " ⇒ √ ⟩ » → ⌉ ”"), + ("∝ ψ \" ⇒ √ ⟩ » → ⌉ ”", "∝ ψ " ⇒ √ ⟩ » → ⌉ ”"), ("ℜ ® ⌋ ρ \u200f › ’ ‚ š", "ℜ ® ⌋ ρ ‏ › ’ ‚ š"), ("⋅ § \u00AD σ ς ∼ ♠ ⊂ ⊆ ∑", "⋅ § ­ σ ς ∼ ♠ ⊂ ⊆ ∑"), ("⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ", "⊃ ¹ ² ³ ⊇ ß τ ∴ θ ϑ"), ("\u2009 þ ˜ × ™ ⇑ ú ↑ û", "  þ ˜ × ™ ⇑ ú ↑ û"), - ("ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ", "ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ"), + ("ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ", "ù ¨ ϒ υ ü ℘ ξ ý ¥ ÿ"), ("ζ \u200D \u200C + = %", "ζ ‍ ‌ + = %"), # Набор из html.entities.html5 ("Á á Á á Ă ă ∾ ∿ Â", "Á á Á á Ă ă ∾ ∿ Â"), @@ -430,17 +430,13 @@ STRINGS_FOR_ENCODE = [ ("‐ ⫤ ⊣ ⤏ ˝ Ď ď Д д ⅅ", "‐ ⫤ ⊣ ⤏ ˝ Ď ď Д д ⅅ"), ("ⅆ ‡ ⇊ ⤑ ⩷ ° ° ∇ Δ δ", "ⅆ ‡ ⇊ ⤑ ⩷ ° ° ∇ Δ δ"), ("⦱ ⥿ 𝔇 𝔡 ⥥ ⇃ ⇂ ´", "⦱ ⥿ 𝔇 𝔡 ⥥ ⇃ ⇂ ´"), - ("˙ ˝ `", "˙ ˝ `"), - ("˜ ⋄ ⋄ ⋄ ♦ ♦ ¨", "˜ ⋄ ⋄ ⋄ ♦ ♦ ¨"), + ("˙ ˝ ` ˜ ⋄ ⋄ ⋄ ♦ ♦ ¨", "˙ ˝ ` ˜ ⋄ ⋄ ⋄ ♦ ♦ ¨"), ("ⅆ ϝ ⋲ ÷ ÷ ÷ ⋇", "ⅆ ϝ ⋲ ÷ ÷ ÷ ⋇"), ("⋇ Ђ ђ ⌞ ⌍ $ 𝔻 𝕕 ¨ ˙", "⋇ Ђ ђ ⌞ ⌍ $ 𝔻 𝕕 ¨ ˙"), ("⃜ ≐ ≑ ≐ ∸ ∔ ⊡", "⃜ ≐ ≑ ≐ ∸ ∔ ⊡"), - ("⌆ ∯ ¨ ⇓", "⌆ ∯ ¨ ⇓"), - ("⇐ ⇔ ⫤ ⟸", "⇐ ⇔ ⫤ ⟸"), - ("⟺ ⟹ ⇒", "⟺ ⟹ ⇒"), - ("⊨ ⇑ ⇕ ∥", "⊨ ⇑ ⇕ ∥"), - ("↓ ⇓ ↓ ⤓ ⇵", "↓ ⇓ ↓ ⤓ ⇵"), - ("̑ ⇊ ⇃ ⇂", "̑ ⇊ ⇃ ⇂"), + ("⌆ ∯ ¨ ⇓ ⇐ ⇔ ⫤ ⟸", "⌆ ∯ ¨ ⇓ ⇐ ⇔ ⫤ ⟸"), + ("⟺ ⟹ ⇒ ⊨ ⇑ ⇕ ∥", "⟺ ⟹ ⇒ ⊨ ⇑ ⇕ ∥"), + ("↓ ⇓ ↓ ⤓ ⇵ ̑ ⇊ ⇃ ⇂", "↓ ⇓ ↓ ⤓ ⇵ ̑ ⇊ ⇃ ⇂"), ("⥐ ⥞ ↽ ⥖", "⥐ ⥞ ↽ ⥖"), ("⥟ ⇁ ⥗ ⊤", "⥟ ⇁ ⥗ ⊤"), ("↧ ⤐ ⌟ ⌌ 𝒟 𝒹 Ѕ ѕ ⧶", "↧ ⤐ ⌟ ⌌ 𝒟 𝒹 Ѕ ѕ ⧶"), @@ -455,7 +451,7 @@ STRINGS_FOR_ENCODE = [ ("≂ ⪖ ⪕ ⩵ = ≂ ≟", "≂ ⪖ ⪕ ⩵ = ≂ ≟"), ("⇌ ≡ ⩸ ⧥ ⥱ ≓ ℰ ℯ", "⇌ ≡ ⩸ ⧥ ⥱ ≓ ℰ ℯ"), ("≐ ⩳ ≂ Η η Ð ð Ð ð Ë ë Ë", "≐ ⩳ ≂ Η η Ð ð Ð ð Ë ë Ë"), - ("ë € ! ∃ ∃ ℰ ⅇ", "ë € ! ∃ ∃ ℰ ⅇ"), + ("ë € ! ∃ ∃ ℰ ⅇ ≧ ⪢ ≷ ⩾", "ë € ! ∃ ∃ ℰ ⅇ ≧ ⪢ ≷ ⩾"), ("ⅇ ≒ Ф ф ♀ ffi ff ffl", "ⅇ ≒ Ф ф ♀ ffi ff ffl"), ("𝔉 𝔣 fi ◼ ▪ ♭ fl", "𝔉 𝔣 fi ◼ ▪ ♭ fl"), ("▱ ƒ 𝔽 𝕗 ∀ ∀ ⋔ ⫙ ℱ", "▱ ƒ 𝔽 𝕗 ∀ ∀ ⋔ ⫙ ℱ"), @@ -467,7 +463,6 @@ STRINGS_FOR_ENCODE = [ ("⪩ ⪀ ⪂ ⪄ ⪔ 𝔊 𝔤 ⋙ ≫ ⋙", "⪩ ⪀ ⪂ ⪄ ⪔ 𝔊 𝔤 ⋙ ≫ ⋙"), ("ℷ Ѓ ѓ ≷ ⪥ ⪒ ⪤ ⪊ ⪊ ≩ ⪈", "ℷ Ѓ ѓ ≷ ⪥ ⪒ ⪤ ⪊ ⪊ ≩ ⪈"), ("⪈ ≩ ⋧ 𝔾 𝕘 ` ≥ ⋛", "⪈ ≩ ⋧ 𝔾 𝕘 ` ≥ ⋛"), - ("≧ ⪢ ≷ ⩾", "≧ ⪢ ≷ ⩾"), ("≳ 𝒢 ℊ ≳ ⪎ ⪐ > > ≫ >", "≳ 𝒢 ℊ ≳ ⪎ ⪐ > > ≫ >"), ("⪧ ⩺ ⋗ ⦕ ⩼ ⪆ ⥸ ⋗", "⪧ ⩺ ⋗ ⦕ ⩼ ⪆ ⥸ ⋗"), ("⋛ ⪌ ≷ ≳ ˇ \u200a ½ ℋ", "⋛ ⪌ ≷ ≳ ˇ   ½ ℋ"), @@ -518,9 +513,9 @@ STRINGS_FOR_ENCODE = [ ("⊿ ‹ ℒ 𝓁 ↰ ↰ ≲ ⪍ ⪏ [", "⊿ ‹ ℒ 𝓁 ↰ ↰ ≲ ⪍ ⪏ ["), ("‘ ‚ Ł ł < < ≪ ⪦ ⩹", "‘ ‚ Ł ł < < ≪ ⪦ ⩹"), ("⋖ ⋋ ⋉ ⥶ ⩻ ◃ ⊴ ◂ ⦖", "⋖ ⋋ ⋉ ⥶ ⩻ ◃ ⊴ ◂ ⦖"), - ("⥊ ⥦ ¯ ¯ ♂ ✠ ✠ ⤅ ↦", "⥊ ⥦ ¯ ¯ ♂ ✠ ✠ ⤅ ↦"), + ("⥊ ⥦ ¯ ¯ ♂ ✠ ⤅ ↦", "⥊ ⥦ ¯ ¯ ♂ ✠ ⤅ ↦"), ("↦ ↧ ↤ ↥ ▮ ⨩ М м", "↦ ↧ ↤ ↥ ▮ ⨩ М м"), - ("— ∺ ∡   ℳ 𝔐 𝔪 ℧", "— ∺ ∡   ℳ 𝔐 𝔪 ℧"), + ("— ∺ ∡ \u205f ℳ 𝔐 𝔪 ℧", "— ∺ ∡   ℳ 𝔐 𝔪 ℧"), ("µ µ ∣ * ⫰ · · − ⊟", "µ µ ∣ * ⫰ · · − ⊟"), ("∸ ⨪ ∓ ⫛ … ∓ ⊧ 𝕄 𝕞", "∸ ⨪ ∓ ⫛ … ∓ ⊧ 𝕄 𝕞"), ("∓ ℳ 𝓂 ∾ Μ μ ⊸ ⊸ ∇ Ń", "∓ ℳ 𝓂 ∾ Μ μ ⊸ ⊸ ∇ Ń"), @@ -567,7 +562,7 @@ STRINGS_FOR_ENCODE = [ ("⌒ ⌓ ∝ ∷ ∝ ∝ ≾", "⌒ ⌓ ∝ ∷ ∝ ∝ ≾"), ("⊰ 𝒫 𝓅 Ψ ψ \u2008 𝔔 𝔮 ⨌ ℚ 𝕢", "⊰ 𝒫 𝓅 Ψ ψ   𝔔 𝔮 ⨌ ℚ 𝕢"), ("⁗ 𝒬 𝓆 ℍ ⨖ ? ≟ \" \"", "⁗ 𝒬 𝓆 ℍ ⨖ ? ≟ " ""), - ("⇛ Ŕ ŕ √ ⦳ ⟫ ⟩", "⇛ Ŕ ŕ √ ⦳ ⟫ ⟩"), + ("⇛ Ŕ ŕ √ ⦳ ⟫ ⟩", "⇛ Ŕ ŕ √ ⦳ ⟫ ⟩"), ("⦒ ⦥ ⟩ » » ↠ ⇒ → ⥵ ⇥", "⦒ ⦥ ⟩ » » ↠ ⇒ → ⥵ ⇥"), ("⤠ ⤳ ⤞ ↪ ↬ ⥅ ⥴ ⤖", "⤠ ⤳ ⤞ ↪ ↬ ⥅ ⥴ ⤖"), ("↣ ↝ ⤜ ⤚ ∶ ℚ ⤐ ⤏ ⤍", "↣ ↝ ⤜ ⤚ ∶ ℚ ⤐ ⤏ ⤍"), @@ -580,71 +575,68 @@ STRINGS_FOR_ENCODE = [ ("⇁ ⇀ ⇄ ⇌ ⇉ ↝ ⊢ ↦", "⇁ ⇀ ⇄ ⇌ ⇉ ↝ ⊢ ↦"), ("⥛ ⋌ ⊳ ⧐", "⥛ ⋌ ⊳ ⧐"), ("⊵ ⥏ ⥜ ↾", "⊵ ⥏ ⥜ ↾"), - # ("⥔ ⇀ ⥓ ˚ ≓", "⥔ ⇀ ⥓ ˚ ≓"), - # ("⇄ ⇌ ‏ ⎱ ⎱ ⫮ ⟭ ⇾ ⟧", "⇄ ⇌ ‏ ⎱ ⎱ ⫮ ⟭ ⇾ ⟧"), - # ("⦆ ℝ 𝕣 ⨮ ⨵ ⥰ ) ⦔", "⦆ ℝ 𝕣 ⨮ ⨵ ⥰ ) ⦔"), - # ("⨒ ⇉ ⇛ › ℛ 𝓇 ↱ ↱ ]", "⨒ ⇉ ⇛ › ℛ 𝓇 ↱ ↱ ]"), - # ("’ ’ ⋌ ⋊ ▹ ⊵ ▸ ⧎", "’ ’ ⋌ ⋊ ▹ ⊵ ▸ ⧎"), - # ("⧴ ⥨ ℞ Ś ś ‚ ⪼ ≻ ⪸", "⧴ ⥨ ℞ Ś ś ‚ ⪼ ≻ ⪸"), - # ("Š š ≽ ⪴ ⪰ Ş ş Ŝ ŝ", "Š š ≽ ⪴ ⪰ Ş ş Ŝ ŝ"), - # ("⪺ ⪶ ⋩ ⨓ ≿ С с ⋅ ⊡ ⩦", "⪺ ⪶ ⋩ ⨓ ≿ С с ⋅ ⊡ ⩦"), - # ("⤥ ⇘ ↘ ↘ § § ; ⤩ ∖", "⤥ ⇘ ↘ ↘ § § ; ⤩ ∖"), - # ("∖ ✶ 𝔖 𝔰 ⌢ ♯ Щ щ Ш ш", "∖ ✶ 𝔖 𝔰 ⌢ ♯ Щ щ Ш ш"), - # ("↓ ← ∣ ∥ →", "↓ ← ∣ ∥ →"), - # ("↑ ­ ­ Σ σ ς ς ∼ ⩪", "↑ ­ ­ Σ σ ς ς ∼ ⩪"), - # ("≃ ≃ ⪞ ⪠ ⪝ ⪟ ≆ ⨤ ⥲", "≃ ≃ ⪞ ⪠ ⪝ ⪟ ≆ ⨤ ⥲"), - # ("← ∘ ∖ ⨳ ⧤ ∣ ⌣ ⪪", "← ∘ ∖ ⨳ ⧤ ∣ ⌣ ⪪"), - # ("⪬ Ь ь / ⧄ ⌿ 𝕊 𝕤 ♠", "⪬ Ь ь / ⧄ ⌿ 𝕊 𝕤 ♠"), - # ("♠ ∥ ⊓ ⊔ √ ⊏ ⊑ ⊏", "♠ ∥ ⊓ ⊔ √ ⊏ ⊑ ⊏"), - # ("⊑ ⊐ ⊒ ⊐ ⊒ □ □ □", "⊑ ⊐ ⊒ ⊐ ⊒ □ □ □"), - # ("⊓ ⊏ ⊑ ⊐", "⊓ ⊏ ⊑ ⊐"), - # ("⊒ ⊔ ▪ ▪ → 𝒮 𝓈", "⊒ ⊔ ▪ ▪ → 𝒮 𝓈"), - # ("∖ ⌣ ⋆ ⋆ ☆ ★ ϵ", "∖ ⌣ ⋆ ⋆ ☆ ★ ϵ"), - # ("ϕ ¯ ⋐ ⊂ ⪽ ⫅ ⊆ ⫃ ⫁", "ϕ ¯ ⋐ ⊂ ⪽ ⫅ ⊆ ⫃ ⫁"), - # ("⫋ ⊊ ⪿ ⥹ ⋐ ⊂ ⊆ ⫅", "⫋ ⊊ ⪿ ⥹ ⋐ ⊂ ⊆ ⫅"), - # ("⊆ ⊊ ⫋ ⫇ ⫕ ⫓ ≻", "⊆ ⊊ ⫋ ⫇ ⫕ ⫓ ≻"), - # ("⪸ ≽ ≻ ⪰ ≽", "⪸ ≽ ≻ ⪰ ≽"), - # ("≿ ⪰ ⪺ ⪶ ⋩ ≿", "≿ ⪰ ⪺ ⪶ ⋩ ≿"), - # ("∋ ∑ ∑ ♪ ¹ ¹ ² ² ³ ³ ⋑", "∋ ∑ ∑ ♪ ¹ ¹ ² ² ³ ³ ⋑"), - # ("⊃ ⪾ ⫘ ⫆ ⊇ ⫄ ⊃ ⊇", "⊃ ⪾ ⫘ ⫆ ⊇ ⫄ ⊃ ⊇"), - # ("⟉ ⫗ ⥻ ⫂ ⫌ ⊋ ⫀ ⋑", "⟉ ⫗ ⥻ ⫂ ⫌ ⊋ ⫀ ⋑"), - # ("⊃ ⊇ ⫆ ⊋ ⫌ ⫈ ⫔", "⊃ ⊇ ⫆ ⊋ ⫌ ⫈ ⫔"), - # ("⫖ ⤦ ⇙ ↙ ↙ ⤪ ß ß ", "⫖ ⤦ ⇙ ↙ ↙ ⤪ ß ß "), - # ("⌖ Τ τ ⎴ Ť ť Ţ ţ Т т", "⌖ Τ τ ⎴ Ť ť Ţ ţ Т т"), - # ("⃛ ⌕ 𝔗 𝔱 ∴ ∴ ∴ Θ θ", "⃛ ⌕ 𝔗 𝔱 ∴ ∴ ∴ Θ θ"), - # ("ϑ ϑ ≈ ∼     ≈", "ϑ ϑ ≈ ∼     ≈"), - # ("∼ Þ þ Þ þ ∼ ˜ ≃", "∼ Þ þ Þ þ ∼ ˜ ≃"), - # ("≅ ≈ × × ⊠ ⨱ ⨰", "≅ ≈ × × ⊠ ⨱ ⨰"), - # ("∭ ⤨ ⊤ ⌶ ⫱ 𝕋 𝕥 ⫚ ⤩ ‴", "∭ ⤨ ⊤ ⌶ ⫱ 𝕋 𝕥 ⫚ ⤩ ‴"), - # ("™ ™ ▵ ▿ ◃ ⊴", "™ ™ ▵ ▿ ◃ ⊴"), - # ("≜ ▹ ⊵ ◬ ≜ ⨺", "≜ ▹ ⊵ ◬ ≜ ⨺"), - # ("⃛ ⨹ ⧍ ⨻ ⏢ 𝒯 𝓉 Ц ц", "⃛ ⨹ ⧍ ⨻ ⏢ 𝒯 𝓉 Ц ц"), - # ("Ћ ћ Ŧ ŧ ≬ ↞", "Ћ ћ Ŧ ŧ ≬ ↞"), - # ("↠ Ú ú Ú ú ↟ ⇑ ↑", "↠ Ú ú Ú ú ↟ ⇑ ↑"), - # ("⥉ Ў ў Ŭ ŭ Û û Û û", "⥉ Ў ў Ŭ ŭ Û û Û û"), - # ("У у ⇅ Ű ű ⥮ ⥾ 𝔘 𝔲 Ù", "У у ⇅ Ű ű ⥮ ⥾ 𝔘 𝔲 Ù"), - # ("ù Ù ù ⥣ ↿ ↾ ▀ ⌜ ⌜", "ù Ù ù ⥣ ↿ ↾ ▀ ⌜ ⌜"), - # ("⌏ ◸ Ū ū ¨ ¨ _ ⏟", "⌏ ◸ Ū ū ¨ ¨ _ ⏟"), - # ("⎵ ⏝ ⋃ ⊎ Ų ų 𝕌", "⎵ ⏝ ⋃ ⊎ Ų ų 𝕌"), - # ("𝕦 ↑ ⇑ ↑ ⤒ ⇅", "𝕦 ↑ ⇑ ↑ ⤒ ⇅"), - # ("↕ ⇕ ↕ ⥮ ↿", "↕ ⇕ ↕ ⥮ ↿"), - # ("↾ ⊎ ↖ ↗ ϒ υ", "↾ ⊎ ↖ ↗ ϒ υ"), - # ("ϒ Υ υ ⊥ ↥ ⇈ ⌝", "ϒ Υ υ ⊥ ↥ ⇈ ⌝"), - # ("⌝ ⌎ Ů ů ◹ 𝒰 𝓊 ⋰ Ũ", "⌝ ⌎ Ů ů ◹ 𝒰 𝓊 ⋰ Ũ"), - # ("ũ ▵ ▴ ⇈ Ü ü Ü ü ⦧ ⦜", "ũ ▵ ▴ ⇈ Ü ü Ü ü ⦧ ⦜"), - # ("ϵ ϰ ∅ ϕ ϖ ∝ ⇕", "ϵ ϰ ∅ ϕ ϖ ∝ ⇕"), - # ("↕ ϱ ς ϑ ⊲ ⊳", "↕ ϱ ς ϑ ⊲ ⊳"), - # ("⫫ ⫨ ⫩ В в ⊫ ⊩ ⊨ ⊢ ⫦", "⫫ ⫨ ⫩ В в ⊫ ⊩ ⊨ ⊢ ⫦"), - # ("⋁ ∨ ⊻ ≚ ⋮ ‖ | ‖ |", "⋁ ∨ ⊻ ≚ ⋮ ‖ | ‖ |"), - # ("∣ | ❘ ≀", "∣ | ❘ ≀"), - # ("  𝔙 𝔳 ⊲ 𝕍 𝕧 ∝ ⊳ 𝒱", "  𝔙 𝔳 ⊲ 𝕍 𝕧 ∝ ⊳ 𝒱"), - # ("𝓋 ⊪ ⦚ Ŵ ŵ ⩟ ⋀ ∧ ≙", "𝓋 ⊪ ⦚ Ŵ ŵ ⩟ ⋀ ∧ ≙"), - # ("℘ 𝔚 𝔴 𝕎 𝕨 ℘ ≀ ≀ 𝒲 𝓌 ⋂", "℘ 𝔚 𝔴 𝕎 𝕨 ℘ ≀ ≀ 𝒲 𝓌 ⋂"), - # ("◯ ⋃ ▽ 𝔛 𝔵 ⟺ ⟷ Ξ ξ ⟸ ⟵", "◯ ⋃ ▽ 𝔛 𝔵 ⟺ ⟷ Ξ ξ ⟸ ⟵"), - # ("⟼ ⋻ ⨀ 𝕏 𝕩 ⨁ ⨂ ⟹ ⟶ 𝒳", "⟼ ⋻ ⨀ 𝕏 𝕩 ⨁ ⨂ ⟹ ⟶ 𝒳"), - # ("𝓍 ⨆ ⨄ △ ⋁ ⋀ Ý ý Ý", "𝓍 ⨆ ⨄ △ ⋁ ⋀ Ý ý Ý"), - # ("ý Я я Ŷ ŷ Ы ы ¥ ¥ 𝔜 𝔶", "ý Я я Ŷ ŷ Ы ы ¥ ¥ 𝔜 𝔶"), - # ("Ї ї 𝕐 𝕪 𝒴 𝓎 Ю ю ÿ Ÿ ÿ", "Ї ї 𝕐 𝕪 𝒴 𝓎 Ю ю ÿ Ÿ ÿ"), + ("⥔ ⇀ ⥓ ˚ ≓", "⥔ ⇀ ⥓ ˚ ≓"), + ("⇄ ⇌ \u200F ⎱ ⎱ ⫮ ⟭ ⇾ ⟧", "⇄ ⇌ ‏ ⎱ ⎱ ⫮ ⟭ ⇾ ⟧"), + ("⦆ ℝ 𝕣 ⨮ ⨵ ⥰ ) ⦔", "⦆ ℝ 𝕣 ⨮ ⨵ ⥰ ) ⦔"), + ("⨒ ⇉ ⇛ › ℛ 𝓇 ↱ ↱ ]", "⨒ ⇉ ⇛ › ℛ 𝓇 ↱ ↱ ]"), + ("’ ’ ⋌ ⋊ ▹ ⊵ ▸ ⧎", "’ ’ ⋌ ⋊ ▹ ⊵ ▸ ⧎"), + ("⧴ ⥨ ℞ Ś ś ‚ ⪼ ≻ ⪸", "⧴ ⥨ ℞ Ś ś ‚ ⪼ ≻ ⪸"), + ("Š š ≽ ⪴ ⪰ Ş ş Ŝ ŝ", "Š š ≽ ⪴ ⪰ Ş ş Ŝ ŝ"), + ("⪺ ⪶ ⋩ ⨓ ≿ С с ⋅ ⊡ ⩦", "⪺ ⪶ ⋩ ⨓ ≿ С с ⋅ ⊡ ⩦"), + ("⤥ ⇘ ↘ ↘ § § ; ⤩ ∖", "⤥ ⇘ ↘ ↘ § § ; ⤩ ∖"), + ("∖ ✶ 𝔖 𝔰 ⌢ ♯ Щ щ Ш ш", "∖ ✶ 𝔖 𝔰 ⌢ ♯ Щ щ Ш ш"), + ("↓ ← ∣ ∥ →", "↓ ← ∣ ∥ →"), + ("↑ \u00AD Σ σ ς ς ∼ ⩪", "↑ ­ Σ σ ς ς ∼ ⩪"), + ("≃ ≃ ⪞ ⪠ ⪝ ⪟ ≆ ⨤ ⥲", "≃ ≃ ⪞ ⪠ ⪝ ⪟ ≆ ⨤ ⥲"), + ("← ∘ ∖ ⨳ ⧤ ∣ ⌣ ⪪", "← ∘ ∖ ⨳ ⧤ ∣ ⌣ ⪪"), + ("⪬ Ь ь / ⧄ ⌿ 𝕊 𝕤 ♠", "⪬ Ь ь / ⧄ ⌿ 𝕊 𝕤 ♠"), + ("♠ ∥ ⊓ ⊔ √ ⊏ ⊑ ⊏", "♠ ∥ ⊓ ⊔ √ ⊏ ⊑ ⊏"), + ("⊑ ⊐ ⊒ ⊐ ⊒ □ ⊓ ⊏ ⊑ ⊐", "⊑ ⊐ ⊒ ⊐ ⊒ □ ⊓ ⊏ ⊑ ⊐"), + ("⊒ ⊔ ▪ → 𝒮 𝓈", "⊒ ⊔ ▪ → 𝒮 𝓈"), + ("∖ ⌣ ⋆ ☆ ★ ϵ", "∖ ⌣ ⋆ ☆ ★ ϵ"), + ("ϕ ¯ ⋐ ⊂ ⪽ ⫅ ⊆ ⫃ ⫁", "ϕ ¯ ⋐ ⊂ ⪽ ⫅ ⊆ ⫃ ⫁"), + ("⫋ ⊊ ⪿ ⥹ ⋐ ⊂ ⊆ ⫅", "⫋ ⊊ ⪿ ⥹ ⋐ ⊂ ⊆ ⫅"), + ("⊆ ⊊ ⫋ ⫇ ⫕ ⫓ ≻", "⊆ ⊊ ⫋ ⫇ ⫕ ⫓ ≻"), + ("⪸ ≽ ⪰ ≽ ≿ ⪰ ⪺ ⪶ ⋩", "⪸ ≽ ⪰ ≽ ≿ ⪰ ⪺ ⪶ ⋩"), + ("∋ ∑ ♪ ¹ ¹ ² ² ³ ³ ⋑", "∋ ∑ ♪ ¹ ¹ ² ² ³ ³ ⋑"), + ("⊃ ⪾ ⫘ ⫆ ⊇ ⫄ ⊃ ⊇", "⊃ ⪾ ⫘ ⫆ ⊇ ⫄ ⊃ ⊇"), + ("⟉ ⫗ ⥻ ⫂ ⫌ ⊋ ⫀ ⋑", "⟉ ⫗ ⥻ ⫂ ⫌ ⊋ ⫀ ⋑"), + ("⊃ ⊇ ⫆ ⊋ ⫌ ⫈ ⫔", "⊃ ⊇ ⫆ ⊋ ⫌ ⫈ ⫔"), + ("⫖ ⤦ ⇙ ↙ ↙ ⤪ ß ß \t", "⫖ ⤦ ⇙ ↙ ↙ ⤪ ß ß \t"), + ("⌖ Τ τ ⎴ Ť ť Ţ ţ Т т", "⌖ Τ τ ⎴ Ť ť Ţ ţ Т т"), + ("⃛ ⌕ 𝔗 𝔱 ∴ Θ θ", "⃛ ⌕ 𝔗 𝔱 ∴ Θ θ"), + ("ϑ ϑ ≈ ∼ \u2009 ≈", "ϑ ϑ ≈ ∼   ≈"), + ("∼ Þ þ Þ þ ˜ ≃", "∼ Þ þ Þ þ ˜ ≃"), + ("≅ ≈ × × ⊠ ⨱ ⨰", "≅ ≈ × × ⊠ ⨱ ⨰"), + ("∭ ⤨ ⊤ ⌶ ⫱ 𝕋 𝕥 ⫚ ⤩ ‴", "∭ ⤨ ⊤ ⌶ ⫱ 𝕋 𝕥 ⫚ ⤩ ‴"), + ("™ ▵ ▿ ◃ ⊴", "™ ▵ ▿ ◃ ⊴"), + ("≜ ▹ ⊵ ◬ ≜ ⨺", "≜ ▹ ⊵ ◬ ≜ ⨺"), + ("⃛ ⨹ ⧍ ⨻ ⏢ 𝒯 𝓉 Ц ц", "⃛ ⨹ ⧍ ⨻ ⏢ 𝒯 𝓉 Ц ц"), + ("Ћ ћ Ŧ ŧ ≬ ↞", "Ћ ћ Ŧ ŧ ≬ ↞"), + ("↠ Ú ú Ú ú ↟ ⇑ ↑", "↠ Ú ú Ú ú ↟ ⇑ ↑"), + ("⥉ Ў ў Ŭ ŭ Û û Û û", "⥉ Ў ў Ŭ ŭ Û û Û û"), + ("У у ⇅ Ű ű ⥮ ⥾ 𝔘 𝔲 Ù", "У у ⇅ Ű ű ⥮ ⥾ 𝔘 𝔲 Ù"), + ("ù Ù ù ⥣ ↿ ↾ ▀ ⌜", "ù Ù ù ⥣ ↿ ↾ ▀ ⌜"), + ("⌏ ◸ Ū ū ¨ _ ⏟", "⌏ ◸ Ū ū ¨ _ ⏟"), + ("⎵ ⏝ ⋃ ⊎ Ų ų 𝕌", "⎵ ⏝ ⋃ ⊎ Ų ų 𝕌"), + ("𝕦 ↑ ⇑ ↑ ⤒ ⇅", "𝕦 ↑ ⇑ ↑ ⤒ ⇅"), + ("↕ ⇕ ↕ ⥮ ↿", "↕ ⇕ ↕ ⥮ ↿"), + ("↾ ⊎ ↖ ↗ ϒ υ", "↾ ⊎ ↖ ↗ ϒ υ"), + ("ϒ Υ υ ⊥ ↥ ⇈ ⌝", "ϒ Υ υ ⊥ ↥ ⇈ ⌝"), + ("⌝ ⌎ Ů ů ◹ 𝒰 𝓊 ⋰ Ũ", "⌝ ⌎ Ů ů ◹ 𝒰 𝓊 ⋰ Ũ"), + ("ũ ▵ ▴ ⇈ Ü ü Ü ü ⦧ ⦜", "ũ ▵ ▴ ⇈ Ü ü Ü ü ⦧ ⦜"), + ("ϵ ϰ ∅ ϕ ϖ ∝ ⇕", "ϵ ϰ ∅ ϕ ϖ ∝ ⇕"), + ("↕ ϱ ς ϑ ⊲ ⊳", "↕ ϱ ς ϑ ⊲ ⊳"), + ("⫫ ⫨ ⫩ В в ⊫ ⊩ ⊨ ⊢ ⫦", "⫫ ⫨ ⫩ В в ⊫ ⊩ ⊨ ⊢ ⫦"), + ("⋁ ∨ ⊻ ≚ ⋮ ‖ | ∣ | ❘ ≀", "⋁ ∨ ⊻ ≚ ⋮ ‖ | ∣ | ❘ ≀"), + ("\u200A 𝔙 𝔳 ⊲ 𝕍 𝕧 ∝ ⊳ 𝒱", "  𝔙 𝔳 ⊲ 𝕍 𝕧 ∝ ⊳ 𝒱"), + ("𝓋 ⊪ ⦚ Ŵ ŵ ⩟ ⋀ ∧ ≙", "𝓋 ⊪ ⦚ Ŵ ŵ ⩟ ⋀ ∧ ≙"), + ("℘ 𝔚 𝔴 𝕎 𝕨 ℘ ≀ ≀ 𝒲 𝓌 ⋂", "℘ 𝔚 𝔴 𝕎 𝕨 ℘ ≀ ≀ 𝒲 𝓌 ⋂"), + ("◯ ⋃ ▽ 𝔛 𝔵 ⟺ ⟷ Ξ ξ ⟸ ⟵", "◯ ⋃ ▽ 𝔛 𝔵 ⟺ ⟷ Ξ ξ ⟸ ⟵"), + ("⟼ ⋻ ⨀ 𝕏 𝕩 ⨁ ⨂ ⟹ ⟶ 𝒳", "⟼ ⋻ ⨀ 𝕏 𝕩 ⨁ ⨂ ⟹ ⟶ 𝒳"), + ("𝓍 ⨆ ⨄ △ ⋁ ⋀ Ý ý Ý", "𝓍 ⨆ ⨄ △ ⋁ ⋀ Ý ý Ý"), + ("ý Я я Ŷ ŷ Ы ы ¥ ¥ 𝔜 𝔶", "ý Я я Ŷ ŷ Ы ы ¥ ¥ 𝔜 𝔶"), + ("Ї ї 𝕐 𝕪 𝒴 𝓎 Ю ю ÿ Ÿ ÿ", "Ї ї 𝕐 𝕪 𝒴 𝓎 Ю ю ÿ Ÿ ÿ"), ("Ź ź Ž ž З з Ż ż ℨ", "Ź ź Ž ž З з Ż ż ℨ"), ("\u200b Ζ ζ ℨ 𝔷 Ж ж ⇝ ℤ", "​ Ζ ζ ℨ 𝔷 Ж ж ⇝ ℤ"), ]