diff --git a/etpgrf/config.py b/etpgrf/config.py index 6ca6332..cd46634 100644 --- a/etpgrf/config.py +++ b/etpgrf/config.py @@ -1,12 +1,57 @@ # etpgrf/conf.py # Настройки по умолчанию для типографа etpgrf +from email.header import SPACE -UTF = frozenset(['utf-8', 'utf-16', 'utf-32']) -MNEMO_CODE = frozenset(['mnemo', '&']) +# Режимы "отдачи" результатов обработки +MODE_UNICODE = "unicode" +MODE_MNEMONIC = "mnemonic" +MODE_MIXED = "mixed" +DEFAULT_MODE = MODE_MIXED + +# Языки, поддерживаемые библиотекой SUPPORTED_LANGS = frozenset(['ru', 'en']) - - # Язык(и) по умолчанию, если не указаны пользователем и не заданы через ETPGRF_DEFAULT_LANGS_MODULE DEFAULT_LANGS = 'ru' # -DEFAULT_CODE = 'utf-8' + +# ----------------- соответствия `unicode` и `mnemonic` для типографа + +# Переносы +SHY_ENTITIES = { + 'SHY': ('\u00AD', '­'), # Мягкий перенос +} + +# Пробелы и неразрывные пробелы +SPACE_ENTITIES = { + 'NBSP': ('\u00A0', ' '), # Неразрывный пробел + 'ZWSP': ('\u200B', '​'), # Пробел нулевой ширины (если нужен) +} + +# Тире и дефисы +DASH_ENTITIES = { + 'NDASH': ('\u2013', '–'), # Короткое тире + 'MDASH': ('\u2014', '—'), # Длинное тире + # 'HYPHEN': ('\u2010', '‐'), # Обычный дефис (если нужно отличать от минуса) +} + +# Кавычки +QUOTE_ENTITIES = { + 'LAQUO': ('\u00AB', '«'), # « + 'RAQUO': ('\u00BB', '»'), # » + 'LDQUO': ('\u201C', '“'), # “ (левая двойная) + 'RDQUO': ('\u201D', '”'), # ” (правая двойная) + 'LSQUO': ('\u2018', '‘'), # ‘ (левая одинарная) + 'RSQUO': ('\u2019', '’'), # ’ (правая одинарная) +} + +# Другие символы (пример для расширения) +SYMBOL_ENTITIES = { + 'HELLIP': ('\u2026', '…'), # Многоточие + 'COPY': ('\u00A9', '©'), # Копирайт + # ... стрелочки, математические символы и т.д. по мере необходимости +} + +# Сущности, которые ВСЕГДА должны выводиться как мнемоники в режиме MODE_MIXED +# Указываются их ИМЕНА (ключи из словарей выше) +ALWAYS_MNEMONIC_IN_SAFE_MODE = frozenset(['SHY', 'NBSP', 'ZWSP']) +