乌尔都语字体的反向渲染

乌尔都语字体的反向渲染

我正在 Ubuntu 平台上基于乌尔都语的项目。我使用 Python 语言,几乎完成了我的任务。

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

例如,考虑这个单词کام(这意味着工作)由三个字母组成: ک
ا、 和 م

输出以相反的顺序呈现, ماک 由三个字母组成: م
ا,和 ک

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

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

这个问题该如何解决?

答案1

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

除非您对 Tk 情有独钟,否则我建议您使用更现代的图形工具包,如 GTK 或 Qt。如果您必须使用 Tk,则可能需要手动将字符重新排序为显示顺序。

答案2

一个简单的解决方案是尝试反转字符串然后显示它。另外,查看 Python 中的本地化选项。我不知道 Python 是否支持从右到左的语言。如果你在堆栈溢出

相关内容