Обратный рендеринг шрифтов урду
Я работаю над проектом, основанным на языке урду на платформе Ubuntu. Я использую язык Python и почти выполнил свою задачу.
Проблема в том, что текст на языке урду отображается в обратном порядке.
Например, рассмотрим слово کام
(что означает работа), состоящий из трех букв: ک
,ا
, а такжеم
Вывод отображается в обратном порядке как ماک
состоящий из трех букв:م
, ا
, а такжеک
При копировании этого текста в Open Office или открытии сгенерированного XML-файла в Firefox, сгенерированный результат является абсолютно желательным.
Я использую Python 2.6 IDLE, он отлично работает с платформой Windows, что ясно показывает, что проблема не в IDLE. Я работаю над библиотекой TKINTER GUI.
Как можно решить эту проблему?
2 ответа
У меня была похожая проблема с арабским языком. Tkinter - это интерфейс Python для инструментария Tk GUI, который, к сожалению, не поддерживает двунаправленные языки.
Мое решение было использовать вместо wxPython. wxPython также хорош, потому что ваше приложение будет выглядеть нативно на любой используемой платформе.
Более подробную информацию об отсутствии поддержки со стороны Tk можно получить здесь: http://easygui.wordpress.com/2010/02/03/easygui-and-unicode/
Используйте набор инструментов, который не является ужасным, например, PyQt, PyGTK или wxPython.