Skip to content

applib/graphics: Add support for mixed RTL-LTR text support#793

Merged
jplexer merged 1 commit intocoredevices:mainfrom
EladDv:Mixed-RTL-LTR
Feb 6, 2026
Merged

applib/graphics: Add support for mixed RTL-LTR text support#793
jplexer merged 1 commit intocoredevices:mainfrom
EladDv:Mixed-RTL-LTR

Conversation

@EladDv
Copy link
Contributor

@EladDv EladDv commented Feb 6, 2026

Summary

Adds proper handling for mixed RTL (Hebrew/Arabic) and LTR (English) text on the same line.

How It Works

Splits text into segments based on script direction and renders each appropriately - RTL segments get reversed, LTR renders normally.

Testing

Tested with the timeline_pins_demo notifications using various Hebrew, English, and mixed strings.
Also tested with Arabic but I am missing the font support for them so I couldn't check the text itself but it showed the same issues as the hebrew ones before the fixes.

This was tested in QEMU on snowy, still needs testing on actual devices

Before - Mixed in same line - English & Numericals broken, Hebrew fine:
remmina_Quick Connect_127 0 0 1:5900_20260206-142956
remmina_Quick Connect_127 0 0 1:5900_20260206-143020
After:
remmina_Quick Connect_127 0 0 1:5900_20260206-143128
remmina_Quick Connect_127 0 0 1:5900_20260206-143140

Before - Multi line English and Hebrew - English broken, Hebrew fine:
remmina_Quick Connect_127 0 0 1:5900_20260206-143027
After:
remmina_Quick Connect_127 0 0 1:5900_20260206-143145

AI Disclosure

This was coded with help from claude code opus 4.5

…ifying and switching

Signed-off-by: Elad Dvash <e.d.dvash@gmail.com>
@jplexer jplexer requested a review from gmarull February 6, 2026 16:59
@jplexer jplexer merged commit 54e9604 into coredevices:main Feb 6, 2026
30 checks passed
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.

3 participants