[EMAIL PROTECTED] wrote:

fantasai scripsit:


 (context: http://fantasai.inkedblade.net/style/discuss/vertical-bidi )

Notice that in B, the Chinese and the English are going
in opposite directions, even though they're both LTR scripts.

That's because the English is rotated and the Chinese is not, and rotated text has no native directionality.

Yes, I noted that. But if you're going to mix rotated English and a vertical script, you do will sometimes need to do some BIDI reordering. Something like

  latin (HAN latin HAN HAN) latin

needs a BIDI embedding on the parenthetical remark if the English
is rotated to the left else it's not going order correctly.

The schema of your note best handles Ogham as a L2R horizontal script,
leaving its vertical behavior to be handled by the "natural" orientation
style in lr progression.

If another style rule changes the block progression to rl, what should happen to the Ogham? Should it now go top to bottom?

Also, it's not just punctuation marks that need to get vertical glyphs
in vertical formats, it's also things like BOPOMOFO LETTER I.

Are you sure you're not confusing that with the KATAKANA-HIRAGANA PROLONGED SOUND MARK?

Another problem is mixing Arabic with Chinese and having both
of them read down. Because shaping happens after reordering [1],
you need to use BIDI to get the shapes, but not use BIDI when
you're actually ordering the text....

I don't understand this. Presumably Arabic read down *has* to have the baseline on the right, or the shaping behavior won't work at all -- letters are meant to link to their successors, not to their predecessors.

The problem is more with, how do you pass the Arabic text to the shaping engine? If you don't reorder first, it gets shaped wrong. If you do reorder it, then the Arabic will be reading upwards and doing funky bidi stuff. Take an example like this:

[start]<para>HHHHHH<quote>ww(HH)wwww</quote>HHHH</para>[finish]

where H is Chinese and w is Arabic.

To keep the quote in correct order, we give it a right-to-left
embedding.

Now, we want to put it in a vertical line, and we want the Arabic
to go down, same as the Chinese.

The ordering would be
  [top]HHHHHHmm(HH)mmmmHHHH[bottom]  (no bidi reordering, Arabic downwards)
as opposed to
  [top]HHHHHHwwww(HH)wwHHHH[bottom]  (bidi reordering, Arabic upwards)

However, the character shaping would still have to be the same
as for the "Arabic up" case, so we can't not do BIDI reordering.
The Arabic runs have to be passed to the shaper/font engine and
rendered as runs of RTL-ordered text, but interleaved with the
Chinese and ordered as for LTR-ordered text.

~fantasai

--
http://fantasai.inkedblade.net/contact




Reply via email to