- From: Bert Bos <Bert.Bos@sophia.inria.fr>
- Date: Fri, 31 May 1996 21:10:26 +0200
- To: dseibert@sqwest.bc.ca (David Seibert)
- Cc: www-style@w3.org, howcome@w3.org, dsr@w3.org
David Seibert writes: > I am currently working on translating CSS1 to DSSSL-o, and That's excellent! We are writing a document that describes the mapping, intended to be published as a WD "soon". Some people may have seen an early draft of it. (If you're interested, ask me; the draft is still there, it's just not currently linked from anywhere.) > have run into a problem that could be very easily fixed by > a small change in the CSS1 specification. 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'. Text-transform replaces characters by other characters, `rot13' is a text-transform (it replaces `a' by `n') and so is `uppercase' (it replaces `a' by `A'). A small-caps font just happens to have an `a' that looks like a reduced and then stretched `A', but it is really still the same `a' character. In DSSSL, small-caps is supposed to be handled with a glyph substitution table, the same one you would use to substitute a swash letter for a normal one, or a ligature for a sequence of letters. In fact, the italic shapes of most fonts are so different that you might want to consider that a glyph substitution as well. But glyph substitution is a concept that CSS1 doesn't have, and that is anyway too technical for most people. Typographically, small-caps is just a different font within the same font family. Modern electronic typesetting is able to produce oblique small-caps as well, and so we allowed that combination in the font-style property. (We also allowed italic small-caps, although that doesn't make as much sense, because italic and oblique are almost synonyms for many people.) > This move makes sense in the context of CSS, as 'small-caps' > is orthogonal to any of the other possible values of > 'font-style' (i.e., it can be specified independently of > those values), but not to the values of 'text-transform' > ('none', 'lowercase', 'uppercase', and 'capitalize'). This > quickly becomes apparent if you try to imagine producing > 'small-caps uppercase' text. The move also makes sense Small-caps combined with uppercase happens to leave you with the same shapes as normal uppercase (at least in most fonts), except that they will usually be drawn from a different font file. Small-caps + capitalize or small-caps + lowercase make perfect sense. In fact small-caps + capitalize is Netscape's `house style'. > for the DSSSL-o translation of 'text-transform', as all of > these values (except 'none', of course) obviously involves > transformations of the text as well, making the grouping > more natural. Only Glyph substitutions (which use a glyph-subst-table in DSSSL), but not character transformations (which use a char-map). > I realize that CSS has officially become stable, but I > doubt that this small change would represent a problem to > anyone trying to implement it at present. It should at > most involve moving a small amount of code between > subroutines, as there will be no change in the behavior > required to implement the value. As it would be > advantageous for DSSSL and DSSSL-o translation, and would > help keep users from specifying style prescriptions that > are impossible to render, I suggest that this change be > made as soon as possible. I expect that in most implementations, the routines for font-style and text-transform are very different. Trying to add the functionality of small-caps to text-transform would mean that the latter routine would suddenly have to interface to the font subsystem, where it used to be a self-contained bit-shift function. Bert PS. What are your plans with the CSS1 to DSSSL-o translation, will it be a program or just a document? And will it be available to everybody? -- Bert Bos ( W 3 C ) http://www.w3.org/ http://www.w3.org/pub/WWW/People/Bos/ INRIA/W3C bert@w3.org 2004 Rt des Lucioles / BP 93 +33 93 65 77 71 06902 Sophia Antipolis Cedex, France
Received on Friday, 31 May 1996 15:10:35 UTC