如何在Python库中使用非欧洲语言
我最近刚开始学习编程,最近在尝试使用pygame(一个用Python写游戏的模块集合)。我想做一个程序/游戏,其中一些标签、字符串、按钮等是阿拉伯语的。我在想,pygame是不是支持阿拉伯字母?可能不支持吧?或者我可以使用其他支持阿拉伯语的图形界面库,然后和pygame一起使用吗?任何建议都非常感谢!
3 个回答
之前的两个回答都很不错。还有一个非常好用的内置Python函数叫做unicode,使用起来非常简单。
我想写希伯来文,所以我写了一个函数:
def hebrew(text):
# Encoding that supports hebrew + punctuation marks
return unicode(text, "Windows-1255")
然后你可以这样调用它:
hebrew("<Hebrew text>")
这样它就会把你的文本转换成希伯来文编码。
Python 支持使用unicode编码的源代码。
要设置你的源文件编码类型,可以在文件最开始加上一行,格式是 # coding: [你的编码]
。我觉得 # coding: utf-8
对阿拉伯语是有效的。
然后在你的字符串前面加一个 u
,像这样:
u'アク'
(如果你没有安装日文字体,抱歉,这是我手头唯一的字体!)
这样做会让Python把这些字符串当作unicode字符来处理。如果你想了解更多关于阿拉伯语的具体信息,可以查看 这个网站。
其实,Python本身对所有内容都使用Unicode,所以这不是问题。快速搜索一下也能发现,PyGame应该能够很好地显示Unicode字体。因此,我猜问题可能是它找不到适合特定语言的字体来进行显示。
这里有一个关于PyGame的简短示例,特别是这个链接应该会很有用。
这个是重要的库——所以指定一个能够显示你所用语言的字体,并用它来进行显示应该没问题。写一个小的封装程序可能是个好主意。
注意:我自己没有使用过PyGame,所以这些都是基于推测和一些快速搜索得来的关于PyGame如何显示字体的信息。
另外,如果你想让游戏对所有用户都能可靠地运行,最好在发布时包含一个开源字体,否则你需要一些方法来检查用户是否安装了合适的字体——如果你想支持多个平台,这可能是个不小的问题。