font property (was: order of properties)

I must say first, that I appreciated the responses David and Rijk sent 
that explained why I was wrong, especially compared to the unhelpful 
replies I've received that just said I was wrong without explaining why.

Taking a closer look, I can understand why the font-family is required. 
The default value is user agent defined and the font-family property 
provides no way to restore the default value. Even if it did, there 
would be no way to distinguish between two interpretations of 
"font:larger". (I.e., is it equivalent to the larger size of the 
default font or the medium size of a font named "larger".)

However, AFAIK, none of the other short-hand properties require a 
component that correseponds to a longhand property with a defined 
inital value.

Parsing does not seem to be a consideration.

With a modified value rule for font of:

[[<font-style> || <font-variant> || <font-weight>]?
 [<font-size> | [/ <line-height>] | [<font-size> / <line-height>]]?
 <font-family> ]
 | caption | icon | menu | message-box | small-caption | status-bar

or even:

[[<font-style> || <font-variant> || <font-weight> ||
 [<font-size> | [/ <line-height>] | [<font-size> / <line-height>]]]?
 <font-family> ]
 | caption | icon | menu | message-box | small-caption | status-bar

The following productions:

font:serif;
font:/200% cursive;
font:italic fantasy;

would clearly correspond to the following valid CSS:

font: medium serif;
font: medium/200% cursive;
font: italic medium fantasy;

Can anyone explain why font-size is a required component of font?

Received on Thursday, 13 March 2003 01:17:11 UTC