Bug 53693 - detached khmer vowels fail to render properly (missing the dotted oval shape)
Summary: detached khmer vowels fail to render properly (missing the dotted oval shape)
Status: RESOLVED FIXED
Alias: None
Product: HarfBuzz
Classification: Unclassified
Component: src (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Behdad Esfahbod
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-19 03:38 UTC by nirvn.asia
Modified: 2012-09-01 05:33 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
testcase rendering : harfbuzz on firefox vs android stock (not sure what its using to render khmer script) (58.34 KB, image/jpeg)
2012-08-19 03:39 UTC, nirvn.asia
Details
khmer keyboard rendering : harfbuzz on firefox vs android stock (not sure what its using to render khmer script) (100.60 KB, image/jpeg)
2012-08-19 03:41 UTC, nirvn.asia
Details
additional example showing broken legs : firefox (using harfbuzz) vs stock browser (109.87 KB, image/jpeg)
2012-08-19 05:34 UTC, nirvn.asia
Details

Description nirvn.asia 2012-08-19 03:38:18 UTC
(This is based on rendering of Khmer script of latest Firefox trunk on Android, which uses harfbuzz-ng synched today)

Thanks to the splendid of Behdad, harfbuzz now supports Khmer, and so does the latest Firefox Android Nightlies.

I did spot a pretty serious issue with the Khmer rendering support though. That is, "detached" khmer vowels (i.e. a vowel that is not preceded by a consonant) fails to render properly. It's missing a dotted oval shape that is drawn as a replacement to the absent consonant.

It's a pretty big issue as wrongly entered text (such as consonant + zero-width space + vowel) will look like it's rendered properly but will no be under all the existent khmer script unicode renderers (including firefox on all platforms other than Android). This problem is example #1 in the test case [url: http://licadho-cambodia.org/play/harfbuzz.html].

This issue also messes up rendering of detached vowels with glyphs placements defined both before and after the consonant. This problem is example #2 and #3 in the test case [url: http://licadho-cambodia.org/play/harfbuzz.html].

This bug filing also includes screenshot of firefox android vs android stock browser rendering of the attached test case, as well as a real-life application (khmer keyboard).
Comment 1 nirvn.asia 2012-08-19 03:39:57 UTC
Created attachment 65751 [details]
testcase rendering : harfbuzz on firefox vs android stock (not sure what its using to render khmer script)
Comment 2 nirvn.asia 2012-08-19 03:41:12 UTC
Created attachment 65752 [details]
khmer keyboard rendering : harfbuzz on firefox vs android stock (not sure what its using to render khmer script)
Comment 3 nirvn.asia 2012-08-19 03:42:55 UTC
This bug was filed both here and in mozilla's bugzilla (https://bugzilla.mozilla.org/show_bug.cgi?id=783845) in case the problem isn't with harfbuzz.

Thanks again for all of your hard work.
Comment 4 nirvn.asia 2012-08-19 05:34:57 UTC
Created attachment 65759 [details]
additional example showing broken legs : firefox (using harfbuzz) vs stock browser

Just realized the absence of the dotted oval (substituting the missing consonant) is also causing khmer "legs" to not render at all.
Comment 5 Behdad Esfahbod 2012-08-31 23:22:10 UTC
This is mostly fixed now.  Except for the example 4.  Not sure I want to inject two dotted circles there...
Comment 6 Behdad Esfahbod 2012-08-31 23:22:30 UTC
Marking fixed for now.
Comment 7 nirvn.asia 2012-09-01 05:31:21 UTC
Behdad, fantastic. IMO, going for one dotted circle per broken syllable tail is the right approach. I always thought the other behavior made little sense in most cases (ie having two dotted circle when wanting to represent a vowel formed of two glyphs is extremely problematic (see examples of that in Khmer keyboard screenshot.)

Once again, thanks. Will test behavior as soon as Firefox synch s with latest harfbuzz.

Btw, Khmer keyboard can be accessed here : http: licadho-cambodia.org/play/play.html
Comment 8 nirvn.asia 2012-09-01 05:33:20 UTC
And re example 4, normal behavior out there is to draw only one circle,, which makes sense. Best.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.