diff --git a/etpgrf/config.py b/etpgrf/config.py index e0bb277..5d3eac9 100644 --- a/etpgrf/config.py +++ b/etpgrf/config.py @@ -13,7 +13,7 @@ LANG_RU = 'ru' # Русский LANG_RU_OLD = 'ruold' # Русская дореволюционная орфография LANG_EN = 'en' # Английский SUPPORTED_LANGS = frozenset([LANG_RU, LANG_RU_OLD, LANG_EN]) - +DEFAULT_LANGS = (LANG_RU, LANG_EN) # Языки по умолчанию # === ИСТОЧНИК ПРАВДЫ === # --- Базовые алфавиты: Эти константы используются как для правил переноса, так и для правил кодирования --- @@ -37,6 +37,14 @@ EN_ALPHABET_FULL = EN_ALPHABET_UPPER | EN_ALPHABET_LOWER # --- Специальные символы --- NBSP_CHAR = '\u00A0' # Неразрывный пробел ( ) SHY_CHAR = '\u00AD' # Мягкий перенос (­) +RU_QUOT1_OPEN = '«' +RU_QUOT1_CLOSE = '»' +RU_QUOT2_OPEN = '„' +RU_QUOT2_CLOSE = '“' +EN_QUOT1_OPEN = '“' +EN_QUOT1_CLOSE = '”' +EN_QUOT2_OPEN = '‘' +EN_QUOT2_CLOSE = '’' # === КОНСТАНТЫ ДЛЯ КОДИРОВАНИЯ HTML-МНЕМНОИКОВ === # --- ЧЕРНЫЙ СПИСОК: Символы, которые НИКОГДА не нужно кодировать в мнемоники --- @@ -49,20 +57,20 @@ NEVER_ENCODE_CHARS = (frozenset(['!', '#', '%', '(', ')', '*', ',', '.', '/', ': # которые не видны, на глаз и не отличимы друг от друга в обычном тексте, или очень специфичные SAFE_MODE_CHARS_TO_MNEMONIC = frozenset([ '<', '>', '&', '"', '\'', - '\u00AD', # Мягкий перенос (Soft Hyphen) -- ­ - '\u00A0', # Неразрывный пробел (Non-Breaking Space) --   + SHY_CHAR, # Мягкий перенос (Soft Hyphen) -- ­ + NBSP_CHAR, # Неразрывный пробел (Non-Breaking Space) --   '\u2002', # Полужирный пробел (En Space) --   '\u2003', # Широкий пробел (Em Space) --   - '\u2007', # Цифровой пробел --  ) + '\u2007', # Цифровой пробел --   '\u2008', # Пунктуационный пробел --   - '\u2009', # Междусимвольный пробел --  ' + '\u2009', # Межсимвольный пробел --  ' '\u200A', # Толщина волоса (Hair Space) --   '\u200B', # Негативный пробел (Negative Space) -- ​ '\u200C', # Нулевая ширина (без объединения) (Zero Width Non-Joiner) -- ‍ '\u200D', # Нулевая ширина (с объединением) (Zero Width Joiner) -- ‌ '\u200E', # Изменить направление текста на слева-направо (Left-to-Right Mark /LRE) -- ‎ '\u200F', # Изменить направление текста направо-налево (Right-to-Left Mark /RLM) -- ‏ - '\u2010', # ‐ -- дефис (Hyphen) + '\u2010', # Дефис (Hyphen) -- ‐ '\u205F', # Средний пробел (Medium Mathematical Space) --   '\u2060', # ⁠ '\u2062', # ⁢ -- для семантической разметки математических выражений @@ -102,14 +110,14 @@ CUSTOM_ENCODE_MAP = { # '\u007d': '}', # } / } / } # '\u007c': '|', # | / | / | / | # '\u0026': '&', # & / & / & - # '\u00A0': ' ', # /   /   + # NBSP_CHAR: ' ', # /   /   '\u0022': '"', # " / " / " '\u0026': '&', # & / & / & '\u003e': '>', # > / > / > '\u003c': '<', # < / < / < '\u00ae': '®', # ® / ® / ® / ® '\u00b7': '·', # · / · / · / · - '\u0060': '`', # ` / grave / DiacriticalGrave + '\u0060': '`', # ` / ` / ` '\u00a8': '¨', # ¨ / ¨ / ¨ / ¨ / ¨ '\u00b1': '±', # ± / ± / ± '\u00bd': '½', # ½ / ½ / ½