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