pygame использует SDL_ttf для рендеринга, так что вы должны быть в хорошей форме при рендеринге.
unifont.org обладает обширными ресурсами шрифтов с открытым исходным кодом для различных сценариев.
Я схватил шрифт Cyberbit pan-unicode и извлек включенный ттф. Следующее «работает на моей машине», которое является 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 от пользователя, ситуация гораздо более мрачная. Pygame не имеет никаких методов ввода.