探索免费和开放的Web字体

来自 Google Fonts 和 Open Font Library 的免费 Web 字体已经改变了游戏规则,但仅在有限的方面。
299 位读者喜欢这篇文章。
Image of typewriter keys

原始照片由 mpclemens 拍摄。由 Rikki Endsley 修改。CC BY-SA 2.0

毫无疑问,近年来,开源字体已经改变了 Web 的面貌。在 2010 年之前,您在 Web 浏览器中可能看到的唯一字体是来自 Microsoft 的通用“Web 安全”核心字体。但那一年见证了几次革命的开始:Web 开放字体格式 (WOFF) 的引入,它为通过 HTTP 有效地传递字体文件提供了开放标准;以及 Google FontsOpen Font Library 等 Web 字体服务的推出,这两者都为 Web 发布商提供了大量字体集合的访问权限,这些字体都是免费的,并且在开放许可下提供。

这些事件对 Web 排版产生的积极影响怎么强调都不过分。但是,人们很容易将开放 Web 字体的成功与整个开源排版的成功划等号,并得出结论,认为挑战已经过去,难题已经解决。事实并非如此,因此如果您关心字体,好消息是有很多机会参与改进。

首先,至关重要的是要理解 Google Fonts 和 Open Font Library 提供的是一种专门的服务——在网页中传递字体——并且它们没有为其他用例实施解决方案。这并不是这些服务方面的缺点;这仅仅意味着我们必须开发其他解决方案。

有很多问题需要解决。可能最明显的例子是在桌面 Linux 机器上安装字体以便在其他应用程序中使用时的笨拙性。您可以下载任一服务提供的任何 Web 字体,但您将获得的只是一个通用的 ZIP 文件,其中包含一些 TTF 或 OTF 二进制文件和一个纯文本许可证文件。接下来会发生什么取决于您的猜测。

大多数用户很快就会了解到,“正确”的步骤是将这些字体二进制文件手动复制到硬盘驱动器上的少数几个特殊目录中的任何一个。但这仅仅使文件对操作系统可见;它并没有在用户体验方面提供太多。同样,这不是 Web 字体服务的缺陷;相反,这证明了该服务停止的地方,以及需要在另一端完成更多工作的地方。

从用户的角度来看,一个很大的改进是操作系统或桌面环境在这个“刚刚下载”的阶段变得更智能。它不仅会将字体文件安装到正确的位置,而且更重要的是,它可以添加重要的元数据,用户在选择要用于项目中的字体时将需要访问这些元数据。

这些附加信息包含什么以及如何呈现给用户与另一个挑战相关联:在 Linux 上管理字体集合明显不如在其他操作系统上那样令人愉快。字体管理器应用程序会定期出现(例如,请参阅 GTK+ Font Manager,这是最新的示例之一),但它们很少流行起来。我一直在思考它们在我看来有哪些不足之处;一个核心因素是它们将自己限制为仅显示嵌入在字体二进制文件中的信息:基本字符集覆盖范围、粗细/宽度/倾斜度设置、嵌入的许可证和版权声明等。

但是,在为一项工作选择字体的过程中,除了嵌入数据中的内容之外,还需要考虑很多决策。严肃的字体用户——例如信息设计师、期刊文章作者或书籍设计师——会在每个文档的要求和需求的背景下做出字体选择决策。这自然包括许可证信息,但也包括更多内容,例如关于设计师和铸字厂的信息、风格趋势或有关字体在使用中的工作方式的详细信息。

例如,如果您的文档包含英文和阿拉伯文文本,您可能需要一种字体,其中拉丁文和阿拉伯文字形是由对这两种文字都有经验的人员共同设计的。否则,您将浪费大量时间对字体大小和行距进行微小的调整,试图使两种语言混合良好。您可能从经验中了解到,某些设计师或供应商比其他设计师或供应商更擅长多文字设计。或者,今天的时尚杂志几乎完全使用“Didone”风格的字体,这个名称指的是由 Firmin DidotGiambattista Bodoni 在大约 200 年前率先推出的超高对比度风格,这可能与您的项目相关。这恰好是潮流。

但是,这些术语(Didone、Didot 或 Bodoni)都不太可能出现在二进制文件的嵌入数据中,也无法轻易判断拉丁文和阿拉伯文是否匹配,或者字体背景历史的其他任何信息。该信息可能会出现在补充材料中,例如字体样本或字体文档——如果存在的话。

样本是一种设计的文档(通常是 PDF),它显示了字体的使用情况并包含背景信息;它经常充当营销材料和选择字体时查看的样本的双重角色。样本的周全设计展示了字体在实践中的功能,以及自动生成的字符表根本无法做到的方式。文档可能包括其他重要信息,例如如何激活字体的 OpenType 功能、它提供了哪些数学或古体形式,或者它在支持的语言中如何在风格上变化。在字体管理应用程序中向用户提供此类材料将大大有助于用户找到适合其项目需求的字体。

当然,如果我们要考虑一个可以处理文档和样本的字体管理器,我们还必须认真审视发行版提供的字体包中包含的内容。Linux 用户从自动安装的少量字体开始,并且存储库提供的软件包是大多数用户除了下载通用 ZIP 存档之外的唯一字体来源。这些软件包往往非常简陋。商业字体通常包括样本、文档和其他支持项目,而开源字体通常不包括。

有一些优秀的开源字体确实提供了高质量的样本和文档(例如,请参阅 SIL GentiumBungee,这两种方法截然不同但都有效),但它们很少(如果有的话)进入下游打包链。我们显然可以做得更好。

为与系统上的字体交互提供更丰富的用户体验存在一些技术障碍。首先,AppStream 元数据标准定义了一些特定于字体文件的 参数,但到目前为止,它不包含任何可以涵盖样本、设计师和铸字厂信息以及其他相关详细信息的内容。其次,SPDX(软件数据包交换)格式不涵盖用于分发字体的许多软件许可证(和许可证变体)。

最后,正如任何音响发烧友都会告诉您的那样,不允许您编辑和扩充 MP3 集合中的 ID3 标签的音乐播放器很快就会让人感到沮丧。您想要修复标签中的错误,您想要添加诸如注释和专辑封面之类的内容——本质上,您想要润色您的库。您也会希望这样做以使您的本地字体库保持在令人愉悦的使用状态。

但是,编辑字体文件中的嵌入数据一直是禁忌,因为字体往往会嵌入并附加到其他文档中。如果您修改字体二进制文件中的字段,然后将它与您的演示幻灯片一起重新分发,那么任何下载这些幻灯片的人都可能最终得到错误的元数据,而这并非他们的过错。因此,任何改进字体管理体验的人都必须弄清楚如何策略性地处理对嵌入式和外部字体元数据的重复更改。

除了技术角度之外,丰富字体管理体验也是一项设计挑战。正如我上面所说,许多开源字体都存在优秀的样本和写得很好的文档。但是,还有更多的软件包缺少这两者,并且还有许多较旧的字体软件包不再维护。这可能意味着大多数开源字体软件包获得样本或文档的唯一方法是让社区创建它们。

也许这是一个艰巨的任务。但是,开源设计社区比以往任何时候都更大,并且它是整个自由和开源软件运动中积极性很高的一个群体。所以谁知道呢;也许明年这个时候,在桌面 Linux 系统上查找、下载和使用字体将是一种完全不同的体验。

关于现代 Linux 用户的排版挑战的一种思路包括打包、文档设计,甚至可能包括桌面环境的一些新软件组件。还有其他思路也值得考虑。共同点是,Web 字体服务结束的地方,事情变得更加困难。

从我的角度来看,最好的消息是,对这个主题感兴趣的人比以往任何时候都多。为此,我认为我们要感谢 Google Fonts 和 Open Font Library 等大型 Web 字体服务提高了开源字体的知名度。


Nathan Willis 将在今年 3 月 8 日至 11 日在加利福尼亚州帕萨迪纳举行的 SCaLE16x 大会上展示 所以我们有了免费的 Web 字体;现在怎么办? 。要参加并获得 50% 的门票折扣,请使用促销代码 OSDC 注册

标签
Nate Willis
Nathan Willis 是一位字体设计师、顾问和自由软件倡导者。在转向排版之前,他花了十多年的时间作为记者和编辑撰写有关自由软件问题的文章。他目前开发开源字体并参与与字体相关的自由软件项目。至少在白天是这样。

4 条评论

嗨,Nate!
容易获得的字体的问题之一是它们似乎会上瘾。当人们开始积累数千种字体时,我们开始怀疑存在问题。可能有所帮助的一件事(暗示一下)是让你写另一篇文章,介绍如何评估字体。根据我对 Open Font Library 的经验,我知道有些字体非常好,有些还可以,但没有提供任何超出我已经拥有的字体,而另一些字体则结构不佳。是什么让字体变得出色?

很棒的文章!好的字体对于 Linux 桌面体验非常重要。我有一些我经常在家里的系统上使用的最喜欢的字体。例如,在编写文档时,我经常将正文设置为 EB Garamond,并将标题设置为像 Cantarell 这样的无衬线字体。

在家里,我决定完全是非专有的。这意味着我更喜欢避免使用 Microsoft 的字体。与此同时,我不想错过 Web 体验;当我访问指定核心字体的网站时,我希望获得这些字体。我希望获得与其他桌面相同的体验。如果网站使用可下载的字体,以便所有访问者始终看到预期的字体,那就太好了,但并非每个网站都这样做。由于核心字体在专有桌面(Windows 和 Mac)中非常普及,因此许多网站默认使用这些字体。

所以我使用其他字体,并将核心字体设置为这些其他字体的别名。它们不需要是完全完美的副本,但要代表字体,以便使用替换字体能够影响原始字体的精神。我认为这是一个非常好的设置。

我很想听听您对哪些免费字体可以作为常见的 Microsoft Web 核心字体的合适替代品的看法。

Dave,我不知道你最喜欢的 Linux 发行版是什么。但在 Ubuntu 上,您双击字体文件,它会在一个预览应用程序中打开字体,其中包含许多信息,然后有一个“安装”按钮。如果您单击它,字体将被安装,并且所有桌面应用程序(如 Inkscape 或 Libreoffice)都可以使用它。就这么简单。
所以,是的,我们缺少更好的字体文档,但在现代 Linux 发行版上添加字体并使用它们真的很容易。

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可获得许可。
© 2025 open-source.net.cn. All rights reserved.