字体是矢量图。 具有更多点的矢量图比具有更少点的矢量图具有更大的文件大小。 自定义字体是下载的。 因此,矢量图中点较少的字体文件大小更小。 这就是理论。 我们来看看它是否有道理吗?

让我们从 Google Fonts 中选择两种字体:Open Sans 和 EB Garamond。 点数之间的差异并不显著,但带衬线的 Garamond 确实拥有更多点,特别是在观察衬线区域时。
不仅仅是衬线,任何复杂性都会影响文件大小。 考虑一下 Bleeding Cowboys,这是一款杰作级的字体,也是我居住的高沙漠地区典当行和咖啡店共同的最爱。

让我们坚持我们更实际的比较。
通过下载文件,我们可以大致了解文件大小的成本。 如果我们下载默认的“Latin”集,并比较两者的常规权重:
OpenSans-Regular.ttf | 96 KB |
EBGaramond-Regular.ttf | 545 KB |
我不确定这是否是一个完全相同的比较,因为我不是字体文件专家。 也许 EB Garamond 有很多额外的字符? 我不知道。 另外,我们在网络上并不真正使用 .ttf
文件,在那里文件大小真的很重要,所以让我们将它们通过 Font Squirrel 的生成器。 这应该告诉我们是否真的在处理更多字形。

它报告的大小与 Finder 报告的大小略有不同,并确认了,是的,Garamond 的字形数量远超 Open Sans。
为了尝试比较具有相同可用字符数量的字体文件的大小,我创建了一个自定义子集,其中只包含大写字母、小写字母、标点符号和数字(它们都有),然后将其输出为 .woff2
文件,而不是 .ttf
文件。

之后…
opensans-regular-webfont.woff2 | 10 KB |
ebgaramond-regular-webfont.woff2 | 21 KB |
我没有使用 GZIP 或 brotli 通过网络提供它们,但我理解 WOFF2 已经是压缩的,所以这并不重要。
比较这两个非常流行的字体的文件大小,大约是二比一? 对我来说似乎有点意义。 我不反对选择一种字体,因为它的尺寸适合品牌等等。
让我想到这一点的是一篇关于名为 Ping 的字体的 博客文章。 看看它所采用的“人手”绘画原理:

哇! 单笔画? 不幸的是,我认为实际字体无法用笔画制作,因此无法从笔画数量的减少中获得文件大小的节省。 我购买了“ExtraLight”变体,它的点是这样的

TTF 为 244 KB,所以不像 Open Sans 的不到 100 KB,但再次,我不确定在没有匹配的子集和所有这些的情况下,这有多大意义。 无论如何,由于 Ping 的条款不允许我进行转换,所以我无法做到这一点。
从技术上讲,字体可以由笔画构成,它们在激光切割和数控雕刻中特别有用,在那里它们被称为“单线字体”。 不幸的是,这样的字体并不多。
不幸的是,大多数应用程序(如 Illustrator)并不会很好地处理它们,因为它们是开放路径的本质,所以大多数字符无法正确渲染,即使您删除填充并将其替换为笔画。
我期待着有一天它们得到更广泛的支持。 我可以想象它们使用 SVG CSS 属性(如 stroke-width)来控制“字体粗细”。
字体设计有其特殊需求,这些需求源于人类眼睛的观看习惯。 您清楚地看到,这种所谓的单笔画字体(这种字体只是略微模仿了单笔画的概念,远非真正的单笔画)的“笔画”宽度正在发生变化。 在碗与笔划相接的地方,您需要使用更小的“笔画宽度”来避免字母内出现深色、密集的区域。 那将是一个糟糕的设计。 您完全可以设计一个真正的单笔画字体。 您只需在笔画的整个长度上存储两侧的宽度即可。 例如,在总长度的 12% 处,右侧宽度为 10 像素。 这可能会使文件超级小,可能比实际的字体文件更小。 但在某些时候,您将不得不面对新的问题。 例如,一个小写的“a”在概念上是一个完整的圆圈和一个笔画,合并成一个字母。 如果您想像上面那样用一个笔画来绘制它,您会不小心绘制一个希腊字母“alpha”,它与拉丁字母“a”不同。 您明白了。 但这是一篇很棒的文章,非常感谢您。
这篇文章很有趣。 这不是一个会想到的事情,但它将是我以后选择字体时会记住的事情。 谢谢 Chris。
稳住。 你们似乎只是把马车放在了马的前面。 您选择字体的标准是它是否易于阅读,而不是它下载的速度。
在字体中,每个节点都有一个坐标 (x, y),这是一个转换为字节的数值对。 此外,曲线的每个锚点都有一个 (x, y) 坐标,因此…如果字体有太多曲线,它会增加文件的大小。
最后,除了编码(字符映射)之外,字体还有其他背景“字体信息”,这可能会增加文件大小,包括提示、字距调整、其他 OpenType 功能、表格等…
希望这有帮助!