Right-To-Left (RTL) languages and Wine

Shachar Shemesh shachar at shemesh.biz
Sun Aug 8 00:55:58 CDT 2010

Paul Vriens wrote:
> Hi,
> I've been in talks with a Hebrew translator for some time now and I'd 
> like to have Wine being able to start doing more RTL stuff.
> I'm looking for example at http://bugs.winehq.org/show_bug.cgi?id=1158
> If I run an English winmine.exe on an Arabic box (thanks to the 
> testbot) the main window will shows as normal LTR window layout with 
> the menu's left justified as well.
> So eventhough the locale is set to Arabic it doesn't turn 'everything' 
> into RTL.
> If we don't change the resource files for the RTL languages, that same 
> logic will give us LTR Wine applications or am I wrong here?
An English app running on a Hebrew Windows does not automatically get 
entirely reversed. There are two parts to this question, and I believe 
that Wine should handle those parts differently.

One part are the Windows decorations - close button, minimize, maximize, 
etc. Under Windows, if an application is reversed, so are these. I 
believe Wine should not attempt to replicate this behavior for the 
following reasons:

    * It is a broken design decision. Its implications are that on the
      same desktop, some windows have their close button on the left,
      others on the right. In my experience, this does nothing to
      enhance the user's experience.
    * It is difficult to implement. The decorations on Wine windows are
      drawn by the X window manager. We would have to convince each
      window manager to reverse the window decorations on our say so. I
      am not aware of such an API existing, which means lots and lots
      and lots of bugs.
    * As an aggregate of the above two - the window decorations are,
      today, not defined by Wine to be part of the "windows experience",
      and as such, if the Windows behavior is broken, we need not
      replicate it.

The other part is the actual content of the window. Here there is a need 
to support exactly what Windows is doing, as that is the API. As a side 
note, I'll add that I think that is broken too. Mirroring should not be 
done automatically, and reading the MSDN article that Dmitry references 
just shows how many ways it can, indeed, break. That said, Wine did 
commit to being bug-compatible with Windows, so that part should, 
*eventually*, be implemented.

I do agree with Alexandre that there are many things more pressing on 
the BiDi front to handle.


Shachar Shemesh
Lingnu Open Source Consulting Ltd.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20100808/cd8570f0/attachment.htm>

More information about the wine-devel mailing list