Files
2025-etpgrf/etpgrf/config.py

74 lines
4.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# etpgrf/conf.py
# Настройки по умолчанию для типографа etpgrf
# Режимы "отдачи" результатов обработки
MODE_UNICODE = "unicode"
MODE_MNEMONIC = "mnemonic"
MODE_MIXED = "mixed"
# DEFAULT_MODE = MODE_MIXED
# Языки, поддерживаемые библиотекой
LANG_RU = 'ru' # Русский
LANG_RU_OLD = 'ruold' # Русская дореволюционная орфография
LANG_EN = 'en' # Английский
SUPPORTED_LANGS = frozenset([LANG_RU, LANG_RU_OLD, LANG_EN])
# Язык(и) по умолчанию, если не указаны пользователем и не заданы через ETPGRF_DEFAULT_LANGS_MODULE
# DEFAULT_LANGS = LANG_RU
# Значения по умолчанию для параметров Hyphenator
# DEFAULT_HYP_MAX_LEN = 10 # Максимальная длина слова без переносов
# DEFAULT_HYP_MIN_LEN = 3 # Минимальный "хвост" слова для переноса
# ----------------- соответствия `unicode` и `mnemonic` для типографа
# Переносы
SHY_ENTITIES = {
'SHY': ('\u00AD', '­'), # Мягкий перенос
}
# Пробелы и неразрывные пробелы
SPACE_ENTITIES = {
'NBSP': ('\u00A0', ' '), # Неразрывный пробел
'THINSP': ('\u2009', ' '), # Тонкий пробел
'ENSP': ('\u2002', ' '), # Полуширокий пробел
'EMSP': ('\u2003', ' '), # Широкий пробел
'ZWNJ': ('\u200C', '‌'), # Разрывный пробел нулевой ширины (без пробела)
'ZWJ': ('\u200D', '‍'), # Неразрывный пробел нулевой ширины
}
# Тире и дефисы
DASH_ENTITIES = {
'NDASH': ('\u2013', '–'), # Короткое тире
'MDASH': ('\u2014', '—'), # Длинное тире
# 'HYPHEN': ('\u2010', '‐'), # Обычный дефис (если нужно отличать от минуса)
}
# Кавычки
QUOTE_ENTITIES = {
'QUOT': ('\u0022', '"'), # Двойная кавычка (универсальная) -- "
'APOS': ('\u0027', '''), # Апостроф (одинарная кавычка) -- '
'LAQUO': ('\u00AB', '«'), # Открывающая (левая) кавычка «ёлочка» -- «
'RAQUO': ('\u00BB', '»'), # Закрывающая (правая) кавычка «ёлочка» -- »
'LDQUO': ('\u201C', '“'), # Oткрывающая (левая) двойная кавычка -- “
'RDQUO': ('\u201D', '”'), # Закрывающая (правая) двойная кавычка -- ”
'BDQUO': ('\u2039', '„'), # Нижняя двойная кавычка -- „
'LSQUO': ('\u2018', '‘'), # Открывающая (левая) одинарная кавычка --
'RSQUO': ('\u2019', '’'), # Закрывающая (правая) одинарная кавычка --
'SBQUO': ('\u201A', '‚'), # Нижняя одинарная кавычка --
'LSAQUO': ('\u2039', '‹'), # Открывающая французская угловая кавычка --
'RSAQUO': ('\u203A', '›'), # Закрывающая французская угловая кавычка --
}
# Другие символы (пример для расширения)
SYMBOL_ENTITIES = {
'HELLIP': ('\u2026', '…'), # Многоточие
'COPY': ('\u00A9', '©'), # Копирайт
# ... стрелочки, математические символы и т.д. по мере необходимости
}
# Сущности, которые ВСЕГДА должны выводиться как мнемоники в режиме MODE_MIXED
# Указываются их ИМЕНА (ключи из словарей выше)
ALWAYS_MNEMONIC_IN_SAFE_MODE = frozenset(['SHY', 'NBSP', 'ZWSP'])