W3C home > Mailing lists > Public > www-style@w3.org > March 2015

Re: [css-text] Enclosed alphanumerics and text-align:capitalize

From: Jonathan Kew <jfkthame@gmail.com>
Date: Tue, 24 Mar 2015 16:24:48 +0000
Message-ID: <55118FD0.3060205@gmail.com>
To: Richard Ishida <ishida@w3.org>, www-style@w3.org
On 24/3/15 16:05, Richard Ishida wrote:
> On 23/03/2015 18:29, Jonathan Kew wrote:
>> A further issue that I don't think has been mentioned here relates to
>> the 'uppercase' and 'lowercase' transforms. ISTM that these transforms,
>> too, should only affect "letters" (or "typographic letter units", as CSS
>> Text likes to call them) and should leave Symbol characters untouched,
>> even though some Symbol characters -- by no means all the "enclosed
>> letter-based" ones -- do have case mappings. The CSS Text draft is less
>> clear about this, inasmuch as it fails to link the term "letters" in
>> 'uppercase' and 'lowercase' to a definition in the Terminology section
>> (as earlier drafts did), but the only plausible interpretation I can see
>> is that "letter" here is shorthand for "typographic letter unit", and so
>> once again the Symbol characters are excluded.
>>
>> AFAIK, all engines -- including Gecko, which gets 'capitalize' right by
>> this interpretation -- currently mishandle this, and apply case mappings
>> to Symbol characters. However, I doubt that changing our behavior to
>> match the spec here is likely to "break the Web" in any substantial way,
>> and it would put us in a more consistent and predictable state. (It
>> would seem odd that 'text-transform:uppercase' affects ⓐⓑⓒ if
>> 'text-transform:capitalize' does not; or that 'text-transform:lowercase'
>> affects ⒶⒷⒸ but not 🅐🅑🅒.)
>>
>> In summary, I think the CSS Text spec should maintain its definition of
>> these transforms as applying only to letters, and should reinstate its
>> link to the definition of "[typographic] letter [unit]" for 'uppercase'
>> and 'lowercase' to reinforce this. An informative note could be added
>> alerting implementers to the fact that some non-Letter characters have
>> case mappings defined in Unicode, but should *not* be affected by these
>> text-transform values.
>
> actually, i'm inclined to disagree here.
>
> i tend to agree that capitalize should not affect enclosed
> alphanumerics, mainly because i can't really imagine use cases where
> people will want words made of these things, like Ⓐⓑⓒ, and i expect that
> they are more likely to be used as counters, in which case you'd want
> them all uppercase or all lowercase, and unaffected by capitalisation.
>
> i can, however, see situations where i might want to convert lowercase
> enclosed alphanumeric counters to uppercase, or vice versa, using
> styling rather than by changing the actual characters (cf. number forms,
> which are similar and behave in the same way)[ⅰ] – and so i think that
> the difference in behaviour between capitalize on the one hand and
> uppercase/lowercase on the other is ok.  Furthermore, i'm worried that
> changing the spec may break some usage of these characters (albeit small
> in number) in legacy content, given the fact that browsers currently
> seem to unanimously agree in their support of upper/lowercase for these
> characters.

I could live with that -- I'm not thrilled about the different treatment 
of those characters in capitalize vs upper/lowercase, but I don't really 
feel strongly about it....

> so in my view, the spec already says what should happen, and we don't
> need to change it.

...but in this case, the spec needs to adjust its definition of 
'uppercase' and 'lowercase', which currently says they apply to 
"letters". The only definition of "letter" I can find in the spec[1] is 
as an alternative for "typographic letter unit", which does not include 
Symbol characters.

JK

[1] http://dev.w3.org/csswg/css-text/#characters
Received on Tuesday, 24 March 2015 16:25:18 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:39:30 UTC