PyGameで漢字を表示するにはどうすればよいですか?そして、この目的に使用するのに適したfree / libreフォントは何ですか?
7727 次
3 に答える
7
pygame はレンダリングに SDL_ttf を使用するため、レンダリングが進むにつれてうまくいくはずです。
unifont.orgには、さまざまなスクリプト用のオープンソース フォントに関する広範なリソースがあるようです。
Cyberbit 汎 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 には、いかなる種類の入力メソッドもありません。
于 2009-03-21T02:10:27.923 に答える
0
私の知る限り、自分で試したことはありませんが、PyGame は、中国語の文字を含む Unicode 文字列を渡したときに動作するはずです。u'\u4e2d\u56fd'.
かなりの数の適切なオープン ライセンス フォントについては、http://www.unifont.org/fontguide/の「東アジア」を参照してください。
于 2009-03-21T02:08:56.243 に答える