学校の自由課題でPythonを使用してゲームを作成する事になりました。
教授や友達はWindowsのPCを使用していますが、私はMacBookを使用していたので搭載されているフォントが異なります。
搭載されているフォントを使用してしまうと自分のパソコンでは正常に表示された文字が相手のパソコンでは文字化けしてしまった。という状態が起きてしまう可能性があります。
そこで、フォントファイルをダウンロードし、プログラムにダウンロードしたフォントファイルを使用する事により、環境の違いによる文字化けを回避する事にしました。
フォントのダウンロード
無償でダウンロードや利用が出来るフォントは「無料 日本語フォント ダウンロード」と検索するとダウンロードサイトに飛ぶことができます。作成物のテーマにあったフォントをダウンロードしてください。
今回はIPAフォントを利用します。
フォントデータの配置
フォントは相対パスで選択します。わかりやすいように今回はPythonプログラムと同じ場所に配置してください。
テストプログラムの実行
保存したフォントファイルを使用してpygameのウィンドウ上に日本語を表示してみます。
以下のプログラムをコピペして実行してみてください。
import pygame WINDOW_WIDTH = 600 WINDOW_HIGHT = 100 FONT_PATH = "ipaexg.ttf" moji = "♪ みんなで歌おう ♪" pygame.init() text_font = pygame.font.Font (FONT_PATH, 50) screen = pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HIGHT)) screen.fill((255, 255, 255)) text_r = text_font.render(moji, True, (255,255,255),(55,55,55)) w,h = text_r.get_size() screen.blit(text_r, (WINDOW_WIDTH / 2 - w/2, WINDOW_HIGHT / 2 - h/2)) pygame.display.flip() LOOP = True while LOOP: for event in pygame.event.get(): if event.type == pygame.QUIT: LOOP = False
実行する前に6行目のFONT_PATH=””の中身をダウンロードしたフォントのファイル名(拡張子含む)に変更してください。
実行すると以下のように表示されるはずです。
これで保存したフォントをPygameで使用する事ができました。
text_font = pygame.font.Font (FONT_PATH, 50)
pygame.font.Fontの第一引数の値にフォントファイルの場所を選択してあげれば、ダウンロードしたフォントファイルが使用できるようになります。
今回はFONT_PATHの中にフォントの場所を記載しています。
Pythonファイルと同じフォルダにフォントファイルを配置しているのでFONT_PATHの中身はFONT_PATH = “ipaexg.ttf”のようにファイル名だけ選択してあげれば大丈夫です。
おわりに
システムのフォントを使用せずに、ダウンロードした外部のフォントを使用する事で、別の環境でも同じフォントを使用出来るので、文字化けの心配が無くなりました!
コメント
[…] Pygameでダウンロードした外部のフォントファイルを使用する方法今回はpygameでシステムのフォントを使用せず、外部フォントファイルを使用する事によって別の環境で文字化けしてしま […]