2016-06-23 20 views
1

私はpygame.font.Fontフォントをロードするための.ttfだと思った、とあなたは同じディレクトリ内の.ttfファイルをせずにフォントをロードできないことを、私は誰かがなくても、フォントをロードしたビデオを見てきました.ttfフォントは同じディレクトリにあります。私は同じディレクトリに.ttfファイルを持たずにpygame.font.Fontでどんなフォントを使うことができるかを知りたいです。pygame.font.Fontでどのようなフォントを使用できますか?

答えて

6

pygameでフォントを使用するには、一般にpygame.font.Font()pygame.font.SysFont()の2つの方法があります。 pygame.font.Font()は、最初のパラメータとしてフォントファイルへのパスを想定していますが、pygame.font.SysFont()にはフォント名の文字列が必要です。

あなたはpygame.font.Font()で任意のTrueTypeフォントファイル(* .TTF)をロードすることができます。プロジェクトディレクトリにフォントmyfont.ttfをロードするには、単にpygame.font.Font("myfont.ttf", size)を呼び出します。別の場所に置いている場合は、ファイルのパスを最初のパラメーターに置き換えます。相対パスまたは絶対パスを使用できます。

また、あなたはpygame.font.SysFont("fontname", size)を呼び出すことによって、システムフォントを使用することができます。呼び出すことができるシステムフォントは、これを実行するシステムによって異なります。指定しようとしたフォントが見つからない場合は、デフォルトのシステムフォントにフォールバックします。カンマ区切りのフォント名のリストを渡すことができます。このリストは、順番に検索され、最初に利用可能なフォントが返されます。 pygame.font.get_fonts()はあなたのシステム上で見つけ出すことができるフォントのすべての名前のリストを返します。

最後に、TrueTypeフォントではないフォントファイルをロードするには、TTF、Type1、CFF、OpenType、SFNT、PCF、FNT、BDF、PFRおよびType42フォントをサポートするpygame.freetypeモジュールを使用できます。 pygame.freetype.Font()を呼び出すか、フォントモジュールに似たpygame.freetype.SysFont()を呼び出して、フォントファイルを使用することができます。

ですから、「ゴシック」フォントを使用したい、それがシステムにインストールされている場合、あなたはpygame.font.SysFont('arial', size)を使用して、それを呼び出すことができます。システムにインストールされていない、またはわからない場合は、フォントファイルへのパスを直接指定することができます。 pygame.font.Font("C:\Windows\Fonts\Arial.ttf",size)

+0

freesansbold.ttfと動作しますが、たとえばarialでは機能しません。私はpygame.font.SysFontを使うことができると知っていますが、私はpygame.font.Fontでどのフォントを使うことができるか知りたいです。 –

+0

私は以前の答えを拡張しましたが、問題を正しく理解しているかどうかはまだ分かりません。あなたは 'pygame.font.Font()'で使うことができるファイルタイプやファイルパスについて混乱していますか? – Isa

+0

私はfreesansbold.ttfがpygameに付属しているフォントだと読んだので、pygame.font.Fontで読み込むために.ttfファイルを持っている必要はありません。私はpygameに付属のフォントがもっとあるかどうか知りたいですか? –

関連する問題