BiDi support

Shachar Shemesh wine-devel at sun.consumer.org.il
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
>direction).
>
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.
>
>Huw.
>
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 
ExtTextOutW.

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.

                Shachar





More information about the wine-devel mailing list