We've been trying to figure out why Hebrew text is drawn incorrectly in JUCE (in e.g. buttons , labels etc)
I finally figured out that 'drawText', etc simply don't work correctly.
When I replaced (in my own LookAndFeel) the call to drawText* with AttributedString draw, the text was drawn correctly.
The manifestation of the problem is that chunks of the text will not appear, especially if there is a space (e.g. not-RTL) char inside the string. If the text were "ABC DEF" (assuming they are RTL chars) then the output looked like "ABC D F" or some other mashup.
At first I thought there was a problem where my code was messing up the string, but printf right before the calls showed that wasn't the issue, and changing to AttributedString seems to have solved the problem. I assume a similar problem would occur with Arabic and other RTL languages.