2011-11-22 145 views
3

我想了解更多关于在ReportLab中使用阿拉伯语的信息。我听说过fribidi和pyfribidi软件包,并尝试了一些(使用与OPEN ERP配置相关的文档之一),但不幸的是我没有得到最终结果。请帮我解决这个问题。在ReportLab中使用阿拉伯语(RTL)

问候 Soorjith P

+0

同样的问题线索:http://stackoverflow.com/questions/6137119/pyfribidi-for-windows-or-any- other-bidi-algorithm/12647778#12647778 – MBarsi

回答

2

我们使用Python,比迪http://github.com/mksoft/python-bidi对RTL支持和阿拉伯语言支持阿拉伯语作家http://wiki.github.com/hasenj/arabic-writer

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) 
+0

完美运作。 – Darioush

0

قمنابجمعالتعديلاتاللازمةلدعماللغةالعربيةعلىنظامأوبنإيآربيفيملفتعديل(补丁)واحد。 يحويهذاالرابطتعليماتمفصلةلكيفيةتطبيقهذهالتعديلاتعلىدبيانلينكس。

http://openerparabia.org/

تحلهذهالتعديلاتمشكلتين:

  1. استخداماللغةالعربيةفيواجهةالاستخداملعميلويب(web客户端): بعدتطبيقهذهالتعديلات,ستظهرجميععناصرالواجهةالمترجمةباللغةالعربيةحيناختياركللغة العربيةكلغةالمستخدم。

  2. 有关العربيةبشكلصحيحفيالتقارير(PDF)。

مجتمعأوبنإيآربيالعربي

http://openerparabia.org/


我们收集了在OpenERP的正确阿拉伯语言支持需要,并将其打包成一个单一的补丁补丁。

补丁,随着指令来应用它,在公布: https://bitbucket.org/openerparabia/openerp-arabic-support

这个补丁解决了两个问题:

  1. Web客户端用户界面语言设置为阿拉伯语 标准OpenERP安装将无法加载所有翻译:实际使用的翻译短语多得多。该补丁允许使用所有翻译。 (有关详细信息,请参见https://bugs.launchpad.net/openobject-server/+bug/1019804)。

  2. 显示PDF报告中的阿拉伯字符。