格鲁吉亚语的翻译结果:Python



我无法在Text小部件中使用标准的格鲁吉亚语言进行书写。用问号代替字母。当没有字体时,即在编写代码时,格鲁吉亚字体识别没有问题。另外,如果我复制用格鲁吉亚语写的单词并插入到文本小部件中,它将正确显示。

这是在屏幕上显示文本框的基本代码,我想在其中用格鲁吉亚语写一个单词。

import tkinter

root = tkinter.Tk()
txt = tkinter.Text(root)
txt.pack()
root.mainloop()

第一张图片显示了当选择格鲁吉亚语言时单词的显示方式。

第二个镜头,在我用格鲁吉亚语编写代码时,预先定义了文本字段的值。在本例中,字段中的文本将正常显示。

好的,我是这样做到的:
首先,确保你的电脑上安装了格鲁吉亚字体;如果没有,那就去下载一个(我从这里下载了我的);
现在,转到您的tkinter程序,并将字体添加到您的Text小部件:

txt = tkinter.Text(root, font=("AcadNusx", 16))

注1:我的字体名支持格鲁吉亚是AcadNusx,但你可以不同;
注2:如果您没有导入Font,请在程序开始时导入;
注意3:不要将您的计算机字体更改为georgia,因为您已经在程序中更改了它,所以请确保它设置为English

到目前为止我能确定的最好的答案是tk不喜欢georgia和键盘输入,至少在Windows上不喜欢。

字符的"翻译"通常被称为"音译"。

Tk文本使用Unicode的基本多语言平面(BMP,前2**16个码点)。这包括格鲁吉亚字母。第二张图片显示,一旦字符出现在小部件中,系统上的默认Text小部件字体完全能够显示格鲁吉亚字符。所以一个新的显示字体似乎并不能解决你的问题。("在Firefox上是可见的,因为FF是基于unicode的,可以显示大部分(如果不是全部的话)BMP。

看起来问题是在不经过编辑器的情况下获得正确的代码。你用的是什么操作系统和编辑器。如何输入类似于

的混合字母行?
txt.insert('1.0', 'ქართული ენა')  # ?  (I cannot copy the image string.)

你是如何运行Python代码的?如果你把问号从第一张图片上剪下来并插入到

for c in '<insert here>': print(ord(c))

你看到了什么?

你需要一个"格鲁吉亚键盘输入"或"输入法"程序(谷歌显示了几个)为你的操作系统,将允许你来回切换发送ascii码和格鲁吉亚码到任何程序读取键盘。

Windows现在有了这个功能,根据具体情况激活语言。我已经有了西班牙语条目,有了它,我可以在这里和在IDLE和一个新的文本框中输入和ñ。然而,当我添加格鲁吉亚语时,我可以在这里输入(随机的;-)(在FireFox中,也在MS Edge中),但只能得到??????文本框。这些是实际的ascii问号,ord('?') = 63,而不是替换无法表示的代码。日语也适用于基于tk文本的IDLE。所以georgia的问题并不适用于所有非拉丁字母。

最新更新