Re: CSS3 Text: Multi-Directional Scripts in Vertical Inline Progression

Michel Suignard wrote:
> Fantasai, overall I think your conclusions are correct, even if I don't
> agree with all your arguments. Some of my issues:
> 
> The'direction' property today (ie in horizontal flow as supported by
> CSS2) sets inline progression for block element (CSS2 says 'specifies
> the base writing direction of blocks') and MAY set directionality.
> However, typically it does not set character directionality (this is
> done through the bidi algorithm and the usage of the 'unicode-bidi'
> property).

It typically does not set character directionality because 'unicode-bidi'
is typically not 'override'.

> I read the determination of the inline progression as setting the
> starting edge of the line box.

For a block element, yes.

> We could possibly say that 'direction' doesn't set inline-progression
> for vertical layout, but that would be terribly ackward.

Indeed, it would be crippling when dealing with horizontal scripts for
'direction' not to affect vertical layout. However, it should not "set"
it unconditionally; the dominant script must also be taken into account.
(See below.)

> Your proposal (text-orientation-vertical/horizontal +
> glyph-orientation-vertical/horizontal) is comprehensive but fairly
> complex. I am still not convinced that these 2 concepts should not be
> merged. And I am not convinced that we need to support all possible
> combinations.

Well, consider:
   - Most often, text rotations affect both glyphs and character ordering
     as I specified for text-orientation
   - SVG's definition of glyph-orientation does not fulfill those
     requirements
   - It is sometimes desired to rotate glyphs /without/ affecting
     character ordering. Since the definition of glyph-orientation in
     SVG precludes using it with text-orientation's definition, one
     might as well allow glyph-orientation to fill this role.

> I think we agree more or less on the behavior expressed by
> 'text-orientation-xxx: natural' and 'glyph-orientation-xx:auto' which
> are their initial values. It is interesting to note that for these
> values, the 'direction' property is w/o any doubt tightly correlated
> with the inline-progression.

Yes. But in vertical layout with those settings, inline progression
also depends somewhat on the script. For example, the following
paragraph should have a top-to-bottom inline progression even though
'direction' is 'ltr'.

p { block-progression: lr }

<p>[Chinese Text]</p>

> I would propose for the time being to remove glyph-orientation-xxx
> properties from the CSS3 text WD and not add the 'text-orientation-xxx'
> properties.

Ok. Might they reappear somewhere else in CSS3?

> And just have 'block-progression', 'direction' and 'writing-mode'
> (as a shorthand for the 2 other properties).

That's fine except IMO "writing-mode: tb-xx" shouldn't affect
'direction' at all.

Changing 'direction' should be discouraged as in CSS2. It's there
to give some control over Unicode BIDI, not to hard-code an inline
progression that can (and should) be calculated dynamically to suit
the paragraph's calculated styles.

http://www.w3.org/TR/REC-CSS2/visuren.html#direction :
  # * 9.10 Text direction: the 'direction' and 'unicode-bidi' properties *
  #
  # Because the directionality of a text depends on the structure and
  # semantics of the document language, these properties should in most
  # cases be used only by designers of document type descriptions (DTDs),
  # or authors of special documents. If a default style sheet specifies
  # these properties, authors and users should not specify rules to
  # override them. A typical exception would be to override bidi behavior
  # in a user agent if that user agent transliterates Yiddish (usually
  # written with Hebrew letters) to Latin letters at the user's request.

> We could always spend more time in refining the details of vertical
> layout

Anything specific you would have me do?

 > but make progress on the bulk of the text module.

Yeah, so about those line breaking properties... :)

~fantasai

Received on Monday, 21 April 2003 13:04:15 UTC