9

PyGameで漢字を表示するにはどうすればよいですか?そして、この目的に使用するのに適したfree / libreフォントは何ですか?

4

3 に答える 3

7

pygame はレンダリングに SDL_ttf を使用するため、レンダリングが進むにつれてうまくいくはずです。

unifont.orgには、さまざまなスクリプト用のオープンソース フォントに関する広範なリソースがあるようです。

Cyber​​bit 汎 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 に答える