- From: fantasai <fantasai@escape.com>
- Date: Mon, 07 Apr 2003 10:58:06 -0400
- To: www-style@w3.org
Michel Suignard wrote: > > In the introduction [1] (The BIDI problem), there are examples of > upright (Chinese and latin) with a left-to-right block progression. The > normal 'block direction' of such a case is 'rtl' (top to bottom > physically), this means that L characters (as shown in the picture) go > top to bottom (through bidi reordering) when their glyph orientation is > -90deg clockwise, but if upright, no bidi reordering occurs so they will > flow with the normal block direction which is top to bottom (which is > the desired effect). Of course you can force a block direction to be > 'ltr' which would get you in trouble as you demonstrate, but why do it > when simply using 'direction:rtl' on the block would avoid the issue. The reason why you should /not/ use 'direction: rtl' on a Chinese or English text: author.css element { writing-mode: tb-lr } user.css * { block-progression: tb !important } The net result is "writing-mode: rl", which is *inappropriate* for horizontal left-to-right scripts. 'direction' controls the directionality of the element's text. This is different from the stylistic inline progression, and you get problems if you conflate the two. > The new case which is really fascinating is the 'context' orientation. > ... It could be added as a new keyword to both glyph-orientation-horizontal > and glyph-orientation-vertical. Overloading glyph-orientation like this bothers me, as it's not just the glyph's orientation that's affected, but the ordering of characters as well. "glyph-orientation: context", for example, makes no sense whatsoever. In the "upright" style, the inline progression depends on the glyph orientation -- but in the "context" style, the glyph orientation depends on the inline progression. Nonetheless, these two styles are parallel; they're either-or, and they belong in one property. > However I think you are not giving enough details about the horizontal case > (block-progression: 'tb'). That was intentional. You'll note that the title of that page says vertical layout. :) > In that case, each Mongolian word will (should?) be displayed top to > bottom with each following word going on the right of the previous one > (I have seen that layout in mixed German/Mongolian litterature samples). > In that case each vertical fragment of the vertical script is by itself > a 'L' entity. For that to work you need a line-stacking-strategy > allowing these vertical fragments to expend the line height. Yes, that's one possibility. However, longer runs of Mongolian will often run horizontally, as you can see in the Chinese/Mongolian pages. (I found an English book, too, in which inline Mongolian runs left to right.) The kind of layout you describe is like having each Mongolian word inside its own inline block. It's therefore much more complicated, and, I think, not a necessary addition to CSS3 Text. If the inline progression is right-to-left, it would make sense for Mongolian to also go from right to left. This kind of contextual progression is what the "inline" (context) value should do: if the block's inline progression is right-to-left, it should go from right to left as well, not left to right. Right now it seems they're using overrides for this [1], which IMO should be avoided. (It doesn't handle mixed scripts very well.) > As I have already completely separated 'direction' and > 'block-progression' in my current draft it is reasonably easy to add > these new concepts in the draft. Wonderful! ~fantasai [1] http://uk.geocities.com/BabelStone1357/Test/Mongolian.html
Received on Monday, 7 April 2003 10:57:32 UTC