我无法在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和一个新的文本框中输入