X Tutup
Skip to content

Add bidi reordering support#305

Merged
MoNTE48 merged 52 commits intoMultiCraft:mainfrom
deveee:harfbuzz-bidi
Mar 6, 2026
Merged

Add bidi reordering support#305
MoNTE48 merged 52 commits intoMultiCraft:mainfrom
deveee:harfbuzz-bidi

Conversation

@deveee
Copy link
Member

@deveee deveee commented Feb 20, 2026

Updated bidi reordering. Now sheenbidi just splits text into runs and harfbuzz does ltr/rtl conversion.

Now CGUITTFont handles cursor position, mark ranges etc. so less code duplication and looks simpler. Sheenbidi has been moved to MultiCraft.

I think that better font is needed for arabic text. I was testing with DejaVuSans.ttf.

I'm pretty sure you will still find some minor issues but it mostly works fine.

One thing that could still be optimized is that shapeText() can be called multiple times for the same text. For example when get dimension, get mark rects and later draw text. It could just shape it once.

Needs MoNTE48/Irrlicht#36

@MoNTE48
Copy link
Member

MoNTE48 commented Feb 20, 2026

sheenbidi should be copied to the repository in a separate PR

@MoNTE48
Copy link
Member

MoNTE48 commented Feb 22, 2026

Android and macOS changes missing?

@MoNTE48 MoNTE48 marked this pull request as ready for review February 23, 2026 09:33
@MoNTE48 MoNTE48 merged commit 35c273c into MultiCraft:main Mar 6, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

X Tutup