Closed
Bug 836197
Opened 12 years ago
Closed 9 years ago
eliminate testing of other faces in a font family as part of font fallback
Categories
(Core :: Graphics: Text, defect)
Core
Graphics: Text
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: jtd, Unassigned)
References
(Blocks 1 open bug)
Details
As part of the fix for bug 668813, code was introduced in gfxFontGroup::FindFontForChar that checks all faces in a family when it fails to find a glyph in the face selected based on style matching steps.
http://mxr.mozilla.org/mozilla-central/source/gfx/thebes/gfxFont.cpp#4024
This is not the behavior dictated by the current CSS3 Fonts spec and is inconsistent with the way downloadable font families work (these are downloaded on demand so it's not really possible to "search all faces in a family" until all faces have actually been downloaded which isn't desired from a perf perspective). There's also the potential problem that this introduces, that a glyph found in a single face could have wildly different style characteristics (e.g. ultra-condensed ultra-bold) from the text surrounding it.
I've added in wording to the spec to allow for a much more limited way of handling the original bug, allowing user agents to fallback in italic/bold cases to use a synthetic version of the regular face. I think we should be able to solve the original problem of Arabic in Arial and eliminate the more generalized "search all faces" step.
Reporter | ||
Updated•12 years ago
|
OS: Mac OS X → All
Hardware: x86 → All
Reporter | ||
Comment 1•12 years ago
|
||
Spec now includes wiggle room to allow fallback to a synthesized version of the default face, the cause of the regression in bug 668813:
http://dev.w3.org/csswg/css3-fonts/#font-style-matching
Reporter | ||
Comment 2•9 years ago
|
||
This has already been fixed by changes in the font matching code.
Assignee: jd.bugzilla → nobody
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•