Problems with Khmer Angkor keyboard on Linux

I have 2 problems with the above mentioned keyboard.

  1. Inside FLEx I am unable to type right alt + b = ឞ. Typing this in the lexicon edit pane to change the spelling of an entry has caused FLEx to crash twice. In other parts of FLEx, such as the search window or bulk edit, typing that sequence does not result in anything at all. However, going into writing systems, Khmer Angkor is the default for fields set up for Khmer. Additionally, when in the modify window on FLEx to change keyboards for particular writing systems, there is a little test box to try out a selected keyboard. In that box I can type ឞ. This problem doesn’t exist in LibreOffice. But I don’t know if its something to do with FLEx or the keyboard.

  2. In any application, typing αž”αŸ‰ and then a vowel like ិ (i) results in the expected output = αž”αŸ‰αž· . So the vowel over the top causes the β€˜rat’s teeth’ above the αž” to become a little apostrophe underneath. The same thing should also happen when typing αž”αŸŠ (b + /) + a vowel. But both the diacritic and the vowel remain on top = αž”αŸŠαž· The diacritic should be below.

Update …

  1. I think this may have something to do with how the keyboard talks to FLEx. I just installed the β€˜Other - Khmer’ KMFL keyboard (from the updated PPA), reset iBus, then in FLEx chose Other-Khmer instead of Khmer Angkor as default for that writing system, then restart FLEx. With the KMFL keyboard I am able to type the character I need = ឞ (NB: I’ve just typed that character with Khmer Angkor - Keyman).

  2. I’ve discovered from Makara that the rendering of treysap above the consonant even with a β€˜top’ vowel is correct. (ឞ៊ិ)

  1. I can use the Khmer Angkor to type ឞ in FLEx v8.3.12.43172 on Windows 10 Pro v1809. FLEx didn’t crash on me. I am able to type the character in the Lexicon Edit, Texts & Words etc. What version of Windows or Linux are you using? What is the version of FLEx and Keyman are you using? Please take a screenshot or what happens when the crash occurs and paste it here. We will investigate further.

  2. For the case of these Consonant Shifters, if they are rendered similarly, it would be hard to tell which is which when placed on αž”. According to Khmer spelling convention, the consonant shifters has to change its look to a glyph looking like vowel ុ (U+17BB) when followed by one of the above vowels (ិ ី ឹ ឺ ើ), but αž” with Triisap is an exception where the Triisap should stay as is. Since ឞ is a variation of αž”, the same behavior is applied.


For a while, I switched from Khmer-Angkor to Other-Khmer (KMFL) because that was more stable. However, there were inconsistencies in FLEx and LO when I typed sonlab pi and treysap. Sometimes with tresap and a vowel above, both would stay above (as it should be) but then other times when I type, for example, ឞ៊ិ, then the tresap becomes a αžŸαŸ’αžšαŸˆαž’αž», so there are inconsistencies in my word list.

So I decided to start again by removing both the Keyman and KMFL keyboards from my system and reinstalling them. First I just reinstalled the Keyman keyboard. In FLEx I added that keyboard to the relevant writing systems, but could not type anything at all in any field set to Khmer script. The same happens with the KMFL keyboard. But in this text box that I’m typing in now, it works but αž˜αžΆαž“αž”αž‰αŸ’αž αžΆαžαŸ‚αž˜αž½αž™ αž‡αžΆαž’αž€αŸ’αžŸαžš ឞ αžŠαžΌαž…αž“αŸαŸ‡αŸ–

αžžαŸ‰ αž“αž·αž„αžŸαŸ’αžšαŸˆαž’αž·αž‘αŸ…αž‡αžΆ αžžαŸ‰αž· αž’αž‰αŸ’αž…αžΉαž„αžαž»αžŸ
ឞ៊ αž“αž·αž„αžŸαŸ’αžšαŸˆαž’αž·αž‘αŸ…αž‡αžΆ ឞ៊ិ αžαŸ’αžšαžΌαžœ

Also in LO the line spacing doesn’t come out right (see screenshot) in both Keyman and KMFL. I’m Wasta-Linux 18.04 (Ubuntu) using Keyman 11. I followed the instructions in this forum for uninstalling the old KMFL and reinstalling it from the new PPA. I am on FLEx 9.0 beta.

it seems in LO the line spacing, which clipped off the top of the vowels when I typed, resolved itself before I took the screenshot because it looks fine in that screenshot

Now with Khmer Angkor, trying Mondulkiri font instead of Khmer OS Fasthand, the sonlap pi and treysap consonant shifter is working with αž” but the opposite was round with ឞ. Screenshot attached.

Now I can type Khmer script again in FLEx but the αž”αžž and treysap problem has returned. I guess to really find out what’s going on you need to test it on a Linux machine.

Hi Ian, looks like you’ve got a swathe of different issues that you are challenged with here!

First off, which language are you working with – it’s not Khmer but another language using Khmer script, is that right? What are the orthographic conventions for that language around consonant shifters and the ឞ consonant?

FLEx crash

I would like to investigate the FLEx issues – the crash, and the inability to type ឞ, with you further. Do you get any error messages when the crash happens, or does FLEx just disappear? Does it happen consistently? Can you give the exact version number of FLEx 9.0 beta you are using so I can try to reproduce it here?

Display of consonant shifters

The issues of how treysap displays are font related rather than keyboard related. The combination of ឞ with vowel and consonant shifter are clearly not consistently supported across fonts.

In my tests, Khmer Mondulkiri has the usage swapped, as you experienced. MoolBoran is the only font on my system that works as expected with treysap. It might not be the font you want to use on a daily basis :grin:


The Khmer OS fonts, and DaunPenh leave consonant shifters above the consonant even with a superscript vowel, e.g.:


And (not that we really care) but Leelawadee UI messes it up completely:


Once you are confident of the orthographic requirements, it would also be worth asking the font developers to work on support for these combinations (which are not used in modern Khmer but appear to be in other languages). It may be there is a conflict in usage, but I don’t have enough data to support that at present (@makara, is this possible?) @makara, what does your Khmer Character Specification note about usage of treysap and muusikatoan with this consonant?

There is a workaround that works with Khmer Mondulkiri, if all else fails. The character codes Zero Width Non-Joiner (U+200C) and Zero Width Joiner (U+200D) can be used to force the alternate renderings:

If that ends up being the solution you need, Makara can make a version of Khmer Angkor to support that.

Line clipping in LibreOffice

The line clipping in LibreOffice is a display issue with that app. As you saw, it tends to resolve after a bit when the screen redraws. But you could raise it as a problem with them if it continues to be a concern.

1 Like

KCS does not have proof of how this obsolete consonant is used with the consonant shifters nor how the combination should look like. The special treatment of αž” with the consonant shifters included in there though. The inconsistency in rendering is probably steamed from the lack of info. I will include a note on this in the KCS.

This alternative helps with what is shown on the screen, but will it introduce a separate issue with searching and word counting?

The ZWNJ / ZWJ is an appropriate solution if used consistently, unless we decide that the Khmer Mondulkiri font has the rendering backwards? Certainly it’s a solution for Ian that would work for his FLEx data as that is a controlled environment, even if it is not great for data interchange or web publication at this point.

Within FLEx it is also something that can easily be changed if a font-based solution becomes more appropriate in the future.

Sorry I’ve not had the chance to respond yet and tell you which FLEx I’m using. Give me a minute and I’ll sort it …