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 141541 - Add OpenType support in Thai module
Add OpenType support in Thai module
Status: RESOLVED FIXED
Product: pango
Classification: Platform
Component: general
1.4.x
Other All
: Normal enhancement
: ---
Assigned To: pango-maint
pango-maint
Depends on: 142544
Blocks:
 
 
Reported: 2004-05-01 02:20 UTC by Theppitak Karoonboonyanan
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: 2.5/2.6


Attachments
Proposed patch (6.21 KB, patch)
2004-05-01 02:28 UTC, Theppitak Karoonboonyanan
none Details | Review
Test OTF font (43.36 KB, application/octet-stream)
2004-05-01 02:32 UTC, Theppitak Karoonboonyanan
  Details
Thai test message (267 bytes, text/plain)
2004-05-01 02:44 UTC, Theppitak Karoonboonyanan
  Details
Gedit screenshot, using the test message and font. (35.06 KB, image/png)
2004-05-01 03:03 UTC, Theppitak Karoonboonyanan
  Details
Gedit screenshot, with Bug #142544 fixed. (63.36 KB, image/png)
2004-05-14 14:21 UTC, Theppitak Karoonboonyanan
  Details
New version of test OTF, with 'calt' replaced by 'ccmp'. (43.35 KB, application/octet-stream)
2004-06-04 05:20 UTC, Theppitak Karoonboonyanan
  Details
Patch version 2, with 'calt' reading removed, plus a little rearrangement (6.21 KB, patch)
2004-06-04 06:18 UTC, Theppitak Karoonboonyanan
none Details | Review

Description Theppitak Karoonboonyanan 2004-05-01 02:20:52 UTC
I have prepared a patch for pango Thai module so that it reads and interprets
necessary OpenType tables as well, while legacy fonts with PUA glyphs are still
supported.
Comment 1 Theppitak Karoonboonyanan 2004-05-01 02:28:49 UTC
Created attachment 27250 [details] [review]
Proposed patch

A proposed patch to read and interpret OpenType tables after ordinary
clustering process in thai-shaper.
Comment 2 Theppitak Karoonboonyanan 2004-05-01 02:32:29 UTC
Created attachment 27251 [details]
Test OTF font
Comment 3 Theppitak Karoonboonyanan 2004-05-01 02:44:57 UTC
Created attachment 27252 [details]
Thai test message
Comment 4 Theppitak Karoonboonyanan 2004-05-01 03:03:35 UTC
Created attachment 27255 [details]
Gedit screenshot, using the test message and font.

Issues:

1. The patch and font rely on 'calt' table, which is not read by Uniscribe Thai
shaper, as described at
http://www.microsoft.com/typography/otfntdev/thaiot/shaping.htm, in which
'ccmp' is the only GSUB table that is read and interpreted. So, this is one
incompatibility.

2. Notice the second line in the screen shot. The below-based vowel in the
second column should have been placed below the base consonant, according to
the GPOS table, not mangled like this. I think the GPOS data in the font is OK.
But pango wouldn't place it right unless a positive y position of the anchor is
used. This may be pango/freetype problem, which may be worth discussed in a
separate bug.

3. The misplaced marks in the third and fourth lines should be fontforge's
problem, as I find the generated GSUB tables are just incomplete.
Comment 5 Theppitak Karoonboonyanan 2004-05-03 13:15:38 UTC
Add PATCH keyword.
Comment 6 Theppitak Karoonboonyanan 2004-05-14 14:12:28 UTC
Bug #142544 filed with proposed patch to solve issue 2 in Comment #4.
Comment 7 Theppitak Karoonboonyanan 2004-05-14 14:16:06 UTC
Oops. Accidentally overwrote dependency on Bug #142544. Add it back.
Comment 8 Theppitak Karoonboonyanan 2004-05-14 14:21:01 UTC
Created attachment 27702 [details]
Gedit screenshot, with Bug #142544 fixed.
Comment 9 Theppitak Karoonboonyanan 2004-06-04 05:15:37 UTC
Issue 2 was solved with the fix of Bug #142544.
Issue 3 does not belong to Pango. Dismissed.
For issue 1, I decide to be compatible with Uniscribe, so as not to have too
many versions of specifications. So, the 'calt' feature should not be required.
Comment 10 Theppitak Karoonboonyanan 2004-06-04 05:20:13 UTC
Created attachment 28320 [details]
New version of test OTF, with 'calt' replaced by 'ccmp'.
Comment 11 Theppitak Karoonboonyanan 2004-06-04 06:18:57 UTC
Created attachment 28323 [details] [review]
Patch version 2, with 'calt' reading removed, plus a little rearrangement

Previous patch obsoleted.

If all is OK. I'll commit the patch soon.
Comment 12 Theppitak Karoonboonyanan 2004-06-07 08:16:33 UTC
Since the patch has been tested with pango-1-4 branch, I have committed both to
HEAD and pango-1-4. Please re-open this bug if any problem is found.

Mon Jun  7 2004  Theppitak Karoonboonyanan  <thep@linux.thai.net>

        * modules/thai/Makefile.am modules/thai/thai-shaper.c
        (thai_engine_shape) +modules/thai/thai-ot.c +modules/thai/thai-ot.h:
        Add OpenType support in Thai module. (#141541)