如何从python中的字体文件中获取字体名称(标题)

如何从python中的字体文件中获取字体名称(标题),python,fonts,Python,Fonts,我想用python获取字体名称(字体文件描述中的标题) 我查看了fonttools模块,但找不到任何使用它提取标题的方法 我如何才能做到这一点?您可以使用诸如提取字体元数据之类的外部工具 otfinfo报告有关命名OpenType字体文件的信息 $ otfinfo --info raleway.ttf Family: Raleway Light Subfamily: Regular Full name: Ralew

我想用python获取字体名称(字体文件描述中的标题)

我查看了
fonttools
模块,但找不到任何使用它提取标题的方法


我如何才能做到这一点?

您可以使用诸如提取字体元数据之类的外部工具

otfinfo报告有关命名OpenType字体文件的信息

$ otfinfo --info raleway.ttf       
Family:              Raleway Light
Subfamily:           Regular
Full name:           Raleway Light
PostScript name:     Raleway-Light
Preferred family:    Raleway
Preferred subfamily: Light
您可以使用python中的子流程调用它,并使用正则表达式过滤所需的结果

import subprocess
import re

font_file = "/home/user/raleway.ttf"
command = "otfinfo"
params = ["--info"]
result = subprocess.run([command, *params, font_file], stdout=subprocess.PIPE).stdout
font_name_re = re.compile(r"Full name:\s*(.*)")
font_name = font_name_re.findall(result.decode())
print(font_name[0])

输出:Raleway Light

见此:@ZarakiKenpachi谢谢!我对Python3做了一些修改,它成功了!很好的解决方法,但我更喜欢只使用python的方法。谢谢