fix: transliterate message text in FullscreenMsgView before wrapping

Raw UTF-8 message body was passed directly to display.print(), rendering
Polish and other accented chars as garbage on the Adafruit font.
Transliterating before wrapLines also fixes byte-count wrapping for
multi-byte UTF-8 characters.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-05-16 15:24:36 +02:00
parent d1d524aab1
commit db3f287c78

View File

@@ -51,8 +51,10 @@ struct FullscreenMsgView {
display.drawTextEllipsized(2, 1, display.width() - 4, sender);
display.setColor(DisplayDriver::LIGHT);
char trans_text[512];
display.translateUTF8ToBlocks(trans_text, text, sizeof(trans_text));
char lines[12][FS_CHARS_MAX];
int lcount = wrapLines(text, chars, lines, 12);
int lcount = wrapLines(trans_text, chars, lines, 12);
int max_scroll = lcount > visible ? lcount - visible : 0;
if (scroll > max_scroll) scroll = max_scroll;