从字体系列中获取字体文件

时间:2017-04-25 03:51:44

标签: python matplotlib fonts pygame

很难尝试从字体系列中获取正确的.ttf文件。

目前正在尝试使用pygame处理某些图形,并且它有自己的内部搜索功能,可以从字体系列中查找字体文件,但它不正确。

还尝试使用matplotlib.font_manager。这也不正确。

import matplotlib.font_manager as font_manager
import pygame

pygame.font.init()

print(font_manager.findfont('Segoe UI'))
    > C:\WINDOWS\Fonts\seguisb.ttf
print(pygame.font.match_font('Segoe UI'))
    > C:\WINDOWS\Fonts\segoeuil.ttf
print(font_manager.findfont('Arial'))
    > C:\WINDOWS\Fonts\arial.ttf
print(pygame.font.match_font('Arial'))
    > C:\WINDOWS\Fonts\ARIALN.TTF

我希望有一些我错过的东西,并且有一种方法可以在搜索上获得完全匹配,而不是部分匹配(我猜测使用的两种方法都是读取字节数组并返回最接近的匹配字体家人。就是说,'Segoe UI'在'Segoe UI Bold'中,因此它被作为匹配返回。

1 个答案:

答案 0 :(得分:0)

我建议使用pygame.font.SysFont()

<块引用>

返回一个从系统字体加载的新 Font 对象。字体将匹配请求的粗体和斜体标志。 Pygame 使用一小组常用字体别名。如果您要求的特定字体不可用,则可以使用合理的替代字体。如果找不到合适的系统字体,这将退回加载默认的 pygame 字体。