Stefan Schimanski wrote:
Hi!
Before playing the patchwork game again in fixing the bugs in the
subject and, without noticing, introducing a hand full new bugs, here
are some patches which clean up the bidi mess:
The Bidi class mainly offers the isBoundary method whose use is spread
over the LyX code. Unfortunately it needs a valid cache of the bidi
boundaries. To produce that it needs a valid Row object, which in turn
needs valid paragraph metrics which are not available after many
cursor operations. Ignoring this fact leads to #3790, #3801 and #3809.
* So the only clean approach is to rip out all bidi references from
the code and finally use the Font information of each position which
also holds the RTL/LTR flag. This is done by nobidi.patch (see below).
* Then we can implement Text::setCurrentFont without any reference to
Text::bidi and by that fix all the mentioned bugs, implemented in
setcurrentfontnobidi.patch.
I've spent some time pursuing these bugs and like with this approach.
The Bidi does is too heavily intertwined with the core LyX code. This
shows up a lot when tracing.
Richard
--
==================================================================
Richard G Heck, Jr
Professor of Philosophy
Brown University
http://frege.brown.edu/heck/
==================================================================
Get my public key from http://sks.keyserver.penguin.de
Hash: 0x1DE91F1E66FFBDEC
Learn how to sign your email using Thunderbird and GnuPG at:
http://dudu.dyn.2-h.org/nist/gpg-enigmail-howto