GNOME Bugzilla – Bug 447035
[ml_IN] three combination are render improperly
Last modified: 2012-08-25 20:46:37 UTC
Please describe the problem: Description of problem: 3 more combinations has problem with pango/icu (different for icu) 3) [അപ്ഗ്റേഡ്] 0D05 + 0D2A + 0D4D + 0D17 + 0D4D + 0D31 + 0d47 + 0D21 + 0D4D 4) [വ്യക്തം] 0D35 + 0D4D + 0D2F + 0D15 + 0D4D + 0D24 + 0d02 5) [ഇന്സ്റ്റോള്] 0D07 + 0D28 + 0D4D + 200D + 0D38 + 0D4D + 0D31 + 0D4D + 0D31 + 0D4B + 0D33 + 0D4D + 200D Version-Release number of selected component (if applicable): pango-1.14.9-3.el5 How reproducible: Everytime Steps to Reproduce: 1. open gedit/oowriter 2. type give combination (use att text file) 3. open those in kedit Actual results: as in gedit/oowriter Expected results: as in kedit Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
Created attachment 89870 [details] the Screenshot the Screenshot, where gedit/openoffice is wrong, but kedit is correct.
I wrote a patch for fixing bug447033, bug447034 and bug447035. And I modified indic_shape_engine( ) in this patch, let it handle one by one syllable, not handle all syllables together. It can fix the three bugs only by this way. This patch is below: http://bugzilla.gnome.org/attachment.cgi?id=89871&action=view
The same bug in RedHat Bugzilla is below: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=223169
Lizhang, Out of the three combinations, second one is not rendered correctly because of a font problem. Thus it should not be fixed in pango. Properly developed fonts do not have such problems. First and third combinations (labeled 3 and 5 in description) are general problems regarding the position of 0D47. (0D4B is anyway a split matra that is decomposed into 0D47 and 0D3E, thus 0D47 being the only problematic matra) IMO, 0D47 should be shifted to the left of the first cluster (first consonant on the left side of the first viram[0D4D] sign) towards its left. We do not need to hardcode the entire words since they are only examples :) Lizhang, can you please rewrite the patch only for 0D47's positioning and exclude everything else? :)
I have created a patch for a similar Telugu problem, adopting the patch at comment #2 and modifying the logic to make it work properly. It may be useful to adopt my patch for further work on this problem.
Created attachment 144477 [details] Screenshot with correct rendering after testing in gedit Tested all three combinations mentioned in this bug on latest pango: pango-1.26.0-1.fc12.i686 Result as follows: [അപ്ഗ്റേഡ്] 0D05 + 0D2A + 0D4D + 0D17 + 0D4D + 0D31 + 0d47 + 0D21 + 0D4D There was a confusion between usage of 0d30 and 0d31 earlier. Finally after lots of discussion in the community, decided to use 0d30 for such combinations. Hence the combination will be : 0D05 + 0D2A + 0D4D + 0D17 + 0D4D + 0D30 + 0d47 + 0D21 + 0D4D (അപ്ഗ്രേഡ്) . This works perfectly now [വ്യക്തം] 0D35 + 0D4D + 0D2F + 0D15 + 0D4D + 0D24 + 0d02 This works perfect now. 5) [ഇന്സ്റ്റോള്] 0D07 + 0D28 + 0D4D + 200D + 0D38 + 0D4D + 0D31 + 0D4D + 0D31 + 0D4B + 0D33 +0D4D + 200D This works perfect now. Screenshot attached.
Ani, Thanks for your input. Behdad, Please close this bug. NOTE:- This comment is as part of pango Indic module bug triaging.
HarfBuzz has been merged, Indic shaper removed. Marking OBSOLETE.