small revision to CSS1

David Seibert writes:
 > I am currently working on translating CSS1 to DSSSL-o, 

Great! Although I have never seen one, I hear that DSSSL processors
are being worked on, in which case browsers which incorporate them
will only need the one stylesheet engine. This is nice work.

 > Translating the
 > values for the attribute 'font-style' is difficult to do
 > cleanly because 'small-caps' involves a transformation of
 > the characters of the text, while the other values ('none',
 > 'italic', and 'oblique') can be translated as a style
 > description.  My problem would be remedied if the value 
 > 'small-caps' were instead given to the attribute
 > 'text-transform'.  

Right, I follow your logic if one accepts that small-caps is a request
for character transformation, this would be a logical change to CSS.

What we hear from typographers, however, is that in a small caps font,
the glyphs for lowercase letters are not just scaled down versions of
the upper case letters. They are designed differently, and constitute
alternative glyphs for the lower case letters. 

Certainly in fonts I have seen which provide this, such as some of
ther Adobe Expert collections - Minion Expert Collection and Garamond
Expert Collection for example - the differences can be clearly
seen. The lower case smallcaps glyphs are typically wider and a little
heavier, and for the italic faces the slant seems to be a touch
less. There are doubtless other differences that I have not spotted.

Thus, the CSS-1 small-caps value is not requesting character
transformation (as the capitalize, etc properties do) but glyph
substitution, or selection of a different font from the same family.

USs which do not have a smallcaps face available may of course fake
the effect by scaling the upper case glyphs, just as a UA with no
italic faces might fake them (rather poorly, of course) by slanting a
roman face. These should be considered fallback procedures, however.

 > This quickly becomes apparent if you try to imagine producing
 > 'small-caps uppercase' text. 

A valid transformation, but one which produces the same effect as
uppercase alone because no lowercase letters remain to be effected by
the smallcaps glyph substitution.

On the other hand, asking for small-caps lowercase text would clearly
produce a visible difference. (And would not give the same result as
asking for uppercase text and setting the font-size smaller).

Hope this is helpful,

Chris Lilley, W3C                          [ http://www.w3.org/ ]
http://www.w3.org/people/chris/                       INRIA/W3C
chris@w3.org                       2004 Rt des Lucioles / BP 93
+33 93 65 79 87            06902 Sophia Antipolis Cedex, France