如何在pygame的屏幕标题上添加非英语字符?

时间:2018-12-18 17:42:49

标签: python python-3.x pygame

我想制作一个带有西里尔文字的程序。我编写了这段代码,该代码将打开一个窗口,用俄语显示标题,并在屏幕上显示一些俄语文本(意为Rasputin)。西里尔字体文件支持西里尔文本。

import pygame as pg

pg.init()
pg.font.init()
font = pg.font.Font("Cyrillic-font.ttf",24)
gameDisplay = pg.display.set_mode((600, 400))
pg.display.set_caption("Распутин")


gameExit = False

while not gameExit:
    for event in pg.event.get():
        if event.type == pg.QUIT:
             gameExit = True
    gameDisplay.fill((255,255,255))
    text = font.render("Распутин",True,(255,0,0))
    gameDisplay.blit(text,(200,200)) 
    pg.display.update()
quit()

程序将在屏幕上显示文本。但是,标题中显示的只是“ ????????”。我试图在font.render中使用pg.display.set_caption(),但是由于font.render给出了pygame表面而不是字符串,因此无法正常工作。

1 个答案:

答案 0 :(得分:-1)

我认为这是操作系统设计失败。

在Windows 10 Pro中,我刚刚将“区域设置”更改为俄语。在“行政区域”中找到它。全部保留旧的语言和文本俄语文本带有西里尔字母。

也许不是最好的解决方案,但是它可行。