[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

inverse Bidi



Salam,

I finally located the implementation of inverse Bidi in the ICU library
(yeah, it wasn't that hard to find, but someone had to move a few
fingers and strike some keys...). Thanks Behdad for pointing out to the
existence of a reverse bidi algorithm (even though it is *not* part of
the standard Unicode specification as you implied).
Some tests need to be done (anyone has some experience with this
algorithm?) to see how handy it is, and more importantly, though this
shouldn't be a priority compared to other tasks, one need to write the
precise rules of that inverse bidi algorithm in case someone would need
them.

That said, we're talking about a major free (as in both freedom and
beer) library, so we can safely assume it to be okay and use it in the
project (and in case something's wrong, it shouldn't be very difficult
to fix it).

All this has some implications:
- First, some important changes to the proposal are going to be made,
the most important one being that no changed to the unicode algorithm
will be suggested,
- ICU should be used as a basis for bidi Arabization (its license is
compatible with BSDish, LGPLish and even GPLish licenses),

Here are some quick suggestions when one wants to add Arabic support to
software:
We should focus on quantity of software, so the priority should be
inverting X coordinates, *not* implementing bidi. Convert, convert,
convert, convert... til we have thousands of Arabized software under
hand. Do not focus on console software, Akka should do it all. So we
need people doing the inversion work on X. If we have an X expert who
can point to a quick hack to do this it would be really great.
For those focusing on arabizing one application and have enough energy
to go into bidization, your software should offer 4 choices:
monodirectional English (i.e. the default l2r), monodirectional Arabic
(i.e. the default "mirrored" r2l), bidi English (AKA UAX#9), bidi Arabic
(AKA ICU's inverse bidi).

mmmmmm...
I probably forgot a lot of things, but don't ask me much at 5:30 am
after 16 hours work... I hope I didn't write too much nonsense,
Nighty,
Chahine