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 100625 - Solitary tone mark shapes to no glyphs
Solitary tone mark shapes to no glyphs
Status: RESOLVED FIXED
Product: pango
Classification: Platform
Component: hangul
1.1.x
Other Linux
: Normal normal
: 1.2.0
Assigned To: Changwoo Ryu
Owen Taylor
Depends on:
Blocks:
 
 
Reported: 2002-12-07 22:09 UTC by Owen Taylor
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Program showing assertion failure (332 bytes, text/plain)
2002-12-07 22:14 UTC, Owen Taylor
  Details
a patch (854 bytes, patch)
2002-12-12 21:05 UTC, Jungshik Shin
none Details | Review
Fancier patch (3.06 KB, patch)
2002-12-17 00:55 UTC, Owen Taylor
none Details | Review

Description Owen Taylor 2002-12-07 22:09:52 UTC
If you have a string with U+302E and nothing else, 
the result of shaping it with hangul-xft is no 
glyphs, which is not allowed.

The rules are basically that every character in the
input must be part of some cluster in the output.
If characters are not part of any printing cluster,
they can shape to the glyph 0 which is guaranteed
to be non-printing.

Quite possibly related to bug 96299
Comment 1 Owen Taylor 2002-12-07 22:14:41 UTC
Created attachment 12830 [details]
Program showing assertion failure
Comment 2 Jungshik Shin 2002-12-12 21:04:29 UTC
Yes, the patch checked in for 96299 is the cause
of this problem. My original patch
(http://bugzilla.gnome.org/showattachment.cgi?attach_id=11853)
didn't skip  the solitary tone mark, but the patch actually
checked in does. I thought there was a guard against it
in the patch checked in, but apparently I was mistaken. 
Anyway,I made a patch (this is different from attachment 11853 [details] [review]
although I like it better). 
Comment 3 Jungshik Shin 2002-12-12 21:05:26 UTC
Created attachment 12946 [details] [review]
a patch
Comment 4 Owen Taylor 2002-12-17 00:55:06 UTC
Created attachment 13048 [details] [review]
Fancier patch
Comment 5 Owen Taylor 2002-12-17 02:08:34 UTC
This patch prevents the crash, but doesn't really show the user 
what's going on, since the tone mark just disappears.

The patch I've attached and checked in does something fancier -
it displays the mark attached to a base glyph - preferably
a circle, but a space if the font doesn't have a circle.

I also found that the tone mark handling wasn't working
at all in fonts that didn't have the tone mark characters,
since the Korean font wasn't being selected for the tone
mark characters, so they ended up shaped separately.
(When the Hangul font isn't the default font)

To fix this, I put an awful hack in the coverage-computation
code. See bug 101406.