fix: Protect tags with placeholders to prevent text shifting and context leakage
1. Защита тегов: Внедрили механизм _hide_protected_tags / _restore_protected_tags с использованием плейсхолдера ___ETPGRF_PROTECTED___. Это решило проблему "протекания" контекста через защищенные теги (например, союз "и" больше не прыгает через <code>). 2. Фикс тестов: Обновили тесты, чтобы они учитывали реальное поведение BeautifulSoup (закрытие тегов) и Unbreakables (схлопывание пробелов).
This commit is contained in:
@@ -72,6 +72,7 @@ CHAR_ARROW_LR_LONG_DOUBLE = '\u27fa' # Длинная двойная двуна
|
||||
CHAR_MIDDOT = '\u00b7' # Средняя точка (· иногда используется как знак умножения) / ·
|
||||
CHAR_UNIT_SEPARATOR = '\u25F0' # Символ временный разделитель для составных единиц (◰), чтобы не уходить
|
||||
# в "мертвый" цикл при замене на тонкий пробел. Можно взять любой редкий символом.
|
||||
CHAR_PLACEHOLDER = '\uFFFC' # Символ-заполнитель (Object Replacement Character) для защищенных тегов.
|
||||
|
||||
|
||||
# === КОНСТАНТЫ ПСЕВДОГРАФИКИ ===
|
||||
@@ -253,7 +254,7 @@ CUSTOM_ENCODE_MAP = {
|
||||
'\u201d': '”', # ” / ” / ” / ”
|
||||
'\u2019': '’', # ’ / ’ / ’ / ’
|
||||
'\u2237': '∷', # ∷ / ∷ / ∷
|
||||
'\u2201': '∁', # ∁ / ∁ / ∁
|
||||
'\u2201': '∁', # / ∁ / ∁
|
||||
'\u2218': '∘', # ∘ / ∘ / ∘
|
||||
'\u2102': 'ℂ', # ℂ / ℂ / ℂ
|
||||
'\u222f': '∯', # ∯ / ∯ / ∯
|
||||
|
||||
Reference in New Issue
Block a user