fix(bw): missing PT special chars handling (#4806)

Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
This commit is contained in:
3djc
2024-03-27 10:49:25 +10:00
committed by GitHub
co-authored by philmoz
parent 904a9201e2
commit 325de78d0f
5 changed files with 10 additions and 0 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 B

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 284 B

After

Width:  |  Height:  |  Size: 1.7 KiB

+2
View File
@@ -262,6 +262,7 @@ uint8_t getTextWidth(const char * s, uint8_t len, LcdFlags flags)
while (len--) {
#if !defined(BOOT)
unsigned char c = map_utf8_char(s, len);
if (c >= 0x95 && FONTSIZE(flags)) c -=21;
#else
unsigned char c = *s;
#endif
@@ -305,6 +306,7 @@ void lcdDrawSizedText(coord_t x, coord_t y, const char * s, uint8_t len, LcdFlag
else if (c >= 0x20) {
// UTF8 detection
c = map_utf8_char(s, len);
if (c >= 0x95 && fontsize) c -=21;
if (!c) break;
lcdDrawChar(x, y, c, flags);
+1
View File
@@ -309,6 +309,7 @@ void lcdDrawSizedText(coord_t x, coord_t y, const char * s, uint8_t len, LcdFlag
#if !defined(BOOT)
// UTF8 detection
c = map_utf8_char(s, len);
if (c >= 0x95 && FONTSIZE(flags)) c -=21;
if (!c) break;
if (c == 46 && FONTSIZE(flags) == TINSIZE) { // '.' handling
+7
View File
@@ -81,6 +81,13 @@ static wchar_t _utf8_lut[] = {
L'Ñ', L'ñ', L'Á', L'á', L'É', L'é', L'Í',
L'í', L'Ó', L'ó', L'ú',
};
#elif defined(TRANSLATIONS_PT)
static wchar_t _utf8_lut[] = {
L'Á', L'á', L'Â', L'â', L'Ã', L'ã', L'À',
L'à', L'Ç', L'ç', L'É', L'é', L'Ê', L'ê',
L'Í', L'í', L'Ó', L'ó', L'Ô', L'ô', L'Õ',
L'õ', L'Ú', L'ú',
};
#elif defined(TRANSLATIONS_FI)
static wchar_t _utf8_lut[] = {
L'å', L'ä', L'ö', L'Å', L'Ä', L'Ö',