Discussion:
[css-writing-modes] Vertical upright Mongolian intrinsic orientation
Kari Pihkala
2017-01-10 11:31:23 UTC
Permalink
Hi,

I’m trying to figure out what is the correct way to render traditional
Mongolian text in upright text-orientation.

The Writing Modes 3 spec says: “Typographic character units from vertical
scripts are typeset with their intrinsic orientation” [1].

Mongolian is listed as a vertical script with a vertical intrinsic
direction (ttb) [2].

Here’s my test case: https://jsfiddle.net/9o1wazj2

I tried it in Chrome55 and Firefox50 on Mac/Windows10 (on Mac 10.12, the
default font didn’t display any text orientation correctly, so I had to
install the Mongolian White font [3]).

The mixed and sideways Mongolian texts are rendered correctly, but the
upright text isn’t. Does it mean that browsers are typesetting Mongolian
upright text wrong?

Regards,
Kari

[1] https://www.w3.org/TR/css-writing-modes-3/#text-orientation
[2] https://www.w3.org/TR/css-writing-modes-3/#script-orientations
[3] http://www.mongolfont.com/en/font/mnglwhiteaat.html
r12a
2017-01-11 12:40:09 UTC
Permalink
hi Karl,

I've been writing an article about how to do that. Please see

https://w3c.github.io/i18n-drafts/articles/vertical-text.en

You shouldn't need to use the text-orientation property, but you'll need
a font that knows how to behave.

Let me know if that helps, and how you get on, and send me any feedback.

hope that helps,
ri
Hi,
I’m trying to figure out what is the correct way to render traditional
Mongolian text in upright text-orientation.
The Writing Modes 3 spec says: “Typographic character units from
vertical scripts are typeset with their intrinsic orientation” [1].
Mongolian is listed as a vertical script with a vertical intrinsic
direction (ttb) [2].
Here’s my test case: https://jsfiddle.net/9o1wazj2
I tried it in Chrome55 and Firefox50 on Mac/Windows10 (on Mac 10.12, the
default font didn’t display any text orientation correctly, so I had to
install the Mongolian White font [3]).
The mixed and sideways Mongolian texts are rendered correctly, but the
upright text isn’t. Does it mean that browsers are typesetting Mongolian
upright text wrong?
Regards,
Kari
[1] https://www.w3.org/TR/css-writing-modes-3/#text-orientation
[2] https://www.w3.org/TR/css-writing-modes-3/#script-orientations
[3] http://www.mongolfont.com/en/font/mnglwhiteaat.html
fantasai
2017-05-02 20:05:25 UTC
Permalink
Hi,
I’m trying to figure out what is the correct way to render traditional Mongolian text in upright text-orientation.
The Writing Modes 3 spec says: “Typographic character units from vertical scripts are typeset with their intrinsic
orientation” [1].
Mongolian is listed as a vertical script with a vertical intrinsic direction (ttb) [2].
Here’s my test case: https://jsfiddle.net/9o1wazj2
I tried it in Chrome55 and Firefox50 on Mac/Windows10 (on Mac 10.12, the default font didn’t display any text orientation
correctly, so I had to install the Mongolian White font [3]).
The mixed and sideways Mongolian texts are rendered correctly, but the upright text isn’t. Does it mean that browsers are
typesetting Mongolian upright text wrong?
If it's typesetting correctly in mixed orientation, but not upright, it's a browser bug.
(I think this is unclear because UTR50 does not provide a data point to reference here,
but the proper behavior can be derived from a combination of UTR50 data and the script
tag.)

~fantasai
Kari Pihkala
2017-05-03 05:52:01 UTC
Permalink
Post by fantasai
If it's typesetting correctly in mixed orientation, but not upright, it's a browser bug.
(I think this is unclear because UTR50 does not provide a data point to reference here,
but the proper behavior can be derived from a combination of UTR50 data and the script
tag.)
~fantasai
Thanks. I filed a bug for Firefox [1] and Chrome [2].

I also found a test case for this (Mongolian code points
U+1800–U+18AF), but I don’t understand why it claims it passes for
Blink: http://test.csswg.org/harness/results/css-writing-modes-3_dev/grouped/text-orientation-script-001b/

Chrome doesn’t display Mongolian correctly for text-orientation:
upright. Is the test for something else than testing text-orientation:
upright? I couldn’t find any other test for upright Mongolian. Could
it be added to the tests?

- Kari

[1] https://bugzilla.mozilla.org/show_bug.cgi?id=1361631
[2] https://bugs.chromium.org/p/chromium/issues/detail?id=717862
fantasai
2017-05-04 14:40:49 UTC
Permalink
Post by Kari Pihkala
Post by fantasai
If it's typesetting correctly in mixed orientation, but not upright, it's a browser bug.
(I think this is unclear because UTR50 does not provide a data point to reference here,
but the proper behavior can be derived from a combination of UTR50 data and the script
tag.)
~fantasai
Thanks. I filed a bug for Firefox [1] and Chrome [2].
I also found a test case for this (Mongolian code points
U+1800–U+18AF), but I don’t understand why it claims it passes for
http://test.csswg.org/harness/results/css-writing-modes-3_dev/grouped/text-orientation-script-001b/
Kari,
I got 3 passes when I tried that test myself on 2016-11-09 with Chrome 56. I still get 3 passes with Chrome 58. You must be
referring to the test itself. This is where I believe you should try to reach Koji Ishii, who authored that test, and notify
him that Traditional Mongolian glyphs should not translate upright when 'text-orientation: upright' is declared.
I am under the impression that it is the UTR50 document that should be reviewed and corrected here in light of what you and
Elika have been exchanging about.
UTR50 doesn't really cover "upright" orientation. :/

~fantasai
fantasai
2017-05-04 14:39:57 UTC
Permalink
Post by fantasai
If it's typesetting correctly in mixed orientation, but not upright, it's a browser bug.
(I think this is unclear because UTR50 does not provide a data point to reference here,
but the proper behavior can be derived from a combination of UTR50 data and the script
tag.)
~fantasai
Elika,
http://test.csswg.org/suites/css-writing-modes-3_dev/nightly-unstable/html/text-orientation-012.htm
which states
"
This test checks that 'text-orientation: upright' causes characters from horizontal-only scripts and from vertical scripts to
be translated upright.
"
The test looks correct, Gérard. CJK characters are to be oriented upright.
Mongolian needs to be rotated sideways, however, because that's how current
font technology works IIRC. So the test is correct, but it's incomplete,
because it only looks at Latin and Han.

~fantasai
John Hudson
2017-05-04 17:23:45 UTC
Permalink
Post by fantasai
Mongolian needs to be rotated sideways, however, because that's how current
font technology works IIRC.
Correct. Mongolian fonts are designed with glyphs pre-rotated 90°
counter-clockwise, and the layout model used is horizontal. For correct
vertical display of the script, the lines of text need to be rotated 90°
clockwise *and ordered from left to right*. The last bit is where a lot
of software seems to fail. It's easy to typeset a block of LTR
horizontal text and rotate it 90° CW, but then the lines are ordered
right to left.

J.
--
John Hudson
Tiro Typeworks Ltd www.tiro.com
Salish Sea, BC ***@tiro.com

NOTE: In the interests of productivity, I am currently
dealing with email on only two days per week, usually
Monday and Thursday unless this schedule is disrupted
by travel. If you need to contact me urgently, please
use some other method of communication. Thank you.
fantasai
2017-05-24 04:03:35 UTC
Permalink
Post by fantasai
Mongolian needs to be rotated sideways, however, because that's how current
font technology works IIRC.
Correct. Mongolian fonts are designed with glyphs pre-rotated 90° counter-clockwise, and the layout model used is horizontal.
For correct vertical display of the script, the lines of text need to be rotated 90° clockwise *and ordered from left to
right*. The last bit is where a lot of software seems to fail. It's easy to typeset a block of LTR horizontal text and rotate
it 90° CW, but then the lines are ordered right to left.
Luckily the line ordering is entirely under control of the CSS engine,
so that part is covered correctly by 'writing-mode'. :)

~fantasai

Loading...