我想了解更多有关在ReportLab中使用阿拉伯语的信息。我听说过fribidi和pyfribidi软件包,并尝试了一下(使用与OPEN ERP配置有关的文档之一),但是不幸的是我没有得到最终结果。在这种情况下,请帮助我。
问候
索吉斯
最佳答案
我们将python-bidi http://github.com/mksoft/python-bidi用于RTL支持,将阿拉伯语Writer https://github.com/hasenj/arabic-writer/wiki用于阿拉伯语支持。
import unicodedata
from bidi.algorithm import get_display
import arabic_rtlize
def drawText(canvas, x,y, text):
wrkText=text
isArabic=False
isBidi=False
for c in wrkText:
cat=unicodedata.bidirectional(c)
if cat=="AL" or cat=="AN":
isArabic=True
isBidi=True
break
elif cat=="R" or cat=="RLE" or cat=="RLO":
isBidi=True
if isArabic:
wrkText=arabic_rtlize.forms.fuse(wrkText)
wrkText=arabic_rtlize.process.shape(wrkText)
if isBidi:
wrkText=get_display(wrkText)
canvas.drawString(x, y, wrkText)