Looking at life a bit more vertically, for a moment...

by Michael S. Kaplan, published on 2010/09/22 07:01 -04:00, original URI: http://blogs.msdn.com/b/michkap/archive/2010/09/22/10066037.aspx


The question Craig asked me last December was clear enough:

When will Windows support a vertical layout for a "real" Japanese localized version?

Now I have talked about vertical text in the past, in blogs like:

and really this does not do much more than scratch the surface, though to be honest there is not too much that is really deeper than the surface. :-)

Japanese verticals layout itself has just a few basic requirements:

Perhaps it is the lack of overall complication that has led the bulk of technologies after GDI and its @-prefixed font logic (the former handles #2; the latter #1) from doing much more work here. But this lack does require the applications that want to support vertical text to do as lot of the actual work themselves, without a whole lot of shared code for the bulk of the work.

Unicode itself doesn't store #1 even though it is an obvious potential UCD property; as such every company that wants to do this work must do it on their own. And they do, pretty much....

But Craig's question is not just about vertical support in general (which exists, despite some assembly being required), it is about more specifically applying it to entire products.

Now this is where things get complicated.

The notions of UI mirroring and UI flipping are fairly well defined, providing a somewhat obvious and not entirely unintuitive notion of what it should do to the user interface.

But how one would handle the analogous case of vertical text is not nearly as well defined, at all.

Imagine what has been purported to be a Microsoft interview question in the past, which can be found on many different web sites like this one:

Imagine you are standing in front of a mirror, facing it. Raise your left hand. Raise your right hand. Look at your reflection. When you raise your left hand your reflection raises what appears to be his right hand. But when you tilt your head up, your reflection does too, and does not appear to tilt his/her head down. Why is it that the mirror appears to reverse left and right, but not up and down?

Disclaimer: I do not personally know of anyone who has either asked or been asked this question, so it may be apocryphal.

Obviously the process involved with trying to mirror text horizontally for Hebrew or Arabic scripts is not the same as the process to take vertical text and make it horizontal, but when I mentioned that "interview question" of 20 different software developers over the last few months and asked them if they thought there was a relationship between it and the lack of vertical support that was a consistently methodical as we have for Bidi, 14 of the 20 said there was probably some relationship (though none could state what it might be).

For the record, I think that the involvement may mildly exist but not as a direct thing --it is more of how we look at things on the vertical axis in general (which relates to the mirror question a little bit), and how a Japanese user who has been looking at vertical layout in newspapers and books and signs for their entire life might expect a "vertical layout" of software UI to look in particular (which does not really relate at all).

For most intents and purposes, I'd say they are two separate problems, though perhaps a real study of how users (most of whom have two eyes placed on a horizontal axis) track vertical vs. horizontal text might find some relationship.

But clearly the work to support a vertical user interface would require a lot of that actual design planning and consideration in order to determine how it would in fact look. And no one is really doing that kind of work unless they are looking to extend known uses vertical text today (like newspapers and books) into computers. Even that is not getting nearly enough attention! But one does not see a lot of metaphor extension of the general user interface of computers into a vertical world -- with the possible exception of those green CRT screen images in The Matrix, which themselves have a serious Japanese encoding bias. :-)

For better or worse, the Japanese market moved from a largely Top-to-bottom/Right-to-left text model to a Left-to-right/Top-to-bottom text model for the sake of typewriters and computers. And thus the best chance computers had for a Unicode Vidi Algorithm was thwarted in almost its infancy, and no one ever really tried to extend the metaphors we use in computers to a vertical market....

The only things that are ever made vertical are ones that extend metaphors that are vertical in Japanese, and it is limited to products like Internet Explorer, PowerPoint, Publisher, and Word -- plus a little bit of work here and there in places like Access forms, which themselves often model text forms.

This is not lack of imagination so much as an explicit decision to not use that imagination and apply it here.

Not that technology is doing much better. Even readers and newspaper type applications are skipping vertical way too often. We must do better here, truly!

This is especially interesting for cases like Mongolian, which is itself in some ways almost at that same beginning that Japanese was once at, looking at computers. For the most part, they generally feel that a Left-to-right/Top-to-bottom text model would never be acceptable for their user interfaces. And they lack the market share -- a total of fewer than six million users, so that even a reported literacy rate of 90% does not look like it can move the needle enough to inspire that user interface revolution the way the > 120 million could have in Japan, back then.

Our timid attempts to put it all in a left-to-right context:

are about as unpopular as you might imagine, or perhaps slightly moreso, in Mongolia. According to those I have asked (though they don't mind it so much in China, apparently).

I wonder what an interview question of a PM candidate (asked to describe how they would attack the problem of user requirements and design for a vertical user interface in Mongolian) would look like. And if their answers would show that spark of original thought in untapped areas (which is rare), or the ability to navigate murky scenarios (which is uncommon), or the ability to founder on the shoals of despair without coming up with much (which is more common than one might have hoped for).

Tempting!

Even so, I think about Craig (who is a computer person working in Mongolia for nearly a decade) and those like him may be the ones behind that next revolution, in the way on might conceptually translate enough user interfaces to a vertical world to allow the large companies like Microsoft and Apple (with the resources to do the work here even if they are not using them) to understand how one might look at the world more vertically.

Perhaps a small group of people will even put the Japanese market to shame a little bit, by solving the conceptual problem that they shied away from, so many decades ago....


Michael S. Kaplan on 22 Sep 2010 7:53 AM:

Craig was clear that he understood the issues in market share when he acted an advocate fof Japanese vertical support despite his actual interest primary being in Mongolian. :-)

Alexey on 22 Sep 2010 9:26 AM:

Michael, please use PNG for screenshots. JPEG artifacts looks just ugly.

Michael S. Kaplan on 22 Sep 2010 9:45 PM:

Alexey, perhaps I was trying to help people who are not native Mongolian speakers to understand how UI can look ugly to them ? :-)

I looked into vertical Unicode properties a few years back on 24 Sep 2010 12:59 PM:

What needs to happen IMHO is for Unicode to create two new properties: verticality (Top, Bottom, or Neutral) and rotatability (True or False).  Verticality specifies whether, when written vertically, the script must appear in a particular direction or not.  Generally, CJK characters (hanzi/hangul/kana) are Top, Mongolian ones are also Top, and everything else is Neutral.  For example, Latin script often appears vertically on book spines, with English ones always top-to-bottom and German ones normally bottom-to-top: Latin script is readable either way, so it's Neutral.

Contrary to Unicode, Ogham isn't really Bottom, it's also Neutral.  An inscription on a stone is read up the side, across the top, and down the bottom if it's long enough, just like a Latin-script inscription on an arch would be.  It's just that most inscriptions are short and only have the bottom-to-top portion.  In manuscript, it always appears left-to-right.  I once asked Michael Everson what would happen if a book title were mixed English/Ogham; would it be written bidirectionally on the spine -- Latin top to bottom, Ogham bottom to top?  He didn't think it was a realistic use case.

Rotationality is what you mention above: basically U+4300 ("one") is rotatable, the rest of CJK is non-rotatable, and everything else is rotatable.  Given these two properties, all a user has to do is set the overall direction of text progression (the next line can be left of the current line, right of the current line, or below the current line, known in CSS3 as RL, LR, and TB respectively) and all can be done automatically.

I passed all this on to the UTC informally, but nobody expressed an interest.

As for the mirror: when you lift your right hand, your mirror image seems to lift his left hand, but it's really his right hand, using the internal definition of left/right (the right is the side your liver is on, e.g.).  What mirrors really do reverse, of course, is front to back.  

John Cowan on 26 Sep 2010 8:53 AM:

The above comment is by me: I mysteriously mistook the Name box for a Subject box.

Andreas Goretzky on 21 Nov 2010 2:47 PM:

Thank you for your thoughts... the UI question you brought up is quite interesting.

Before Windows 7 there was absolutely no way to type classical mongolian letters in a simple way. There were fonts for XP and Windows 2000, but you needed special software for getting the right characters, and scisors and glue and a copy machine for rotating the text, and the Menksoft kbd driver for composing the characters. For simplifying the cyrillic typing I made a driver with MSKLC based on the latin transliteration, but for classical script there is absolutely no way. At least not until Windows 7 appeared.

Windows 7 has at least an integrated IME for typing the mongolian script, and it has fonts so  horizontally typing and processing works in some apps, and a LIP is announced...... most likely in cyrillic.

Word 2007 can rotate the document, but has no line breaking into the right direction. There are only 3 options, and the fourth is missing. That's about phantasy of product managers. The easiesst way for typing that stuff is Excel :-) having grouped cells and rotated document I can "linebreak" by myself.

I was about to give the RedOffice a try, it was founded by the Chinese gouverment to support all of the minorities languages in P.R. China with a word processor.

But the UI is in Chinese by default so I have no chance to find the option. In theory it has the vertical typing feature, it should have vertical menus as well, and it accepts the IME composed text from W7, but without deep chinese language knowledge I can't solve the line breaking and writing direction setup.

If there ever appears a Windows version that has vertical menu and Mongolian script I mark that day in my calendar and celebrate that instead of my birthday.


referenced by

2012/09/07 Let's stand up a moment. You know, Vertically...

2011/02/24 Yes, they did 64-bit for the Mongolian LIP, too!

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