Consonant shifters and ZWNJ in Khmer

Norbert Lindenberg via Unicode unicode at unicode.org
Fri Jul 20 18:17:03 CDT 2018


The section on consonant shifters in the Khmer section of the Unicode standard (page 647 of Unicode 11 [1]) isn’t entirely clear on where the zero width non-joiner should be placed to prevent a consonant shifter that’s followed by an above-base vowel from being changed to a below-base glyph.

First, it says “U+200C zero width non-joiner should be inserted before the consonant shifter” to prevent the change. Then it continues “in such cases, U+200C zero width non-joiner is inserted before the vowel sign”, which could be interpreted as “after the consonant shifter”. Finally, the examples show ZWNJ inserted before the consonant shifter.

The OpenType Khmer shaping description [2], on the other hand, expects ZWNJ to be inserted between the consonant shifter (here called RegShift) and the above-base vowel.

Questions to the people here who have dealt with Khmer: How is this handled in real life?

Thanks,
Norbert

[1] https://www.unicode.org/versions/Unicode11.0.0/ch16.pdf
[2] https://docs.microsoft.com/en-us/typography/script-development/khmer


More information about the Unicode mailing list