BiDi

Bidirectional Support

Main Maintainer

Shachar Shemesh <wine-devel AT SPAMFREE shemesh DOT biz>

What is it?

Most languages around the world are written from left to right. Some other languages are written from right to left. Hebrew and Arabic are the most obvious examples, but it is also very common for a paragraph written in Hebrew or Arabic to contain elements in the paragraph 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. It is possible to customize ICU to about 100KB with some customization, but that requires statically linking ICU and using the stub ICU data library, which isn't normally available by default.

Many packages of Wine, including CrossOver Office, consider the C++ runtime dependency 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.

BiDi (last edited 2008-11-03 02:42:35 by LinkUpdater)