mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-08-01 09:46:22 +00:00
Layout fix: GxEPDDisplay was using proportional GFX fonts (FreeSans9pt/12pt) for sizes 1 and 2, giving lineHeight=16/20 instead of the 8/16 the UI layout expects (designed for the OLED's bitmap font). Replaced with the GFX built-in 6×8 bitmap font (size 1) and its 2× scaled variant 12×16 (size 2). Size 3 keeps FreeSans18pt for large headings. fontAscender updated accordingly: built-in font cursor is top-left (offset=0), Lemon GFX font adds 8px, only FreeSans18pt still adds 26px. Lemon font: LemonFont.h already stores the font in GFXfont format, so GxEPDDisplay can use it directly via display.setFont(&Lemon). Added _use_lemon flag, setLemonFont() override, and size-1 font selection in setTextSize()/startFrame(). Adafruit GFX handles UTF-8 decoding for GFX fonts, so Unicode characters (Cyrillic etc.) render correctly. The FONT setting in SettingsScreen now works on e-ink the same as on OLED. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>