A whole new spin on the term 'Vertical markets' (aka in SiaO we trust?)

by Michael S. Kaplan, published on 2007/12/01 13:02 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2007/12/01/6632929.aspx

One of the interesting side effects of having comments open all the time is that sometimes a post from a while back is resurrected via a new comment, which may or may not relate to the original post.

Like when Koji Ishii commented in response to Keeping it simple, with complex scripts which was back from January of 2005:

Which would you call Japanese, simple or complex?

From your definition, it looks like Japanese is complex due to its "word break and justification."  Sometimes with "combining characters."  I'm not sure if glyph substituion in vertical writing is "contextual shaping," since it's not contextual, but is shaping.

Maybe Japanese is in between simple and complex; not as complex as bidirectional languages, but also not as simple as Latin languages.  I hope you find a good place to classify these languages too, so that they are not forgotten in MSDN.

Then again, the same person commented on the more recent If you aren't adequate, I guess that means you're inadequate; if you're not complex, I suppose that means you're simple? seventeen minutes prior:

Hello, I came here by looking for information how I can format Japanese text in vertical writing mode in WPF.  After I have spent a few days to investigate this issue, I figured out that Japanese is neither simple nor complex from Microsoft Typography view. See this page


and you will see no words about EA.

I'm Japanese, but I don't care which words you use to classify Japanese text formatting.  I, however, do care Windows supports basic Japanese formatting including vertical writing.

I did some tricks to go through visual trees and use IsSideways property to do vertical writing, but I still needs to read GSUB tables with 'vrt2' which WPF does not provide any APIs.  I'm thinking to use Uniscribe to do the work.

You may call EA languages simple or complex, the wording I don't care, but I wish you and Microsoft Typography team to find a place for Japanese (and other EA) typography.  Not supporting vertical writing is a huge back step from GDI from my point of view.

Now I came off of both comments thinking a lot of different things:

First of all, that despite the fact that there can be cultural trends which can at times be fascinating in terms of the contrasts with what one may be used to, that does not mean that the trend is always going to be true of every person. There are many who will take a different conceptual approach -- such a Koji Ishii does here. That approach happens to appeal to me since (beyond the fascinating  aspects of diversity) I find anything that can block us from talking about the actual issues to be a pain in the ass (and this applies to all situations, not just the internationalization ones!).

Second of all, Koji Ishii is completely right here -- vertical support has been a longstanding in the very early days of GDI (discussed previously in Let's get vertical and Rotate it when vertical?). and although Uniscribe/OpenType support did bring the early "vertical metaphor" into the modern era of typography, the fact that neither GDI+ nor WPF (Avalon) directly support it is an unhappy phenomenon, which one really wants to hope is not a trend (although when issues like this one and the one I blogged about in Khmer, and I'll tell you about all the text stacks or the many times I have blogged about GDI+ limitations it can be a challenge not to, at times).

And honestly I don't think it is, at least not about typography. after talking to some folks over on the team, I came away with a few important facts:

The only way you can see rotated glyphs is through Glyphs element, i.e. in fixed document layout only. So, you have to format text yourself, e.g. using Uniscribe, without automatic line breaking etc.


It was decided not to support vertical layout for East Asian text in the initial release of WPF as part of setting a reasonable limit to the scope for that release. It is a recognized gap that is being considered for a future version.

which did actually makes me feel more than a little bit better, though admittedly I have more options when it comes to feeling good about [potential] future plans when I am not blocked today, as some customers might be.

But (and this is my "third of all" point), there is a more disturbing trend here, a trend that has very little to do with typography specifically. I'll talk about it in my next post or one co,ming up soon, though....

Fourth of all, it does seem like vertical text via OpenType might well make a reasonable addition to the definition of "complex scripts" though it is harder to say so ahead of the actual support of the solution implemented in a bunch of places. That is a definition that I am eager to see hammered out over time....

Fifth of all, and this seems like a natural extension to my third of all, it may boil down to trust at some point. I have been able to talk to and meet with and read something of the plans of the people who own the decisions here, and I do believe that they are on the right track. And these are people who I trust, professionally. So because of that, I believe that by and large support is going to improve as people continue to recognize these gaps and work to address them.

And I guess (if you are someone reading this) it also boils down to trust on your part, too. If you trust me and what I say, then maybe you'll trust my judgments of the plans and the work of these other people. If not, then you'll assume I'm a Kool-Aid driven freakazoid and discount the words. Though if that's the case, I'd have to wonder why you are still reading. :-)


This post brought to you byand \ (U+3035 and U+005c, aka VERTICAL KANA REPEAT MARK LOWER HALF and REVERSE SOLIDUS)

John Cowan on 1 Dec 2007 3:49 PM:

Looked at de novo, vertical text involves only two fairly simple considerations for each character: is it strongly TTB or vertically neutral, and does it have fixed or variable orientation.  "Strongly TTB" is analogous to the strong L and R letters in the bidi algorithm, and means that the characters appear TTB even in a context where BTT is the main direction (as on the spine of an English-language book), implying the use of the bidi algorithm for vertical characters.  Vertically neutral characters will go either TTB (if the overall text progression is rightwards) or BTT (if the overall text progression is leftwards).

"Fixed orientation" means that the glyph is never rotated no matter what the direction of text progression.  "Variable orientation" means that when the glyph is presented out of its normal orientation, it is rotated to follow the alien baseline.

CJK characters (hanzi, kana, hangeul, etc.) are both strongly TTB and fixed orientation; Mongolian is strongly TTB but variable orientation.  All other characters are vertically neutral and variable orientation.  (The Unicode book implies that Ogham letters are strongly BTT, but I believe that to be an error.)

If you know these things, and the Unicode bidi values, all you have to do is set the overall direction of text progression (downward-horizontal, rightward-vertical, or leftward-vertical) and everything will play out algorithmically.

Bruce Rusk on 1 Dec 2007 5:13 PM:

John's remarks don't seem entirely accurate to me: there are some typographical conventions surrounding punctuation in CJK text that complicate the situation. The vertical orientation of certain punctuation marks does not change (e.g., ! ? ; :), while that of quotation marks does (the common pairs are 〈〉 《》 「」; parentheses are in the same category). Even more complicated is the handling of Roman text in CJK: it can sometimes be rotated, sometimes not.

Word gets the handling of vertical text right, though only in certain fonts does everything come out properly. In any case, the algorithm would have to be a little more complex.

John Cowan on 14 Dec 2007 12:42 PM:

It's true that some neutral punctuation marks take on the orientation of their context, just as they take on the bidirectionality of their context.  Some extra logic would be needed for that.

It's also true that as a stylistic matter, sometimes LTR glyphs (Latin, mostly) are left unrotated in Chinese or Japanese vertical contexts.  But it's always correct not to do so, I think, so it's basically a style issue, not a "bare legibility" issue.

Please consider a donation to keep this archive running, maintained and free of advertising.
Donate €20 or more to receive an offline copy of the whole archive including all images.

referenced by

2010/09/22 Looking at life a bit more vertically, for a moment...

2008/10/24 Silverlight as Esau: selling its implementation for a pot of interface

2008/06/30 Thirdly, aka Forty two, aka Understanding the answer can require a properly defined question

go to newer or older post, or back to index or month or day