python - 尝试用 pygame 绘制西里尔字符时出现方 block

标签 python python-2.7 pygame cyrillic

我正在使用 Python 2.7 和 Pygame(使用 Anaconda)开发一个应用程序。在应用程序中,我尝试用西里尔字符绘制文本,但它永远无法正确显示。我知道这可能是一个编码问题,因此我在脚本顶部添加了这一行:

#!/usr/bin/env python2
# -*- coding: utf-8 -*-

...然后我在传递的每个字符串前面添加一个“u”。这有帮助,但只是部分帮助 - 现在,我得到的是方 block ,而不是错误的字符!

有趣的是控制台打印出所有内容都很好。

为什么会发生这种情况以及如何解决它?

最佳答案

发生这种情况可能是因为您用于呈现文本的字体缺少西里尔字符。尝试找到 100% 西里尔字母的字体,然后按以下方式渲染文本:

my_font = pygame.font.Font("path/to/cyrillic_font.ttf", 12)
text_surface = my_font.render(u"Текст", True, (255, 255, 255))

关于python - 尝试用 pygame 绘制西里尔字符时出现方 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47218571/

相关文章:

python - pyaes和Python 3中byte和str的关系?

python - 如果相应(相同索引点)列 B 的条件成立,则将函数应用于列 A

python-2.7 - elasticsearch-dsl 使用 from 和 size

python - django python - 关系不存在

python - 在不同的 x 位置生成类的多个实例 pygame

python - 1054, 'field list' 中的未知列

python - 将 pandas 列中的字典转换为字典值

python - Python 中有类似 "void lambda"的东西吗?

python - 具有碰撞对的非碰撞对象,Pymunk Pygame

python - Pygame 窗口在 Mac 上不接收键盘事件