This is a feature that I wanted to add for a long time.
Support for right to left languages and especially Arabic is quite complex and there will probably be some rough edges.
The complexity related to Arabic stems from the fact that the characters glyphs differ based on all kinds of rules. BCTextEngine, at its core, manages glyphs. The solution is based on mapping from the standard unicode characters to a "display only" Unicode block: https://en.wikipedia.org/wiki/Arabic_Presentation_Forms-B