- From: Håkon Wium Lie <howcome@opera.com>
- Date: Wed, 6 Apr 2011 22:30:36 +0200
- To: www-style@w3.org
In today's telcon I took an action point to suggest wording for an issue to be added to css3-text: http://dev.w3.org/csswg/css3-text/ http://www.w3.org/TR/css3-text/ I suggest we add this note: This draft describes features that are specific to certain scripts. There is an ongoing discussion about where these features belong: in existing CSS properties, in new CSS properties, or perhaps in other specifications. To explain why this is necessary, and to continue the ongoing discussion, I will make some remarks about the two new keyword values on 'text-transform': "fullwidth" and "fullsize-kana". They expose several issues: - 'text-transform: fullsize-kana' only applies to one script (Kana), and (seemingly only) to a certain context (ruby). The scope of this value is vastly different from 'uppercase' and 'lowercase'. - it's unclear what UAs that do not support the script in question should do when encountering these values. While it may be self-evident that UAs ignore 'fullsize-kana' when they don't support/display kana, it's not so clear what should happen when "text-transform: fullwidth" is set. Does 'fullwidth' refer to the U+FF00-FFEF block? Should a UA look for fullwidth characters in the font? Or try to synthesize? How wide is a 'full width' when synthesizing? http://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms#In_Unicode - other languages may have other notions of text-transform. For example, Wikipedia notes that: Also similar to case is recent usage in Georgian, where some authors use isolated letters from the Asomtavruli alphabet within a text otherwise written in Mkhedruli in a fashion that is reminiscent of modern usage of letter case in the Latin, Greek, and Cyrillic alphabets. http://en.wikipedia.org/wiki/Letter_case Should we add the "mkhedruli-to-asomtavruli" value? Perhaps. Or not. Do we discriminate against authors in Georgia if we don't? Perhaps. Or not. We used to have these discussions for 'list-style-type': what level of use warrants a new keyword value? Then we discovered that we could add a mechanisms so that authors could define their own mappings: http://www.w3.org/TR/2007/WD-css3-gcpm-20070504/#named2 http://dev.w3.org/csswg/css3-lists/#counter-style - there are plenty of use cases for typographic transforms. For example, you would want to automatically convert '«' into '"'. Or "'" into "’". This is another argument for finding a generic mechanism instead of a keyword-based approach. - the 'fullwidth' value doesn't feel like a text transformation to me. It's more like a 'font-family: monospace' no? Or something else. - adding new values to existing properties decrease interoperability; we can't avoid it, but other options should be sought Therefore I suggest we: - add the proposed note/issue to the draft - consider adding a generic mechanism for glyph transforms. The tr/// operator in Perl could give us inspiration without taking us all the way to regular expressions. For example, we could have: text-transform-range: "'" "’", "a-z" "\FF41-\FF5A"' - consider if the glyph substitutions in question can be described in other languages. For example, I believe that Opentype Features can be used to describe the mappings in question, no? - consider moving "fullsize-kana" to Ruby-centric specification. - consider the relationship between "fullwidth" an the generic font families Other properties also have issues, I'll try to go through more. I should also add that I think the word that has been done to prepare this draft is worthwhile and that I strongly belive in extending the reach of CSS and the web. Cheers, -h&kon Håkon Wium Lie CTO °þe®ª howcome@opera.com http://people.opera.com/howcome
Received on Wednesday, 6 April 2011 20:31:07 UTC