RE: [css3-ruby] [css3-text] Position values and before/after definitions in LR vertical writing mode

I made a table to ensure we're on the same page.

          | after | under
----------+-------+------
Japanese  | left  | left
Chinese   | left  | left
Mongolian | right | left

"after" is based on block progression. It indicates different direction because Mongolian has different block progression as you know.

"under" of underline-position is based on how the UA renders horizontal scripts like English in vertical text flow. You could also say "under" is the "descent" side of the baseline in font terminologies. It is the same for all the three languages because all of them rotates the baseline clockwise.

So the question really is which terminologies do we want for ruby/emphasis marks positions.

Is this understandable?


-----Original Message-----
From: www-international-request@w3.org [mailto:www-international-request@w3.org] On Behalf Of Ishii Koji
Sent: Saturday, October 02, 2010 11:21 PM
To: Alan Gresley
Cc: Stephen Zilles; Richard Ishida; 'fantasai'; www-style@w3.org; 'WWW International'; btmnk0825@gmail.com
Subject: RE: [css3-ruby] [css3-text] Position values and before/after definitions in LR vertical writing mode

This isn't logical and I think I should have explained this better, but I didn't:

> You can ask any East Asian developers and I'm pretty sure that most of 
> them would tell you that "underline" is mapped "left", and "overline" 
> is mapped to "right" in vertical text flow.

So allow me to try again.

Assuming we're under the common understanding that we need single word that means one direction in horizontal flow and different direction in vertical flow, why "under=left", not "under=right"?

It comes from when we need to render horizontal scripts (like English) within the vertical text flow. In that case, we rotate the baseline clockwise by 90 degree and render the script. And in that case, "under=left" makes perfect sense.

As you pointed out, it may not make sense when you render regular Japanese/Chinese characters which is upright, but as written below, we don't want to call it "side" anyway, so there's no appropriate word for that.

Given these two conditions, the logical thinking would give us that "under=left" is the best compromise.

Back to the Mongolian case. As said, and also as Stephen Zilles pointed out, "before=over" and "after=under" in Japanese and Chinese, so we didn't see any issues and didn't care much until we think about Mongolian.

But in Mongolian, if we define under|over in the sense above, it becomes opposite, and now we found the need to distinguish between block progression and the side of baseline.

This is why I think we need under|over to describe directions against baseline. I hope this makes sense, but I'm more than happy to discuss further if anything is still unclear, or if I seem logically incorrect.


Regards,
Koji Ishii

-----Original Message-----
From: Ishii Koji
Sent: Saturday, October 02, 2010 1:58 AM
To: 'Alan Gresley'
Cc: Stephen Zilles; Richard Ishida; 'fantasai'; www-style@w3.org; 'WWW International'; btmnk0825@gmail.com
Subject: RE: [css3-ruby] [css3-text] Position values and before/after definitions in LR vertical writing mode

Hi Alan, thank you for your reply.

So you think that we need new pair of words. I'm glad to hear that.

> So the underline is on the right side and means 'side-line'.
> Instead of before/after or over/under, have you thought of side or 
> side-line (like in along-side or be-side) for emphasis?

This is a great question. Yes, this is one possibility.

There's one more thing, however, we need to consider. Text flow direction for East Asian is a formatting property. In word processors, it's under "Format" menu. We may change it multiple times during the edit process just like we change fonts. That said, by changing the direction, side-line is automatically changed to underline, or vice-versa. I'm not familiar with RTL languages, but I think this is the biggest difference between East Asian vertical and RTL. Vertical is a formatting property and is likely to be switched multiple times during the edits, while RTL is more fundamental script property (I hope I understand this correctly for RTL :)

This is the fundamental reason I'd like these naming be "logical". When switching the direction, we don't want to go through the CSS and replace all "side-line" to "underline". We need single word that represents one direction in horizontal flow, and another direction that is most appropriate to be mapped in vertical flow.

So, "left-side-line" is fine with me if you're fine to call underline as "left-side-line" in horizontal text flow as well, but clearly you don't want to do this, and I don't want to do this either.

If we knew this years ago, this is a much easier problem. We can discuss and come up with the best words that describe behavior in either text flow. The challenge comes when we found the need after we have defined a word for horizontal flow. In the case of underline, we have already used under|over for underline, and we then found the need to put on either side in vertical text flow.

One option is to stop using under|over, and invent a new pair of words. But it'll break the backward compatibility. So, as a compromise to keep compatibility, we tend to think that "this (left or right) is the direction to call 'under' when flow is switched to vertical". It may not be optimally make sense as you said, but somewhat understandable for us, and works consistent when you switch the direction.

You may not believe this, but East Asian developers are used to deal with this issue for more than 20 years since the invention of word processors, so we don't feel as weird as you might feel to use "under" meaning "left" in vertical text flow. You can ask any East Asian developers and I'm pretty sure that most of them would tell you that "underline" is mapped "left", and "overline" is mapped to "right" in vertical text flow.

There's slight weirdness left, you're right about that, but the benefit to use single word wins over it. I hope you'll understand that, when you change one property (text flow), and if you have to go through all your CSS files and have to replace all "under" to "left-side", you'll feel something is broken, right?

So, assuming the use of logical word is understood, I guess we don't have much options:
1. Since under|over is already done, keep the same rule in everywhere.
2. under|over is considered as an unfixable bug, just leave it and stop spreading it. Invent a new one.

Uh...I can think of only these two. Within these two, I'd vote 1, since under the constrain to use single word, it's quite difficult to completely feel natural. Whatever word we choose, there will be some compromises. If that's the case, I'd rather choose to remember just one mapping than two, and be consistent within CSS. It's also consistent with what we've been developing for 20 years.

Does this make sense? If my English is too poor to understand, or if I skipped something important for you to understand, please feel free to ask further. I'm more than happy to explain these things.


Regards,
Koji Ishii

-----Original Message-----
From: Alan Gresley [mailto:alan@css-class.com]
Sent: Friday, October 01, 2010 6:00 PM
To: Ishii Koji
Cc: Stephen Zilles; Richard Ishida; 'fantasai'; www-style@w3.org; 'WWW International'; btmnk0825@gmail.com
Subject: Re: [css3-ruby] [css3-text] Position values and before/after definitions in LR vertical writing mode

Ishii Koji wrote:
> I understand this:
[snip]
>>        d. Before/After make sense in both vertical and horizontal writing-modes. Over/under does not make (obvious) sense in a vertical writing-mode.
> 
> Well, I think "make sense or not" depends on who you ask, and is a little weak to do logical discussions, so let's remove this from both.


Before and after only makes sense in Latin if we have this.

   The quick brown
   fox jumped over
   the lazy fox.

The examples of Mongolian that I have seen (the attached file from SZ and this one [1]) shows block progression flowing from LTR so in Latin, it would be like this.

   the lazy fox.
   fox jumped over
   The quick brown


Does before/after over/under make sense? Not really from my perspective.


> Given pros you listed up, thank you for writing this, I think there are two points to discuss.
> 
> First, there's a concept we did not recognize until now. And I guess you agreed with it in your point (a). So it's a balance between the complexity and the importance of old Mongolian. We all know that current spec is enough for all languages except old Mongolian. "do we want to add one more level of abstraction just for old Mongolian, or it's just not enough to do that" is probably the question we'd like to discuss.

Koji, in an earlier message in this thread [2] you wrote this:

  | The same thing actually happened for Japanese and Chinese.
  | Underline in Japanese vertical writing is drawn on right
  | as you might know. In Japanese, it's called "傍線", which
  | means "side-line", so neither "under" nor "over" is the
  | correct translations. We chose to name it "overline",
  | because "over" is correct if you look at alphabet
  | orientations in vertical text.

So the underline is on the right side and means 'side-line'. Instead of before/after or over/under, have you thought of side or side-line (like in along-side or be-side) for emphasis?


[snip]
> Regards,
> Koji Ishii


1.
<http://fantasai.inkedblade.net/style/discuss/vertical-text/diagrams/mongolian-lr.jpg>
2. <http://lists.w3.org/Archives/Public/www-style/2010Oct/0001.html>

--
Alan http://css-class.com/

Armies Cannot Stop An Idea Whose Time Has Come. - Victor Hugo

Received on Sunday, 3 October 2010 09:37:56 UTC