GNOME Bugzilla – Bug 141983
Khmer Independent Vowels with subscripts display incorrectly
Last modified: 2004-12-22 21:47:04 UTC
When Khmer consonants and Independent vowels are followed by another consonant or independent vowel, the second one changes shape and is placed under (sometimes under and before, sometimes under and after) the first consonant or independent vowels. The change to subscript form is not automatic. To indicate that a consonant or independent vowel must take a subscript for, Unicode uses the Character u+17D2 (preceding the consonants code-point). u+1780 u+17d2 u+1785 indicates that consonant u+1785 is a subscript to consonant u+180 The present code in Pango works correctly when a consonant is followed by another consonant or independent vowel, but not when an independent vowel is followed by a consonant or independent vowel, as should be the case of u+17b2 u+17d2 u+1799, in which the shape of u+17d2 u+1799 should be completelly different from the shape of u+1799 if the character u+17d2 was not present. To solve this problem requires a little change in the Khmer module code. In the present code we have: if (state != Khmer_Cons) { if (state != Khmer_IndV && state != Khmer_Other) *invalid = 1; goto finish; } It needs to be changed to: if (state != Khmer_Cons && state != Khmer_IndV) { if (state != Khmer_Other) *invalid = 1; goto finish; }
There is no Khmer support in currently shipping versions of Pango. Are you: A) Testing the X bitmap Khmer code that was in older versions of Pango? B) Lin Chear's Khmer module at: http://unicode.khmer.cc/?
It relates to Lin Chear's module. The bug report comes from people using KDE with Qt 3.3.2 (Lin's module was ported to Qt). They found the problem and the solution. We looked into Lin's Pango Khmer module and found the same situation. I have not reached Lin for the last week, he is probably on vacation. As Khmer support is expected in Pango 1.6, I would just like to make sure that this bug does not get in.
This should be reworked after bug 125605 is closed. The real problem is that Khmer independent vowels act exactly as consonants. For rendering purposes they should always be named and considered as consonants. All references to independent vowels in the module should be changed to consonants, and treatment of independent vowels should be scratched.
As the present Pango module will not be integrated into Pango, and in views of a new Khmer module in which this problem is solved, this bug could be closed.