bfu_ua_display: Add Ukrainian text rendering library#1114
bfu_ua_display: Add Ukrainian text rendering library#1114BrainFromUkraine wants to merge 2 commits into
Conversation
758de50 to
32cd805
Compare
Add bfu_ua_display package for rendering Ukrainian text on MicroPython displays. Features: * Full Ukrainian alphabet support. * 5x7 bitmap font optimized for ESP32. * Works with displays supporting pixel() method. * Tested with SSD1306 OLED displays. Package provides ua_text, ua_text_center, and ua_text_scaled. Signed-off-by: Oleksandr Polishchuk <oleksandr.polishchuk@icloud.com>
32cd805 to
ae6148a
Compare
|
Дякую for the contribution. A few initial comments: Also on a first look the PR appears to be created using AI. For more information, consult the MicroPython Generative AI Policy: |
Signed-off-by: Oleksandr Polishchuk <oleksandr.polishchuk@icloud.com>
|
Thank you for the review and feedback. I've moved the package from All related files were relocated while keeping the public API and functionality unchanged. All formatting, linting, and CI checks are now passing successfully. I also want to clarify that AI tools were used during development and documentation assistance for this contribution, while the implementation, testing, fixes, and final review were performed manually. Thanks again for the guidance and review. |
|
Thanks for clarifying. Have you considered an optional framebuffer fast path for framebuffer-backed drivers? Right now rendering is per-glyph/per-pixel via pixel() (and fill_rect() for scaled text), which is nicely portable. |
|
Thanks for the suggestion. Yes, I have considered framebuffer-backed rendering paths as a possible future optimization, especially for ESP32 display stacks using framebuf/blit operations. The current implementation intentionally prioritizes portability and compatibility across different MicroPython display drivers by relying on the generic pixel() fallback path. I agree that an optional framebuffer/blit accelerated path could significantly reduce Python call overhead and improve rendering performance for scaled or repeated text rendering. I’ll definitely explore this direction further while keeping compatibility with existing drivers. |
Add bfu_ua_display package for rendering Ukrainian text on MicroPython displays.
Features:
Package provides ua_text, ua_text_center, and ua_text_scaled functions.