[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:00:45 UTC