+
+

Библиотека etpgrf

+

+ Исходный код etpgrf-типографа доступен в нескольких репози­ториях (GitHub, GitVerse, Сube2, и PyPI), распрос­траняется под лицензией MIT, может быть установлен локально, на ваш + сайт или интегри­рован в ваши проекты как Python-библиотека.

[0.1.6.post1] - 2026–03–19

Изменено
    -
  • Новый алгоритм «висячей пунктуации» (HangingPunctuationProcessor). Добавлены компенси­рующие пробелы для висячих символов, чтобы избежать наложения на соседние слова. Теперь «висячие символы» (кавычки, скобки и т. п.) обора­чиваются в <span> вместе с ближайшим словом и пробелом, что обеспечивает отсутствие визуальных смещений внутри строки. Режим both (для одновре­менного вывешивания в обе стороны) отключен из-за потенци­альных конфликтов компенси­рующих пробелов и проблем с выравни­ванием при исполь­зовании CSS text-justify.
  • +
  • Новый алгоритм «висячей пунктуации» (HangingPunctuationProcessor). Добавлены компенси­рующие + пробелы для висячих символов, чтобы избежать наложения на соседние слова. Теперь «висячие символы» (кавычки, + скобки и т. п.) обора­чиваются в <span> вместе с ближайшим словом и пробелом, что + обеспечивает отсутствие визуальных смещений внутри строки. Режим both (для одновре­менного + вывешивания в обе стороны) отключен из-за потенци­альных конфликтов компенси­рующих пробелов и проблем + с выравни­ванием при исполь­зовании CSS text-justify.

Исправлено

    -
  • Автоматическая замена символов x, X, х, Х, стоящих между числами, на знак умножения ×, чтобы выражения вида 100x100 или 100 х  100` корректно обрабатывались и выглядели типографски правильными (100×100 или 100&nbsp;×&nbsp;100).
  • +
  • Автоматическая замена символов x, X, х, Х, стоящих между + числами, на знак умножения ×, чтобы выражения вида 100x100 или 100 х 100 + корректно обрабатывались и выглядели типографски правильными (100×100 или 100&nbsp;×&nbsp;100). +
- ## [0.1.6] - 2024-03-19 -### Изменено -- Н -### -- - - - +

[0.1.5] - 2026–02–27

+
Исправлено
+
    +
  • Исправлена ошибка, из-за которой &amp; в исходном тексте некорректно преобразовывался + в &. Теперь &amp;; и его маскирование (&amp;amp;, + &amp;lt; и т. д.) сохраняются в итоговом HTML. +
  • +
  • Исправлена (частично) расстановка неразрывных пробелов &nbsp; на границах закрывающих + тегов (например, <b>Текст</b> — слово теперь корректно обрабатывается, в <b>Текст</b>&nbsp;— + слово). +
  • +
+

[0.1.4] - 2026–02–03

+
Изменено
+
    +
  • Архите­ктурное улучшение: Полностью переработан механизм обработки HTML.
  • +
  • Внедрены маркеры границ узлов (\uFFFF) при сборке текста. Это позволяет корректно + восста­навливать структуру HTML даже если длина текста изменилась в процессе обработки (например, при удалении лишних + пробелов). +
  • +
  • Внедрены плейсхолдеры (\uFFFC) для защищенных тегов (<code>, + <script> и др.). Теперь содержимое этих тегов физически изолируется перед обработкой, + что предот­вращает «протекание» контекста (например, склеивание слов, разделенных кодом). +
  • +
+
Исправлено
+
    +
  • Исправлена ошибка смещения текста при наличии спецсимволов (мнемоник) или при изменении длины + строки. +
  • +
  • Исправлена обработка кавычек, стоящих вплотную к границам тегов (например, "<b>Текст</b>"). +
  • +
+

v0.1.3 — 2026–01–11

+
Исправлено
+
    +
  • Исправлена проблема с появлением лишних тегов <html> + и <body> при обработке фрагментов HTML (когда исполь­зуется парсер + lxml). Теперь типограф автома­тически определяет, был ли на входе полноценный + документ или фрагмент, и возвращает соответ­ствующий результат. +
  • +
+

v0.1.2 — 2025–12–27

+
Исправлено
+
    +
  • Критическое исправление: Добавлена отсут­ствующая зависимость regex в pyproject.toml. + Без неё библиотека падала при импорте. +
  • +
+

v0.1.1 — 2025–12–23

+
Добавлено
+
    +
  • Ссылки на зеркала репозитория (GitVerse, Gitea) в pyproject.toml и README.md. +
  • +
  • Раздел Credits в документации.
  • +
+

v0.1.0 — 2025–12–23

+
Добавлено
+
    +
  • Первый публичный релиз библиотеки etpgrf.
  • +
  • + Основные модули: +
      +
    • Typographer: основной класс-оркестратор.
    • +
    • Hyphenator: расстановка мягких переносов (алгоритм Ляна-Кнута).
    • +
    • QuotesProcessor: замена кавычек («ёлочки», „лапки“).
    • +
    • Unbreakables: неразрывные пробелы для предлогов, союзов и частиц.
    • +
    • LayoutProcessor: типографика тире, инициалов, акронимов, единиц измерения, устойчивых + сокращений (постпо­зиционных и препози­ционных).
    • +
    • SymbolsProcessor: псевдо­графика (тире, стрелочки, копирайт и т. п.)
    • +
    • HangingPunctuationProcessor: висячая пунктуация.
    • +
    • SanitizerProcessor: очистка HTML перед обработкой.
    • +
    +
  • +
  • Поддержка русского, русского дорефо­рменного и английского языков.
  • +
  • Поддержка обработки HTML (через BeautifulSoup).
  • +
+