Commit Graph

21 Commits

Author SHA1 Message Date
ace8b61ae3 fix: исправлено удаление двойного экранирования & 2026-02-26 14:29:54 +03:00
00c80b79f1 mod: Use node separators and placeholders for robust HTML processing
1. Защита тегов: Защищенные теги (<code>, <script> и т.д.) теперь физически заменяются на плейсхолдеры (\uFFFC) в DOM-дереве перед обработкой. Это предотвращает "протекание" контекста (например, склеивание слов через код) и защищает содержимое тегов от изменений.

2. Маркеры границ: При сборке "супер-строки" (для контекстной обработки) между всеми текстовыми узлами вставляются специальные разделители (\uFFFF). Это позволяет корректно восстанавливать текст по узлам, даже если длина текста изменилась (например, Unbreakables удалил лишние пробелы). Раньше мы полагались на карту длин (lengths_map), что приводило к смещению текста при любых изменениях длины.
2026-02-03 02:04:46 +03:00
f3a651a54f 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 (схлопывание пробелов).
2026-02-03 00:57:46 +03:00
d94815d7ee mod: избавляемся от паразитного "обертывания" в <html> и <body>... 2026-01-11 18:41:42 +03:00
80dde55f42 mod: Висячая пунктуация в конвейре 2025-12-23 17:19:42 +03:00
cd1be6bf27 mod: Санитайзер добавлен в конвейер типографа 2025-12-19 14:33:46 +03:00
579903cc6d mod: двухпроходный конвейер типографа (теперь проблеы перед предлогами и кавычками не ломаются из-за html-тегов) 2025-10-12 20:16:02 +03:00
38581221b4 mod: Порядок правил 2025-10-05 16:53:51 +03:00
5adad34fa2 mod: Конвейер типографа с рекурсивным обходом DOM 2025-10-05 14:12:09 +03:00
9a37467bfc add: SymbolsProcessor - обработка тире и псевдографики 2025-08-22 15:45:38 +03:00
b4248db063 add: обработка кавычек 2025-08-17 01:12:09 +03:00
7ff18dc2e8 add: codec (внутренний utf-8 и мнемокод для in/out 2025-07-21 14:46:13 +03:00
1c5fe77706 add: обработка html (теги исклчены из типографа). 2025-07-19 23:00:41 +03:00
6b72da89c4 add: неразрывные пробелы для предлогов, союзов, частиц и т.п. (с пре-позицией и пост-позицией) 2025-07-18 00:31:02 +03:00
70ddf17c9f add: логгер 2025-05-13 23:52:50 +03:00
5390e0583e add: изменение настроек типографа через defaults.py 2025-05-13 15:25:45 +03:00
f48dd5bb53 mod: minor . 2025-05-13 00:46:36 +03:00
f0b9784737 add: разделены правила для языков + провеки на языки-алфавиты 2025-05-12 18:36:05 +03:00
4d9f4a798e add: наследование lang/mode при расстановке переносах в конвейере Типографа 2025-05-11 23:00:08 +03:00
0eae872e7a add: настройки языков и режима перенесены в config 2025-05-11 21:54:27 +03:00
b64354f85b mod: разделение функциональности по файлам 2025-05-11 18:57:03 +03:00