74 lines
4.0 KiB
Python
74 lines
4.0 KiB
Python
# 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'])
|
||
|