Show all characters of a cluster with missing glyph

RESOLVED FIXED

Status

()

RESOLVED FIXED
12 years ago
12 years ago

People

(Reporter: karlt, Assigned: karlt)

Tracking

Trunk
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

12 years ago
Created attachment 264103 [details]
jamo testcase

When pango indicates a missing glyph for a cluster of characters,
gfxPangoFontGroup::SetGlyphs does SetMissingGlyphForUCS4 only for the first
character.  It would be nice to represent all characters in the cluster.

I'm not sure what the best thing to do is, but the code for Mac looks like it
generates separate hex boxes for each of the characters in the cluster.  This
seems better.

This will be easier to implement with the changes being made to SetGlyphs for
bug 375864.

The testcase contains the following Hangul Jamo characters which make up a
cluster: 0x1101 0x1170 0x11b7.  (To get a missing glyph installed Korean fonts
will need to be disabled.)

These bugs are a little related:
  Bug 376532 – should show single missing glyph box for non-BMP characters (not surrogates)
  Bug 375507 – Draw a nicer missing-glyph symbol
(Assignee)

Comment 1

12 years ago
With the checkin of attachment 263898 [details] [diff] [review] in bug 357637, the testcase now generates separate hex boxes as desired.

However, gfxPangoFontGroup::SetGlyphs still calls SetMissingGlyphForUCS4 only for the first character.  Can SetGlyphs still be called with missing glyphs?

If so gfxPangoFontGroup::SetMissingGlyphs will be useful.
(In reply to comment #1)
> Can SetGlyphs still be called with missing glyphs?

It depends on the spec of pango. The ZW* issue in bug 357637 is such case. Now, all characters are checked before shaping whether the font has the glyph for them. But pango shaper may be returned missing glyph IDs for them. Of course, we need to care the cases.
(Assignee)

Comment 3

12 years ago
FIXED with the help of Bug 375864.
Status: ASSIGNED → RESOLVED
Last Resolved: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.