Re: [CSSWG] Minutes and Resolutions 2010-03-17

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