Bidirectional Support
Main Maintainer
Shachar Shemesh <wine-devel AT SPAMFREE shemesh DOT biz>
What is it?
Some languages, with Hebrew and Arabaic being the most obvious examples, are written from right to left, instead of from left to right like most of the rest of the world. Worse, it is very common for a paragraph written in Hebrew or Arabic to contain elements that are written (and read) from left to right. For example, a Hebrew sentence with digits or Latin reference will be alternately written from right to left and left to right. This is called "BiDi", or "Bidirectional", rendering.
Current Status
Wine has a soft compile time dependency on ICU for BiDi support. This means that if the configure test managed to find ICU on your machine during compilation, Wine will have BiDi support. Bear in mind that this will add between 4MB and 11MB to the size of gdi32.dll.so, and also create a dependency of gdi32.dll.so on the runtime C++ libraries.
Many packages of Wine, including CrossOver Office, consider this (especially the later) unacceptable, and do not ship BiDi enabled Wine. Work is currently being done to move the C++ dependency out of gdi32.dll.so, and into an independent DLL (Uniscribe), turning the dependency on the C++ libraries into a true soft dependency, and hopefully allowing more packagers to package BiDi enabled Wine. This will also work if the DLL is replaced with the native Uniscribe DLL.
