我尝试使用reportlab生成一个报告,报告语言是阿拉伯语。但问题是reportlab不支持BIDI(Bidirection)显示,因为Python中缺少BIDI Algorithm支持。经过大量的google搜索,我发现在Gnome Fribidi周围有一个名为PyFribidi的包装器。但是它只在Linux上编译和运行,我试图用mingwin在windows上构建它,但是编译失败了,因为很多Linux库没有找到。在
我的问题是,在python中有没有在windows上运行的Unicode双向算法实现?在
谢谢。在
Python BiDi是一个很好的BiDi算法实现,但它只支持双向(As-is),而不修复阿拉伯语脚本的contextual form,要解决上下文形式问题,应该使用python BiDi模块和一个名为python-arabic-reshaper的阿拉伯语整形器库。在
示例:(from=>;http://mpcabd.igeex.biz/python-arabic-text-reshaper/)
它完美地解决了我的问题,两个包都是纯python实现。在
同时,我在Python中实现了阿拉伯语整形:
https://github.com/behdad/pyarabicshaping
python bidihttp://pypi.python.org/pypi/python-bidi/是一个纯python API,因此它应该可以在windows上正常工作。在
您需要使用reportlab的RL分支,将对pyfribidi的任何调用更改为对python bidi的调用。此链接可能有助于http://code.pediapress.com/wiki/wiki/RightToLeft
相关问题 更多 >
编程相关推荐