在ReportLab中使用阿拉伯语(RTL)

时间:2011-11-22 05:44:21

标签: arabic reportlab

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

此致 Soorjith P

2 个答案:

答案 0 :(得分:2)

我们使用python-bidi http://github.com/mksoft/python-bidi进行RTL支持,使用Arabic Writer 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)

答案 1 :(得分:0)

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

http://openerparabia.org/

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

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

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

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

    http://openerparabia.org/


    我们收集了OpenERP中正确的阿拉伯语支持所需的补丁,并将它们打包成一个补丁。

    该补丁及其应用说明发布于: https://bitbucket.org/openerparabia/openerp-arabic-support

    补丁解决了两个问题:

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

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