Symbol(glyph) is not display. Instead it only display Latin Character on keyboard


I have a font with symbols(glyphs) in Latin Codepage slots. In character map it displays all my symbols in the map. But when I click/drop anyone of them into Keyboard it only displays Latin Alphabets on the keyboard. Seem like it is hard-coded to display assigned Unicode glyphs on the keyboard. Is there a way I can get the symbols get displayed in the keyboard? Any suggestion is very much appreciated. Thanks

Welcome to the community! So, it sounds like you are talking about a custom-encoded font that does not have Latin glyphs in the Latin slots?

Of course, the best solution is to use Unicode if at all possible. However, I realize that isn’t always possible.

In Keyman Developer you can go to Keyboard / Fonts and set the font there for the various types of keyboards (under Keyboard Properties), but that is actually primarily used when developing the keyboard.

In the .kps file you can also set the font. You would need to add the font in the files tab. Then in the Keyboards tab you would set the font. This will allow the .kmp package to distribute the font. I think it at least sets the font to display the characters from the font in the OSK and perhaps a mobile layout if you use the Keyman app on mobile. We don’t have control of setting the font outside of the app in Android so you will still have problems there.

I hope this helps. If I am misunderstanding your question please give more details.

Thanks, I was able to see symbols on my layout ( by selecting View/Character Font/mysymbols font ). But I still did not see on other layouts - On Screen and Touch Layout even using fill/import. Is this by design? or I should see the symbols on actual phone screen? I just started and any help would be appreciated very much and please forgive my silly questions. Thanks

Hello again. I think that you are possibly not writing the rules for the keyboard that need to be written. Before you do anything with the On-Screen keyboard (OSK), or with the Touch Layout, you must write rules for the keyboard on “Layout” tab (you can drag and drop on the Layout tab too, but that’s where the rules are if you click on Code you can see the rules. You can start here: Keyboard Tutorial

Regarding the OSK, if you click on Fill from layout it should fill in the characters for the rules you’ve created. It may also fill in characters for keys which you have not written rules for. For example, if you don’t have a rule for “m” it will automatically assume you want an “m”. You would need to write a rule to prohibit “m” being output. For example:
+ [K_M] > nul
would prohibit “m” outputting any character.

Also, for the OSK if you say “Auto-fill underlying layout” that does not create any rules. It just displays in the background of the layout the underlying keys on a normal US QWERTY keyboard.

Thank you very much. I saw the rules in “code” tab for all layouts. But they are written in different syntaxes, though I could figure out some of the keys. The tutorial gave me only basic rules and that only apply to Layout “code” tab. Seem like I can’t find the document about other two layouts’ syntaxes and thus assumed I only need to work on the rules for main layout. Then fill/import them into other layouts if the keys used are the same across layouts. Does my assumption correct? Other thing I like to know is, can I use one key slot and when press it, it will bring up all those symbols in the dialog windows and the user can select the one he want? As always, thank in advance for the help you could offer me.

I still need help in here. Where is “Files” tab to add the font to the .kmp package? Since, I am started new, the packaging is the last thing to do, right? For the Android phone, you mean the font can not be bundled? or do I need to tell the user to install the font separately? Thanks

Please do follow the Keyman tutorial that I linked to above. But, for the “Files” tab, it is in the .kps.
If you open the .kpj, then switch to the .kps file, you will see the top tab is “Files”

Click on “Add” and that is where you add the fonts.
After adding the font files, you can switch to the “Keyboards” tab and add the “Keyboard font” and “Display font” Your choices will be any of the fonts you added under “Files”.

Many thanks to you, Lorna for your patience & explanations. I will try and work on it. Will update you here later. Thanks