Just thought I’d mention PyBidi <https://github.com/ldo/pybidi>, my Python 3 wrapper for all the functionality in FriBidi that I could usefully find, that I threw together over the weekend.
I’m impressed that FriBidi doesn’t just do bidirectional logical-to-visual rearrangement, but it will also perform contextual substitutions for Arabic ligatures, which look (to my nonexpert eyes) like they might be good enough for day-to-day written text, without having to resort to HarfBuzz, or Pango, or sophisticated stuff like that. (Feel free to point out I’m wrong; the only language I have any familiarity with that uses, or used to use, Arabic script, is Malay written in the old “Jawi” script.) -- https://mail.python.org/mailman/listinfo/python-list