keyboards icon indicating copy to clipboard operation
keyboards copied to clipboard

Update Arabic keyboards to support OSK font for better display

Open darcywong00 opened this issue 3 weeks ago • 9 comments

Follows #3817 for keymanapp/keyman#15263 for the following Arabic keyboards:

  • arabic_w_o_dots (Also updated Keyman version to 17.0 because the touch layout uses flick or multi-tap gesture on K_A)
  • easy_arabic (Harmattan)
  • sil_arabic_phonetic

Applies the display map from #3814 and updates the touch layout keyboard and OSK. Also cleaned up the .kpj project files.

Test-bot: skip

darcywong00 avatar Dec 15 '25 03:12 darcywong00

Is the .kvks correct? The .json file is KbdArab, but the font is KbdArabScheherazade If it's not correct, then the previous PR that I just approved is incorrect also.

LornaSIL avatar Dec 15 '25 15:12 LornaSIL

Also, one of the keyboards uses Harmattan. I may have the KbdArabHarmattan ready to roll out by the end of the week, so it might be better to wait for that.

LornaSIL avatar Dec 15 '25 15:12 LornaSIL

Is the .kvks correct? The .json file is KbdArab, but the font is KbdArabScheherazade If it's not correct, then the previous PR that I just approved is incorrect also.

good catch. I'm not sure. https://github.com/keymanapp/keyboards/blob/5811d30265065b1f8aeed6233697c35925b73113/release/sil/sil_hebrew/source/sil_hebrew.kvks#L11 That .json file is KbdHebr, but the font is KbdHebr-Regular.ttf

darcywong00 avatar Dec 16 '25 00:12 darcywong00

I added Harmattan as a font for the OSK, so you could now select that font instead of Scheherazade for easy_arabic.

LornaSIL avatar Dec 16 '25 18:12 LornaSIL

I've updated easy_arabic to use KbdArabScheherazade.ttf

And it looks like .kvks needs to refer to the font name cause the OSK originally showed tofu when I tried KbdArab.

I'll update the basic_kbda keyboards separately.

darcywong00 avatar Dec 17 '25 01:12 darcywong00

@mcdurdin clarified:

The kvks needs to refer to a normal ttf, not the generated font.

I'll need to fix these...

darcywong00 avatar Dec 17 '25 08:12 darcywong00

@mcdurdin clarified:

The kvks needs to refer to a normal ttf, not the generated font.

I am VERY confused. All of the Khmer keyboards (.kvks) have this:

 <encoding name="unicode" fontname="KbdKhmr" fontsize="12">

That refers to the font called "KbdKhmr" whose filename is KbdKhmr.ttf

All the Hebrew ones are similar:

  <encoding name="unicode" fontname="KbdHebr" fontsize="12">

The difference for Arabic is that we didn't give the font files the same name as the .json file.

So, I think any keyboard that will use the font "Harmattan" should have this in the .kvks file:

  <encoding name="unicode" fontname="KbdArabHarmattan" fontsize="12">

and similarly the ones using Scheherazade New (or Amiri, etc) should use:

  <encoding name="unicode" fontname="KbdArabScheherazade" fontsize="12">

Is that correct @mcdurdin ?

LornaSIL avatar Dec 17 '25 17:12 LornaSIL

Because the displaymap transform is done at compile time, the .kvks should refer to the design-time font, so that you don't see tofu in the .kvks editor. The package compiler will rewrite the embedded .kvk to reference the correct font (as long as it is selected in the .kps, of course!).

I still feel like fonts are too complicated -- the line between design-time and deploy-time fonts is messy.

mcdurdin avatar Dec 17 '25 18:12 mcdurdin

Because the displaymap transform is done at compile time, the .kvks should refer to the design-time font, so that you don't see tofu in the .kvks editor. The package compiler will rewrite the embedded .kvk to reference the correct font (as long as it is selected in the .kps, of course!).

I assume this means we need to redo all the Khmer and Hebrew ones? Ugh.

LornaSIL avatar Dec 17 '25 19:12 LornaSIL

Probably, since it's an SIL keyboard.

On Wed, Dec 17, 2025, 6:36 PM Darcy Wong @.***> wrote:

@.**** commented on this pull request.

In release/sil/sil_arabic_phonetic/source/sil_arabic_phonetic.kvks https://github.com/keymanapp/keyboards/pull/3818#discussion_r2629088335:

@@ -7,7 +7,7 @@

- +

@LornaSIL https://github.com/LornaSIL - now I'm wondering if this should also be ScheherazadeNew

— Reply to this email directly, view it on GitHub https://github.com/keymanapp/keyboards/pull/3818#pullrequestreview-3590210898, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABV6RI247GF6Y5VY2JBP5J34CHZJ5AVCNFSM6AAAAACPA3UXSCVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTKOJQGIYTAOBZHA . You are receiving this because you were mentioned.Message ID: @.***>

LornaSIL avatar Dec 18 '25 00:12 LornaSIL