乌尔都字体的反向渲染

2 投票
2 回答
945 浏览
提问于 2025-04-16 09:50

我正在一个基于乌尔都语的项目上,使用的是Ubuntu系统,编程语言是Python,基本上已经完成了我的任务。

但是遇到的问题是,乌尔都语的文本显示是反向的。

比如说,考虑这个词 کام意思是工作),它由三个字母组成: ک ,
ا , 和 م

但是输出的结果却是反过来的,变成了 ماک,由三个字母组成: م,
ا, 和 ک

当我把这个文本复制到Open Office,或者在Firefox中打开生成的XML文件时,结果是完全正确的。

我使用的是Python 2.6的IDLE,在Windows平台上运行得很好,这明显说明问题不在IDLE上。我正在使用TKINTER这个图形界面库。

这个问题该怎么解决呢?

2 个回答

-1

使用一些好用的工具包,比如PyQt、PyGTK或者wxPython,这些都不错。

0

我之前也遇到过类似的问题,涉及到阿拉伯语。Tkinter是一个用来创建图形界面的Python工具,但可惜的是,它对双向语言(像阿拉伯语这样的语言)没有支持。

我的解决办法是换用wxPython。wxPython的好处是,无论在哪个平台上运行,你的应用看起来都像是本地的应用。

关于Tk不支持双向语言的更多信息,可以在这里找到:http://easygui.wordpress.com/2010/02/03/easygui-and-unicode/

撰写回答