When i have written the previous entry on aligning menu items in Swing applications, i was blissfully ignorant and thought that the life was good. Thankfully, one of the users of Substance has opened this defect with the following summary - "Menu texts are invisible in RTL orientation".

Why, say you. What's that RTL has to do with my application? Turns out that there are four locales that define the right-to-left orientation (who should know better than me...), Arabic (ar), Hebrew (iw), Persian (fa) and Urdu (ur). Under these locales, the users expect their applications to be layed-out correspondingly. Swing core look-and-feels provide quite a good support for this:

These two screenshots of Metal in Tiger and Metal in Mustang (you can see that Mustang properly aligns the texts, but fails quite miserably at aligning the accelerators):



The same problem with the accelerator alignment on RTL menus under Mustang is with the Windows LAF:



And what happens with the third-party LAFs you ask? Well, it depends. Here's a short chart of nine third-party open-source and commercial LAFs sorted by the degree of current RTL support in the menus (both under Tiger and Mustang):

The above support for RTL menus in Substance is available in the release candidate of version 2.2. In addition, the version 2.3 will provide full support for RTL features (including additional UI elements that Substance adds). Great thanks to the reporter that made me finally think of this and let's hope that the accelerator alignment issue will be addressed in the final release of Mustang.