Another cut on the Character-Transform Property

John,
  Per my action item from the CSS F2F meeting, I suggest the following change to  text of 6.2
The current description (March 26) is:
6.2 Positional character forms: the character-transform<http://dev.w3.org/csswg/css3-fonts/#propdef-character-transform> property
Name:

character-transform

Value:

normal | subscript | superscript | ordinal

Initial:

normal

Applies to:

all elements

Inherited:

yes

Percentages:

N/A

Media:

visual

Computed value:

as specified


The values 'subscript', 'superscript' and 'ordinal' imply the appropriate variant glyph is displayed when available in the font (OpenType features: subs, supr, ordn). When a variant glyph is not available, a simulated version is synthesized using a reduced form of the default glyph. Normal implies use of the default glyph at normal size. When the value is anything other than 'normal', the font-size and vertical-align properties are set to 'inherit'.
Description I would change the semantic paragraph to read as follows:

The values 'subscript', 'superscript' and 'ordinal' imply the appropriate variant glyph is displayed when available in the font (OpenType features: subs, supr, ordn). These variant glyphs are displayed using the font-size and vertical-align properties of the parent of the element to which 'character-transform' applies. When a variant glyph is not available, the font-size and vertical-align properties on the affected element are used to scale and position the normal glyph for the given code point. The value 'normal' always displays the normal glyph for each code point at the content of that element. using the font-size and vertical-align properties on that element.
This approach does not require making character-transform into something like a shorthand, but not quite. It also allows the font-size and verticial-align values to be propogated to nested super-(or sub-)scripts so that they decrease in size and stack correctly. It also means that the behavior of current content (under the 'normal' value) does not change and that things like images in the content of the element affected by character-transform are made to appear as super-(or sub-)scripts although they may not line up with the other glyphs unless they are sized appropriately.

Finally, I am not entirely happy with the name "character-transform". It is not the character that is transformed; if anything is transformed it is the glyph. How about names like, 'use-font-feature' or 'use-font' or 'use-feature'?

Steve Zilles

Received on Thursday, 1 April 2010 01:37:29 UTC