Я работаю над проектом, основанным на языке урду на платформе Ubuntu. Я использую язык Python и почти выполнил свою задачу.
Проблема в том, что текст на языке урду отображается в обратном порядке.
Например, рассмотрим слово کام
(, что означает произведение ), состоящее из трех букв: ک
,
ا
и م
Вывод отображается в обратном порядке как ماک
, состоящий из трех букв: م
,
ا
и ک
При копировании этого текста в Open Офис или открытие сгенерированного файла XML в Firefox, сгенерированный результат абсолютно желателен.
Я использую Python 2.6 IDLE, он отлично работает с платформой Windows, что ясно показывает, что проблема не в IDLE. Я работаю над библиотекой TKINTER GUI.
Как можно решить эту проблему?
Tkinter - это оболочка для набора виджетов Tk. Согласно http://wiki.tcl.tk/3158 , Tk не поддерживает двунаправленную визуализацию текста, что объясняет, почему символы урду отображались слева направо.
Если у вас нет особой привязанности к Tk, я бы предложил использовать более современный графический инструментарий, такой как GTK или Qt. Если вы должны использовать Tk, вам, вероятно, придется столкнуться с необходимостью вручную изменить порядок символов в порядке представления.
В качестве простого решения попробуйте перевернуть строку и затем отобразить ее. Также посмотрите на варианты локализации в Python. Я не знаю, поддерживает ли Python языки справа налево. Вы получите лучший ответ на этот вопрос, если зададите его в StackOverflow