Skip to content

Conversation

@apo-mak
Copy link

@apo-mak apo-mak commented Nov 30, 2025

Add Greek language support (WIN1253) for InkHUD displays

Adds WIN1253 Greek fonts for InkHUD e-ink displays, enabling Greek text rendering on Heltec Mesh Pocket and other InkHUD-compatible devices.

Changes:

Add FreeSans 6pt, 9pt, 12pt fonts with Greek characters (0xC0-0xFF)
Fix WIN1253 encoding handler in AppletFont.cpp (missing 1-byte char guard caused crash)
Configure Heltec Mesh Pocket variant to use WIN1253 fonts

Testing:
Verified Greek text display (e.g., "τεστ") renders correctly on Heltec Mesh Pocket InkHUD

🤝 Attestations

  • I have tested that my proposed changes behave as described.
  • I have tested that my proposed changes do not cause any obvious regressions on the following devices:
    • Heltec (Lora32) V3
    • LilyGo T-Deck
    • LilyGo T-Beam
    • RAK WisBlock 4631
    • Seeed Studio T-1000E tracker card
    • Other (please specify below)
    • Heltec Mesh Pocket

@CLAassistant
Copy link

CLAassistant commented Nov 30, 2025

CLA assistant check
All committers have signed the CLA.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds Greek language support (WIN1253 encoding) for InkHUD e-ink displays and OLED displays. The implementation includes new Greek font files, encoding handlers, and character mapping logic to enable proper rendering of Greek text on Heltec Mesh Pocket and similar devices.

Key Changes:

  • Added three FreeSans fonts (6pt, 9pt, 12pt) with WIN1253 Greek character encoding
  • Fixed critical encoding handler bug preventing 1-byte character crashes
  • Implemented UTF-8 to WIN1253 character mapping for Greek alphabet
  • Added OLED_GR font support with conditional compilation

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated no comments.

Show a summary per file
File Description
variants/nrf52840/heltec_mesh_pocket/nicheGraphics.h Switched font configuration from WIN1252 to WIN1253 for Greek support
src/graphics/niche/InkHUD/AppletFont.h Added WINDOWS_1253 enum and Greek font includes/macros
src/graphics/niche/InkHUD/AppletFont.cpp Implemented comprehensive WIN1253 encoding handler with Greek character mappings
src/graphics/niche/Fonts/FreeSans*_Win1253.h Added three new Greek font files with glyph bitmaps (6pt, 9pt, 12pt)
src/graphics/fonts/OLEDDisplayFontsGR.h New header declaring Greek OLED fonts with WIN1253 encoding
src/graphics/ScreenFonts.h Added conditional compilation for Greek font selection
src/graphics/Screen.h Implemented UTF-8 to WIN1253 character conversion logic for OLED displays

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants