BiDi support

Shachar Shemesh wine-devel at
Mon Mar 25 05:49:51 CST 2002

Huw D M Davies wrote:

>Hi Shachar,
>Assuming you're using client side rendered fonts then most of the font
>support for Hebrew/Arabic/whatever should be in the tree, so that you
>should be able to render any glyph with a Unicode point that exists in
>the font (I'd like to konw of any problems you find in this
Checked that, and it worked ok for Hebrew. I am not sure about Arabic, 
as it requires special inter-letter dependant rendering.

>For simple bidi support you probably need to implement
>GetCharacterPlacement.  (ExtTextOut has had some basic R->L support
>added to it only from Windows 2000).
I only tested this on Windows 2000, but on it ExtTextOut correctly 
renders R->L characters, unless some of the flags are set (for example, 
the flags that tells it that all language processing is already done.

>I'm very interested in getting non-roman languages working, so if you
>need any help please let me know.
One thing that I don't know how to make work is changing the default 
codepage for a WINE application. Is that directly affected from the Unix 
one? If not, how do I configure it?

Like I said, I got DrawTextW to print Hebrew characters, but not 
DrawTextA. I suspect that it interpreted the chars as ISO 8859-1, and 
therefor printed accented latin. From my understanding of the Wine code, 
this is not due to the X codepage, as Wine calls ExtTextOut for all its 
text output, and ExtTextOutA simply converts to Unicode and calls 

I still feel like a novice in this area, as there are some pretty basic 
stuff about Wine I feel I don't know. I am slowly getting up to speed to 
be able to do this properly and with as little impact on the rest of the 
code as possible.


More information about the wine-devel mailing list