I\'m trying to generate a report using reportlab, and the report language is Arabic. but the problem is reportlab doesn\'t support BIDI (Bidirection) Display because of the
python-bidi http://pypi.python.org/pypi/python-bidi/ is a pure python API so presumably it should work fine on windows.
You need to use the RL branch of reportlab and changes any calls to pyfribidi with calls to python-bidi. This link might help http://code.pediapress.com/wiki/wiki/RightToLeft
Here is another pure Python implementation of the Unicode bidi algorithm: http://code.google.com/p/pybidi/
In the meantime I implemented Arabic shaping in Python:
https://github.com/behdad/pyarabicshaping
Python BiDi is a great BiDi algorithm implementation, but it just support bi-direction (As Is) without fixing the contextual form of arabic script, to solve contextual form problem, you should use python-bidi module with an arabic reshaper library called python-arabic-reshaper.
example : (from => http://mpcabd.igeex.biz/python-arabic-text-reshaper/)
import arabic_reshaper
from bidi.algorithm import get_display
#...
reshaped_text = arabic_reshaper.reshape(u'اللغة العربية رائعة')
bidi_text = get_display(reshaped_text)
pass_arabic_text_to_render(bidi_text)
#...
it fixes my problem perfectly, and both packages are pure python implementation.