> From: James Cloos <cl...@jhcloos.com> > Cc: Michael Welsh Duggan <m...@md5i.com>, eli.osherov...@gmail.com, > emacs-bidi@gnu.org, emacs-de...@gnu.org > Copyright: Copyright 2011 James Cloos > OpenPGP-Fingerprint: E9E9 F828 61A4 6EA9 0F2B 63E7 997A 9F17 ED7D AEA6 > Date: Tue, 01 Mar 2011 19:58:44 -0500 > > the UAX is specific to plain text
Not entirely true. It's just that in most structured text, the reordering should affect only certain portions of the text. But where we do reorder, UAX#9 should still be in effect. > emacs' modes uses faces to differentiate syntactically different > text runs Not true at all. You are probably thinking about font lock, but faces are also used for other purposes, like region highlight, mouse highlight, hl-line mode, etc. These other uses do cross bidi runs quite easily and frequently. > the latter is essentially the same as (invisible) markup Who is? > then one could conclude that bidi runs always should be intra-face and > never inter-face, yes? No, see above. > How well does >>back to default on face changes<< translate to the level > where emacs' bidi works? Not at all. The reordering engine works on lower level than the face-sensitive code. In a nutshell, reordering is implemented as an abstract "get to next character" operation that is what the display iterator does when it walks the visible portion of the buffer and prepares it for display. Faces and the rest are considered only _after_ getting to the next character. By the time the iterator notices that the next character has a different face, the bidi reordering has effectively already happened. _______________________________________________ emacs-bidi mailing list emacs-bidi@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-bidi