First, tons of apologies for responding so slow. I found (after Mark CC'ed me on one of the mails) that I'm not subscribed to wesnoth-dev (wasn't active for the last two years or so).
So I went through the fribidi related mails: https://mail.gna.org/public/wesnoth-dev/2009-07/msg00001.html https://mail.gna.org/public/wesnoth-dev/2009-07/msg00002.html https://mail.gna.org/public/wesnoth-dev/2009-07/msg00003.html https://mail.gna.org/public/wesnoth-dev/2009-07/msg00004.html https://mail.gna.org/public/wesnoth-dev/2009-07/msg00005.html https://mail.gna.org/public/wesnoth-dev/2009-07/msg00007.html It looks like the situation is as follows: * fribidi >= 0.19.0 is working with my patch. The intention of my original version limitation was to ensure that a possible breakage of the bidi patch won't affect the (far bigger) non-bidi community. * To my surprise fribidi >= 0.10.9 was reported to work by Sergey. However... * loonycyborg fixed (correctly) <fribidi/fribidi.h> to <fribidi.h> but this broke compilation for Mark -- which means 0.10.9 should be handled differently. > Mark de Wever <[email protected]> wrote: > Debian doesn't ship fribidi 0.19 so I can no longer use fribidi for > Wesnoth. Oron please add conditional code to work with both APIs. Debian lenny carries wesnoth-1.4 (didn't touch it) and lenny-backports carries wesnoth-1.6.2 (also untouched yet). However, you are totally correct that this situation calls for conditional code. To prevent further blunders I would like to send the proposed patches for review of the interested parties before committing them (Mark, Sergey, with your permission. Anybody else interested, just ping me privately). > Nils Kneuper on July 11, 2009 - 11:07: > Ahhh, several problems with this: > 1) Starting with 1.6.x fribidi is basically deprecated and only used in > the "old" gui elements. No idea if the change is still relevant. > Mordante knows more about this. Deprecated? What should users of bidi languages (Hebrew/Arabic/Farsi) to do? Mordante, if you can shed some light on this it would be greatly appreciated. But since you mentioned gui elements, I think we may mix two different issues: * The first bidi support I implemented some three years ago: - Contained only the tiny function in src/font.cpp (in HAVE_FRIBIDI) - Do not touch directly any gui element code. - Depends on fribidi implementing the Unicode BIDI algorithm. - Provides correct text direction which makes the game playable. * Later I implemented text justification code: - It has nothing to do with fribidi itself. - It makes the menus/dialogs, etc more readable (right justified text for bidi languages. - It is scattered in various gui classes (search for rtl, is_rtl, current_language_rt(), etc.) - It is ugly (OK, it was complex enough even before my rtl code). - It has (minor display) bugs -- just for fun, while using Hebrew try to hover over the titles of any table (e.g: Menu->Status Table) and look at the columns highlighting... (yes, now you know who to blame for this). So: - Killing fribidi -- no wesnoth for Hebrew/Arabic/Farsi. - Killing rtl -- wesnoth can still be played but looks bit awkward (wrong justification) -- can be tolerated until adaptation to new widget system is being developed. BTW: if the widgets are going to be rewritten, it would make life *A LOT* easier if each of them has a correct clipping rectangle -- one of the hardest jobs I had back then, was to fix the clipping rectangles which were originally from the top/left corner of the widget to the bottom/right corner of the *screen* -- this mistake didn't affect left justified text (e.g: English), but completely relocated right justified text until I fixed it. OK, sorry for the long post, back to work. -- Oron Peled Voice: +972-4-8228492 [email protected] http://users.actcom.co.il/~oron "We spend the first twelve months of our children's lives teaching them to walk and talk and the next twelve years telling them to sit down and shut up." -- Phyllis Diller _______________________________________________ Wesnoth-dev mailing list [email protected] https://mail.gna.org/listinfo/wesnoth-dev
