如何在PyGame中显示中文字符?什么是一个很好的免费/自由字体用于此目的?
pygame使用SDL_ttf进行渲染,因此渲染时应该处于良好状态.
unifont.org似乎在一系列脚本的开源字体上有一些广泛的资源.
我抓住了Cyberbit pan-unicode字体并提取了包含的ttf.下面的'在我的机器上工作'是一个Windows Vista Home Basic和Python 2.6:
# -*- coding: utf-8 -*- import pygame, sys unistr = u"?? ?" pygame.font.init() srf = pygame.display.set_mode((640,480)) f = pygame.font.Font("Cyberbit.ttf",20) srf.blit(f.render(unistr,True,(0,0,0)),(0,0)) pygame.display.flip() while True: srf.blit(f.render(unistr,True,(255,255,255)),(0,0)) for e in pygame.event.get(): if e.type == pygame.QUIT: pygame.quit() sys.exit()
只要你只显示unicode文本,你应该处于梦幻般的状态.但是,如果您想要实际读取用户的unicode输入,情况会更加黯淡.Pygame没有任何类型的输入方法.