RE: [css3-text] 'text-transform' for Accents

Hello Christoph, thank you for your feedback.

It looks like your proposal consists of several points. Allow me to go through one by one.

First, I don't see benefits of splitting the property to multiple properties. Do you see any benefits for authors and/or implementers?

Second, about case values. "capitalize" is "titlecase" in CSS1 terminology, so you're proposing to add "unicase", "mixedcase", and "camelcase", right? Again, I can't find any good use cases that are important enough for implementers to implement. Do you have any good use cases?

Third about width. What text-transform does is code point transformation and it doesn't deal with font properties. "fixed" and "proportional" are the font properties, so they should be done in CSS3 Fonts. "fullwidth" is Unicode code point transformation, so we have that here.

Last, accents. I don't know much about them. What are they used for? Do you have use cases? Also, as you can see in the current spec, text-transform relies on Unicode for the logic to transform, and I can't find what you wrote in Unicode spec. Will you please tell me if and where they're defined in Unicode? If not, I'd prefer to see it defined in Unicode first, and then CSS refers the logic. Is this reasonable?


Regards,
Koji

-----Original Message-----
From: www-style-request@w3.org [mailto:www-style-request@w3.org] On Behalf Of Christoph Paper
Sent: Thursday, March 17, 2011 10:00 PM
To: www-style@w3.org list
Subject: [css3-text] 'text-transform' for Accents

The ‘text-transform’ property should probably have means to remove diacritic marks, especially in combination with its ‘uppercase’ value. It mustn’t matter whether precomposed chracters or combining diacritic marks are being used in the source.

It may also make sense to split the property into ‘text-transform-case’ (or ‘text-transform-height’) and ‘text-transform-width’, also remember the ‘font-variant’ sub-values ‘unicase’ <http://dev.w3.org/csswg/css3-fonts/#font-variant-caps-prop> and ‘full-width’/‘proportional-width’ <http://dev.w3.org/csswg/css3-fonts/#font-variant-east-asian-prop>.

  text-transform:
    none | [ <text-transform-height> || <text-transform-width> ]

  text-transform-height:
    <text-transform-case> || <text-transform-accents>

  text-transform-case:
    normal | capitalize | titlecase | uppercase | lowercase
    | unicase | mixedcase | camelcase

  text-transform-accents:
    normal | accent-free | inline | [ accent-free-cap(ital)s
    || accents-free-top || accent-free-bottom || … ] or
  text-transform-accents:
    <TRBLI> [<TRBLI>]? [<TRBLI>]? [<TRBLI>]? [<TRBLI>]? | plain-caps
  <TRBLI>: normal | plain | inline

  text-transform-width
    normal | fixed | proportional

  font-variant-width
    normal | full | half | third | quarter

The ‘inline’ or ‘inline-accents’ value would fall back to ‘accent-free’, but tries to use glyphs or language-dependent glyph combinations that don’t exceed the cap-height, e.g. German “Öl” → “Oel” (orthographic alternative) or “Œl” (unusual glyph variant) or “Ol” (simple fallback) or “ᴏ̈l” (small capital with combining diæresis) or “öl” (lowercase) and some typefaces graphically incorporate (some) diacritic marks into (uppercase) base glyphs.

The ‘plain’ or ‘accent-free’ or ‘no-accents’ value would free uppercase and lowercase letters alike from all diacritic marks, e.g. “Çö Öç” → “Co Oc”.

The ‘accent-free-capitals’ or ‘plain-caps’ value would leave lowercase letters alone and remove diacritic marks from uppercase letters only.

The alternative syntax to ‘text-transform-accents’ would allow to specify whether diacritic marks may or may not appear at the top, right, bottom, left or inside of the base glyphs.

The ‘camelcase’ value would uppercase any letter immediately following a hyphen and then remove the hyphen, e.g. “current-color” → “currentColor”. The ‘mixedcase’ value does the same, but additionally does the same ‘capitlaize’ does, e.g. “current-color” → “CurrentColor”.

Received on Thursday, 17 March 2011 13:53:58 UTC