mod: еще больше html-мнемокода
This commit is contained in:
511
etpgrf/config.py
511
etpgrf/config.py
@@ -22,97 +22,498 @@ SUPPORTED_LANGS = frozenset([LANG_RU, LANG_RU_OLD, LANG_EN])
|
||||
# === Соответствия `unicode` и `mnemonic` для типографа
|
||||
|
||||
# Переносы
|
||||
KEY_SHY = 'SHY'
|
||||
KEY_SHY = 'shy'
|
||||
SHY_ENTITIES = {
|
||||
KEY_SHY: ('\u00AD', '­'), # Мягкий перенос
|
||||
}
|
||||
|
||||
# Пробелы и неразрывные пробелы
|
||||
KEY_NBSP = 'NBSP'
|
||||
KEY_THINSP = 'THINSP'
|
||||
KEY_ENSP = 'ENSP'
|
||||
KEY_EMSP = 'EMSP'
|
||||
KEY_ZWNJ = 'ZWNJ'
|
||||
KEY_ZWJ = 'ZWJ'
|
||||
KEY_NBSP = 'nbsp'
|
||||
KEY_THINSP = 'thinsp'
|
||||
KEY_ENSP = 'ensp'
|
||||
KEY_EMSP = 'emsp'
|
||||
KEY_ZWNJ = 'zwnj'
|
||||
KEY_ZWJ = 'zwj'
|
||||
SPACE_ENTITIES = {
|
||||
KEY_NBSP: ('\u00A0', ' '), # Неразрывный пробел
|
||||
KEY_THINSP: ('\u2009', ' '), # Тонкий пробел
|
||||
KEY_ENSP: ('\u2002', ' '), # Полу-широкий пробел
|
||||
KEY_EMSP: ('\u2003', ' '), # Широкий пробел
|
||||
KEY_ZWNJ: ('\u200C', '‌'), # Разрывный пробел нулевой ширины (без пробела)
|
||||
KEY_ZWJ: ('\u200D', '‍'), # Неразрывный пробел нулевой ширины
|
||||
KEY_ENSP: ('\u2002', ' '), # Полу-широкий пробел (En space)
|
||||
KEY_EMSP: ('\u2003', ' '), # Широкий пробел (Em space)
|
||||
KEY_THINSP: ('\u2009', ' '), # Тонкий пробел (Thin space)
|
||||
KEY_ZWJ: ('\u200D', '‍'), # Нулевая ширина (с объединением) (Zero Width Joiner)
|
||||
KEY_ZWNJ: ('\u200C', '‌'), # Нулевая ширина (без объединения) (Zero Width Non-Joiner)
|
||||
}
|
||||
|
||||
# Тире и дефисы
|
||||
DASH_ENTITIES = {
|
||||
'NDASH': ('\u2013', '–'), # Cреднее тире (En dash)
|
||||
'MDASH': ('\u2014', '—'), # Длинное тире
|
||||
'HYPHEN': ('\u2010', '‐'), # Обычный дефис (если нужно отличать от минуса)
|
||||
'HORBAR': ('\u2015', '―'), # Горизонтальная линия (длинная черта)
|
||||
'ndash': ('\u2013', '–'), # Cреднее тире (En dash)
|
||||
'mdash': ('\u2014', '—'), # Длинное тире
|
||||
'hyphen': ('\u2010', '‐'), # Обычный дефис (если нужно отличать от минуса)
|
||||
'horbar': ('\u2015', '―'), # Горизонтальная линия (длинная черта)
|
||||
}
|
||||
|
||||
# Кавычки
|
||||
KEY_QUOT = 'quot'
|
||||
KEY_LAQUO = 'laquo'
|
||||
KEY_RAQUO = 'raquo'
|
||||
KEY_LDQUO = 'ldquo'
|
||||
KEY_RDQUO = 'rdquo'
|
||||
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', '›'), # Закрывающая французская угловая кавычка -- ‹
|
||||
KEY_QUOT: ('\u0022', '"'), # Двойная кавычка (универсальная) -- "
|
||||
'apos': ('\u0027', '''), # Апостроф (одинарная кавычка) -- '
|
||||
KEY_LAQUO: ('\u00AB', '«'), # Открывающая (левая) кавычка «ёлочка» -- «
|
||||
KEY_RAQUO: ('\u00BB', '»'), # Закрывающая (правая) кавычка «ёлочка» -- »
|
||||
KEY_LDQUO: ('\u201C', '“'), # Oткрывающая (левая) двойная кавычка -- “
|
||||
KEY_RDQUO: ('\u201D', '”'), # Закрывающая (правая) двойная кавычка -- ”
|
||||
'bdquo': ('\u2039', '„'), # Нижняя двойная кавычка -- „
|
||||
'lsquo': ('\u2018', '‘'), # Открывающая (левая) одинарная кавычка -- ‘
|
||||
'rsquo': ('\u2019', '’'), # Закрывающая (правая) одинарная кавычка -- ’
|
||||
'sbquo': ('\u201A', '‚'), # Нижняя одинарная кавычка -- ‚
|
||||
'lsaquo': ('\u2039', '‹'), # Открывающая французская угловая кавычка -- ›
|
||||
'rsaquo': ('\u203A', '›'), # Закрывающая французская угловая кавычка -- ‹
|
||||
}
|
||||
|
||||
# Символы валют
|
||||
CURRENCY_ENTITIES = {
|
||||
'DOLLAR': ('\u0024', '$'), # Доллар
|
||||
'CENT': ('\u00A2', '¢'), # Цент
|
||||
'POUND': ('\u00A3', '£'), # Фунт стерлингов
|
||||
'CURREN': ('\u00A4', '¤'), # Знак валюты (обычно используется для обозначения "без конкретной валюты")
|
||||
'YEN': ('\u00A5', '¥'), # Йена
|
||||
'EURO': ('\u20AC', '€'), # Евро
|
||||
'RUBLE': ('\u20BD', '₽'), # Российский рубль (₽)
|
||||
'dollar': ('\u0024', '$'), # Доллар
|
||||
'cent': ('\u00A2', '¢'), # Цент
|
||||
'pound': ('\u00A3', '£'), # Фунт стерлингов
|
||||
'curren': ('\u00A4', '¤'), # Знак валюты (обычно используется для обозначения "без конкретной валюты")
|
||||
'yen': ('\u00A5', '¥'), # Йена
|
||||
'euro': ('\u20AC', '€'), # Евро
|
||||
'ruble': ('\u20BD', '₽'), # Российский рубль (₽)
|
||||
}
|
||||
|
||||
# Математические символы
|
||||
KEY_LT = 'LT'
|
||||
KEY_GT = 'GT'
|
||||
KEY_LT = 'lt'
|
||||
KEY_GT = 'gt'
|
||||
MATH_ENTITIES = {
|
||||
KEY_LT: ('\u00B7', '<'), # Меньше (<)
|
||||
KEY_GT: ('\u00B7', '>'), # Больше (>)
|
||||
'PLUS': ('\u002B', '+'), # Плюс (+)
|
||||
'MINUS': ('\u2212', '−'), # Минус (−)
|
||||
'MULTIPLY': ('\u00D7', '×'), # Умножение (×)
|
||||
'DIVIDE': ('\u00F7', '÷'), # Деление (÷)
|
||||
'EQUALS': ('\u003D', '='), # Равно (=)
|
||||
'NOT_EQUAL': ('\u2260', '≠'), # Не равно (≠)
|
||||
'PLUSMN': ('\u00B1', '±'), # Плюс-минус (±)
|
||||
'LESS_EQUAL': ('\u2264', '≤'), # Меньше или равно (≤)
|
||||
'GREATER_EQUAL': ('\u2265', '≥'), # Больше или равно (≥)
|
||||
'APPROX_EQUAL': ('\u2245', '≅'), # Приблизительно равно (≅)
|
||||
'APPROX_EQ': ('\u2245', '≊'), # Приблизительно равно (≅)
|
||||
'APPROX': ('\u2248', '≈'), # Приблизительно равно (≈)
|
||||
'plus': ('\u002B', '+'), # Плюс (+)
|
||||
'minus': ('\u2212', '−'), # Минус (−)
|
||||
'times': ('\u00D7', '×'), # Умножение (×)
|
||||
'divide': ('\u00F7', '÷'), # Деление (÷)
|
||||
'equals': ('\u003D', '='), # Равно (=)
|
||||
'ne': ('\u2260', '≠'), # Не равно (≠)
|
||||
'plusmn': ('\u00B1', '±'), # Плюс-минус (±)
|
||||
'not': ('\u00AC', '¬'), # Знак отрицания (¬)
|
||||
'deg': ('\u00B0', '°'), # Знак градуса (°)
|
||||
'sup1': ('\u00B9', '¹'), # Верхний индекс 1 (¹)
|
||||
'sup2': ('\u00B2', '²'), # Верхний индекс 2 (²)
|
||||
'sup3': ('\u00B3', '³'), # Верхний индекс 3 (³)
|
||||
'fnof': ('\u0192', 'ƒ'), # Латинская строчная буква «f» с хвостиком или знак флорина (ƒ)
|
||||
'percnt': ('\u0025', '%'), # Знак процента (%)
|
||||
'permil': ('\u0089', '‰'), # Знак промилле (‰)
|
||||
'pertenk': ('\u2031', '‱'), # Знак на десять тысяч (‱)
|
||||
'forall': ('\u2200', '∀'), # Для всех (∀)
|
||||
'comp': ('\u2201', '∁'), # Дополнение (∁)
|
||||
'part': ('\u2202', '∂'), # Частный дифференциал (∂)
|
||||
'exist': ('\u2203', '∃'), # Существует (∃)
|
||||
'nexist': ('\u2204', '∄'), # Не существует (∄)
|
||||
'empty': ('\u2205', '∅'), # Пустое множество (∅)
|
||||
'nabla': ('\u2207', '∇'), # Набла (∇)
|
||||
'isin': ('\u2208', '∈'), # Принадлежит (∈)
|
||||
'notin': ('\u2209', '∉'), # Не принадлежит (∉)
|
||||
'ni': ('\u220B', '∋'), # Содержит как член (∋)
|
||||
'notni': ('\u220C', '∌'), # Не содержит как член (∌)
|
||||
'prod': ('\u220F', '∏'), # N-арное произведение (∏)
|
||||
'coprod' : ('\u2210', '∐'), # N-арный сомножитель (∐)
|
||||
'sum': ('\u2211', '∑'), # N-арная сумма (∑)
|
||||
'mnplus': ('\u2213', '∓'), # Минус-плюс (∓)
|
||||
'minusd': ('\u2212', '∸'), # Минус с точкой (∸)
|
||||
'plusdo': ('\u2214', '∔'), # Плюс с точкой (∔)
|
||||
'setminus': ('\u2216', '∖'), # Разность множеств (∖)
|
||||
'lowast': ('\u2217', '∗'), # Оператор звездочка (∗)
|
||||
'compfn': ('\u2218', '∘'), # Кольцевой оператор (∘)
|
||||
'radic': ('\u221A', '√'), # Квадратный корень (√)
|
||||
'prop': ('\u221D', '∝'), # Пропорционально (∝)
|
||||
'infin': ('\u221E', '∞'), # Бесконечность (∞)
|
||||
'ang': ('\u2220', '∠'), # Угол (∠)
|
||||
'angrt': ('\u221F', '∟'), # Правый угол (∟)
|
||||
'angmsd': ('\u2221', '∡'), # Измеримый угол (∡)
|
||||
'angsph': ('\u2222', '∢'), # Сферический угол (∢)
|
||||
'mid': ('\u2223', '∣'), # Делит (∣)
|
||||
'nmid': ('\u2224', '∤'), # Не делит (∤)
|
||||
'parallel': ('\u2225', '∥'), # Параллельно (∥)
|
||||
'npar': ('\u2226', '∦'), # Не параллельно (∦)
|
||||
'and': ('\u2227', '∧'), # Логическое И (∧)
|
||||
'or': ('\u2228', '∨'), # Логическое ИЛИ (∨)
|
||||
'cap': ('\u2229', '∩'), # Пересечение (∩)
|
||||
'cup': ('\u222A', '∪'), # Объединение (∪)
|
||||
'int': ('\u222B', '∫'), # Интеграл (∫)
|
||||
'int2': ('\u222C', '∬'), # Двойной интеграл (∬)
|
||||
'int3': ('\u222D', '∭'), # Тройной интеграл (∭)
|
||||
'conint': ('\u222E', '∮'), # Интеграл по контуру (∮)
|
||||
'Conint': ('\u222F', '∯'), # Поверхностный интеграл (∯)
|
||||
'Cconint': ('\u2230', '∰'), # Интеграл по объёму (∰)
|
||||
'cwint': ('\u2231', '∱'), # Круговой интеграл (∱)
|
||||
'cwconint': ('\u2232', '∲'), # Круговой интеграл по контуру (∲)
|
||||
'awconint': ('\u2233', '∳'), # Антикруговой интеграл по контуру (∳)
|
||||
'there4': ('\u2234', '∴'), # Следовательно (∴)
|
||||
'because': ('\u2235', '∵'), # Поскольку (∵)
|
||||
'ratio': ('\u2236', '∶'), # Отношение (∶)
|
||||
'Colon': ('\u2237', '∷'), # Пропорция (∷)
|
||||
'mDDot': ('\u223A', '∺'), # Геометрическая пропорция (∺)
|
||||
'homtht': ('\u223B', '∻'), # Гомотетия (∻)
|
||||
'sim': ('\u223C', '∼'), # Оператор тильда (∼)
|
||||
'bsim': ('\u223D', '∽'), # Обратная тильда (∽)
|
||||
'ac': ('\u223E', '∾'), # Перевернутая плавная s (∾)
|
||||
'acd': ('\u223F', '∿'), # Синусоидальная волна (∿)
|
||||
'wreath': ('\u2240', '≀'), # Скрученное произведение (≀)
|
||||
'nsim': ('\u2241', '≁'), # Не эквивалентно (≁)
|
||||
'esim': ('\u2242', '≂'), # Тильда с минусом (≂)
|
||||
'sime': ('\u2243', '≃'), # Асимптотически равно (≃)
|
||||
'nsime': ('\u2244', '≄'), # Не асимптотически равно (≄)
|
||||
'cong': ('\u2245', '≅'), # Конгруэнтность (≅)
|
||||
'asymp': ('\u2248', '≈'), # Приблизительно равно (≈)
|
||||
'simne': ('\u2246', '≆'), # Приблизительно, но не точно равно (≆)
|
||||
'ncong': ('\u2247', '≇'), # Не приблизительно, не фактически равно (≇)
|
||||
'nap': ('\u2249', '≉'), # Не почти равный (≉)
|
||||
'approxeq': ('\u224A', '≊'), # Почти равный или равный (≊)
|
||||
'apid': ('\u224B', '≋'), # Тройная тильда (≋)
|
||||
'bcong': ('\u224C', '≌'), # Все равны (≌)
|
||||
'asympeq': ('\u224D', '≍'), # Эквивалентный (≍)
|
||||
'bump': ('\u224E', '≎'), # Геометрически эквивалентный (≎)
|
||||
'bumpe': ('\u224F', '≏'), # Различие между (≏)
|
||||
'esdot': ('\u2250', '≐'), # Приближается к пределу (≐)
|
||||
'eDot': ('\u2251', '≑'), # Точка в пределах, Геометрически равный (≑)
|
||||
'efDot': ('\u2252', '≒'), # Приблизительно равный или образ (≒)
|
||||
'erDot': ('\u2253', '≓'), # Образ или приблизительно равный (≓)
|
||||
'colone': ('\u2254', '≔'), # Двоеточие равно (≔)
|
||||
'ecolon': ('\u2255', '≕'), # Равно двоеточие (≕)
|
||||
'ecir': ('\u2256', '≖'), # Кольцо в равно (≖)
|
||||
'cire': ('\u2257', '≗'), # Кольцо равно (≗)
|
||||
'wedgeq': ('\u2259', '≙'), # Оценка, Равно с вектором (≙)
|
||||
'veeeq': ('\u225A', '≚'), # Равноугольный (≚)
|
||||
'trie': ('\u225C', '≜'), # Равно по определению (≜)
|
||||
'equest': ('\u225F', '≟'), # Равно с вопросительным знаком (≟)
|
||||
'equiv': ('\u2261', '≡'), # Тождественно равно (≡)
|
||||
'nequiv': ('\u2262', '≢'), # Не тождественно равно (≢)
|
||||
'le': ('\u2264', '≤'), # Меньше или равно (≤)
|
||||
'ge': ('\u2265', '≥'), # Больше или равно (≥)
|
||||
'lE': ('\u2266', '≦'), # Меньше над равно (≦)
|
||||
'gE': ('\u2267', '≧'), # Больше над равно (≧)
|
||||
'lnE': ('\u2268', '≨'), # Меньше, но не равно (≨)
|
||||
'gnE': ('\u2269', '≩'), # Больше, но не равно (≩)
|
||||
'Lt': ('\u226A', '≪'), # Много меньше (≪)
|
||||
'Gt': ('\u226B', '≫'), # Много больше (≫)
|
||||
'between': ('\u226C', '≬'), # Между (≬)
|
||||
'NotCupCap': ('\u226D', '≭'), # Не эквивалентно (≭)
|
||||
'nlt': ('\u226E', '≮'), # Не меньше (≮)
|
||||
'ngt': ('\u226F', '≯'), # Не больше (≯)
|
||||
'nle': ('\u2270', '≰'), # Не меньше, не равно (≰)
|
||||
'nge': ('\u2271', '≱'), # Не больше, не равно (≱)
|
||||
'lsim': ('\u2272', '≲'), # Меньше либо эквивалентно (≲)
|
||||
'gsim': ('\u2273', '≳'), # Больше либо эквивалентно (≳)
|
||||
'nlsim': ('\u2274', '≴'), # Ни меньше, ни эквивалентно (≴)
|
||||
'ngsim': ('\u2275', '≵'), # Ни больше, ни эквивалентно (≵)
|
||||
'lg': ('\u2276', '≶'), # Меньше либо больше (≶)
|
||||
'gl': ('\u2277', '≷'), # Больше либо меньше (≷)
|
||||
'ntlg': ('\u2278', '≸'), # Ни меньше, ни больше (≸)
|
||||
'ntgl': ('\u2279', '≹'), # Ни больше, ни меньше (≹)
|
||||
'pr': ('\u227A', '≺'), # Предшествует (≺)
|
||||
'sc': ('\u227B', '≻'), # Следует за (≻)
|
||||
'prcue': ('\u227C', '≼'), # Предшествует либо равно (≼)
|
||||
'sccue': ('\u227D', '≽'), # Следует за либо равно (≽)
|
||||
'prsim': ('\u227E', '≾'), # Предшествует либо эквивалентно (≾)
|
||||
'scsim': ('\u227F', '≿'), # Следует за либо эквивалентно (≿)
|
||||
'npr': ('\u2280', '⊀'), # Не предшествует (⊀)
|
||||
'nsc': ('\u2281', '⊁'), # Не следует за (⊁)
|
||||
'sub': ('\u2282', '⊂'), # Подмножество (⊂)
|
||||
'sup': ('\u2283', '⊃'), # Надмножество (⊃)
|
||||
'nsub': ('\u2284', '⊄'), # Не подмножество (⊄)
|
||||
'nsup': ('\u2285', '⊅'), # Не надмножество (⊅)
|
||||
'sube': ('\u2286', '⊆'), # Подмножество либо совпадает (⊆)
|
||||
'supe': ('\u2287', '⊇'), # Надмножество либо совпадает (⊇)
|
||||
'nsube': ('\u2288', '⊈'), # Ни подмножество, ни совпадает (⊈)
|
||||
'nsupe': ('\u2289', '⊉'), # Ни надмножество, ни совпадает (⊉)
|
||||
'subne': ('\u228A', '⊊'), # Подмножество и не совпадает (⊊)
|
||||
'supne': ('\u228B', '⊋'), # Надмножество и не совпадает (⊋)
|
||||
'cupdot': ('\u228D', '⊍'), # Умножение мультимножеств (⊍)
|
||||
'uplus': ('\u228E', '⊎'), # Объединение мультимножеств, Подмножество с плюсом (⊎)
|
||||
'sqsub': ('\u228F', '⊏'), # Образ в квадрате (⊏)
|
||||
'sqsup': ('\u2290', '⊐'), # Прообраз в квадрате (⊐)
|
||||
'sqsube': ('\u2291', '⊑'), # Образ в квадрате либо равно (⊑)
|
||||
'sqsupe': ('\u2292', '⊒'), # Прообраз в квадрате либо равно (⊒)
|
||||
'sqcap': ('\u2293', '⊓'), # Пересечение в квадрате (⊓)
|
||||
'sqcup': ('\u2294', '⊔'), # Объединение в квадрате (⊔)
|
||||
'oplus': ('\u2295', '⊕'), # Плюс в круге (⊕)
|
||||
'ominus': ('\u2296', '⊖'), # Минус в круге (⊖)
|
||||
'otimes': ('\u2297', '⊗'), # Произведение в круге (⊗)
|
||||
'osol': ('\u2298', '⊘'), # Дробная черта в круге (⊘)
|
||||
'odot': ('\u2299', '⊙'), # Точка в круге (⊙)
|
||||
'ocir': ('\u229A', '⊚'), # Кольцевой оператор в круге (⊚)
|
||||
'oast': ('\u229B', '⊛'), # Оператор звёздочка в круге (⊛)
|
||||
'odash': ('\u229D', '⊝'), # Дефис в круге (⊝)
|
||||
'plusb': ('\u229E', '⊞'), # Плюс в квадрате (⊞)
|
||||
'minusb': ('\u229F', '⊟'), # Минус в квадрате (⊟)
|
||||
'timesb': ('\u22A0', '⊠'), # Произведение в квадрате (⊠)
|
||||
'sdotb': ('\u22A1', '⊡'), # Точка в квадрате (⊡)
|
||||
'vdash': ('\u22A2', '⊢'), # Шеврон вправо (⊢)
|
||||
'dashv': ('\u22A3', '⊣'), # Шеврон влево (⊣)
|
||||
'top': ('\u22A4', '⊤'), # Истина, Шеврон вниз (⊤)
|
||||
'bot': ('\u22A5', '⊥'), # Ложь, Шеврон вверх (⊥)
|
||||
'models': ('\u22A7', '⊧'), # Моделирует (⊧)
|
||||
'vDash': ('\u22A8', '⊨'), # Истина (⊨)
|
||||
'Vdash': ('\u22A9', '⊩'), # Влечёт (⊩)
|
||||
'Vvdash': ('\u22AA', '⊪'), # Тройная вертикальная черта с перекладиной справа (⊪)
|
||||
'VDash': ('\u22AB', '⊫'), # Двойная вертикальная черта с двойной перекладиной справа (⊫)
|
||||
'nvdash': ('\u22AC', '⊬'), # Не доказано (⊬)
|
||||
'nvDash': ('\u22AD', '⊭'), # Не истина (⊭)
|
||||
'nVdash': ('\u22AE', '⊮'), # Не влечёт (⊮)
|
||||
'nVDash': ('\u22AF', '⊯'), # Двойная вертикальная черта с двойной перекладиной справа с отрицанием (⊯)
|
||||
'prurel': ('\u22B0', '⊰'), # Предшествует относительно (⊰)
|
||||
'scurel': ('\u22B1', '&scurel;'), # Следует за относительно (⊱)
|
||||
'vltri': ('\u22B2', '⊲'), # Нормальная подгруппа (⊲)
|
||||
'vrtri': ('\u22B3', '⊳'), # Содержит как нормальную подгруппу (⊳)
|
||||
'ltrie': ('\u22B4', '⊴'), # Нормальная подгруппа либо совпадает (⊴)
|
||||
'rtrie': ('\u22B5', '⊵'), # Содержит как нормальную подгруппу либо совпадает (⊵)
|
||||
'origof': ('\u22B6', '⊶'), # Прообраз (⊶)
|
||||
'imof': ('\u22B7', '⊷'), # Образ, Импликация (⊷)
|
||||
'mumap': ('\u22B8', '⊸'), # Многозначное отображение (⊹)
|
||||
'hercon': ('\u22B9', '⊹'), # Эрмитово сопряжение матрицы (⊹)
|
||||
'intcal': ('\u22BA', '⊺'), # Включение (⊺)
|
||||
'veebar': ('\u22BB', '⊻'), # Исключающее ИЛИ (⊻)
|
||||
'barvee': ('\u22BE', '⊽'), # Логическое ИЛИ с отрицанием (⊽)
|
||||
'angrtvb': ('\u22BE', '⊾'), # Правый угол с дугой (⊾)
|
||||
'lrtri': ('\u22BF', '⊿'), # Треугольник вершиной вправо (⊿)
|
||||
'xwedge': ('\u22C0', '⋀'), # N-арное логическое И (⋀)
|
||||
'xvee': ('\u22C1', '⋁'), # N-арное логическое ИЛИ (⋁)
|
||||
'xcap': ('\u22C2', '⋂'), # N-арное пересечение (⋂)
|
||||
'xcup': ('\u22C3', '⋃'), # N-арное объединение (⋃)
|
||||
'diamond': ('\u22C4', '⋄'), # Ромб (⋄)
|
||||
'sdot': ('\u22C5', '⋅'), # Оператор точка (⋅)
|
||||
'Star': ('\u22C6', '⋆'), # Оператор звёздочка (⋆)
|
||||
'divonx': ('\u22C7', '⋇'), # Деление с умножением, Кратность деления (⋇)
|
||||
'bowtie': ('\u22C8', '⋈'), # Бабочка (⋈)
|
||||
'ltimes': ('\u22C9', '⋉'), # Полупрямое произведение с нормальным фактором слева (⋉)
|
||||
'rtimes': ('\u22CA', '⋊'), # Полупрямое произведение с нормальным фактором справа (⋊)
|
||||
'lthree': ('\u22CB', '⋋'), # Левое полупрямое произведение (⋋)
|
||||
'rthree': ('\u22CC', '⋌'), # Правое полупрямое произведение (⋌)
|
||||
'bsime': ('\u22CD', '⋍'), # Обратное волнистое равно (⋍)
|
||||
'cuvee': ('\u22CE', '⋎'), # Волнистое логическое ИЛИ (⋎)
|
||||
'cuwed': ('\u22CF', '⋏'), # Волнистое логическое И (⋏)
|
||||
'Sub': ('\u22D0', '⋐'), # Двойное подмножество (⋐)
|
||||
'Sup': ('\u22D1', '⋑'), # Двойное надмножество (⋑)
|
||||
'Cap': ('\u22D2', '⋒'), # Двойное пересечение (⋒)
|
||||
'Cup': ('\u22D3', '⋓'), # Двойное объединение (⋓)
|
||||
'fork': ('\u22D4', '⋔'), # Вилка (⋔)
|
||||
'epar': ('\u22D5', '⋕'), # Равно и параллельно (⋕)
|
||||
'ltdot': ('\u22D6', '⋖'), # Меньше с точкой (⋖)
|
||||
'gtdot': ('\u22D7', '⋗'), # Больше с точкой (⋗)
|
||||
'Ll': ('\u22D8', '⋘'), # Очень много меньше (⋘)
|
||||
'Gg': ('\u22D9', '⋙'), # Очень много больше (⋙)
|
||||
'leg': ('\u22DA', '⋚'), # Меньше, равно либо больше (⋚)
|
||||
'gel': ('\u22DB', '⋛'), # Больше, равно либо меньше (⋛)
|
||||
'cuepr': ('\u22DE', '⋞'), # Равно либо предшествует (⋞)
|
||||
'cuesc': ('\u22DF', '⋟'), # Равно либо следует за (⋟)
|
||||
'nprcue': ('\u22E0', '⋠'), # Не предшествует либо равно (⋠)
|
||||
'nsccue': ('\u22E1', '⋡'), # Не следует за либо равно (⋡)
|
||||
'nsqsube': ('\u22E2', '⋢'), # Не образ в квадрате либо равно (⋢)
|
||||
'nsqsupe': ('\u22E3', '⋣'), # Не прообраз в квадрате либо равно (⋣)
|
||||
'lnapprox': ('\u22E4', '⪉'), # Меньше, но не приблизительно равно (⋤)
|
||||
'gnapprox': ('\u22E5', '⪊'), # Больше, но не приблизительно равно (⋥)
|
||||
'lnsim': ('\u22E6', '⋦'), # Меньше, но не эквивалентно (⋦)
|
||||
'gnsim': ('\u22E7', '⋧'), # Больше, но не эквивалентно (⋧)
|
||||
'prnsim': ('\u22E8', '⋨'), # Предшествует, но не эквивалентно (⋨)
|
||||
'scnsim': ('\u22E9', '⋩'), # Следует за, но не эквивалентно (⋩)
|
||||
'nltri': ('\u22EA', '⋪'), # Не содержится как нормальная подгруппа (⋪
|
||||
'nrtri': ('\u22EB', '⋫'), # Не содержит как нормальную подгруппу (⋫)
|
||||
'nltrie': ('\u22EC', '⋬'), # Не содержится как нормальная подгруппа либо совпадает (⋬)
|
||||
'nrtrie': ('\u22ED', '⋭'), # Не содержит как нормальную подгруппу либо совпадает (⋭)
|
||||
'vellip': ('\u22EE', '⋮'), # Вертикальное многоточие (⋮)
|
||||
'ctdot': ('\u22EF', '⋯'), # Внутристрочное горизонтальное многоточие (⋯)
|
||||
'utdot': ('\u22F0', '⋰'), # Диагональное многоточие сверху вправо (⋰)
|
||||
'dtdot': ('\u22F1', '⋱'), # Диагональное многоточие снизу вправо (⋱)
|
||||
'disin': ('\u22F2', '⋲'), # Принадлежит с длинным горизонтальным штрихом (⋲)
|
||||
'isinsv': ('\u22F3', '⋳'), # Принадлежит с вертикальной чертой в конце горизонтального штриха (⋳)
|
||||
'isins': ('\u22F4', '⋴'), # Малое принадлежит с вертикальной чертой в конце горизонтального штриха (⋴)
|
||||
'isindot': ('\u22F5', '⋵'), # Принадлежит с точкой сверху (⋵)
|
||||
'notinvc': ('\u22F6', '⋶'), # Принадлежит с чертой сверху (⋶)
|
||||
'notinvb': ('\u22F7', '⋷'), # Малое принадлежит с чертой сверху (⋷)
|
||||
'isinE': ('\u22F8', '⋹'), # Принадлежит с двумя горизонтальными штрихами (⋸)
|
||||
'nisd': ('\u22FA', '⋺'), # Содержит с длинным горизонтальным штрихом (⋹)
|
||||
'xnis': ('\u22FB', '⋻'), # Содержит с вертикальной чертой в конце горизонтального штриха (⋺)
|
||||
'nis': ('\u22FC', '⋼'), # Малое содержит с вертикальной чертой в конце горизонтального штриха (⋼)
|
||||
'notnivc': ('\u22FD', '⋽'), # Содержит с чертой сверху (⋽)
|
||||
'notnivb': ('\u22FE', '⋾'), # Малое содержит с чертой сверху (⋾)
|
||||
'barwed': ('\u2305', '⌅'), # Вертикальная черта с горизонтальной чертой (⌅)
|
||||
'Barwed': ('\u2306', '⌆'), # Двойная вертикальная черта с горизонтальной чертой (⌆)
|
||||
'lceil': ('\u2308', '⌈'), # Потолок числа, левая скобка (⌈)
|
||||
'rceil': ('\u2309', '⌉'), # Потолок числа, правая скобка (⌉)
|
||||
'lfloor': ('\u230A', '⌊'), # Пол числа, левая скобка (⌊)
|
||||
'rfloor': ('\u230B', '⌋'), # Пол числа, правая скобка (⌋)
|
||||
'lang': ('\u2329', '⟨'), # Левая угловая скобка (〈)
|
||||
'rang': ('\u232A', '⟩'), # Правая угловая скобка (〉)
|
||||
}
|
||||
|
||||
# Другие символы (пример для расширения)
|
||||
KEY_AMP = 'AMP'
|
||||
SYMBOL_ENTITIES = {
|
||||
KEY_AMP: ('\u0026', '&smp;'), #Амперсанд (&)
|
||||
'HELLIP': ('\u2026', '…'), # Многоточие
|
||||
'COPY': ('\u00A9', '©'), # Копирайт
|
||||
# ... стрелочки, математические символы и т.д. по мере необходимости
|
||||
'copy': ('\u00A9', '©'), # Копирайт (©)
|
||||
'reg': ('\u00AE', '®'), # Зарегистрированный товарный знак (®)
|
||||
'trade': ('\u2122', '™'), # Знак торговой марки (™)
|
||||
'copysr': ('\u2117', '℗'), # Авторское право звукозаписи, продакшн (℗)
|
||||
'commat': ('\u0040', '@'), # Коммерческое at, `собака` (@)
|
||||
'Copf': ('\u2102', 'ℂ'), # Дважды начерченная заглавная С (ℂ)
|
||||
'incare': ('\u2105', '℅'), # Забота о (℅)
|
||||
'gscr': ('\u210A', 'ℊ'), # Каллиграфическая строчная g (ℊ)
|
||||
'hamilt': ('\u210B', 'ℋ'), # Каллиграфическая заглавная H (ℋ)
|
||||
'Hfr': ('\u210C', 'ℌ'), # Готическая заглавная H (ℌ)
|
||||
'Hopf': ('\u210D', 'ℍ'), # Дважды начерченная заглавная H (ℍ)
|
||||
'planckh': ('\u210E', 'ℎ'), # Постоянная Планка (ℎ)
|
||||
'planck': ('\u210F', 'ℏ'), # Постоянная Планка делённая на два пи, константа Дирака (ℏ)
|
||||
'Iscr': ('\u2110', 'ℐ'), # Каллиграфическая заглавная I (ℐ)
|
||||
'image': ('\u2111', 'ℑ'), # Готическая заглавная I (ℑ)
|
||||
'Lscr': ('\u2112', 'ℒ'), # Каллиграфическая заглавная L (ℒ)
|
||||
'ell': ('\u2113', 'ℓ'), # Каллиграфическая строчная l (ℓ)
|
||||
'Nopf': ('\u2115', 'ℕ'), # Дважды начерченная заглавная N (ℕ)
|
||||
'numero': ('\u2116', '№'), # Знак номера (№)
|
||||
'weierp': ('\u2118', '℘'), # Каллиграфическая заглавная P (℘)
|
||||
'Popf': ('\u2119', 'ℙ'), # Дважды начерченная заглавная P (ℙ)
|
||||
'Qopf': ('\u211A', 'ℚ'), # Дважды начерченная заглавная Q (ℚ)
|
||||
'Rscr': ('\u211B', 'ℛ'), # Каллиграфическая заглавная R (ℜ)
|
||||
'real': ('\u211C', 'ℜ'), # Готическая заглавная R (ℝ)
|
||||
'Ropf': ('\u211D', 'ℝ'), # Дважды начерченная заглавная R (ℝ)
|
||||
'rx': ('\u211E', '℞'), # Символ рецепта (℞)
|
||||
'Zopf': ('\u2124', 'ℤ'), # Дважды начерченная заглавная Z (ℤ)
|
||||
'mho': ('\u2127', '℧'), # Перевёрнутый знак ома (℧)
|
||||
'Zfr': ('\u2128', 'ℨ'), # Готическая заглавная Z (ℨ)
|
||||
'iiota': ('\u2129', '℩'), # Перевернутая греческая строчная буква йота (℩)
|
||||
'bernou': ('\u212C', 'ℬ'), # Каллиграфическая заглавная B (ℬ)
|
||||
'Cfr': ('\u212D', 'ℭ'), # Готическая заглавная C (ℭ)
|
||||
'escr': ('\u212F', 'ℯ'), # Каллиграфическая строчная буква e (ℯ)
|
||||
'Escr': ('\u2130', 'ℰ'), # Каллиграфическая заглавная E (ℰ)
|
||||
'Fscr': ('\u2131', 'ℱ'), # Каллиграфическая заглавная F (ℱ)
|
||||
'Mscr': ('\u2133', 'ℳ'), # Каллиграфическая заглавная M (ℳ)
|
||||
'oscr': ('\u2134', 'ℴ'), # Каллиграфическая строчная буква o (ℴ)
|
||||
'alefsym': ('\u2135', 'ℵ'), # Символ алеф (ℵ)
|
||||
'beth': ('\u2136', 'ℶ'), # Символ бет (ℶ)
|
||||
'gimel': ('\u2137', 'ℷ'), # Символ гимел (ℷ)
|
||||
'daleth': ('\u2138', 'ℸ'), # Символ далет (ℸ)
|
||||
'DD': ('\u2145', 'ⅅ'), # Дважды начерченная курсивная заглавная D (ⅅ)
|
||||
'dd': ('\u2146', 'ⅆ'), # Дважды начерченная курсивная строчная d (ⅆ)
|
||||
'ee': ('\u2147', 'ⅇ'), # Дважды начерченная курсивная строчная e (ⅇ)
|
||||
'ii': ('\u2148', 'ⅈ'), # Дважды начерченная курсивная строчная i (ⅈ)
|
||||
'ff': ('\u2149', '&ff;'), # Дважды начерченная курсивная строчная f (ⅉ)
|
||||
'ffilig': ('\uFB03', 'ffi'), # Лигатура "ffi" (ffi)
|
||||
'fflig': ('\uFB00', 'ff'), # Лигатура "ff" (ff)
|
||||
'filig': ('\uFB01', 'fi'), # Лигатура "fi" (fi)
|
||||
'fllig': ('\uFB02', 'fl'), # Лигатура "fl" (fl)
|
||||
'starf': ('\u2605', '★'), # Закрашенная звезда (★)
|
||||
'star': ('\u2606', '☆'), # Незакрашенная звезда (☆)
|
||||
'phone': ('\u260E', '☎'), # Значок телефона (☎)
|
||||
'female': ('\u2640', '♀'), # Венера (женский знак) (♀)
|
||||
'male': ('\u2642', '♂'), # Марс (мужской знак) (♂)
|
||||
'spades': ('\u2660', '♠'), # Пики закрашенные (♠)
|
||||
'clubs': ('\u2663', '♣'), # Трефы закрашенные (♣)
|
||||
'hearts': ('\u2665', '♥'), # Черви закрашенные (♥)
|
||||
'diams': ('\u2666','♦'), # Бубны закрашенные (♦)
|
||||
'loz': ('\u25CA', '◊'), # Ромб (◊)
|
||||
'sung': ('\u266A', '♪'), # Музыкальная восьмая нота (♪)
|
||||
'flat': ('\u266D', '♭'), # Музыкальный знак бемоль (♭)
|
||||
'natural': ('\u266E', '♮'), # Музыкальный знак бекар (♮)
|
||||
'sharp': ('\u266F', '♯'), # Музыкальный знак диез (♯)
|
||||
'check': ('\u2713', '✓'), # Галочка (✓)
|
||||
'cross': ('\u2717', '✗'), # Крестик (✗)
|
||||
'malt': ('\u2720', '✠'), # Мальтийский крест (✠)
|
||||
'sext': ('\u2736', '✶'), # Шестиконечная закрашенная звезда (✶)
|
||||
'VerticalSeparator': ('\u2758', '❘'), # Тонкая вертикальная черта (❘)
|
||||
'lbbrk': ('\u2772', '❲'), # Тонкая левая скобка панцерообразной формы (❲)
|
||||
'rbbrk': ('\u2773', '❳'), # Тонкая правая скобка панцерообразной формы (❳)
|
||||
}
|
||||
|
||||
# Знаки препинания
|
||||
KEY_AMP = 'amp'
|
||||
SYMBOL_PUNCTUATION = {
|
||||
# 'excl': ('\u0021', '!'), # Восклицательный знак (!)
|
||||
# 'num': ('\u0023', '#'), # Решётка (#)
|
||||
# 'percnt': ('\u0025', '%'), # Знак процента (%)
|
||||
KEY_AMP: ('\u0026', '&'), # Амперсанд (&)
|
||||
# 'lpar': ('\u0028', '('), # Левая круглая скобка (()
|
||||
# 'rpar': ('\u0029', ')'), # Правая круглая скобка ())
|
||||
#'ast': ('\u002A', '*'), # Звёздочка (*)
|
||||
#'comma': ('\u002C', ','), # Запятая (,)
|
||||
# 'period': ('\u002E', '.'), # Точка (.)
|
||||
#'sol': ('\u002F', '/'), # Косая черта (/)
|
||||
# 'colon': ('\u003A', ':'), # Двоеточие (:)
|
||||
# 'semi': ('\u003B', ';'), # Точка с запятой (;)
|
||||
# 'quest': ('\u003F', '?'), # Знак вопроса (?)
|
||||
# 'lbrack': ('\u005B', '['), # Левая квадратная скобка ([)
|
||||
# 'bsol': ('\u005C', '\'), # Обратная косая черта (\)
|
||||
# 'rbrack': ('\u005D', ']'), # Правая квадратная скобка (])
|
||||
# 'Hat': ('\u005E', '^'), # Циркумфлекс (^) -- знак вставки, карет
|
||||
# 'lowbar': ('\u005F', '_'), # Нижнее подчёркивание (_)
|
||||
# 'grave': ('\u0060', '`'), # Гравис, Апостроф (обратная кавычка) (`)
|
||||
# 'lbrace': ('\u007B', '{'), # Левая фигурная скобка ({)
|
||||
# 'vert': ('\u007C', '|'), # Вертикальная черта (|)
|
||||
# 'rbrace': ('\u007D', '}'), # Правая фигурная скобка (})
|
||||
# 'tilde': ('\u007E', '˜'), # Тильда (~)
|
||||
'circ': ('\u02C6', 'ˆ'), # Модификатор буквы циркумфлекс, ударение (ˆ)
|
||||
'lrm': ('\u200E', '‎'), # Метка слева направо (Left-to-Right Mark)
|
||||
'rlm': ('\u200F', '‏'), # Метка справа налево (Right-to-Left Mark)
|
||||
'iexcl': ('\u00A1', '¡'), # Перевернутый восклицательный знак (¡)
|
||||
'brvbar': ('\u00A6', '¦'), # Изломанная вертикальная черта (¦)
|
||||
'sect': ('\u00A7', '§'), # Знак параграфа (§)
|
||||
'uml': ('\u00A8', '¨'), # Диэрезис (¨)
|
||||
'ordf': ('\u00AA', 'ª'), # Женский порядковый индикатор (ª)
|
||||
'not': ('\u00AC', '¬'), # Знак отрицания (¬)
|
||||
'macr': ('\u00AF', '¯'), # Макрон (¯)
|
||||
'acute': ('\u00B4', '´'), # Знак ударения (´)
|
||||
'micro': ('\u00B5', 'µ'), # Знак микро (µ)
|
||||
'para': ('\u00B6', '¶'), # Знак абзаца (¶)
|
||||
'middot': ('\u00B7', '·'), # Точка по центру (·)
|
||||
'cedil': ('\u00B8', '¸'), # Седиль (¸)
|
||||
'ordm': ('\u00BA', 'º'), # Мужской порядковый индикатор (º)
|
||||
'iquest': ('\u00BF', '¿'), # Перевернутый вопросительный знак (¿)
|
||||
'Vert': ('\u2016', '‖'), # Двойная вертикальная черта (‖)
|
||||
'dagger': ('\u2020', '†'), # Крестик (†)
|
||||
'Dagger': ('\u2021', '‡'), # Двойной крестик (‡)
|
||||
'bull': ('\u2022', '•'), # Маркер списка (•)
|
||||
'nldr': ('\u2025', '‥'), # Двухточечный пунктир (‥)
|
||||
'hellip': ('\u2026', '…'), # Многоточие (…)
|
||||
'permil': ('\u2030', '‰'), # Знак промилле (‰)
|
||||
'pertenk': ('\u2031', '‱'), # Знак на десять тысяч (‱)
|
||||
'prime': ('\u2032', '′'), # Знак штриха (одинарная минута) (′)
|
||||
'Prime': ('\u2033', '″'), # Двойной штрих (двойная минута) (″)
|
||||
'tprime': ('\u2034', '‴'), # Тройной штрих (тройная минута) (‴)
|
||||
'bprime': ('\u2035', '‵'), # Обратный штрих (обратная минута) (‵)
|
||||
'oline': ('\u203E', '‾'), # Надчёркивание (длинная черта над текстом) (‾)
|
||||
'caret': ('\u2041', '⁁'), # Знак вставки точки ввода (⁁)
|
||||
'hybull': ('\u2043', '⁃'), # Маркер списка дефис (⁃)
|
||||
'frasl': ('\u2044', '⁄'), # Дробная наклонная черта (Fraction Slash) (⁄)
|
||||
'bsemi': ('\u204F', '⁏'), # Инвертированная точка с запятой (⁏)
|
||||
'qprime': ('\u2057', '⁗'), # Четырехкратный штрих (⁗)
|
||||
}
|
||||
|
||||
# Дробные символы и знаки
|
||||
SYMBOL_FRACTIONS = {
|
||||
'frac12': ('\u00BD', '½'), # Обычная дробь 1/2 (½)
|
||||
'frac13': ('\u2153', '⅓'), # Обычная дробь 1/3 (⅓)
|
||||
'frac14': ('\u00BC', '¼'), # Обычная дробь 1/4 (¼)
|
||||
'frac15': ('\u2155', '⅕'), # Обычная дробь 1/5 (⅕)
|
||||
'frac16': ('\u2159', '⅙'), # Обычная дробь 1/6 (⅙)
|
||||
'frac17': ('\u215A', '&frac17;'), # Обычная дробь 1/7 (⅐)
|
||||
'frac18': ('\u215B', '⅛'), # Обычная дробь 1/8 (⅛)
|
||||
'frac19': ('\u215C', '&frac19;'), # Обычная дробь 1/9 (⅑)
|
||||
'frac110': ('\u215D', '&frac110;'), # Обычная дробь 1/10 (⅒)
|
||||
'frac23': ('\u2154', '⅔'), # Обычная дробь 2/3 (⅔)
|
||||
'frac25': ('\u2156', '⅖'), # Обычная дробь 2/5 (⅖)
|
||||
'frac34': ('\u00BE', '¾'), # Обычная дробь 3/4 (¾)
|
||||
'frac35': ('\u2157', '⅗'), # Обычная дробь 3/5 (⅗)
|
||||
'frac38': ('\u215A', '⅜'), # Обычная дробь 3/8 (⅜)
|
||||
'frac45': ('\u2158', '⅘'), # Обычная дробь 4/5 (⅘)
|
||||
'frac56': ('\u215A', '⅚'), # Обычная дробь 5/6 (⅚)
|
||||
'frac58': ('\u215B', '⅝'), # Обычная дробь 5/8 (⅝)
|
||||
'frac78': ('\u215B', '⅞'), # Обычная дробь 7/8 (⅞)
|
||||
}
|
||||
|
||||
|
||||
# --- Сборка и валидация ---
|
||||
|
||||
# 1. Создаем единый словарь всех сущностей для удобного доступа
|
||||
ALL_ENTITIES = {
|
||||
**SHY_ENTITIES, **SPACE_ENTITIES, **DASH_ENTITIES, **MATH_ENTITIES,
|
||||
**QUOTE_ENTITIES, **CURRENCY_ENTITIES, **SYMBOL_ENTITIES
|
||||
**QUOTE_ENTITIES, **CURRENCY_ENTITIES, **SYMBOL_ENTITIES, **SYMBOL_PUNCTUATION, **SYMBOL_FRACTIONS
|
||||
}
|
||||
|
||||
# Сущности, которые ВСЕГДА должны выводиться как мнемоники в режиме MODE_MIXED
|
||||
|
Reference in New Issue
Block a user