From 27c950f28dc6a06f47e288d7cf574619d1f47985 Mon Sep 17 00:00:00 2001 From: erjemin Date: Sat, 2 Aug 2025 11:46:35 +0300 Subject: [PATCH] =?UTF-8?q?mad:=20=D1=82=D0=B5=D1=81=D1=82=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=B4=D0=B5=D0=BA=D0=B0,=20=D0=B5=D1=89=D1=91=20=D0=B1=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C=D1=88=D0=B5=20html-=D0=BC=D0=BD=D0=B5=D0=BC=D0=BE?= =?UTF-8?q?=D0=BD=D0=B8=D0=BA..?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- etpgrf/config.py | 17 ++++++++--------- tests/test_codec.py | 31 +++++++++++++++++++++++++++++-- 2 files changed, 37 insertions(+), 11 deletions(-) diff --git a/etpgrf/config.py b/etpgrf/config.py index 7c4758f..097e057 100644 --- a/etpgrf/config.py +++ b/etpgrf/config.py @@ -346,7 +346,7 @@ MATH_ENTITIES = { 'rang': ('\u232A', '⟩'), # Правая угловая скобка (〉) } -# Другие символы (пример для расширения) +# Другие символы SYMBOL_ENTITIES = { 'copy': ('\u00A9', '©'), # Копирайт (©) 'reg': ('\u00AE', '®'), # Зарегистрированный товарный знак (®) @@ -393,7 +393,6 @@ SYMBOL_ENTITIES = { 'dd': ('\u2146', 'ⅆ'), # Дважды начерченная курсивная строчная d (ⅆ) 'ee': ('\u2147', 'ⅇ'), # Дважды начерченная курсивная строчная e (ⅇ) 'ii': ('\u2148', 'ⅈ'), # Дважды начерченная курсивная строчная i (ⅈ) - 'ff': ('\u2149', '&ff;'), # Дважды начерченная курсивная строчная f (ⅉ) 'ffilig': ('\uFB03', 'ffi'), # Лигатура "ffi" (ffi) 'fflig': ('\uFB00', 'ff'), # Лигатура "ff" (ff) 'filig': ('\uFB01', 'fi'), # Лигатура "fi" (fi) @@ -406,7 +405,7 @@ SYMBOL_ENTITIES = { 'spades': ('\u2660', '♠'), # Пики закрашенные (♠) 'clubs': ('\u2663', '♣'), # Трефы закрашенные (♣) 'hearts': ('\u2665', '♥'), # Черви закрашенные (♥) - 'diams': ('\u2666','♦'), # Бубны закрашенные (♦) + 'diams': ('\u2666', '♦'), # Бубны закрашенные (♦) 'loz': ('\u25CA', '◊'), # Ромб (◊) 'sung': ('\u266A', '♪'), # Музыкальная восьмая нота (♪) 'flat': ('\u266D', '♭'), # Музыкальный знак бемоль (♭) @@ -430,10 +429,10 @@ SYMBOL_PUNCTUATION = { KEY_AMP: ('\u0026', '&'), # Амперсанд (&) # 'lpar': ('\u0028', '('), # Левая круглая скобка (() # 'rpar': ('\u0029', ')'), # Правая круглая скобка ()) - #'ast': ('\u002A', '*'), # Звёздочка (*) - #'comma': ('\u002C', ','), # Запятая (,) + # 'ast': ('\u002A', '*'), # Звёздочка (*) + # 'comma': ('\u002C', ','), # Запятая (,) # 'period': ('\u002E', '.'), # Точка (.) - #'sol': ('\u002F', '/'), # Косая черта (/) + # 'sol': ('\u002F', '/'), # Косая черта (/) # 'colon': ('\u003A', ':'), # Двоеточие (:) # 'semi': ('\u003B', ';'), # Точка с запятой (;) # 'quest': ('\u003F', '?'), # Знак вопроса (?) @@ -491,10 +490,10 @@ SYMBOL_FRACTIONS = { 'frac14': ('\u00BC', '¼'), # Обычная дробь 1/4 (¼) 'frac15': ('\u2155', '⅕'), # Обычная дробь 1/5 (⅕) 'frac16': ('\u2159', '⅙'), # Обычная дробь 1/6 (⅙) - 'frac17': ('\u215A', '&frac17;'), # Обычная дробь 1/7 (⅐) + # 'frac17': ('\u215A', '&frac17;'), # Обычная дробь 1/7 (⅐) 'frac18': ('\u215B', '⅛'), # Обычная дробь 1/8 (⅛) - 'frac19': ('\u215C', '&frac19;'), # Обычная дробь 1/9 (⅑) - 'frac110': ('\u215D', '&frac110;'), # Обычная дробь 1/10 (⅒) + # 'frac19': ('\u215C', '&frac19;'), # Обычная дробь 1/9 (⅑) + # 'frac110': ('\u215D', '&frac110;'), # Обычная дробь 1/10 (⅒) 'frac23': ('\u2154', '⅔'), # Обычная дробь 2/3 (⅔) 'frac25': ('\u2156', '⅖'), # Обычная дробь 2/5 (⅖) 'frac34': ('\u00BE', '¾'), # Обычная дробь 3/4 (¾) diff --git a/tests/test_codec.py b/tests/test_codec.py index 2dde62b..71c4a53 100644 --- a/tests/test_codec.py +++ b/tests/test_codec.py @@ -19,7 +19,7 @@ STRINGS_FOR_DECODE = [ ("‘ ’ ‚", "‘ ’ ‚"), # Одиночные кавычки ("‹ ›", "‹ ›"), # Французские угловые кавычки ("$ ¢ £ ¤ ¥ € ₽", "$ ¢ £ ¤ ¥ € ₽"), # Валютные символы - ("+ − × ÷ = ≠", "+ − × ÷ = ≠"), # Математические символы + ("+ − × ÷ = ≠", "+ − × ÷ = ≠"), # Математические символы ("± ¬ ° ¹ ² ³", "± ¬ ° ¹ ² ³"), ("ƒ % ‰ ‱", "ƒ % ‰ ‱"), ("∀ ∁ ∂ ∃ ∄", "∀ ∁ ∂ ∃ ∄"), @@ -79,9 +79,36 @@ STRINGS_FOR_DECODE = [ ("◊ ♪ ♭ ♮ ♯ ✓", "◊ ♪ ♭ ♮ ♯ ✓"), ("✗ ✠ ✶ ❘", "✗ ✠ ✶ ❘"), ("❲ ❳", "❲ ❳"), + ("! # % ( ) *", "! # % ( ) *"), # Знаки препинания + (", . / : ;", ", . / : ;"), + ("? [ \ ] ^ _", "? [ \\ ] ^ _"), + ("` { | } ˜", "` { | } ˜"), + ("ˆ ‎ ‏ ¡ ¦ §", "ˆ \u200e \u200f ¡ ¦ §"), + ("¨ ª ¬ ¯ ´ µ ‵", "¨ ª ¬ ¯ ´ µ ‵"), + ("¶ · ¸ º ¿ ‖", "¶ · ¸ º ¿ ‖"), + ("† ‡ • ‥ …", "† ‡ • ‥ …"), + ("‰ ‱ ′ ″ ‴", "‰ ‱ ′ ″ ‴"), + ("‾ ⁁ ⁃ ⁄ ⁏ ⁗", "‾ ⁁ ⁃ ⁄ ⁏ ⁗"), + ("½ ⅓ ¼ ⅕ ⅙", "½ ⅓ ¼ ⅕ ⅙"), # Дробные символы и знаки + ("⅛ ⅔ ⅖ ¾ ⅗", "⅛ ⅔ ⅖ ¾ ⅗"), + ("⅜ ⅘ ⅚ ⅝ ⅞", "⅜ ⅘ ⅚ ⅝ ⅞"), + ("Α Β Γ Δ Ε Ζ", "Α Β Γ Δ Ε Ζ"), # Греческие символы + ("Η Θ Ι Κ Λ Μ", "Η Θ Ι Κ Λ Μ"), + ("Ν Ξ Ο Π Ρ Σ Τ", "Ν Ξ Ο Π Ρ Σ Τ"), + ("Υ Φ Χ Ψ Ω α", "Υ Φ Χ Ψ Ω α"), + ("β γ δ ε ζ η", "β γ δ ε ζ η"), + ("θ ι κ λ μ ν", "θ ι κ λ μ ν"), + ("ξ ο π ρ ς τ", "ξ ο π ρ ς τ"), + ("υ φ χ ψ ω", "υ φ χ ψ ω"), + ("ϑ ϒ ϖ", "ϑ ϒ ϖ"), ("", ""), ("", ""), - ("", ""), + + + + + +