5

Web 字体以各种格式提供,以满足不同的浏览器要求,我知道的主要格式是:

  • ttf
  • otf
  • eot
  • woff
  • svg

我也知道并非所有主要浏览器供应商都支持所有这些格式。然而,fontforge(可能还有许多其他实用程序)似乎也能够轻松地在这些格式之间进行转换。据我了解,“woff”似乎是网络字体的“新”标准。

我的问题是这样的:

从某种意义上说,如果我从 WOFF 文件开始,转换为 OTF,然后再返回 WOFF,那么任何格式是否“有损”,我最终会得到一个没有所有元数据的文件吗?还是这些格式本质上如此相似,以至于它们中的任何一个都可以作为获得所有格式字体的起点?

4

1 回答 1

6

woff 是 ttf 或 otf + 元数据(以及可选的私有数据)的简单包装器。EOT 是一个简单的 ttf 包装器(从技术上讲,可以创建一个 otf-in-EOT,但这可能没有得到广泛支持);EOT 包装器中的几乎所有信息都来自内容。所以在任何方向之间的转换:

  • TTF <-> EOT <-> TTF-in-woff
  • OTF <-> OTF-in-woff

应该或至少可以是无损的(不包括元数据)。我说can,因为它在很大程度上取决于用于转换的工具,并且在某种程度上取决于工具的操作员以及您对元数据的处理方式。

要回答具体问题,“如果我从一个 woff 文件开始,转换为 OTF,然后返回到 woff,我最终会得到一个没有所有元数据的文件吗?” 有点棘手。如果原始 woff 是包装 OTF(不是 TTF),那么答案是yes。但是如果 woff 是包装一个 TTF,答案将是no,因为需要从 TTF 到 OTF 的转换,并且这种转换是有损的。

同样对于 woff -> TTF -> woff; 如果起始 woff 是包装一个 TTF,这将是无损的(元数据除外),而如果原始 woff 是包装一个 OTF,它将是有损的(因为在该过程中存在从 OTF -> TTF 的转换,并且转换是有损的)。

于 2012-09-28T00:36:18.720 回答