如何减小(中文).ttf 字体文件的大小?

平面设计 字体设计 压缩 字体 ttf
2022-02-25 15:47:41

我有一个中文字体文件,文件大小为7.693 MB。由于 ttf 文件的大小,网站加载缓慢。

有什么办法可以减小 .ttf 字体的大小?

2个回答

有几种方法可以减小 TTF 文件的大小,但其中大多数都要求您知道后果,因为它们是有损的。

  • 首先,您可以对字体进行子集化,这意味着删除您不需要的任何字形(字符图像)。如果您的字体涵盖多种语言并且您只需要支持一种语言,那么这可能适合您。或者,如果它有很多您知道不需要的额外符号和标点符号,这就是您可以做的。

    有多种服务可以在半自动化的基础上执行此操作,最著名的是 fontsquirrel @font-face 生成器(在专家模式下,在自定义子集下)。不幸的是,这似乎没有预先定义的汉字范围,所以这对你来说似乎不是很容易。或者你可以在你最喜欢的字体编辑器中这样做,例如。字体锻造。

  • 其次,您可以简化字体中的字形。字体中的字形是矢量图,它由许多带有控制点的线段组成,其中有曲线。您通常可以删除许多顶点和控制点,同时仍能在一定程度上保留整体形状。这具有“简化”曲线的效果。它们会失去准确性,但也会减小文件大小。

  • 第三,您可以从字体中删除一些您知道不需要的元数据。鉴于字体超过 7MB,我非常怀疑元数据在这里发挥了很大作用。此外,这在某种程度上是一个专家选择。

  • 最后,使用无损压缩来压缩字体,例如从 TTF 到 WOFF2 的 WOFF。WOFF2 的压缩比 WOFF 更好,但任何仍在 IE11 上的人仍然无法使用 WOFF2 字体,因此您可能需要为这些字体回退到 WOFF。

重要的是您要了解对字体执行上述任何操作(除了最后一个)都会对字体的工作效果或正确支持的语言产生影响,因此您需要进行大量测试。

最后一个重要的一点是,通过对字体执行上述任何操作(包括,令人惊讶的是,简单地将其转换为 WOFF 或 WOFF2),您正在合法地创建衍生作品,为此您特别需要从字体的许可证作者。大多数商业字体可能不会让您创建衍生作品。一个值得注意的例外是像 SIL OFL 这样的开放许可证,它特别允许衍生作品(如果您更改字体名称)。

我不知道您是否会说中文,但如果您知道自己在做什么,您可以将字体子集化并将其减少到 3000-4000 个最常用的字形。这应该足以呈现大多数标准中文文本,并且可以显着减小文件大小(中文字体可能带有超过 20,000 个字形)。仅当您至少掌握中级中文或有人可以帮助您识别您的目的所需的字形子集时才这样做。

这是在中国大陆使用的字符的频率列表不幸的是,它有些过时(2004 年)。它仅包含 3500 个字符,请谨慎使用。(新华子典列出了大约 10,000 个字符,它是您在中国会遇到的最常见的字符字典)。给定的名称可能有任何字符,因此 3500 个字形子集将仅涵盖日常语言。同样,这仅适用于中国大陆。台湾和一些海外社区使用其他字符(繁体)。如果你不会说中文,你需要有这方面专业知识的人。