RE: Western vertical texts

Sorry for the late response.

While I agree on many points you raised, I'm not sure if I agree with the conclusion. I'm not sure because I could interpret the way you wrote in more than one way.

I think the problem is not western v.s. CJK; it's about whether the font supports vertical flow or not, since vertical flow layout requires a lot of information from fonts. As defined in OpenType spec[1]:
> OpenType™ vertical fonts require both a vertical
> header table ('vhea') and the vertical metrics table
And the market truth is almost no western fonts support these tables, so the result is similar to what you said, but hypothetically western fonts can support these tables if they want to.

Since some fonts (most CJK fonts) have these tables, I think it's valuable to have text-orientation: upright value defined in the spec. If what you meant was to remove the value from the spec, I don't agree with it.

What UA should do when such required tables are missing is actually an open question, and I admit that it should be better spec'ed. If that's what you meant, I agree with you.

What UA need are two values: vertical origin and vertical advance, and these are the values that the required tables mentioned above provide. I think there are 3 options to calculate these values:
1. Use font's ascent for origin, and font's height for advance.
2. Use bounding box to calculate the two values.
3. Use text-combine implementation.
None of them are ideal, but it won't be ideal anyway because the necessary information lacks.

Option 1 gives mono-pitch layout. It gives good letter spacing for upper letters, but probably too much spacing for small letters such as "o" or "x". InDesign seems to take this option.

Option 2 gives proportional layout, but since fonts lack top/bottom bearing information, it must look too tight in every scenario.

Option 3 is similar to option 1, but its height is set to 1em. It might be good to use in CJK layout, but I wonder how good it is for Latin layout.

I think either option 1 or 2 is preferable, but not sure which works better.



From: Eric Muller [] 
Sent: Thursday, February 23, 2012 4:33 AM
To: www-style
Subject: Western vertical texts

   Steve: But since then he concluded that upright is not a character-level
   Steve: Sometimes cluster.
   Steve: (He didn't send that proposal yet.)
   Steve: A mode in text combine that does the grouping in vertical stacking case.
   Steve: More TCY and" IJ" in Dutch kind of thing.
   John: So none of us heard this before.

I emailed that observation to John, fantasai, and Koji on 1/26, title "UTR50 / Mongolian".

When looking at running text, we can observe that the bulk of the cases concern text that is set tight, i.e. the letters are one next to the other. Over time, various mechanisms have been used to make such texts more legible: ligatures, kerning, contextual shaping, etc. 

In some situations, the text is not set tight: when letterspacing is introduced, when displaying on a path. With enough letterspacing, or with paths that are far enough from a straight line, the mechanisms intended for tight text no longer work, and in fact are undesirable. Vertical western text is in the same situation from the get-go; it's really text on discontinuous path.

Furthermore, vertical western text is used predominantly in signage contexts rather than in running text. More often than not, additional graphic considerations enter in the setting: an article or other small word is set horizontally;  apostrophes and periods may be placed together with other letters rather than separately; in general, whatever works for the sign in question, in the context in which the sign is used.

It seems to me that a line western vertical text is therefore better understood not as a line in which individual "characters" are rotated (in the style of East Asian vertical lines), but as a line in which fragments are treated independently and stacked in a line, where the fragments are generally "characters" but may be larger. In fact, the machinery for Japanese Tate-chu-yoko (TCY, horizontal in vertical) seems to be just the ticket.  

This view is also supported by implementation considerations. Most western fonts that include ligatures, kerning, etc are not built to be used vertically. When processing a run that contain "f" and "i" stacked, most OT fonts will not react to the clue of that "f" is below "i" (i.e. that the 'vert' feature is applied to those), and will do exactly the same thing as if "f" was on the left of "i". The implication for layout engine is that they will need to shape each "character" or fragment separately; and this is already what happens with TCY.

Therefore, what I would recommend is to handle western vertical text via text-combine:all rather than via text-orientation:upright.

The same considerations apply a priori to Japanese vertical text, but there are important differences. First, we are speaking about massive amounts of text, rather than an occasional isolated line here or there. Second, the fonts using in that context are typically reacting to 'vert' and the font themselves ensure that an "f" with an "i" below it do not form a ligature, or do not kern. Finally, users in Japan are probably much more aware that some fonts do not function correctly in vertical settings, which allow implementation to not go to extreme lengths to avoid incorrect output, when the font is not suitable.


Received on Thursday, 1 March 2012 09:01:31 UTC