mod: еще больше html-мнемокода (умляуты)

This commit is contained in:
2025-07-28 15:26:51 +03:00
parent 762edf671e
commit 6977b6ef88

View File

@@ -79,7 +79,7 @@ CURRENCY_ENTITIES = {
'pound': ('\u00A3', '£'), # Фунт стерлингов
'curren': ('\u00A4', '¤'), # Знак валюты (обычно используется для обозначения "без конкретной валюты")
'yen': ('\u00A5', '¥'), # Йена
'euro': ('\u20AC', '€'), # Евро
'euro': ('\u20AC', '€'), # Евро -- кажется нет в RFC
'ruble': ('\u20BD', '₽'), # Российский рубль (₽)
}
@@ -524,7 +524,7 @@ GREEK_ENTITIES = {
'Nu': ('\u039D', 'Ν'), # Греческая заглавная буква Ню (Ν)
'Xi': ('\u039E', '&Xi;'), # Греческая з<><D0B7>главная буква Кси (Ξ)
'Omicron': ('\u039F', '&Omicron;'), # Греческая заглавная буква Омикрон (Ο)
'Pi': ('\u03A0', '&Pi';), # Греческая заглавная буква Пи (Π)
'Pi': ('\u03A0', '&Pi;'), # Греческая заглавная буква Пи (Π)
'Rho': ('\u03A1', '&Rho;'), # Греческая заглавная буква Ро (Ρ)
'Sigma': ('\u03A3', '&Sigma;'), # Греческая заглавная буква Сигма (Σ)
'Tau': ('\u03A4', '&Tau;'), # Греческая заглавная буква Тау (Τ)
@@ -562,13 +562,203 @@ GREEK_ENTITIES = {
'piv': ('\u03D6', '&piv;'), # Греческая строчная буква пи (ϖ)
}
# Лаинские буквы и символы (умляуты, акценты и т.д.)
LATIN_SPECIAL_ENTITIES = {
'Agrave': ('\u00C0', '&Agrave;'), # Латинская заглавная буква A с грависом (À)
'Aacute': ('\u00C1', '&Aacute;'), # Латинская заглавная буква A с акутом (Á)
'Acirc': ('\u00C2', '&Acirc;'), # Латинская заглавная буква A с циркумфлексом (Â)
'Atilde': ('\u00C3', '&Atilde;'), # Латинская заглавная буква A с тильдой (Ã)
'Auml': ('\u00C4', '&Auml;'), # Латинская заглавная буква A с диэризисом/умляутом (Ä)
'Aring': ('\u00C5', '&Aring;'), # Латинская заглавная буква A с кружочком сверху (Å)
'AElig': ('\u00C6', '&AElig;'), # Лигатура, латинская заглавная буква AE (Æ)
'Ccedil': ('\u00C7', '&Ccedil;'), # Латинская заглавная буква C с седилью (Ç)
'Egrave': ('\u00C8', '&Egrave;'), # Латинская заглавная буква E с грависом (È)
'Eacute': ('\u00C9', '&Eacute;'), # Латинская заглавная буква E с акутом (É)
'Ecirc': ('\u00CA', '&Ecirc;'), # Латинская заглавная буква E с циркумфлексом (Ê)
'Euml': ('\u00CB', '&Euml;'), # Латинская заглавная буква E с диэризисом/умляутом (Ë)
'Igrave': ('\u00CC', '&Igrave;'), # Латинская заглавная буква I с грависом (Ì)
'Iacute': ('\u00CD', '&Iacute;'), # Латинская заглавная буква I с акутом (Í)
'Icirc': ('\u00CE', '&Icirc;'), # Латинская заглавная буква I с циркумфлексом (Î)
'Iuml': ('\u00CF', '&Iuml;'), # Латинская заглавная буква I с диэризисом/умляутом (Ï)
'ETH': ('\u00D0', '&ETH;'), # Латинская заглавная буква Eth (Ð)
'Ntilde': ('\u00D1', '&Ntilde;'), # Латинская заглавная буква N с тильдой (Ñ)
'Ograve': ('\u00D2', '&Ograve;'), # Латинская заглавная буква O с грависом (Ò)
'Oacute': ('\u00D3', '&Oacute;'), # Латинская заглавная буква O с акутом (Ó)
'Ocirc': ('\u00D4', '&Ocirc;'), # Латинская заглавная буква O с циркумфлексом (Ô)
'Otilde': ('\u00D5', '&Otilde;'), # Латинская заглавная буква O с тильдой (Õ)
'Ouml': ('\u00D6', '&Ouml;'), # Латинская заглавная буква O с диэризисом/умляутом (Ö)
'Oslash': ('\u00D8', '&Oslash;'), # Латинская заглавная буква O с чертой (Ø)
'Ugrave': ('\u00DD', '&Ugrave;'), # Латинская заглавная буква U с грависом (Ù)
'Uacute': ('\u00DA', '&Uacute;'), # Латинская заглавная буква U с акутом (Ú)
'Ucirc': ('\u00DB', '&Ucirc;'), # Латинская заглавная буква U с циркумфлексом (Û)
'Uuml': ('\u00DC', '&Uuml;'), # Латинская заглавная буква U с диэризисом/умляутом (Ü)
'Yacute': ('\u00DD', '&Yacute;'), # Латинская заглавная буква Y с акутом (Ý)
'THORN': ('\u00DE', '&THORN;'), # Латинская заглавная буква Thorn (Þ)
'szlig': ('\u00DF', '&szlig;'), # Латинская строчная буква Eszett (ß)
'agrave': ('\u00E0', '&agrave;'), # Латинская строчная буква a с грависом (à)
'aacute': ('\u00E1', '&aacute;'), # Латинская строчная буква a с акутом (á)
'acirc': ('\u00E2', '&acirc;'), # Латинская строчная буква a с циркумфлексом (â)
'atilde': ('\u00E3', '&atilde;'), # Латинская строчная буква a с тильдой (ã)
'auml': ('\u00E4', '&auml;'), # Латинская строчная буква a с диэризисом/умляутом (ä)
'aring': ('\u00E5', '&aring;'), # Латинская строчная буква a с кружочком сверху (å)
'aelig': ('\u00E6', '&aelig;'), # Лигатура, латинская строчная буква ae (æ)
'ccedil': ('\u00E7', '&ccedil;'), # Латинская строчная буква c с седилью (ç)
'egrave': ('\u00E8', '&egrave;'), # Латинская строчная буква e с грависом (è)
'eacute': ('\u00E9', '&eacute;'), # Латинская строчная буква e с акутом (é)
'ecirc': ('\u00EA', '&ecirc;'), # Латинская строчная буква e с циркумфлексом (ê)
'euml': ('\u00EB', '&euml;'), # Латинская строчная буква e с диэризисом/умляутом (ë)
'igrave': ('\u00EC', '&igrave;'), # Латинская строчная буква i с грависом (ì)
'iacute': ('\u00ED', '&iacute;'), # Латинская строчная буква i с акутом (í)
'icirc': ('\u00EE', '&icirc;'), # Латинская строчная буква i с циркумфлексом (î)
'iuml': ('\u00EF', '&iuml;'), # Латинская строчная буква i с диэризисом/умляутом (ï)
'eth': ('\u00F0', '&eth;'), # Латинская строчная буква eth (ð)
'ntilde': ('\u00F1', '&ntilde;'), # Латинская строчная буква n с тильдой (ñ)
'ograve': ('\u00F2', '&ograve;'), # Латинская строчная буква o с грависом (ò)
'oacute': ('\u00F3', '&oacute;'), # Латинская строчная буква o с акутом (ó)
'ocirc': ('\u00F4', '&ocirc;'), # Латинская строчная буква o с циркумфлексом (ô)
'otilde': ('\u00F5', '&otilde;'), # Латинская строчная буква o с тильдой (õ)
'ouml': ('\u00F6', '&ouml;'), # Латинская строчная буква o с диэризисом/умляутом (ö)
'oslash': ('\u00F8', '&oslash;'), # Латинская строчная буква o с чертой (ø)
'ugrave': ('\u00F9', '&ugrave;'), # Латинская строчная буква u с грависом (ù)
'uacute': ('\u00FA', '&uacute;'), # Латинская строчная буква u с акутом (ú)
'ucirc': ('\u00FB', '&ucirc;'), # Латинская строчная буква u с циркумфлексом (û)
'uuml': ('\u00FC', '&uuml;'), # Латинская строчная буква u с диэризисом/умляутом (ü)
'yacute': ('\u00FD', '&yacute;'), # Латинская строчная буква y с акутом (ý)
'thorn': ('\u00FE', '&thorn;'), # Латинская строчная буква thorn (þ)
'yuml': ('\u00FF', '&yuml;'), # Латинская строчная буква y с диэризисом/умляутом (ÿ)
'Amacr': ('\u0100', '&Amacr;'), # Латинская строчная буква a с макроном (Ā)
'amacr': ('\u0101', '&amacr;'), # Латинская строчная буква a с макроном (ā)
'Abreve': ('\u0102', '&Abreve;'), # Латинская заглавная буква A с бревисом (Ă)
'abreve': ('\u0103', '&abreve;'), # Латинская строчная буква a с бревисом (ă)
'Aogon': ('\u0104', '&Aogon;'), # Латинская заглавная буква A с огонеком (Ą)
'aogon': ('\u0105', '&aogon;'), # Латинская строчная буква a с огонеком (ą)
'Cacute': ('\u0106', '&Cacute;'), # Латинская заглавная буква C с акутом (Ć)
'cacute': ('\u0107', '&cacute;'), # Латинская строчная буква c с акутом (ć)
'Ccirc': ('\u0108', '&Ccirc;'), # Латинская заглавная буква C с циркумфлексом (Ĉ)
'ccirc': ('\u0109', '&ccirc;'), # Латинская строчная буква c с циркумфлексом (ĉ)
'Cdot': ('\u010A', '&Cdot;'), # Латинская заглавная буква C с точкой сверху (Ċ)
'cdot': ('\u010B', '&cdot;'), # Латинская строчная буква c с точкой сверху (ċ)
'Ccaron': ('\u010C', '&Ccaron;'), # Латинская заглавная буква C с гачеком/карон (Č)
'ccaron': ('\u010D', '&ccaron;'), # Латинская строчная буква c с гачеком/карон (č)
'Dcaron': ('\u010E', '&Dcaron;'), # Латинская заглавная буква D с гачеком/карон (Ď)
'dcaron': ('\u010F', '&dcaron;'), # Латинская строчная буква d с гачеком/карон (ď)
'Dstrok': ('\u0110', '&Dstrok;'), # Латинская заглавная буква D с чертой (Đ)
'dstrok': ('\u0111', '&dstrok;'), # Латинская строчная буква d с чертой (đ)
'Emacr': ('\u0112', '&Emacr;'), # Латинская заглавная буква E с макроном (Ē)
'emacr': ('\u0113', '&emacr;'), # Латинская строчная буква e с макроном (ē)
'Ebreve': ('\u0114', '&Ebreve;'), # Латинская заглавная буква E с бревисом (Ĕ)
'ebreve': ('\u0115', '&ebreve;'), # Латинская строчная буква e с бревисом (ĕ)
'Edot': ('\u0116', '&Edot;'), # Латинская заглавная буква E с точкой сверху (Ė)
'edot': ('\u0117', '&edot;'), # Латинская строчная буква e с точкой сверху (ė)
'Eogon': ('\u0118', '&Eogon;'), # Латинская заглавная буква E с огонеком (Ę)
'eogon': ('\u0119', '&eogon;'), # Латинская строчная буква e с огонеком (ę)
'Ecaron': ('\u011A', '&Ecaron;'), # Латинская заглавная буква E с гачеком/карон (Ě)
'ecaron': ('\u011B', '&ecaron;'), # Латинская строчная буква e с гачеком/карон (ě)
'Gcirc': ('\u011C', '&Gcirc;'), # Латинская заглавная буква G с циркумфлексом (Ĝ)
'gcirc': ('\u011D', '&gcirc;'), # Латинская строчная буква g с циркумфлексом (ĝ)
'Gbreve': ('\u011E', '&Gbreve;'), # Латинская заглавная буква G с бревисом (Ğ)
'gbreve': ('\u011F', '&gbreve;'), # Латинская строчная буква g с бревисом (ğ)
'Gdot': ('\u0120', '&Gdot;'), # Латинская заглавная буква G с точкой сверху (Ġ)
'gdot': ('\u0121', '&gdot;'), # Латинская строчная буква g с точкой сверху (ġ)
'Hcirc': ('\u0124', '&Hcirc;'), # Латинская заглавная буква H с циркумфлексом (Ĥ)
'hcirc': ('\u0125', '&hcirc;'), # Латинская строчная буква h с циркумфлексом (ĥ)
'Hstrok': ('\u0126', '&Hstrok;'), # Латинская заглавная буква H с чертой (Ħ)
'hstrok': ('\u0127', '&hstrok;'), # Латинская строчная буква h с чертой (ħ)
'Itilde': ('\u0128', '&Itilde;'), # Латинская заглавная буква I с тильдой (Ĩ)
'itilde': ('\u0129', '&itilde;'), # Латинская строчная буква i с тильдой (ĩ)
'Imacr': ('\u012A', '&Imacr;'), # Латинская заглавная буква I с макроном (Ī)
'imacr': ('\u012B', '&imacr;'), # Латинская строчная буква i с макроном (ī)
'Ibreve': ('\u012C', '&Ibreve;'), # Латинская заглавная буква I с бревисом (Ĭ) -- кажется нет в RFC
'ibreve': ('\u012D', '&ibreve;'), # Латинская строчная буква i с бревисом (ĭ) -- кажется нет в RFC
'Iogon': ('\u012E', '&Iogon;'), # Латинская заглавная буква I с огонеком (Į)
'iogon': ('\u012F', '&iogon;'), # Латинская строчная буква i с огонеком (į)
'Idot': ('\u0130', '&Idot;'), # Латинская заглавная буква I с точкой сверху (İ)
'dotlessi': ('\u0131', '&dotlessi;'), # Латинская строчная буква i без точки (ı)
'IJlig': ('\u0132', '&IJlig;'), # Лигатура, латинская заглавная буква IJ (IJ)
'ijlig': ('\u0133', '&ijlig;'), # Лигатура, латинская строчная буква ij (ij)
'Jcirc': ('\u0134', '&Jcirc;'), # Латинская заглавная буква J с циркумфлексом (Ĵ)
'jcirc': ('\u0135', '&jcirc;'), # Латинская строчная буква j с циркумфлексом (ĵ)
'Kcedil': ('\u0136', '&Kcedil;'), # Латинская заглавная буква K с седилью (Ķ)
'kcedil': ('\u0137', '&kcedil;'), # Латинская строчная буква k с седилью (ķ)
'kgreen': ('\u0138', '&kgreen;'), # Латинская строчная буква кра / k с гачеком/карон (ĸ)
'Lacute': ('\u0139', '&Lacute;'), # Латинская заглавная буква L с акутом (Ĺ) -- кажется нет в RFC
'lacute': ('\u013A', '&lacute;'), # Латинская строчная буква l с акутом (ĺ)
'Lcedil': ('\u013B', '&Lcedil;'), # Латинская заглавная буква L с седилью (Ļ)
'lcedil': ('\u013C', '&lcedil;'), # Латинская строчная буква l с седилью (ļ)
'Lcaron': ('\u013D', '&Lcaron;'), # Латинская заглавная буква L с гачеком/карон (Ľ)
'lcaron': ('\u013E', '&lcaron;'), # Латинская строчная буква l с гачеком/карон (ľ)
'Lmidot': ('\u013F', '&Lmidot;'), # Латинская заглавная буква L с внутристрочной точкой (Ŀ)
'lmidot': ('\u0140', '&lmidot;'), # Латинская строчная буква l с внутристрочной точкой (ŀ)
'Lstrok': ('\u0141', '&Lstrok;'), # Латинская заглавная буква L с чертой, символ Лайткоина (Ł)
'lstrok': ('\u0142', '&lstrok;'), # Латинская строчная буква l с чертой (ł)
'Nacute': ('\u0143', '&Nacute;'), # Латинская заглавная буква N с акутом (Ń)
'nacute': ('\u0144', '&nacute;'), # Латинская строчная буква n с акутом (ń)
'Ncedil': ('\u0145', '&Ncedil;'), # Латинская заглавная буква N с седилью (Ņ)
'ncedil': ('\u0146', '&ncedil;'), # Латинская строчная буква n с седилью (ņ)
'Ncaron': ('\u0147', '&Ncaron;'), # Латинская заглавная буква N с гачеком/карон (Ň)
'ncaron': ('\u0148', '&ncaron;'), # Латинская строчная буква n с гачеком/карон (ň)
'napos': ('\u0149', '&napos;'), # Латинская строчная буква n предшествующим апострофом (ʼn)
'ENG': ('\u014A', '&ENG;'), # Латинская заглавная буква Eng (Ŋ)
'eng': ('\u014B', '&eng;'), # Латинская строчная буква eng (ŋ)
'Omacr': ('\u014C', '&Omacr;'), # Латинская заглавная буква O с макроном (Ō)
'omacr': ('\u014D', '&omacr;'), # Латинская строчная буква o с макроном (ō)
'Obreve': ('\u014E', '&Obreve;'), # Латинская заглавная буква O с бревисом (Ŏ) -- кажется нет в RFC
'obreve': ('\u014F', '&obreve;'), # Латинская строчная буква o с бревисом (ŏ) -- кажется нет в RFC
'Odblac': ('\u0150', '&Odblac;'), # Латинская заглавная буква O с двойным акутом (Ő)
'odblac': ('\u0151', '&odblac;'), # Латинская строчная буква o с двойным акутом (ő)
'OElig': ('\u0152', '&OElig;'), # Лигатура, латинская заглавная буква OE (Œ)
'oelig': ('\u0153', '&oelig;'), # Лигатура, латинская строчная буква oe (œ)
'Racute': ('\u0154', '&Racute;'), # Латинская заглавная буква R с акутом (Ŕ)
'racute': ('\u0155', '&racute;'), # Латинская строчная буква r с акутом (ŕ)
'Rcedil': ('\u0156', '&Rcedil;'), # Латинская заглавная буква R с седилью (Ŗ)
'rcedil': ('\u0157', '&rcedil;'), # Латинская строчная буква r с седилью (ŗ)
'Rcaron': ('\u0158', '&Rcaron;'), # Латинская заглавная буква R с гачеком/карон (Ř)
'rcaron': ('\u0159', '&rcaron;'), # Латинская строчная буква r с гачеком/карон (ř)
'Sacute': ('\u015A', '&Sacute;'), # Латинская заглавная буква S с акутом (Ś)
'sacute': ('\u015B', '&sacute;'), # Латинская строчная буква s с акутом (ś)
'Scirc': ('\u015C', '&Scirc;'), # Латинская заглавная буква S с циркумфлексом (Ŝ)
'scirc': ('\u015D', '&scirc;'), # Латинская строчная буква s с циркумфлексом (ŝ)
'Scedil': ('\u015E', '&Scedil;'), # Латинская заглавная буква S с седилью (Ş)
'scedil': ('\u015F', '&scedil;'), # Латинская строчная буква s с седилью (ş)
'Scaron': ('\u0160', '&Scaron;'), # Латинская заглавная буква S с гачеком/карон (Š)
'scaron': ('\u0161', '&scaron;'), # Латинская строчная буква s с гачеком/карон (š)
'Tcedil': ('\u0162', '&Tcedil;'), # Латинская заглавная буква T с седилью (Ţ)
'tcedil': ('\u0163', '&tcedil;'), # Латинская строчная буква t с седилью (ţ)
'Tcaron': ('\u0164', '&Tcaron;'), # Латинская заглавная буква T с гачеком/карон (Ť)
'tcaron': ('\u0165', '&tcaron;'), # Латинская строчная буква t с гачеком/карон (ť)
'Tstrok': ('\u0166', '&Tstrok;'), # Латинская заглавная буква T с чертой (Ŧ)
'tstrok': ('\u0167', '&tstrok;'), # Латинская строчная буква t с чертой (ŧ)
'Utilde': ('\u0168', '&Utilde;'), # Латинская заглавная буква U с тильдой (Ũ)
'utilde': ('\u0169', '&utilde;'), # Латинская строчная буква u с тильдой (ũ)
'Umacr': ('\u016A', '&Umacr;'), # Латинская заглавная буква U с макроном (Ū)
'umacr': ('\u016B', '&umacr;'), # Латинская строчная буква u с макроном (ū)
'Ubreve': ('\u016C', '&Ubreve;'), # Латинская заглавная буква U с бревисом (Ŭ)
'ubreve': ('\u016D', '&ubreve;'), # Латинская строчная буква u с бревисом (ŭ)
'Uring': ('\u016E', '&Uring;'), # Латинская заглавная буква U с кружочком сверху (Ů)
'uring': ('\u016F', '&uring;'), # Латинская строчная буква u с кружочком сверху (ů)
'Udblac': ('\u0170', '&Udblac;'), # Латинская заглавная буква U с двойным акутом (Ű)
'udblac': ('\u0171', '&udblac;'), # Латинская строчная буква u с двойным акутом (ű)
'Uogon': ('\u0172', '&Uogon;'), # Латинская заглавная буква U с огонеком (Ų)
'uogon': ('\u0173', '&uogon;'), # Латинская строчная буква u с огонеком (ų)
'Wcirc': ('\u0174', '&Wcirc;'), # Латинская заглавная буква W с циркумфлексом (Ŵ)
'wcirc': ('\u0175', '&wcirc;'), # Латинская строчная буква w с циркумфлексом (ŵ)
'Ycirc': ('\u0176', '&Ycirc;'), # Латинская заглавная буква Y с циркумфлексом (Ŷ)
'ycirc': ('\u0177', '&ycirc;'), # Латинская строчная буква y с циркумфлексом (ŷ)
'Yuml': ('\u0178', '&Yuml;'), # Латинская заглавная буква Y с диэризисом/умляутом (Ÿ)
'Zacute': ('\u0179', '&Zacute;'), # Латинская заглавная буква Z с акутом (Ź)
'zacute': ('\u017A', '&zacute;'), # Латинская строчная буква z с акутом (ź)
'Zdot': ('\u017B', '&Zdot;'), # Латинская заглавная буква Z с точкой сверху (Ż)
'zdot': ('\u017C', '&zdot;'), # Латинская строчная буква z с точкой сверху (ż)
'Zcaron': ('\u017D', '&Zcaron;'), # Латинская заглавная буква Z с гачеком/карон (Ž)
'zcaron': ('\u017E', '&zcaron;'), # Латинская строчная буква z с гачеком/карон (ž)
'DownBreve': ('\u0311', '&DownBreve;'), # Комбинируемая перевернутая бреве (круглая шапочка)
}
# --- Сборка и валидация ---
# 1. Создаем единый словарь всех сущностей для удобного доступа
ALL_ENTITIES = {
**SHY_ENTITIES, **SPACE_ENTITIES, **DASH_ENTITIES, **MATH_ENTITIES, **GREEK_ENTITIES,
**SHY_ENTITIES, **SPACE_ENTITIES, **DASH_ENTITIES, **MATH_ENTITIES, **GREEK_ENTITIES, **LATIN_SPECIAL_ENTITIES,
**QUOTE_ENTITIES, **CURRENCY_ENTITIES, **SYMBOL_ENTITIES, **SYMBOL_PUNCTUATION, **SYMBOL_FRACTIONS
}