pygame.font.font可以使用什么字体?
我以为pygame.font.font要加载.ttf字体,如果没有.ttf文件在同一目录下,你就不能加载字体,但我看过一个视频,其中有人加载字体时没有.ttf字体在同一目录下。我想知道在pygame.font.font中可以使用哪些字体,而不必在同一目录中使用.ttf文件在pygame中使用字体通常有两种方法:pygame.font.font可以使用什么字体?,pygame,Pygame,我以为pygame.font.font要加载.ttf字体,如果没有.ttf文件在同一目录下,你就不能加载字体,但我看过一个视频,其中有人加载字体时没有.ttf字体在同一目录下。我想知道在pygame.font.font中可以使用哪些字体,而不必在同一目录中使用.ttf文件在pygame中使用字体通常有两种方法:pygame.font.font()和pygame.font.SysFont()pygame.font.font()需要字体文件的路径作为其第一个参数,而pygame.font.SysFo
pygame.font.font()
和pygame.font.SysFont()
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字体的字体文件,可以使用pygame.freetype
模块,该模块支持TTF、Type1、CFF、OpenType、SFNT、PCF、FNT、BDF、PFR和Type42字体。您可以通过调用pygame.freetype.font()
来使用字体文件,也可以通过调用类似于字体模块的pygame.freetype.SysFont()
来使用系统字体
因此,如果您想使用“Arial”字体并将其安装在您的系统上,可以使用
pygame.font.SysFont('Arial',size)
调用它。如果您的系统上没有安装该字体或不确定,您可以直接提供字体文件的路径,例如pygame.font.font(“C:\Windows\Fonts\Arial.ttf”,size)
可用的字体将取决于系统。但是,您可以通过调用来获取所有可用字体的列表:pygame.font.get_font()
您应该首先导入pygame
,然后在IDE中键入打印(pygame.font.get_font())
,以便查看所有当前可用的字体: 从操作系统特定角度来看的一些发现:
- 在Windows pygame.font.get_fonts()上返回大量系统字体,但在作为WSL安装的Ubuntu上,我们只得到3种字体:
['dejavuserif'、'dejavusansmono'、'dejavusans']
- 似乎没有独立于操作系统的字体名称,包括
air
- 如果您想要独立于操作系统的字体,请使用
pygame.font.font(pygame.font.get\u default\u font(),font\u size)
freesansbold.ttf
是pygame附带的唯一字体。系统字体可以使用pygame.font.SysFont
,默认字体可以使用SysFont
中的None
。