Shape Arabic text on a character basis.
Text-based shaping means that some character codepoints in the text are replaced by others depending on the context. It transforms one kind of text into another. In comparison, modern displays for Arabic text select appropriate, context-dependent font glyphs for each text element, which means that they transform text into a glyph vector.
You probably want to call this with the LettersShape option in the default case.