After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 141983 - Khmer Independent Vowels with subscripts display incorrectly
Khmer Independent Vowels with subscripts display incorrectly
Status: RESOLVED NOTABUG
Product: pango
Classification: Platform
Component: general
unspecified
Other All
: Normal normal
: Small fix
Assigned To: Pango Indic
Pango Indic
Depends on: 125605
Blocks:
 
 
Reported: 2004-05-06 04:36 UTC by Javier SOLA
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Javier SOLA 2004-05-06 04:36:13 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;
   }
Comment 1 Owen Taylor 2004-05-06 13:59:04 UTC
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/?
Comment 2 Javier SOLA 2004-05-07 01:44:26 UTC
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.
Comment 3 Javier SOLA 2004-07-16 00:20:32 UTC
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.
Comment 4 Javier SOLA 2004-12-15 07:03:51 UTC
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.