José Matos wrote:
Hi RTL developers,
I am sorry for my lack of imagination and I hope you forgive me.
Which bugfixes and patches do you propose to include before beta 3?
I would like to release beta 3 soon (Tuesday), and the support for RTL
languages seems to be an area with lots of bugfixes lately. I am trying to
prioritise the patches and deciding which ones should go before beta 3 and
which ones can wait for release candidate 1.
Regards,
Hi!
Sorry for only replying now --- if I'm too late for beta3, then this is
still relevant for afterwards:
*) As Abdel said, Mostafa's Farsi patches should, I think, go in. I
tested them at some point to make sure that it doesn't break Arabic or
Hebrew (I don't know Farsi), and it was okay. I'm a little confused,
though, as to their current status --- especially regarding the
ArabTeX/Arabi issue --- so I'm not sure that what I tested was the
latest version. Don't hold this up for me, however --- I won't be able
to check it again before the weekend...
*) I would be happy if the very minor attached patch, which marks spaces
which belong to a foreign language in the same manner that
non-whitespace is marked, could go in. This is helpful especially in
bidi situations for understanding where exactly the languages switch.
Georg has approved of the approach (he agrees that spaces should
definitely be marked), but said he doesn't know the relevant code well
enough to vouch for its correctness
(http://permalink.gmane.org/gmane.editors.lyx.devel/81153 --- and there
are more details in that thread). I've been working with this patch
applied since I first submitted it a month ago, and have run into no ill
effects.
*) Elazar's math cut&paste issue --- I can't reproduce, see
http://permalink.gmane.org/gmane.editors.lyx.devel/83938
*) my RTL crash fix, see separate discussion at
http://permalink.gmane.org/gmane.editors.lyx.devel/83924
Those are the patches that I have in my queue at the moment.
Thanks!
Dov
Index: src/rowpainter.cpp
===================================================================
--- src/rowpainter.cpp (revision 18356)
+++ src/rowpainter.cpp (working copy)
@@ -818,10 +818,13 @@
x_ += 2;
++vpos;
} else if (par_.isSeparator(pos)) {
+ Font orig_font = text_.getFont(*bv_.buffer(), par_,
pos);
+ double const orig_x = x_;
x_ += width_pos;
if (pos >= body_pos)
x_ += separator_;
++vpos;
+ paintForeignMark(orig_x, orig_font);
} else {
paintFromPos(vpos);
}