[css3-fonts] CSS3 font-weight, OFF OS2.usWeightClass, and weights which are not a multiple of 100.

David Berlow wrote:

> CSS3 font-weight, OFF OS2.usWeightClass, and weights which are
> not a multiple of 100.
> What is it good for now? Absolutely nothing. Can we assume
> width is also made useless too by the misinterpretation of 000
> to 999 as ten values?

Not quite sure what's motivating this but you're right, CSS
currently limits a family to 9 possible weights.  The majority of
browsers used by folks effectively support just *two*, regular
and bold (see Windows, Microsoft).

As for the usWeightClass value, that's already been made
effectively unusable by past abuse by well-known font vendors to
work around synthetic bolding in GDI.  The scale effectively no
longer matches what's suggested by OpenType spec, fonts on
Windows use an intentionally skewed scale with a lower limit of
250.  OSX API's base the font weight on (1) the style name (!!!)
and (2) on the OS/2 weight if the style name isn't recognized. 
And those crazy mapping rules change across OS versions (e.g.
10.5 vs. 10.6)!! The DirectWrite API on Windows, or more
precisely the WPF font mapping rules, play similar games.

But no platform that I know of ships with more than a handful of
font families that contain faces outside the typical set of
normal/bold/italic combinations.  I'm sure more will ship in the
future but I doubt we'll see font families with close to nine
weights ever ship on a platform by default.

For fonts loaded via @font-face rules, authors define what
weight/width values are assigned to individual faces, there's no
reference to any weight/width data in the font itself, only what
is defined in the @font-face rules.  So unless an author is using
more than 9 weights simultaneously, that's not much of a
limitation currently.

Please keep in mind that CSS is *not* attempting to define a
taxonomy of fonts, this is merely a simple way of matching
attributes with specific faces, nothing more, nothing less.

If you think there are situations that require a more complicated
matching system, please explain what those situations are and why
a more complex model is required.


John Daggett

cc: www-style

Received on Tuesday, 15 February 2011 07:36:34 UTC