Fuentes Unicode en PyGame

¿Cómo puedo mostrar los caracteres chinos en PyGame? ¿Y cuál es una buena fuente libre / libre para usar con este propósito?

pygame usa SDL_ttf para renderizar, por lo que debes estar en buena forma a medida que avanza la renderización.

Unifont.org parece tener algunos recursos extensos en fonts de código abierto para un rango de scripts.

Tomé la fuente Pan-Unicode de Cyberbit y extraje el ttf incluido. El siguiente ‘funcionó en mi máquina’, que es un Windows Vista Home Basic y 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() 

Siempre y cuando solo estés mostrando texto Unicode, deberías estar en una forma fantástica. Sin embargo, si desea leer realmente la entrada Unicode del usuario, la situación es mucho más sombría. Pygame no tiene métodos de entrada de ningún tipo.

Por lo que sé, y no lo he intentado yo mismo, PyGame debería funcionar cuando le pasas una cadena Unicode que contiene caracteres chinos, por ejemplo. u ‘\ u4e2d \ u56fd’.

Consulte ‘East Asia’ en http://www.unifont.org/fontguide/ para ver algunas fonts de licencia abierta adecuadas.