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

时间:2019-06-02 17:12:37

标签: python fonts

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

enter image description here

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

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用otfinfo之类的外部工具来提取字体元。

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灯光