Mobile keyboard keys not displaying (also design keys not labeled)

Hi,

I made a mobile phone Keyman keyboard, and while all keys are outputting the characters correctly, the keys themselves aren’t labeled as seen here:

I didn’t have this issue for other keyboards I made and I can’t seem to isolate what’s causing this.

In the “code” tab I specified the correct font:


I didn’t do this for other keyboards but they worked anyways. Do you know why this is?

I included the font in my .kps files:

I specified the font in the Keyboard font and Display font cells in the .kps:

The Source tab in the .kps also mentions the font:

Do you know how to resolve this?

Another tangential question:
Is there a way to display the keys while working on the Touch Layout. Both the Design and Code tabs don’t properly show the glyphs:


Thank you

I have found this to be a problem with unencoded scripts and I’m not 100% sure of the solution. I think I’ve resolved it before by selecting Web fonts… and selecting the font again.
Try it anyway.

In Keyman Developer, from the Keyboard menu, select Fonts. This will bring up a dialog for selecting the fonts used in various places. Check that your font is specified.

If this doesn’t help, please write again!

Yes this is an unencoded script. I selected the Web fonts button in the Keyboards tab of the .kps file and selected the font (they were unselected before), recompiled, but the keys are still unlabeled on the app as seen in the picture in my original post

I tried this and the font is selected in all cells that I’m working with:

While the code tab shows the letters like so:


the design tab doesn’t show the letters on the keys

For Beria Erfe, my source file actually has more font info than yours does:

  <Keyboards>
    <Keyboard>
      <Name>Beria Erfe Phonetic</Name>
      <ID>beria_erfe_phonetic</ID>
      <Version>1.0</Version>
      <OSKFont>..\assets\Kedebideri-Regular.ttf</OSKFont>
      <DisplayFont>..\assets\Kedebideri-Regular.ttf</DisplayFont>
      <Languages>
        <Language ID="zag-Zyyy">Zaghawa</Language>
      </Languages>
      <WebOSKFonts>
        <Font Filename="..\assets\Kedebideri-Regular.ttf"/>
      </WebOSKFonts>
      <WebDisplayFonts>
        <Font Filename="..\assets\Kedebideri-Regular.ttf"/>
      </WebDisplayFonts>
    </Keyboard>
  </Keyboards>

I have the the additional info now:

but still no luck

Ok, I’m sorry. What I’ve been encouraging you to do is helpful to make sure the font displays once the keyboard is installed. I think this may be a bug in Developer. We have the same issue with another keyboard:

When I test the keyboard on the web though I can see the keycaps:

So, I’d suggest you test on the web Build / Compile keyboard / Test keyboard on web / Open in browser and then select your keyboard and the device you want to test:

I’ll submit an issue for this.

Issue: bug: Touch layout device does not display font when the characters are not in Unicode · Issue #122 · keymanapp/developer.keyman.com · GitHub

Thanks for your help, I appreciate it

Would it be helpful to know what codepoints are being used for the characters?

That would be useful. From the one screenshot it looks like PUA (U+E00C), but knowing the range being used would be helpful.

I’m in the PUA, U+E000 to U+E057

There are a bunch of possibilities – it could be related to the font facename or filename having a single quote character in it, or it could be an issue with parsing the font.

Could you share a zip of the keyboard source and the font, so that I can try and reproduce the issue here?

Sure thing; here’s a zip of the source folder from the Keyman Developer project. I also placed the font in there. The font wasn’t originally in the folder; I added it to the .kps through the add file button

I originally wanted to send a zip of the entire project folder, but it was too big to send here. Let me know if that’s what you wanted and I can email it to you
source.zip (556.2 KB)

@drowe I tried your recommendation of Keyboard menu > Font > select font for Touch Layout and it fixed the display issue in the Touch Layout design tab for a different unencoded script mobile keyboard I’m working on. It still doesn’t work for this thread’s script, perhaps due to an apostrophe in this thread’s script’s name

This looks like an arabic script keyboard. Did you send the wrong keyboard?

You’re right sorry; here’s the correct one:

source.zip (590.9 KB)

OK, I have reproduced this issue here in the touch layout editor, and it does relate to the quote character in the font face name. We will have a fix in 18.0 for that.

Is the issue present in the deployed keyboard in the app as well?

We have a fix for the touch layout editor coming at:

I have opened additional issue reports for Android and iOS at: