- From: John Daggett <jdaggett@mozilla.com>
- Date: Tue, 23 Mar 2010 00:38:32 -0700 (PDT)
- To: fantasai <fantasai.lists@inkedblade.net>
- Cc: www-style@w3.org
fantasai wrote:
>> Fantasai, could you clarify what you mean by using a new property (e.g.
>> 'character-transform') as a shorthand for new property values and
>> font-size/vertical-align?
>>
>> Are you saying that this property is a pseudo-shorthand in that it
>> resets other property values but doesn't actually otherwise use their
>> values?
>
> Yes.
I'm still unclear on how exactly you thought this would work, I thought
I heard you saying fallback would occur to the "normal"
font-size/vertical-align swizzling for fonts lacking small-caps glyphs
for a given character.
Taking your suggestion about reseting font-size/vertical-align,
here's what I would propose:
======
Name: character-transform
Value: normal | inferior | ordinal | subscript | superscript
Initial: normal
The values 'subscript', 'superscript', 'inferior', and 'ordinal' imply
the appropriate variant glyph is displayed when available in the font
(OpenType features: subs, supr, sinf, 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'.
======
Defined this way, the semantics of using this property would never
change simply because a font lacked subscript/superscript glyphs,
simulated fallback would always occur when necessary. Fallback would
*not* be to the existing font-size/vertical-align tweak but to a
simulated glyph that resembles what a variant glyph would typically look
like, similar to the way simulated small-caps works today. Not ideal in
any way shape or form, but better than just displaying an unstyled
default glyph and losing the semantic nature of
subscript/superscript/etc.
Default styling for sub/sup:
sub {
vertical-align: sub;
font-size: smaller;
line-height: normal;
}
sup {
vertical-align: super;
font-size: smaller;
line-height: normal;
}
Using 'character-transform' instead:
sub {
character-transform: subscript;
}
sup {
character-transform: superscript;
}
Regards,
John
Received on Tuesday, 23 March 2010 07:39:05 UTC