- From: Christoph Päper <christoph.paeper@crissov.de>
- Date: Mon, 11 Apr 2011 10:15:08 +0200
- To: "www-style@w3.org list" <www-style@w3.org>
Koji Ishii:
>
> The text-transform property is and has been a feature to transform characters, not glyphs as far as I know.
Until now it just transformed case pairs, without any external effect. ‘fullwidth’ would effectively transform a roman character into a sinogram (i.e. across scripts), although visually still resembling the former.
>> does this code point transformation do anything implicitly to default line-breaking, justification etc. that could not be specified explicitly with (…) CSS properties (…)?
>
> No, not that I know of.
>
>> It would not be inadequate then to ask authors to use two properties instead of one,
I meant that if
font-variant-east-asian: full-width;
line-break: east-asian;
text-justification: east-asian;
/* or something like that, I didn’t look up
the appropriate properties and values */
can replace
text-transform: fullwidth;
then it should.
> Authors I have been talking to will use text-transform:fullwidth rather than 'fwid' OpenType feature even if it was added to CSS Fonts, so I'm not asking authors to use two features.
Why would they do that – because of (older) fonts not supporting the Open Type feature, but containing the compatibility characters?
> If you know authors who want to use OpenType 'fwid' feature, you can ask this ML to add it.
The ED of CSS3 Fonts currently has a ‘full-width’ value for the ‘font-variant-east-asian’ property that basically maps to the pen Type ‘fwid’ feature. You should know that.
>> The existing transformations for bicameral scripts don't affect anything but looks (glyphs) and metrics.
>
> The spec clearly says it should transform code points using Unicode case mapping.
It shouldn’t say so, because that would mean that if I copy the styled text
<foo style="text-transform: uppercase; color: green">bar</foo>
from a browser into a plain text editor where I expect
bar
the transformations would stay intact
BAR
whereas all other styles were lost. That is not a desirable behavior.
>> What would happen with my family name, for instance, if a UA tried "text-transform: fullwidth" on it, since there is no monospaced (precomposed) 'ä' in the compatibility
>> block?
>
> It will not be transformed,
That’s awful.
> because Unicode does not define <wide> mapping for U+00E4.
It does for U+0061 ‘a’, why not require the UA to decompose U+00E4 ‘ä’ into U+0061+0308 and finally have U+FF41+0308 displayed?
> I'm not sure if recent OpenType fonts includes 'fwid' feature for U+00E4, but as long as user's font doesn't have 'fwid' defined for U+00E4, CSS Fonts can't do anything either.
I don’t know much about the technical internals, but the thing is you can reuse the metrics of the glyph(s) of U+0061 for those of U+00E4 and others.
> I don't think the fact that it can't transform U+00E4 would reduce the value of the feature at all.
I do.
>>> A lot of real web pages in East Asia use it today,
>>
>> You mean they use the compatibility wide roman characters verbatim?
>> That's another story and does not prove a usecase for text transformation yet.
>
> Since CSS doesn't support the feature, users today do this by server-side script, XSLT, or javascript. I understand it is our goal to make stylistic changes in CSS without relying on such technologies.
The question is whether this is a stylistic change or if this server-side codepoint transformation is just an input manager like the “smart quotes” feature that transforms ‘"…"’ to ‘“…”’ (or language-dependent alternatives).
Has someone suggested “text-transform: curly” (or the like) for ‘'’ → ‘’’ etc.?
Received on Monday, 11 April 2011 08:15:39 UTC