Closed Bug 836197 Opened 11 years ago Closed 8 years ago

eliminate testing of other faces in a font family as part of font fallback

Categories

(Core :: Graphics: Text, defect)

defect
Not set
normal

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.
OS: Mac OS X → All
Hardware: x86 → All
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
This has already been fixed by changes in the font matching code.
Assignee: jd.bugzilla → nobody
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.