Pygame.font.Fontは.ttfフォントをロードするものであり、同じディレクトリに.ttfファイルがなければフォントをロードできないと思っていましたが、誰かが.ttfフォントをロードせずにフォントをロードするビデオを見てきました。同じディレクトリ内のttfフォント。同じディレクトリに.ttfファイルがなくても、pygame.font.Fontで使用できるフォントを知りたい
一般に、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()
を呼び出してシステムフォントを使用できます。
そのため、フォント「Arial」を使用する必要があり、システムにインストールされている場合は、pygame.font.SysFont('arial', size)
を使用して呼び出すことができます。システムにインストールしていない場合や不明な場合は、フォントファイルへのパスを直接指定できます。 pygame.font.Font("C:\Windows\Fonts\Arial.ttf",size)
。
利用可能なフォントはシステムに依存します。ただし、次の呼び出しにより、使用可能なすべてのフォントのリストを取得できます:pygame.font.get_fonts()
最初に_import pygame
_を入力し、次にIDE)にprint(pygame.font.get_fonts())
と入力して、現在使用可能なすべてのフォントを表示する必要があります。
OS固有の観点からのいくつかの発見:
['dejavuserif', 'dejavusansmono', 'dejavusans']
_という3つのフォントのみを取得します。Aerial
など、OSに依存しないフォント名は機能していないようです。pygame.font.Font(pygame.font.get_default_font(), font_size)
を使用します