diff --git a/examples/companion_radio/ui-new/CharTestScreen.h b/examples/companion_radio/ui-new/CharTestScreen.h index 72d2abbf..ffa9dca6 100644 --- a/examples/companion_radio/ui-new/CharTestScreen.h +++ b/examples/companion_radio/ui-new/CharTestScreen.h @@ -1,6 +1,6 @@ #pragma once -// Test screen that displays sample characters from various alphabets/scripts. -// Useful for verifying transliteration and font coverage on experimental fonts. +// Test screen that displays sample characters from various alphabets/scripts +// to verify native font coverage (no transliteration — Lemon renders natively). class CharTestScreen : public UIScreen { UITask* _task; @@ -41,7 +41,7 @@ public: display.setCursor(display.width() - 6, startY + (_visible - 1) * lineH); display.print("v"); } - return 500; + return 2000; } bool handleInput(char c) override { @@ -52,7 +52,6 @@ public: } }; -// Sample strings are printed as raw UTF-8 (no transliteration) to test native font coverage. // Lemon font covers U+0020–U+04FF: Latin, Greek and Cyrillic all render natively. const CharTestScreen::TestLine CharTestScreen::LINES[CharTestScreen::LINE_COUNT] = { { "PL", "ąćęłńóśźżĄĆĘŁŃ" }, // Polish @@ -65,5 +64,5 @@ const CharTestScreen::TestLine CharTestScreen::LINES[CharTestScreen::LINE_COUNT] { "TR", "çğışöüİŞĞ" }, // Turkish { "LT", "āēīūģķļņŗėįų" }, // Baltic (Latvian/Lithuanian) { "RU", "АБВГДЕЖЗабвгдеж" }, // Cyrillic - { "GR", "\xCE\xB1\xCE\xB2\xCE\xB3\xCE\xB4\xCE\xB5\xCE\xB6\xCE\xB7\xCE\xB8\xCE\xB9\xCE\xBA" }, // Greek αβγδεζηθικ + { "GR", "αβγδεζηθικλμ" }, // Greek }; diff --git a/src/helpers/ui/SH1106Display.cpp b/src/helpers/ui/SH1106Display.cpp index c58870b3..9b61c587 100644 --- a/src/helpers/ui/SH1106Display.cpp +++ b/src/helpers/ui/SH1106Display.cpp @@ -41,21 +41,13 @@ void SH1106Display::startFrame(Color bkg) { display.clearDisplay(); // TODO: apply 'bkg' _color = SH110X_WHITE; - display.setTextColor(_color); - display.setTextSize(1); - display.cp437(true); // Use full 256 char 'Code Page 437' font } void SH1106Display::setTextSize(int sz) { _text_size = (uint8_t)sz; - if (sz == 1) { - display.setFont(nullptr); // use default font path; we override print() ourselves - display.setTextSize(1); - } else { - display.setFont(nullptr); - display.setTextSize(sz); - } + display.setFont(nullptr); + display.setTextSize(sz); } void SH1106Display::setColor(Color c) diff --git a/src/helpers/ui/SH1106Display.h b/src/helpers/ui/SH1106Display.h index 17b26a96..cc543431 100644 --- a/src/helpers/ui/SH1106Display.h +++ b/src/helpers/ui/SH1106Display.h @@ -50,11 +50,4 @@ public: void setBrightness(uint8_t level) override; void endFrame() override; - // UTF-8 is handled natively in print() — no substitution needed - void translateUTF8ToBlocks(char* dest, const char* src, size_t dest_size) override { - size_t len = strlen(src); - if (len >= dest_size) len = dest_size - 1; - memcpy(dest, src, len); - dest[len] = '\0'; - } };