数字排版是我们每天都在使用的东西,但我们很少有人了解数字字体是如何工作的。本文对 OpenType 进行了基础、快速、粗略、过度简化(但希望有用)的介绍——它是什么,以及如何使用免费、自由和开源软件 (FLOSS) 来利用其功能。这里提到的所有字体也都是 FLOSS。
什么是 OpenType?
在最基本的层面上,数字字体是不同字形的“容器”,以及有关如何使用它们的额外信息。每个字形都由一系列点和连接这些点的规则表示。我不会深入研究定义这些“连接”的不同方法,也不会深入研究我们是如何走到这一步的(软件开发的历史可能很混乱),但基本上有两种规则:抛物线段(二次 贝塞尔曲线)或三次函数(三次贝塞尔曲线)。
TTF 文件格式,通常称为 TrueType 字体,只能使用二次贝塞尔曲线,而 OTF 文件格式,称为 OpenType 字体,则同时支持两者。
这里我们需要注意我们所讨论的内容:“OpenType”一词不仅指文件格式,还指字体作为一个整体的高级属性(即,前面提到的“额外信息”)。
事实上,除了 OpenType 文件格式之外,还有替换表,例如,告诉使用该字体的软件用相应的印刷连字替换两个字符;字符的形状需要根据其周围的字符(其“上下文替代”)进行更改;或者当您用希腊语书写时,单词末尾的 σ 必须替换为 ς。这就是“智能字体”一词的含义。
而且,更令人困惑的是,在 TrueType 字体中包含 OpenType 表格是可能的, 例如 Junicode 上发生的情况。
一个快速示例
让我们看一个智能字体应用的快速示例。这是一个启用(顶部)和禁用(底部)OpenType 功能的 Cormorant 示例

opensource.com
每个 OpenType 属性都有其自己的“标签”,用于激活这些“特殊功能”。其中一些标签默认启用(例如用于普通连字的 liga 或用于上下文连字的 clig),而其他标签必须手动启用。
Dario Taraborelli 的 在 LaTeX 中访问 OpenType 字体功能 中可以找到 OpenType 标签和名称的部分列表。
查询字体
找出 OpenType 字体的特性很简单。您只需要 otfinfo 命令,该命令包含在 lcdf typetools 包中(在我的 openSUSE 系统上,它安装为 texlive-lcdftypetools)。使用它非常简单:在命令行中,发出类似这样的命令
otfinfo [option] /path/to/the/font
选项 -s 提供字体支持的语言,而 -f 告诉我们哪些 OpenType 选项可用。字体许可证信息通过 -i 选项显示。
如果字体路径包含空格,请使用反斜杠“转义”该空格。例如,要了解安装在 ~/.fonts/s/ 文件夹中的 Sukhumala Regular.otf 提供了什么,只需在终端中写入
otfinfo -f ~/.fonts/s/Sukhumala\ Regular.otf
在 LibreOffice Writer 中使用 OpenType 表格
LibreOffice 5.3 版本对 OpenType 提供了良好的支持。它不是完全“用户友好”的,但也不是那么难以理解,并且它提供了如此强大的排版功能,以至于不应被忽视。
要在 Vollkorn 上同时激活“风格集”1 和 11(请参见下面的屏幕截图),请在字体名称框中写入
Vollkorn:ss01&ss11
冒号在扩展字体名称上启动“标签部分”,而 & 符号允许我们使用多个标签。
但这还不是全部。您还可以禁用任何默认选项。例如,Sukhumala 字体有一些奇怪的上下文连字,它们将 aa 变为 ā,ii 变为 ī,uu 变为 ū。要禁用 Sukhumala 上的上下文连字,请在相应的 OpenType 标签 clig 前面添加破折号
Sukhumala:-clig
就是这样。正如我之前所说,它不是完全用户友好的,特别是考虑到字体名称框相当小,但它确实有效!
并且不要忘记在样式中使用所有这些:直接格式化 是良好格式化的敌人。我的意思是,除非您正在为一篇关于排版的短文准备快速屏幕截图。在这种情况下,可以。但仅在这种情况下。

opensource.com
还有更多
一个有趣的 OpenType 标签是“size”,遗憾的是,在 LibreOffice 上尚无法使用。“size”功能可以自动选择 光学尺寸,这是一种字体系列,为不同的磅值大小提供不同的设计。很少有字体提供此选项(一些 GUST 字体,例如 Latin Modern 或 Antykwa Półtawskiego;一个处于开发初始阶段的有趣项目,名为 Coelacanth;或者,在较小程度上,EB Garamond),但它们都很棒。目前,享受此属性的唯一方法是通过更高级的布局系统,例如 XeTeX。在 XeTeX 上使用 OpenType 是一个非常大的主题;fontspec 手册(处理 XeTeX 和 LuaTeX 上的字体选择和配置的软件包)超过 120 页,所以…今天不行。
是的,Scribus 1.5.3 版本增加了对 OpenType 的支持(除了脚注和其他内容),但这仍然是我需要探索的东西。
10 条评论