Closed Bug 432714 Opened 17 years ago Closed 2 years ago

synthesize intermediate font-weight when not available from fonts

Categories

(Core :: Graphics: Text, enhancement)

x86
Linux
enhancement

Tracking

()

RESOLVED WONTFIX

People

(Reporter: zwol, Unassigned)

Details

Attachments

(2 files)

Attached file font weight demo
It would be nice if we could do clever tricks with the rendering to fake all nine of the numeric font-weight steps specified in CSS2.1, plus intermediate weights for "lighter" and "bolder". The attached HTML file demonstrates all possible combinations (except for repeated use of "lighter" and "bolder") -- all entries in the table could potentially be visually distinct, especially at large font sizes.
Here's a screenshot of the testcase/demo, using Ubuntu 8.04. Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9pre) Gecko/2008050707 Minefield/3.0pre
Version: unspecified → Trunk
AFAICT, the following groups of font-weights have identical renderings: * 100, 200, 300 * 400, 500, normal * 600 * 700, 800, 900, bold
I really don't think we want to synthesize fonts, but we should be able to get to fonts that are available.
I should add that, even if we're stuck with a limited number of font-weights, I think we would be doing better by page authors if we made 'lighter' and 'bolder' cross one weight boundary if at all possible. For instance, with only "normal" and "bold", every entry in the "lighter" column would be rendered in normal weight, and every entry in the "bolder" column would be rendered in bold weight.
lighter and bolder are required to go to the next *actual* weight available. If they don't that's a bug that needs to be filed (if it isn't already).
Yeah, they don't. I'll split that off.
... looks like the "lighter"/"bolder" issue is bug 93725.
Because of synthesized bold faces, the rules for dealing with lighter/bolder are slightly different for families with multiple weights versus families with only a single weight. For families with multiple weights, the lighter/bolder keywords imply you pick the next available face in the given direction. For families with a single weight, on Windows and Mac we synthesize a single bold face. The tricky situations which you will almost never run into is when there are two faces weight 500 or less. In this case we synthesize a bold face after the heaviest face. So the testcase really needs to be written for specific family with a known set of faces. Then you can analyze what faces should be chosen in which combinations and where synthesized bold should kick in.
Severity: normal → enhancement
Component: Layout: Fonts and Text → GFX: Thebes
QA Contact: layout.fonts-and-text → thebes
Severity: normal → S3
Component: Graphics → Graphics: Text

In general, I believe we handle font-weight correctly, including when many weights are available in a family, and with variable fonts. Aside from legacy "fake bold" when no actual bold face is available, we're not going to start synthesizing additional intermediate weights.

Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: