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

RESOLVED FIXED in mozilla1.9beta3

Status

()

Core
MathML
P1
major
RESOLVED FIXED
10 years ago
8 years ago

People

(Reporter: karlt, Assigned: karlt)

Tracking

Trunk
mozilla1.9beta3
x86
All
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

10 years ago
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?
(Assignee)

Comment 1

10 years ago
Created attachment 294919 [details] [diff] [review]
don't PopState twice

PopState is now handled by AutoPushClipRect
Attachment #294919 - Flags: review?(roc)
(Assignee)

Updated

10 years ago
Priority: -- → P1
Attachment #294919 - Flags: superreview+
Attachment #294919 - Flags: review?(roc)
Attachment #294919 - Flags: review+
(Assignee)

Comment 2

10 years ago
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.
(Assignee)

Updated

10 years ago
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.

Updated

10 years ago
Attachment #294919 - Flags: approval1.9? → approval1.9+
(Assignee)

Comment 4

10 years ago
(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.
(Assignee)

Comment 5

10 years ago
Checked in attachment 294919 [details] [diff] [review]:
mozilla/layout/mathml/base/src/nsMathMLChar.cpp revision 1.135
Status: ASSIGNED → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED
(Assignee)

Updated

8 years ago
Flags: blocking1.9?
You need to log in before you can comment on or make changes to this bug.