Re: Vertical BIDI

From: fantasai (fantasai.lists@inkedblade.net)
Date: Mon May 17 2004 - 21:03:53 CDT

  • Next message: Doug Ewell: "Re: ISO-15924 script nodes and UAX#24 script IDs"

    jcowan@reutershealth.com 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
    


    This archive was generated by hypermail 2.1.5 : Mon May 17 2004 - 21:08:06 CDT