Closed Bug 410284 Opened 17 years ago Closed 17 years ago

failure to paint sometimes with missing glyphs for parts of stretchy characters

Categories

(Core :: MathML, defect, P1)

x86
All
defect

Tracking

()

RESOLVED FIXED
mozilla1.9beta3

People

(Reporter: karlt, Assigned: karlt)

References

Details

Attachments

(1 file)

This is most significant on Windows XP without Cambria Math (from Microsoft Powerpoint 2007 Viewer, for example).  

The painting errors propagate causing most of the page to fail to paint.
The parts of the page without the missing glyphs will paint on scrolling (if there are no missing glyphs in the dirty region).
Noticeable on http://www.mozilla.org/projects/mathml/start.xhtml, for example.

Similar issues can be reproduced on Linux by uninstalling (or using <rejectfont> on) enough fonts (including DejaVu *, Fixed, and Freefont).
Flags: blocking1.9?
PopState is now handled by AutoPushClipRect
Attachment #294919 - Flags: review?(roc)
Priority: -- → P1
Is it intentional that the mBoundingBox of gfxFont::RunMetrics doesn't include the ascent or descent of missing glyph boxes.  Bug 407761 comment 18 points out that these are covered by the mAscent and mDescent fields, but doesn't mention mBoundingBox.

If it is intentional, then this information could be used to detect when the glyphs are not found, if we dare to be that hacky.
Attachment #294919 - Flags: approval1.9?
If we used gfxTextRun then detecting missing glyphs is trivial, so that's really the way to go.

mBoundingBox probably should include the ascent of missing glyph boxes (the font ascent). Missing glyph boxes always have zero descent though.
Attachment #294919 - Flags: approval1.9? → approval1.9+
(In reply to comment #3)
> mBoundingBox probably should include the ascent of missing glyph boxes (the
> font ascent).

Sounds sensible (and probably more consistent with previous points in history).

It still seems better to handle zero-height glue during measuring rather than just bailing out at paint time, but that can be sorted out in bug 403559.
Checked in attachment 294919 [details] [diff] [review]:
mozilla/layout/mathml/base/src/nsMathMLChar.cpp revision 1.135
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Flags: blocking1.9?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: