2017-12-11 14 views
1

私は英語以外の文字、特にアムハラ語の文字を含む必要があるいくつかのpygameプロジェクトを持っていました。しかし、私のテキストエディタが文字を読み書きしても、pygameはそれらを理解していないように見えますが、それをボックスにするだけです。ここpygame画面に外国の文字を書く

は私が作ったコードのシンプルで同様の例である:

import pygame,sys 
from pygame.locals import * 
#   R G B 
BLACK = ( 0, 0, 0) 
WHITE = (255, 255, 255) 
pygame.init() 
fontObj = pygame.font.Font('freesansbold.ttf', 25) 
screen = pygame.display.set_mode((400,400)) 
screen.fill(WHITE) 
pygame.display.update() 
while True: 
    letterw= fontObj.render('በ', True, BLACK,WHITE)#this letter for example appeas as a box in the pygame screen 
    #------------------------?--------------------- 
    letterwobj= letterw.get_rect() 
    letterwobj.center = (20, 20) 
    screen.blit(letterw,letterwobj) 
    for event in pygame.event.get(): 
     if event.type == QUIT: 
      pygame.quit() 
      sys.exit() 
    pygame.display.update() 

私はどんな提案、助けをフル感謝でしょう。

+1

これらの文字を含むフォントを見つけて使用する必要があります。 – skrx

答えて

1

トップのskrxからのコメントから、「nyala.ttf」というフォントをダウンロードして使用しようとしましたが、動作しませんでしたので、システムnyalaのフォントをfontObj = pygame.font.SysFont('nyala', 25)としてインポートしようとしました。

+0

ユーザーは、このフォントをコンピュータにインストールする必要があります。あなたのゲームディレクトリにフォントファイルを保存し、['pygame.font.Font'](http://www.pygame.org/docs/ref/font.html#pygame.font.Font )。 – skrx

+0

ya、システムのフォントディレクトリに行き、 'nyala.ttf'ファイルを取得してpygameライブラリファイルにコピーして、他のフォントが格納されている場所にpygame.font.Fontをロードしましたが、私はまた、ウェブから 'nyala.ttf'ファイルをダウンロードしようとしたときに同じエラーが表示されましたが、システムから読み込んだときにうまくいきました。 – Hilea

+0

ゲームの.pyファイルを含むディレクトリに置きます。 – skrx

0

あなたは、Unicodeのオペレータ試すことができます。

u'በ' 

またはUnicode機能:

unicode('በ') 

をしかしpygameのは、Unicode文字をレンダリングすることができれば率直に言って、それはほとんど依存。

関連する問題