Re: [css3-lists] Should some properties not inherit into markers?

Tab Atkins Jr.:

> text-transform and font-variant.
> 
> I think it's reasonable to block text-transform.  It converts between glyphs,

‘font-variant’ changes glyphs, too. Some values of ‘text-transform’ change characters (but keep letters intact).

A, a, ɑ: three glyphs*, two characters†, one letter
       * only two in OS X’s Monaco font, though
       † at least in the roman script, not counting IPA; and don’t get me started on graphemes
A, a:   another (East-Asian) letter – graphematically equivalent, typographically different

I agree with John Daggett that the ‘glyphs’ descriptor is badly named. It probably also can (and then should) be merged with the ‘additive-glyphs’ descriptor.

The letter case can indeed be used to distinguish ordinal hierarchy levels, but it can be irrelevant, too (e.g. in hexadecimal digits). Therefore I propose what I prematurely dismissed in an earlier mail:

1. Predefined counter values with any of the prefixes ‘upper-’, ‘lower-’ 
   or ‘fullwidth-’ are not affected by the ‘text-transform’ property.
2. There is a predefined counter value without any of these prefixes. 
   It usually is a near-alias of the ‘lower-’ variant. The only 
   difference is that it is affected by the ‘text-transform’ property.
3. The ‘@counter-style’ at-rule either gets another descriptor to 
   facilitate the case protection described above or in the ‘type’ 
   descriptor the ‘alphabetic’ value becomes case-bound and a new 
   ‘letter’ value reacts to ‘text-transform’.
4. [optional:] The prefixed values are deprecated. 
   Instead the ‘counter()’ pseudo function gets an optional third 
   parameter which accepts any valid ‘text-transform’ value.

This way everything can inherit to ‘::marker’, but implementors have to somehow protect some counters from ‘text-transform’.

Received on Thursday, 24 November 2011 10:05:39 UTC