From 38178931997575869f0756d9ca274b8bd7b2b811 Mon Sep 17 00:00:00 2001 From: Alex Voinea Date: Mon, 25 Sep 2023 17:52:21 +0200 Subject: [PATCH] Implement the rest of the diacritics --- Firmware/FontTable.h | 40 +++++++++ lang/lib/FontGen.py | 40 +++++++++ lang/lib/Prusa.lcd | 188 +++++++++++++++++++++---------------------- lang/lib/charset.py | 140 ++++++++++++++++---------------- 4 files changed, 244 insertions(+), 164 deletions(-) diff --git a/Firmware/FontTable.h b/Firmware/FontTable.h index 078093fcf..0b1deae0c 100644 --- a/Firmware/FontTable.h +++ b/Firmware/FontTable.h @@ -20,3 +20,43 @@ {0xBE, {0x78, 0x8F, 0x88, 0x11, }, 'A'}, // index=0x93, utf8='Ą' {0xF1, {0x87, 0x07, 0x07, 0x87, }, 'a'}, // index=0x94, utf8='ă' {0xF9, {0x87, 0x78, 0x8F, 0x88, }, 'A'}, // index=0x95, utf8='Ă' +{0x20, {0x12, 0x78, 0x88, 0x70, }, 'c'}, // index=0x96, utf8='ć' +{0x20, {0x12, 0x78, 0x88, 0x70, }, 'c'}, // index=0x97, utf8='ć' +{0x20, {0x52, 0x78, 0x88, 0x70, }, 'c'}, // index=0x98, utf8='č' +{0x03, {0x00, 0x11, 0x79, 0x97, }, 'd'}, // index=0x99, utf8='ď' +{0x18, {0x12, 0x78, 0xF8, 0x70, }, 'e'}, // index=0x9A, utf8='é' +{0x18, {0x42, 0x78, 0xF8, 0x70, }, 'e'}, // index=0x9B, utf8='è' +{0x18, {0x52, 0x78, 0xF8, 0x70, }, 'e'}, // index=0x9C, utf8='ě' +{0x0C, {0x07, 0x8F, 0x87, 0x23, }, 'e'}, // index=0x9D, utf8='ę' +{0x44, {0x12, 0xF8, 0xF8, 0xF0, }, 'E'}, // index=0x9E, utf8='É' +{0x00, {0x12, 0x06, 0x22, 0x70, }, 'i'}, // index=0x9F, utf8='í' +{0x00, {0x25, 0x06, 0x22, 0x70, }, 'i'}, // index=0xA0, utf8='î' +{0x00, {0x25, 0x07, 0x22, 0x27, }, 'I'}, // index=0xA1, utf8='Î' +{0x00, {0x12, 0x06, 0x22, 0x27, }, 'l'}, // index=0xA2, utf8='ĺ' +{0x02, {0x62, 0x36, 0xA2, 0x70, }, 'l'}, // index=0xA3, utf8='ł' +{0x03, {0x62, 0x22, 0x22, 0x70, }, 'l'}, // index=0xA4, utf8='ľ' +{0x40, {0x45, 0x6C, 0x44, 0x70, }, 'L'}, // index=0xA5, utf8='Ł' +{0x43, {0x88, 0x88, 0x88, 0xF0, }, 'L'}, // index=0xA6, utf8='Ľ' +{0x78, {0x12, 0xBC, 0x88, 0x80, }, 'n'}, // index=0xA7, utf8='ń' +{0x78, {0x52, 0xBC, 0x88, 0x80, }, 'n'}, // index=0xA8, utf8='ň' +{0xF1, {0x69, 0x0B, 0xC8, 0x88, }, 'n'}, // index=0xA9, utf8='ñ' +{0x38, {0x12, 0x78, 0x88, 0x70, }, 'o'}, // index=0xAA, utf8='ó' +{0x38, {0x42, 0x78, 0x88, 0x70, }, 'o'}, // index=0xAB, utf8='ò' +{0x38, {0x25, 0x78, 0x88, 0x70, }, 'o'}, // index=0xAC, utf8='ô' +{0x1D, {0x07, 0x9A, 0xC7, 0x80, }, 'o'}, // index=0xAD, utf8='ø' +{0x39, {0x49, 0x78, 0x88, 0x70, }, 'o'}, // index=0xAE, utf8='ő' +{0x08, {0x52, 0xBC, 0x88, 0x80, }, 'r'}, // index=0xAF, utf8='ř' +{0x20, {0x12, 0x78, 0x70, 0xF0, }, 's'}, // index=0xB0, utf8='ś' +{0x20, {0x52, 0x78, 0x70, 0xF0, }, 's'}, // index=0xB1, utf8='š' +{0x10, {0x07, 0x87, 0x0F, 0x24, }, 's'}, // index=0xB2, utf8='ș' +{0x60, {0x69, 0x9A, 0x98, 0x8B, }, 's'}, // index=0xB3, utf8='ß' +{0x23, {0x04, 0xE4, 0x44, 0x30, }, 't'}, // index=0xB4, utf8='ť' +{0x10, {0x4E, 0x44, 0x43, 0x24, }, 't'}, // index=0xB5, utf8='ț' +{0x01, {0xF2, 0x22, 0x20, 0x24, }, 'T'}, // index=0xB6, utf8='Ț' +{0x7C, {0x12, 0x88, 0x89, 0x60, }, 'u'}, // index=0xB7, utf8='ú' +{0xF8, {0x25, 0x28, 0x88, 0x96, }, 'u'}, // index=0xB8, utf8='ů' +{0xF9, {0x49, 0x08, 0x88, 0x96, }, 'u'}, // index=0xB9, utf8='ű' +{0x3C, {0x12, 0x88, 0x70, 0x70, }, 'y'}, // index=0xBA, utf8='ý' +{0x44, {0x12, 0xF1, 0x24, 0xF0, }, 'z'}, // index=0xBB, utf8='ź' +{0x44, {0x52, 0xF1, 0x24, 0xF0, }, 'z'}, // index=0xBC, utf8='ž' +{0x44, {0x20, 0xF1, 0x24, 0xF0, }, 'z'}, // index=0xBD, utf8='ż' diff --git a/lang/lib/FontGen.py b/lang/lib/FontGen.py index 0711d1a55..1df3f4394 100644 --- a/lang/lib/FontGen.py +++ b/lang/lib/FontGen.py @@ -33,6 +33,46 @@ FONT_TABLE = [ CustomCharacter('Ą', 30, 'A'), CustomCharacter('ă', 23, 'a'), CustomCharacter('Ă', 31, 'A'), + CustomCharacter('ć', 32, 'c'), + CustomCharacter('ć', 32, 'c'), + CustomCharacter('č', 34, 'c'), + CustomCharacter('ď', 40, 'd'), + CustomCharacter('é', 44, 'e'), + CustomCharacter('è', 45, 'e'), + CustomCharacter('ě', 47, 'e'), + CustomCharacter('ę', 49, 'e'), + CustomCharacter('É', 52, 'E'), + CustomCharacter('í', 60, 'i'), + CustomCharacter('î', 62, 'i'), + CustomCharacter('Î', 66, 'I'), + CustomCharacter('ĺ', 68, 'l'), + CustomCharacter('ł', 69, 'l'), + CustomCharacter('ľ', 70, 'l'), + CustomCharacter('Ł', 73, 'L'), + CustomCharacter('Ľ', 74, 'L'), + CustomCharacter('ń', 76, 'n'), + CustomCharacter('ň', 77, 'n'), + CustomCharacter('ñ', 78, 'n'), + CustomCharacter('ó', 84, 'o'), + CustomCharacter('ò', 85, 'o'), + CustomCharacter('ô', 86, 'o'), + CustomCharacter('ø', 88, 'o'), + CustomCharacter('ő', 90, 'o'), + CustomCharacter('ř', 101, 'r'), + CustomCharacter('ś', 108, 's'), + CustomCharacter('š', 109, 's'), + CustomCharacter('ș', 110, 's'), + CustomCharacter('ß', 111, 's'), + CustomCharacter('ť', 116, 't'), + CustomCharacter('ț', 117, 't'), + CustomCharacter('Ț', 119, 'T'), + CustomCharacter('ú', 120, 'u'), + CustomCharacter('ů', 123, 'u'), + CustomCharacter('ű', 124, 'u'), + CustomCharacter('ý', 136, 'y'), + CustomCharacter('ź', 140, 'z'), + CustomCharacter('ž', 141, 'z'), + CustomCharacter('ż', 142, 'z'), ] BUILTIN_CHARS = { diff --git a/lang/lib/Prusa.lcd b/lang/lib/Prusa.lcd index 8854463cd..be5c4dc4a 100644 --- a/lang/lib/Prusa.lcd +++ b/lang/lib/Prusa.lcd @@ -23,7 +23,7 @@ - + @@ -36,121 +36,121 @@ - - - + + + - - - + + + - - - - - - - - - - + + + + + + + + + + - - - - - - + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - + + + - - - + + + - - - + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - + + - - + + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - + + + + + - - - - - - - + + + + + + + - - - + + + @@ -258,7 +258,7 @@ - - + + diff --git a/lang/lib/charset.py b/lang/lib/charset.py index 34f4bcaf4..8b52341a7 100644 --- a/lang/lib/charset.py +++ b/lang/lib/charset.py @@ -34,90 +34,90 @@ TRANS_CHARS = { # 'Ą': 'A', #pl # 'ă': 'a', #ro # 'Ă': 'A', #ro - 'ć': 'c', #pl,hr - 'Ć': 'C', #pl,hr + # 'ć': 'c', #pl,hr + 'Ć': 'ć', #pl,hr 'ç': 'c', #fr,nl - 'č': 'c', #cz,hr,sk - 'Č': 'C', #cz,hr,sk - 'ď': 'd', #cz,sk - 'Ď': 'D', #cz,sk + # 'č': 'c', #cz,hr,sk + 'Č': 'č', #cz,hr,sk + # 'ď': 'd', #cz,sk + 'Ď': 'ď', #cz,sk 'đ': 'd', #hr 'Đ': 'D', #hr - 'é': 'e', #cz,fr,es,it,nl,hu,sk - 'É': 'E', #cz,fr,it,hu,sk - 'è': 'e', #fr,it,nl - 'È': 'E', #fr,it + # 'é': 'e', #cz,fr,es,it,nl,hu,sk + # 'É': 'E', #cz,fr,it,hu,sk + # 'è': 'e', #fr,it,nl + 'È': 'è', #fr,it 'ê': 'e', #fr,nl - 'ě': 'e', #cz + # 'ě': 'e', #cz + 'Ě': 'ě', #cz 'ë': 'e', #fr - 'Ě': 'E', #cz - 'ę': 'e', #pl - 'Ę': 'E', #pl - 'í': 'i', #cz,es,it,sk - 'Í': 'I', #cz,it,sk - 'î': 'i', #fr,ro - 'Î': 'I', #ro - 'ĺ': 'l', #sk - 'Ĺ': 'L', #sk - 'ł': 'l', #pl - 'Ł': 'L', #pl - 'ľ': 'l', #sk - 'Ľ': 'L', #sk - 'ń': 'n', #pl - 'Ń': 'N', #pl - 'ň': 'n', #cz,sk - 'Ň': 'N', #cz,sk - 'ñ': 'n', #es,nl - 'ó': 'o', #cz,es,pl,hu,sk - 'Ó': 'O', #cz,pl,hu,sk - 'ò': 'o', #it - 'Ò': 'O', #it - 'ô': 'o', #fr,nl,sk - 'Ô': 'O', #sk + # 'ę': 'e', #pl + 'Ę': 'ę', #pl + # 'í': 'i', #cz,es,it,sk + 'Í': 'í', #cz,it,sk + # 'î': 'i', #fr,ro + # 'Î': 'I', #ro + # 'ĺ': 'l', #sk + 'Ĺ': 'ĺ', #sk + # 'ł': 'l', #pl + # 'Ł': 'L', #pl + # 'ľ': 'l', #sk + # 'Ľ': 'L', #sk + # 'ń': 'n', #pl + 'Ń': 'ń', #pl + # 'ň': 'n', #cz,sk + 'Ň': 'ň', #cz,sk + # 'ñ': 'n', #es,nl + # 'ó': 'o', #cz,es,pl,hu,sk + 'Ó': 'ó', #cz,pl,hu,sk + # 'ò': 'o', #it + 'Ò': 'ò', #it + # 'ô': 'o', #fr,nl,sk + 'Ô': 'ô', #sk 'œ': 'o', #fr - 'ø': 'ö', #sv,no - 'Ø': 'ö', #sv,no + # 'ø': 'ö', #sv,no + 'Ø': 'ø', #sv,no 'Ö': 'ö', #de,sv,no,hu - 'ő': 'o', #hu - 'Ő': 'O', #hu + # 'ő': 'o', #hu + 'Ő': 'ő', #hu 'ŕ': 'r', #sk 'Ŕ': 'R', #sk - 'ř': 'r', #cz - 'Ř': 'R', #cz - 'ś': 's', #pl - 'Ś': 's', #pl - 'š': 's', #cz,hr,sk - 'Š': 'S', #cz,hr,sk - 'ș': 's', #ro - s-comma - 'Ș': 'S', #ro - S-comma - 'ş': 's', #ro - s-cedilla - 'Ş': 'S', #ro - S-cedilla - 'ß': 'ss',#de - 'ť': 't', #cz,sk - 'Ť': 'T', #cz,sk - 'ț': 't', #ro - t-comma - 'Ț': 'T', #ro - T-comma - 'ţ': 't', #ro - t-cedilla - 'Ţ': 'T', #ro - T-cedilla - 'ú': 'u', #cz,es,hu,sk - 'Ú': 'U', #cz,hu,sk + # 'ř': 'r', #cz + 'Ř': 'ř', #cz + # 'ś': 's', #pl + 'Ś': 'ś', #pl + # 'š': 's', #cz,hr,sk + 'Š': 'š', #cz,hr,sk + # 'ș': 's', #ro - s-comma + 'Ș': 'ș', #ro - S-comma + 'ş': 'ș', #ro - s-cedilla + 'Ş': 'ș', #ro - S-cedilla + # 'ß': 'ss',#de + # 'ť': 't', #cz,sk + 'Ť': 'ť', #cz,sk + # 'ț': 't', #ro - t-comma + # 'Ț': 'T', #ro - T-comma + 'ţ': 'ț', #ro - t-cedilla + 'Ţ': 'Ț', #ro - T-cedilla + # 'ú': 'u', #cz,es,hu,sk + 'Ú': 'ú', #cz,hu,sk 'ù': 'u', #it 'Ù': 'U', #it 'û': 'u', #fr 'Ü': 'ü', #de,hu - 'ů': 'u', #cz - 'Ů': 'U', #cz - 'ű': 'u', #hu - 'Ű': 'U', #hu - 'ý': 'y', #cz,sk - 'Ý': 'Y', #cz,sk + # 'ů': 'u', #cz + 'Ů': 'ů', #cz + # 'ű': 'u', #hu + 'Ű': 'ű', #hu + # 'ý': 'y', #cz,sk + 'Ý': 'ý', #cz,sk 'ÿ': 'y', #fr - 'ź': 'z', #pl - 'Ź': 'Z', #pl - 'ž': 'z', #cz,hr,sk - 'Ž': 'z', #cz,hr,sk - 'ż': 'z', #pl - 'Ż': 'Z', #pl + # 'ź': 'z', #pl + 'Ź': 'ź', #pl + # 'ž': 'z', #cz,hr,sk + 'Ž': 'ž', #cz,hr,sk + # 'ż': 'z', #pl + 'Ż': 'ż', #pl '¿': '', #es '¡': '', #es }