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 121671 - Va, Ya and La double conjugates not rendered properly in Malayalam
Va, Ya and La double conjugates not rendered properly in Malayalam
Status: RESOLVED FIXED
Product: pango
Classification: Platform
Component: indic
1.2.x
Other Linux
: High normal
: 1.4.1
Assigned To: Pango Indic
Pango Indic
Depends on:
Blocks:
 
 
Reported: 2003-09-07 14:00 UTC by Rajkumar S
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Allow 'pstf' for post-base forms (1.28 KB, patch)
2003-09-15 11:35 UTC, Owen Taylor
none Details | Review
Change YA from _ct to _pb (1.10 KB, patch)
2003-09-15 11:36 UTC, Owen Taylor
none Details | Review
VVa, YYa, LLa after applying patches (1.77 KB, image/png)
2003-09-15 19:30 UTC, Rajkumar S
  Details

Description Rajkumar S 2003-09-07 14:00:58 UTC
Va+Va, Ya+Ya and La+LA conjugates are rendered with a sign in Malayalam.
This is not properly supported in Pango.

Screen shots and unicode text of the bug are available at 

http://www.linuxense.com/oss/render/mozilla/ml-bugs.html#double

Font used for rendering is Thoolika Unicode
http://www.supersoftweb.com/THOOLIUC.TTF
Comment 1 Owen Taylor 2003-09-15 11:34:36 UTC
Several problems seem to be combined here:

 - First, Pango is applying the OpenType lookups in the 
   wrong order, which causes problems for THOOLIUC.TTF
   since it applies 'hlnt' before 'blws' so 

   LA+H+LA => LA+LA+H (reordering) => LA+LA(chillu)

   rather than

   LA+H+LA => LA+LA+H (reordering) => LALA(conjunct)

   though actually this wouldn't be a problem normally
   since the 'hlnt' feature shouldn't be applied at 
   all here. (bug 121670). I've filed this (with a patch)
   as bug 122330

 - Second, the indic code is improperly supressing
   the 'pstf' feature on post-base consonants 

   (There was a FIXME in the code for this... there may be
   some deeper reason why it wasn't fixed earlier.
   It may be that the ICU idea where the different
   sets of features can be compressed into a single array
   doesn't really make sense here - though that seems
   to be more of a problem for below-base forms - where
   currently ICU allows the 'pstf' feature - than for
   post-base forms.)

 - Finally, I think 'Ya' (U+D2F) should be classed as
   _pb, not _ct.
Comment 2 Owen Taylor 2003-09-15 11:35:46 UTC
Created attachment 19942 [details] [review]
Allow 'pstf' for post-base forms
Comment 3 Owen Taylor 2003-09-15 11:36:23 UTC
Created attachment 19943 [details] [review]
Change YA from _ct to _pb
Comment 4 Rajkumar S 2003-09-15 19:25:02 UTC
Tested the patches, and works well, I am attaching the images
generated using pangoft2topgm and joined together using gimp. 

raj
Comment 5 Rajkumar S 2003-09-15 19:30:36 UTC
Created attachment 19961 [details]
VVa, YYa, LLa after applying patches
Comment 6 Owen Taylor 2004-07-29 22:44:45 UTC
Filed ICU bugs:

http://www.jtcsv.com/cgibin/icu-bugs?findid=4022
http://www.jtcsv.com/cgibin/icu-bugs?findid=4023

Committed to Pango with another Malayalam fix:

Thu Jul 29 16:10:06 2004  Owen Taylor  <otaylor@redhat.com>
 
        Fix Malayalam double-consonant conjuncts: #121671, Rajkumar S
 
        * modules/indic/indic-ot.[ch]: Add a new feature
        set pstf_p and use it for post-base consonants, since
        the existing nukt_p suppressed the pstf feature.
        (#121671, Rajkumar S)
 
        * modules/indic/indic-ot-class-tables.c (mlymCharClasses):
        make U+D2F (MALAYALAM LETTER YA) _pb not _ct.
 
        * modules/indic/indic-ot-class-tables.c (mlymCharClasses):
        Classify U/UU/VOCALIC R as _dr not _db since they should
        be ordered after post-base consonants.