Re: font specification in CSS1
Todd Fahrner wrote:
> ... Given the woolly, unprincipled realities of font taxonomy, I
> better approach might be to settle for *fewer* specifiers.
I can see an advantage in allowing *any* common weight specifier. The
UA simply keeps two heirarchical lists of all the common weight names
with corresponding pointers. For example, the 'boldness' heirarchy
might include, successively, 'nord, ultra-black, black, ultra-heavy,
ultra-bold, super, heavy, extra-bold, bold, demi-bold, semi-bold,
demi, medium, book, roman, regular, normal.' If someone specifies
'black' and there is no such weight, the UA simply runs down the list
starting at 'black' (or perhaps one or two weights bolder--no
compelling reason to avoid a second search for 'black') until it
finds a match. No match, use default. (Note that weights such as
ultra-bold may appear as Ultra Bold, Ultrabold, or Ultra-Bold in the
font's full name.)
Can a UA get boldness information except from the font's full name? I
don't know about TrueType, but Type 1 fonts do have a weight entry in
the header. The only trouble with this is that it doesn't correspond
to the weight in the font's name. For example, Futura Heavy has a
weight of 'semibold.' How would the user know this? All she/he knows
is the font's full name. If a UA needs to parse a font's full name to
get weight information, it will also need to keep a list of possible
weight specifiers. If this is the case, there's no need to go
through a secondary translation process.
Primary advantage over the current scheme: If you specify a
particular font and weight, you can be assured that it will be
displayed accurately on a system that has the correct font installed.
The same logic could apply to compression and outline. Perhaps
font-style should just be a list of key words. If this were the case,
then you could, in fact, specify the full font name without a
font-name property. The only catch here is 'small-caps,' which is
rarely if ever part of a font name.
Many years ago there was some push to standardize font weight,
compression, and italicization according to a numerical scheme.
Obviously, it never caught on. For many fonts, the relative weight is
just too subjective for precise classification.