pygame.font.init—初始化字体模块
pygame.font.quit—取消初始化字体模块
pygame.font.get_init—如果字体模块已初始化,则为true
pygame.font.get_default_font—获取默认字体的文件名
pygame.font.get_fonts—获取所有可用的字体
pygame.font.match_font—在系统上找到特定的字体
pygame.font.SysFont—从系统字体创建一个Font对象
pygame.font.Font—从文件创建一个新的Font对象
字体模块允许将TrueType字体呈现为新的Surface对象。它接受任何UCS-2字符('u0001'到'uFFFF')。此模块是可选的,需要SDL_ttf作为依赖项。 在尝试使用模块之前,您应该测试pygame.font用于加载和渲染字体的pygame模块是否可用并初始化。使用字体完成的大部分工作都是使用实际的Font对象完成的。模块本身只有初始化模块和创建Font对象的例pygame.font.Font()。您可以使用该pygame.font.SysFont() 功能从系统加载字体。还有一些其他功能可以帮助查找系统字体。Pygame附带内置默认字体。可以通过传递None作为字体名称来访问它。
pygame.font.init() 初始化字体模块
init() - >无
此方法由pygame.init()自动调用。它初始化字体模块。在任何其他功能起作用之前,必须初始化模块。多次调用此函数是安全的。
pygame.font.quit() 取消初始化字体模块
quit() - >无
手动取消初始化SDL_ttf的字体系统。这是由自动调用的 pygame.quit()。即使当前未初始化字体,也可以安全地调用此函数。
pygame.font.get_init() 如果字体模块已初始化,则为true
get_init() - > bool
测试字体模块是否已初始化。
pygame.font.get_default_font() 获取默认字体的文件名
get_default_font() - > string
返回系统字体的文件名。这不是文件的完整路径。此文件通常可以在与字体模块相同的目录中找到,但也可以捆绑在单独的存档中。
pygame.font.get_fonts() 获取所有可用的字体
get_fonts()- >字符串列表
返回系统上可用的所有字体的列表。字体的名称将设置为小写,并删除所有空格和标点符号。这适用于大多数系统,但有些系统会在找不到字体时返回空列表。
pygame.font.match_font() 在系统上找到特定的字体
match_font(name,bold = False,italic = False)- > path
返回系统上字体文件的完整路径。如果将粗体或斜体设置为true,则会尝试查找正确的字体系列。字体名称实际上可以是逗号分隔的字体名称列表。如果找不到任何给定名称,则返回None。例:
print pygame.font.match_font('bitstreamverasans')
# output is: /usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf
# (but only if you have Vera on your system)
pygame.font.SysFont() 从系统字体创建一个Font对象
SysFont(name, size, bold=False, italic=False) -> Font
返回从系统字体加载的新Font对象。该字体将匹配请求的粗体和斜体标志。如果找不到合适的系统字体,则会在加载默认的pygame字体时返回。字体名称可以是逗号分隔的要查找的字体名称列表。
pygame.font.Font 从文件创建一个新的Font对象
Font(filename, size) -> Font
Font(object, size) -> Font
pygame.font.Font.render—在新Surface上绘制文本
pygame.font.Font.size—确定渲染文本所需的空间量
pygame.font.Font.set_underline—控制文本是否使用下划线呈现
pygame.font.Font.get_underline—检查文本是否将使用下划线呈现
pygame.font.Font.set_bold—启用粗体文本的伪渲染
pygame.font.Font.get_bold—检查文本是否将呈现为粗体
pygame.font.Font.set_italic—启用斜体文本的虚假渲染
pygame.font.Font.metrics—获取传递的字符串中每个字符的指标
pygame.font.Font.get_italic—检查文本是否将呈斜体
pygame.font.Font.get_linesize—获取字体文本的行间距
pygame.font.Font.get_height—获取字体的高度
pygame.font.Font.get_ascent—得到字体的上升
pygame.font.Font.get_descent—得到字体的下降
从给定文件名或python文件对象加载新字体。大小是字体的高度(以像素为单位)。如果文件名为None,则将加载pygame默认字体。如果无法从参数中加载字体,则会引发异常。创建字体后,无法更改大小。字体对象主要用于将文本渲染到新的Surface对象中。渲染可以模拟粗体或斜体特征,但最好从具有实际斜体或粗体字形的字体加载。渲染文本可以是常规字符串或unicode。
render() 在新Surface上绘制文本
render(text, antialias, color, background=None) -> Surface
这将创建一个新的Surface,并在其上呈现指定的文本。pygame无法直接在现有Surface上绘制文本:您必须使用它Font.render()来创建文本的图像(Surface),然后将此图像blit到另一个Surface上。文本只能是一行:不呈现换行符。空字符('x00')引发TypeError。Unicode和char(字节)字符串都被接受。对于Unicode字符串,只能识别UCS-2字符('u0001'到'uFFFF')。任何更大的东西都会引发UnicodeError。对于char字符串,LATIN1假定编码。antialias参数是一个布尔值:如果为true,则字符将具有平滑边。颜色参数是文本的颜色[例如:蓝色的(0,0,255)]。可选的背景参数是用于文本背景的颜色。如果没有传递背景,则文本外部的区域将是透明的。返回的Surface将具有保存文本所需的尺寸。(与Font.size()返回的相同)。如果为文本传递空字符串,则将返回一个像素宽的空白表面和字体的高度。根据所使用的背景和抗锯齿类型,返回不同类型的Surface。出于性能原因,最好知道将使用何种类型的图像。如果未使用抗锯齿,则返回图像将始终为具有双色调色板的8位图像。如果背景是透明的,则将设置颜色键。抗锯齿图像渲染为24位RGB图像。如果背景是透明的,则将包括像素alpha。
优化:如果您知道文本的最终目的地(在屏幕上)将始终具有纯色背景,并且文本是抗锯齿的,则可以通过指定背景颜色来提高性能。这将导致生成的图像通过colorkey维护透明度信息,而不是(效率低得多)alpha值。如果渲染'\ n',将呈现未知的字符。通常是一个矩形。相反,你需要自己处理新的线条。字体呈现不是线程安全的:只有一个线程可以随时呈现文本。
size() 确定渲染文本所需的空间量
size(text) -> (width, height)
返回呈现文本所需的尺寸。这可用于帮助确定文本在呈现之前所需的定位。它还可以用于文字包装和其他布局效果。请注意,大多数字体都使用字距调整来调整特定字母对的宽度。例如,“ae”的宽度并不总是与“a”+“e”的宽度相匹配。
set_underline() 控制文本是否使用下划线呈现
set_underline(bool) - >无
启用后,所有渲染字体都将包含下划线。无论字体大小如何,下划线始终为一个像素厚。这可以与粗体和斜体模式混合使用。
get_underline() 检查文本是否将使用下划线呈现
get_underline() - > bool
启用字体下划线时返回True。
set_bold() 启用粗体文本的伪渲染
set_bold(bool) - >无
启用粗体呈现文本。这是对许多字体类型看起来不太好的字体的假拉伸。如果可能,从真正的粗体字体文件加载字体。粗体时,字体的宽度与正常情况不同。这可以与斜体和下划线模式混合使用。
get_bold() 检查文本是否将呈现为粗体
get_bold() - > bool
启用字体粗体渲染模式时返回True。
set_italic() 启用斜体文本的虚假渲染
set_italic(bool) - >无
启用斜体文本的虚假渲染。这是对许多字体类型看起来不太好的字体的假歪斜。如果可能,从真正的斜体字体文件加载字体。斜体字体的宽度与正常情况下的宽度不同。这可以与粗体和下划线模式混合使用。
metrics() 获取传递的字符串中每个字符的指标
metrics(text) - > list
该列表包含每个字符的元组,其中包含字符的最小 X偏移量,最大X偏移量,最小Y偏移量,最大Y偏移量和前进偏移量(方位加宽度)。[(minx,maxx,miny,maxy,advance),(minx,maxx,miny,maxy,advance),...]。列表中没有输入每个无法识别的字符。
get_italic() 检查文本是否将呈斜体
get_italic()- > bool
启用字体斜体渲染模式时返回True。
get_linesize() 获取字体文本的行间距
get_linesize() - > int
返回带有字体的文本行的高度(以像素为单位)。渲染多行文本时,这是行之间建议的空间量。
get_height() 获取字体的高度
get_height() - > int
返回实际渲染文本的高度(以像素为单位)。这是字体中每个字形的平均大小。
get_ascent() 得到字体的上升
get_ascent() - > int
返回字体上升的高度(以像素为单位)。上升是从字体基线到字体顶部的像素数。
get_descent() 得到字体的下降
get_descent() - > int
返回字体下降的高度(以像素为单位)。下降是从字体基线到字体底部的像素数。