Hi all
As some of you know, biditext (biditext.so) is a nice hack by Matan Ziv-Av
for making almost any X program display logical hebrew. It works at a
rather low-level (in Xlib) and therefore works almost everywhere (I think
that the only exceptions are gnu emacs and mozilla).
You can find it in:
http://www.cs.bgu.ac.il/~zivav/hebrew/
It works as follows: biditext.so contains XDrawString() and
XDrawImageString() . It is LD_PRELOADed when running the program. Thus
whenever the program tries to print a string with one of those two
functions, the code from biditext.so is used.
The package includes a script called 'biditext' that runs a given program
with biditext.so LD_PRELOADed, so basically you can run:
biditext xchat
and have xchat with 'logical hebrew' support.
The code is exactly the same as the original, except that before printing
the string, is applies a logical->visual conversion on the string (using
fribidi). So whenever the program tries to print a logical hebrew text (as
long as it is in one piece).
Surprisingly enough, such a lowlevel operation is enough for many
programs. For instance, viewing (semi)logical hebrew in netscape,
resonable support for hebrew in IRC programs (although text composition
behaves strangely) hebrew filenames in dialog-boxes (assming you use
iso8859-8 hebrew here. Keep in mind that windows uses unicode for its
filenames. It still works fine on ext2) and even xterm could benefit a
little sometimes.
The original use for Matan was for viewing logicalhebrew pages in
netscape. However, since most pages are still in visual hebrew, it was
required that biditext could be easily disabled. There aren't many ways to
communicate with such a library, so the file-system was used: before
changing the string, biditext checks a predefined filename for existance,
and continues only if this file exists.
Matan also wrote a small GUI that is an indicator and a toggler of that
file, called r2l. However, I'm sure other people here could do better:
Anybody wants to rewrite this as a dock-applet/epplet/kde-applet/
gnome-applet ?
Anyway, I've packaged it along with a couple of menu items (I put r2l and
the menu items in seperate packages to avoid unnecessary dependency
problems):
ftp://linux.org.il/pub/Hebrew/Rpms/srpms/biditext-0.0.3-2.src.rpm
ftp://linux.org.il/pub/Hebrew/Rpms/i386/biditext-0.0.3-2.i586.rpm
ftp://linux.org.il/pub/Hebrew/Rpms/i386/biditext-menu-0.0.3-2.i586.rpm
ftp://linux.org.il/pub/Hebrew/Rpms/i386/biditext-r2l-0.0.3-2.i586.rpm
Enjoy
--
Tzafrir Cohen
mailto:[EMAIL PROTECTED]
http://www.technion.ac.il/~tzafrir
=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]