tkinter无法正确显示unicode字符

2024-06-02 05:03:21 发布

您现在位置:Python中文网/ 问答频道 /正文

python和tkinter正在正确处理unicode字符。在

但是它们不能正确显示unicode编码的字符。在

我在Ubuntu中使用python3.1和tkinter。我尝试使用泰米尔unicode字符。在

所有的处理都是正确的。但显示错误?在

这是一个错误的显示

wronghttps://docs.google.com/leaf?id=0B7YA7kky_NEoM2U3MzI5NGUtNTk2NC00MzYzLTk1N2YtMTJjYTA0Yjc0MmE1&hl=en_GB&authkey=CKORhugK

这是正确的显示(如在gedit中)

correcthttps://docs.google.com/leaf?id=0B7YA7kky_NEoNDBmMzYzOWEtMjY5Ny00NWM5LWE0MWYtMTg1ZDVhOGQ2MmEz&hl=en_GB&authkey=CPWhi74J

有人能帮忙吗?在


Tags: httpscomiddocstkinter错误googleunicode
3条回答

我也遇到过类似的问题,发现我使用了零宽度连接符(U+200D)来显式地告诉渲染引擎连接两个字符。这在2010年是可行的,但是看起来在渲染引擎中有了变化(我现在知道了),现在在2011年,我发现有了joiner就产生了问题!(它破坏了我的工作代码)我必须删除显式的零宽度连接符才能让我的代码再次工作。希望这有帮助。在

看起来Tk处理不当,比如“零级组合标记”,请参见: http://www.unicode.org/versions/Unicode6.0.0/ch04.pdf#G124820(表4-4)

我假设没有正确显示的序列之一是代码点:0BA9 0BC6(泰米尔语音节NNNE),其中0BC6是根据Unicode标准重新编排的类零组合标记,这基本上意味着字形被交换。在

解决这个问题的唯一方法是在Tk bug跟踪器上提交一个bug,并希望它得到修复。在

没有代码很难诊断程序。看看你能不能把代码简化成能显示问题的简短代码,然后把它贴出来。在

我不熟悉泰米尔文字,而且它们很小,但是看屏幕截图,看起来所有的字形都在那里,但是某些字形被交换了,对吗?在

(嗯,我想这应该是“评论”,而不是“回答”。还在这个网站上找路。)

相关问题 更多 >