如何使用 Python 中的 fonttools 将 woff2 字体转换为 ttf?

How do I convert a woff2 font to ttf using fonttools in Python?

我有 woff2 文件,我想使用 Python 和 fonttools 库将其转换为 ttf。我看过一些关于如何将 ttf 字体转换为 woff2 的方法,但我不能用它们来做相反的事情。

提前致谢

我发现可以使用 fontTools.ttLib.woff2.decompress() 来实现这一点

from fontTools.ttLib import woff2
# you also need brotli
import os

def convert(infilename, outfilename):
    with open(infilename , mode='rb') as infile:
        with open(outfilename, mode='wb') as outfile:
            woff2.decompress(infile, outfile)

这是我编写的 CLI 友好脚本 https://github.com/basisvectors/woff2otf

python woff2otf.py (filename.woff or filename.woff2 or directory for batch conversion) [target file or dir name]

这是 one-line 命令(在 Windows 上):

python -c "from fontTools.ttLib import woff2; import brotli; woff2.decompress('path/to/your.woff2', 'path/to/output.ttf')"

确保你已经安装了 brotli。使用正斜杠 (/) 作为文件路径而不是反斜杠 (\)。输出可以是 TTF 或 OTF。