fix(bw): missing PT special chars handling (#4806)
Co-authored-by: philmoz <phil.a.mitchell@gmail.com>
This commit is contained in:
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 |
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'Ö',
|
||||
|
||||
Reference in New Issue
Block a user