biditext.so is a shared library that replaces the XDrawString function from the libX11 library, with one that supports bidirectional printing. This library requires Dov Grobgeld's fribidi-0.1.6 library (available from http://imagic.weizmann.ac.il/~dov/freesw/FriBidi), which requires glib. To compile, run the make.sh script. To install, simply copy biditext.so to a location where any user that might need to use it can access it (e.g, /usr/local/lib). To use, make sure the library is loaded by the dynamic loader (ld-linux.so), before libX11.so. This is usually done by setting the LD_PRELOAD environment variable. For example, to run netscape on a Mandrake 6 system (using bash), I use: $ export LD_PRELOAD=/usr/local/lib/biditext.so $ touch /tmp/.rev $ /usr/lib/netscape/netscape-communicator XDrawString changes the direction of the text only when a file /tmp/.rev exists, so when it does not exist, it behaves, exactly like the normal function from libX11.so. Creating or removing this file takes affect immediately, so it can be used when using netscape to browse hebrew sites, and moving between pages that use different directionality. Known Bugs: Occasional Bus errors, usually when quiting netscape. Author: Matan Ziv-Av (matan@svgalib.org) Copyright: This program is in the public domain. The included Xlibint.h is from the X Consortium.