- From: Christoph Päper <christoph.paeper@crissov.de>
- Date: Thu, 10 Mar 2011 16:50:28 +0100
- To: www-style list <www-style@w3.org>
* Section 3.1 Font family
| Value: [ [ <family-name> | <generic-family> ]
| [, <family-name> | <generic-family> ]*
| ] | inherit
hardly differs from CSS1:
| Value: [ [ <family-name> | <generic-family>] ,]*
| [ <family-name> | <generic-family>]
It’s always been suggested – and rightfully so – that <generic-family> only makes sense at the end of the list. I wonder whether therefore this production might make more sense, although it’s more restrictive:
Value: [ <family-name> [, <family-name> ]* [, <generic-family> ]?
| <generic-family>
] | inherit
or, simpler,
Value: [ [ <family-name> ,]* [ <family-name> | <generic-family> ]
] | inherit
A drawback I could see with this change is that in, for instance,
font-family: Foo, serif, sans-serif;
and
font-family: Foo, serif, Bar;
a conforming implementation could either consider “serif” a <family-name> or treat the rule as malformed unless you did something strange like this:
Value: [ [ <family-name> ,]* [ <family-name> | <generic-family> ]
[, <possible-future-extension> ]*
] | inherit
* Section 3.2 Font weight
The ‘bolder’ and ‘lighter’ relative keywords should get a better description than “Specifies the weight of the face [bold|light]er than the inherited value”, because with the normative mapping table that no longer accurately describes what they actually do.
In <http://lists.w3.org/Archives/Public/www-style/2010Sep/0463.html> I suggested to add many keywords to ‘@font-face’ weight *descriptors* and also to supplement discrete three-digit keywords ‘100’ through ‘900’ by continuous percentages (of “blackness”), i.e. ‘500’ would be equal to “50%” and “55.5%” would be perfectly legal.
full granularity reduced granularity l—r b—r
0% \ \
5% | |
10% | ‘ultra-light’ | ‘thin’ ‘100’ 1 4
15% < |
20% | ‘extra-light’ | ‘200’ 1 4
25% < <
30% | ‘light’ | ‘light’ ‘300’ 1 4
35% < < \
40% | ‘semi-light’, ‘normal’! | | ‘400’ 1 7
45% < | | ‘book’
50% | ‘medium’ | ‘plain’ | ‘500’ 1 7
55% < | /
60% | ‘semi-bold’ | ‘600’ 4 9
65% < <
70% | ‘bold’! | ‘bold’ ‘700’ 4 9
75% < <
80% | ‘extra-bold’ | ‘800’ 7 9
85% < |
90% | ‘ultra-bold’ | ‘heavy’ ‘900’ 7 9
95% | |
100% / /
I would like to propose to add (at least) the “full granularity” keywords, which are based upon systematic ‘font-stretch’ values, to the ‘font-weight’ property as almost-aliases for the numeric keywords. “Almost” because I would rather like them to be mapped onto an absolute scale (if that is even possible), not a relative one as currently described. A table might not be adequate for relative weight keywords then.
| For the purposes of style matching, [synthesized bold] faces must be
| treated as if they exist within the family.
What numerical weight should be assigned to faked faces: the next higher numeric keyword, the ‘bolder’ value, plus 100, something else?
* Section 3.3 Font size
I would like to suggest to amend the <relative-size> keywords with linear ‘increase’ and ‘decrease’ which multiply or divide, respectively, the inherited font size by a constant factor of √2 or, preferably, √√2.
Received on Thursday, 10 March 2011 15:51:03 UTC