Why my LittlevGL instance does not display RTL Hebrew text?

Good day,

I am trying to display RTL Hebrew texts according to the following LVGL’s Blog entry ‘LittlevGL speaks Hebrew’, but the base direction is always LTR. I am currently using LittlevGL 7.7.0. I have tried the following fonts:

  • LV_FONT_DEJAVU_16_PERSIAN_HEBREW
  • NotoSansHebrew-Regular.ttf (via font converter)
  • FrankRuehlCLM-Medium.ttf (via font converter)

Any idea of what can be happening? Thanks a lot in advance!

Regards,

Take a look into you lv_conf.h

Search for LV_USE_BIDI and for LV_USE_ARABIC_PERSIAN_CHARS

Set accordingly.

Hi @robekras,

Thanks for the support. This is what I have in my lv_conf.h:
imagen

I suspect that the implemented Unicode Bidirectional Algorithm only works allright for the hebrew characters in the range 0x5d0-0x5ea. Am I right?

@embeddedDave
See the ranges considered as RTL here:

Does it miss something?

1 Like

You are right.
What ranges do you use?
Currently Vowels and unique characters are not supported (U+059x - U+05Cx). Are you trying to use these?
Or are you using the U+FB2x - U+FB4x range?

1 Like

Hi all,
Thanks @amirgon and @kisvegabor for your help! I am currently using Noto Sans Hebrew font. I am trying to represent the following characters: ﬥשׂשּטּ (0xFB38, 0xFB49, 0xFB2F, 0xFB25). These belong to the U+FB2x - U+FB4x range mentioned by @amirgon. According to Unicode standard, these characters belong to the following ranges:


However, these ranges are missing in the lv_bidi_letter_is_rtl() function definition. Is there any reason why?

Regards,

No special reason, mostly because it’s unusual to use this range. I’ve never used it. I’m interested to know - what is your use case? What application needs this range?

You can open a pull request to add this range.

Thanks @amirgon!
We have no clue about hebrew. I guess our application should not need this range. Anyway, as you suggest, we could eventually open a pull request if required by our application.
Have a nice weekend.

1 Like