fontmake
将各种来源( .glyphs
、 .ufo
、 designspace
)的字体编译为二进制文件( .otf
、 .ttf
)。您可以使用它来创建静态实例和可变字体。
Fontmake 需要 Python 3.8 或更高版本。
版本可在 PyPI 上使用,并且可以使用 pip 安装。
pip3 install fontmake
使用-U
, --upgrade
选项将 fontmake 及其依赖项更新为最新的可用版本:
pip3 install -U fontmake
安装后,您将能够使用fontmake
可执行文件。
例如,要从 Glyphs 源文件编译可变字体,请使用:
fontmake MyFont.glyphs -o variable
fontmake
可执行文件最重要的命令行参数是所需的输入,指定为位置参数或使用-g
/ -u
/ -m
标志之一,以及可选的-o
标志,用于选择输出文件格式。
有两种方法指定一个或多个源文件:
可以使用以下相互排斥的标志:
-g filename.glyphs
:将 Glyphs 源文件转换为二进制文件。-u filename.ufo ...
:将一个或多个 UFO(Z) 文件转换为二进制文件。-m filename.designspace
:将 Designspace 文件转换为二进制文件。 ( -m
代表mutatormath
,它是一个用于处理设计空间的旧 Python 库。)或者,可以将输入指定为不带标志的位置参数,让 fontmake 从文件扩展名推断源格式:例如fontmake MyFont.designspace
等。
注意:如果位置参数前面有一个带有一个或多个参数的选项,则需要使用特殊的--
分隔符将所有后续参数标记为位置参数(非选项),否则解析器会感到困惑。例如, -i
选项采用零个或一个参数(详细信息请参阅下文);如果没有--
,argparse 认为您没有提供任何输入:
fontmake -i -- MyFont.designspace
使用任一方法都可以/必须指定一种类型的输入。
您可以在-o
选项后提供一种或多种输出文件格式。例如, -o otf ttf
为输入文件中的每个母版创建 OTF 和 TTF 二进制字体文件。
可以使用以下输出文件格式:
otf
:每主 OTF(CFF-outline)二进制文件。放置在master_otf/
目录中。ttf
:每主 TTF(TrueType-outline)二进制文件。放置在master_ttf/
目录下。otf-cff2
:具有 CFF2 轮廓的每主 OTF 二进制文件。放置在master_otf/
目录中。variable
:TrueType 变量字体。放置在variable_ttf/
目录中。variable-cff2
:具有 CFF2 轮廓的可变字体。放置在variable_otf/
目录中。以下输出文件格式也可用,但通常由 fontmake 在内部使用,作为上述输出之一的中间步骤:
otf-interpolatable
:适合合并到可变字体中的 OTF 二进制文件。放置在master_otf_interpolatable/
目录下。 (它们与otf
的不同之处在于轮廓未优化。)ttf-interpolatable
:适合合并到可变字体中的 TTF 二进制文件。放置在master_ttf_interpolatable/
目录下。 (轮廓以插值兼容的方式转换为二次曲线。)ufo
:字形源可以转换为 UFO,或使用标志--save-ufo-as-zip
转换为 UFO zip ( .ufoz
) 格式。放置在master_ufo/
目录下。如果未指定格式选项,则默认为-o otf ttf
。
-i
(插值实例):拥有每个主机的二进制文件并不总是您所期望的;如果您在 Glyphs 文件中定义了实例(“导出”),则默认情况下不会生成它们。要生成它们,请传递-i
标志,该标志会插入静态实例,并将它们适当地放置在instance_ttf/
或instance_otf/
目录中。
--output-dir <some_directory>
:将所有输出放置在给定目录中,而不是上面提到的每种格式的目录中。
--output-path <filename>
:仅当输出是单个二进制文件并将输出写入给定文件名时才有效。
-f
(扁平化组件):确保任何包含本身包含组件的组件的字形都被分解为单个级别。建议这样做,因为某些渲染环境无法正确处理嵌套组件 - 有关更多详细信息,请参阅此链接。
请参阅USAGE.md
。
请参阅TROUBLESHOOTING.md
。
开发人员可以通过克隆 git 存储库来获取最新版本的fontmake
:
git clone https://github.com/googlefonts/fontmake
cd fontmake
pip install .
想要快速测试源代码更改而无需重新安装的开发人员可以在从本地源签出安装时使用“--editable”选项:
pip install -e .
建议在虚拟环境中安装 fontmake,以防止其依赖项与全局安装的其他模块发生冲突。
您还可以使用 pipx 工具在隔离环境中自动安装/升级 Python 应用程序(例如 fontmake)。
git tag -a v3.1.1
git push origin v3.1.1
,其中origin
是您想要将版本推送到的常用遥控器的名称。