Обратный рендеринг шрифтов урду

Я работаю над проектом, основанным на языке урду на платформе Ubuntu. Я использую язык Python и почти выполнил свою задачу.

Проблема в том, что текст на языке урду отображается в обратном порядке.

Например, рассмотрим слово کام (, что означает произведение ), состоящее из трех букв: ک,
ا и م

Вывод отображается в обратном порядке как ماک, состоящий из трех букв: م,
ا и ک

При копировании этого текста в Open Офис или открытие сгенерированного файла XML в Firefox, сгенерированный результат абсолютно желателен.

Я использую Python 2.6 IDLE, он отлично работает с платформой Windows, что ясно показывает, что проблема не в IDLE. Я работаю над библиотекой TKINTER GUI.

Как можно решить эту проблему?

7
задан 22 March 2014 в 22:12

2 ответа

Tkinter - это оболочка для набора виджетов Tk. Согласно http://wiki.tcl.tk/3158 , Tk не поддерживает двунаправленную визуализацию текста, что объясняет, почему символы урду отображались слева направо.

Если у вас нет особой привязанности к Tk, я бы предложил использовать более современный графический инструментарий, такой как GTK или Qt. Если вы должны использовать Tk, вам, вероятно, придется столкнуться с необходимостью вручную изменить порядок символов в порядке представления.

0
ответ дан 22 March 2014 в 22:12

В качестве простого решения попробуйте перевернуть строку и затем отобразить ее. Также посмотрите на варианты локализации в Python. Я не знаю, поддерживает ли Python языки справа налево. Вы получите лучший ответ на этот вопрос, если зададите его в StackOverflow

0
ответ дан 22 March 2014 в 22:12

Другие вопросы по тегам:

Похожие вопросы: