pyfribidi для окон или любой другой алгоритм bidi

Я пытаюсь создать отчет с помощью reportlab, а язык отчета – арабский. но проблема в том, что reportlab не поддерживает отображение BIDI (Bidirection) из-за отсутствия поддержки BIDI-алгоритма в Python. после многих поисковых запросов я обнаружил, что есть обертка вокруг Гнома Фрибиди, называемого PyFribidi . но он скомпилирован и работает только в Linux, я пытался его создать на Windows, используя mingwin, но компиляция не удалась, потому что много Linux-файлов не найдено.

Мой вопрос в том, есть ли реализация двунаправленного алгоритма Unicode в python, которая работает на окнах?

Благодарю.

4 Solutions collect form web for “pyfribidi для окон или любой другой алгоритм bidi”

python-bidi http://pypi.python.org/pypi/python-bidi/ – это чистый API-интерфейс python, поэтому, по-видимому, он отлично работает на окнах.

Вам нужно использовать ветвь RL reportlab и изменять любые вызовы pyfribidi с вызовами python-bidi. Эта ссылка может помочь http://code.pediapress.com/wiki/wiki/RightToLeft

Вот еще одна чистая реализация Python алгоритма бидикода Unicode: http://code.google.com/p/pybidi/

Python BiDi – отличная реализация алгоритма BiDi, но он просто поддерживает двунаправленную (As Is) без фиксации контекстной формы арабского скрипта, чтобы решить проблему контекстной формы, вы должны использовать модуль python-bidi с арабской библиотекой reshaper под названием python- арабик-reshaper .

пример: (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) #... 

он отлично исправляет мою проблему, и оба пакета – это чистая реализация python.

Тем временем я реализовал арабский стиль в Python:

https://github.com/behdad/pyarabicshaping

Python - лучший язык программирования в мире.