RE: [css3-text-layout] "design philosophy" or "basic idea" how vertical writing would work in CSS

Thank you for the reply.

The switch is completely independent of the text flow, so even for the Mongolian, directional terms follow the switch. That'd be clear then, right? I'm not very familiar with the Mongolian, but we may need to add more modes to the property for the Mongolian though.

You're right that its main benefit is to change the existing behavior by mode and thus we wouldn't need to define new set of properties. But it's not only for us. It helps browser developers. It helps web designers as well. It helps everyone to reuse existing documents. I think it's a huge benefit for everyone, isn't it?

I also think it's not as confusing as you think. "left" is already no longer "left to page" if you use CSS transform. And I think people is used to think fractal, or recursive, based on its context. The idea "axis of coordination is rotated in this block" wouldn't be hard to understand, and sometimes it can even simplify if it matches to the logical thinking. CSS transform is one example where contextual property works better. Font selection is another. The beauty of contextual property is, as you pointed out, one can change the way coordination would work in a specific context without adding whole set of new properties.

"logical" can be a short hand of more detailed combinations, just like writing-mode is. I think we'd need native Arabic people to define what the natural and the logical way to interpret "left". Depends on the answer, "logical" can be a short way of writing "transform-directional:none" or "transform-directional:"...ouch. CSS transform doesn't have a function to flip horizontally.

And since this is a contextual property, you could add it to any blocks to place your corner graphics at where you'd like to.
<img style="position:absolute; directional-mode:page; left:0px; top:0px;"/>

It's very interesting that both of us were thinking about the same example. I was actually thinking this would help default styles as well.
ol { margin-left:.25in; }
would set left indent even in vertical flow if we also set the mode properly.

Maybe, because it's now independent from the text flow, maybe this should be part of CSS box model or CSS transform. I'm not sure how the spec owners of these would think, but wouldn't it be helpful for CSS text layout if it's part of those spec?


Regards,
Koji Ishii

-----Original Message-----
From: fantasai [mailto:fantasai.lists@inkedblade.net] 
Sent: Tuesday, June 29, 2010 1:10 PM
To: Ishii Koji
Cc: www-style@w3.org
Subject: Re: [css3-text-layout] "design philosophy" or "basic idea" how vertical writing would work in CSS

On 06/28/2010 07:11 PM, Ishii Koji wrote:
> Thank you, fantasai. I think I finally understand what you are trying 
> to do. And I completely agree that the plan will be one of the 
> consistent resolution. Allow me to say thank you for your efforts to help me understand.
>
> Well, you may hate to hear this, I apologize in advance, but isn't it 
> still easier to add just a single property that transforms the way 
> left/right/top/bottom/width/height
> are interpreted?

Probably it would be easier, but perhaps not by as much as you think.
For example, as I mentioned, in Mongolian layout the top of the line and the top of the paragraph do not coincide. What does 'vertical-align: top'
mean in that case? I think the box model definitions would still need an update.

I think the main benefit to the switch you propose is that we wouldn't need to define a new set of properties.

I'll note that while it might make some things simpler, a switch like this also makes other things more confusing. Suppose, for example, I am working on a multi-lingual website. Does a 'logical' mode for my properties mean that 'left' and 'right' switch places in Arabic? Do we really want this?
Perhaps for my margins, but what if I am positioning the corner graphics of a box to the "top left" and "top right" of my box?

It also means that for anyone not using an ltr horizontal writing mode, all directional keywords act wacky with respect to their standard definitions. And a switch like this is not something that can be used in a user agent's default style sheet to set, e.g. the default margins on <ol>, which should be on the same side as the bullets.

Btw, I would suggest calling it 'directional-mode'-- 'ltrbwh' is a little obscure. :)

~fantasai

Received on Tuesday, 29 June 2010 05:12:23 UTC