LAnguages such as Hebrew and Arabic are written from
right to left. Hence processing them requires
"bidirectiona" text rendering: the text flows in some
cases from left to right and in others: from left to right.
fribidi is one of the libraries used for bidirectional
text rendering. It is used in, e.g., GTK. It provides
methods for converting logical text string (the text as
it is stored) to a visual string (the text as it is
displayed, after rearanges).
In IceWM texts are all very simple: all of them are in
a single line, and normally without special formatting.
Thus all that is needed to be done for bidirectional
rendering is to filter them once (exactly once) through
fribidi's log2vis function. And this is what this
This is a preliminary patch against 1.2.21pre1 (the
version in Debian Sarge) which I have installed.
Note that the patch only handles the case of UTF-8.
Possible optimization: only filter through it strings
with right-to-left characters.