乌尔都语字体的反向渲染

Sye*_*air 7 python programming fonts rtl

我正在开发一个基于 Ubuntu 平台乌尔都语的项目。我正在使用 Python 语言并且几乎完成了我的任务。

问题是,乌尔都语文本以相反的顺序呈现。

例如,考虑的话???这意味着工作)由三个字母组成: ?
?,和 ?

输出以相反的顺序呈现为 ??? 包括三个字母的: ?
?,和 ?

将此文本复制到 Open Office 或在 Firefox 中打开生成的 XML 文件时,生成的结果是绝对需要的。

我使用的是 Python 2.6 IDLE,它与 Windows 平台完美配合,这清楚地表明它不是 IDLE 的问题。我正在研究 TKINTER GUI 库。

如何解决这个问题?

Jam*_*dge 5

Tkinter 是 Tk 小部件集的包装器。根据http://wiki.tcl.tk/3158,Tk 不支持双向文本渲染,这可以解释为什么乌尔都语字符从左到右显示。

除非您对 Tk 有特定的附件,否则我建议您使用更现代的图形工具包,如 GTK 或 Qt。如果您必须使用 Tk,您可能会遇到需要手动将字符重新排序为演示顺序的问题。


bin*_*inW 1

作为一个简单的解决方案,尝试反转字符串然后显示它。另请参阅 Python 中的本地化选项。我不知道Python是否支持从右到左的语言。如果你在StackOverflow上提问,你会得到更好的答案