2024-04-25 22:49:59 发布
网友
如何在PyGame中显示汉字?有什么好的free/libre字体可以用于此目的呢?
据我所知 - 而且我自己也没有尝试过 - PyGame应该只在您传递包含中文字符的Unicode字符串时起作用,例如u'\u4e2d\u56fd'。
请参阅http://www.unifont.org/fontguide/下的“东亚”以获取许多合适的开放许可证字体。
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没有任何类型的输入方法。
据我所知 - 而且我自己也没有尝试过 - PyGame应该只在您传递包含中文字符的Unicode字符串时起作用,例如u'\u4e2d\u56fd'。
请参阅http://www.unifont.org/fontguide/下的“东亚”以获取许多合适的开放许可证字体。
pygame使用SDL_ttf进行渲染,因此在渲染过程中应该保持良好的状态。
unifont.org似乎有一些关于一系列脚本的开源字体的丰富资源。
我抓起Cyberbit pan unicode字体,提取了隐藏的ttf。下面的“在我的机器上工作”是Windows Vista Home Basic和Python 2.6:
只要你只是显示unicode文本,你应该是在奇妙的形状。然而,如果您真的想从用户那里读取unicode输入,那么情况就更糟了。Pygame没有任何类型的输入方法。
相关问题 更多 >
编程相关推荐