Noto Sans Arabic font stops displaying after GUI_UC_EnableBIDI(1)

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Noto Sans Arabic font stops displaying after GUI_UC_EnableBIDI(1)

      I have application that needs to display Arabic and Hebrew content so we added Noto Sans Arabic and Noto Sans Hebrew Fonts to our application.
      When I call GUI_UC_EnableBIDI(1) the Hebrew text reverses but the Arabic font stops displaying the Arabic characters.
      Is there something I am missing?
      Thanks in advance
      Michael
    • Hi,

      did you set the encoding of emWin to UTF-8? You can do this by calling GUI_UC_SetEncodeUTF8().

      Furthermore you should make sure that the font you are using includes the Arabic presentation forms. These characters are located in the area 0xFE70 - 0xFEFC. I would expect the font you are using to have the presentation forms, since it is a font specifically for Arabic, but you should still check nonetheless.

      Best regards,
      Florian
    • Thank you for the reply Florian

      Yes. GUI_UC_SetEncodeUTF8() was called once at start of application after GUI_Init().
      I call enable GUI_UC_EnableBIDI(1) when Arabic or Hebrew languages are selected and GUI_UC_EnableBIDI(0) for all other languages selected

      We create XBF font files using FontCvt with extended, antialiased,4bpp and store fonts in device storage and load as languages are selected.
      The Noto Arabic font has characters in 0600 to 06FF, 750 to 77F and also Arabic Presentation Forms in FB50 through FDC7 and FE70 through FEFC

      With GUI_UC_EnableBIDI(0) the device will show the Arabic characters but not Right to Left direction

      Michael