> From: Philippe Verdy <[email protected]> > Date: Tue, 11 Oct 2011 17:03:51 +0200 > Cc: Kent Karlsson <[email protected]>, Eli Zaretskii <[email protected]>, > [email protected], > [email protected] > > So you'll need to first compute the directionality of all characters > in a paragraph (where paragraph are broken by strong line breaks > encoded in the text (or in a upper-level protocol like HTML using "br" > elements or elements delimiting blocks). Then you'll be able to map > the mirrored glyphs (ignoring first all the candidate breaks). Then > only you'll be able to perform the correct substitutions and > positioning and finally to compute the advance widths that allow to > determine the position of line breaks. Only then you'll be able to > reorder the characters within broken lines.
Right. And that means running the UBA, or at least large portions of it, twice, because computing the directionality means getting at least as far as after I2 phase. (In addition, it means processing text in batches, which is entirely against the design of the Emacs display engine, but that's not a bidi issue.)

