Re: [css3-writing-modes] Character's intrinsic orientation

On 5/30/2011 4:52 AM, fantasai wrote:
> Hi Eric,
> Koji and Murakami-san and I tried to address some of your comments in the Writing Modes
> spec. The updated draft is at http://dev.w3.org/csswg/css3-writing-modes/
> (A snapshot should appear at http://www.w3.org/TR/2011/WD-css3-writing-modes-20110531/
> tomorrow.)
>
> The particular text in question is at
>     http://dev.w3.org/csswg/css3-writing-modes/#vertical-typesetting
>

It seems to me that the script classification is not really helpful. In 
fact, the first thing you have to do is to say "fullwdith A is not 
Latin". As far as I can tell, all you need is (using Unicode 
terminology) a character property, which can take the values 
"horizontal", "vertical/rotate" and "vertical/translate". It happens 
that this property is derived from other Unicode properties, but that's 
of concern only to the maintainer and the implementer of the property, 
not to its user.

If I understand correctly, your definition of this property is:

- if the EAW property is F or W, then this property is vertical/translate
- otherwise if the EAW property is H, then this property is vertical/rotate
- otherwise if (the EAW property is N, Na or A), and (the Gc property is 
L*) and (the script is Common), then this property is horizontal
- otherwise if the script is in the list of Appendix B, then this 
property is vertical/x, where x is the last column of the table
- otherwise this property is horizontal

You may have to do something for U+20A9 ₩ WON SIGN, which happens to be 
EAW halfwidth, so vertical/rotate, and is the only one of its kind (and 
differs from U+00A5 ¥ YEN SIGN, which is horizontal and U+FFE5 ¥ 
FULLWIDTH YEN SIGN which is vertical/translate).

I think you have another problem with arrows. U+2190 ← LEFTWARDS ARROW 
is EAW=A, Gc=Sm, sc=zyyy (common), so it's horizontal; I think you want 
vertical/translate. Similarly for the non-JIS arrows, e.g. U+219A ↚ 
LEFTWARDS ARROW WITH STROKE, ea=N,  Gc=sm, sc=zyyy.

Finally, I remain unconvinced by the use of EAW, which has, IMHO, no 
place in modern Unicode implementations, at least those that do not deal 
specifically with JIS. For example, U+0391 Α GREEK CAPITAL LETTER ALPHA 
has eaw="A" and while U+1F09 Ἁ GREEK CAPITAL LETTER ALPHA WITH DASIA, 
which is canonically equivalent to <0391, 0314> has eaw="N".

---

The way I understand the text-orientation property is that combined with 
the property discussed above, it determine the rotation of the 
characters in vertical lines.  If that's the intent, I would not include 
the "rotate-left" and "rotate-right" values for text-orientation. As far 
as I can see, those values are not about the rotation of individual 
characters, but about the rotation of whole fragments of line (up to the 
rotation of whole lines), much like a TCY fragment is not about the 
rotation of individual characters; indeed, TCY would be "rotate-none".

---

I am  a bit confused by 5.1.1; when does it apply? Hasn't the text 
before that section answered all the questions?

In any case, I don't like:

"The orientation of characters belonging to the Common, Inherited, and 
Unknown script categories may be UA- or font-dependent in vertical 
typographic modes:"

I believe that the author of a document has be able to control the final 
appearance.

Also, AFAIK, the vrt2 feature is not used by anybody. It is the result 
of misconception of the way layout engines are written.


Eric.

Received on Friday, 3 June 2011 22:22:33 UTC