将Web字体格式转换是否是一种“有损”程序?

6

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

  • ttf
  • otf
  • eot
  • woff
  • svg

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

我的问题是:

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


它可能会有很大的损失。首先,就我所知,SVG不支持hinting. 哎呀! - ACJ
1个回答

8

woff是一个简单的包装器,可以包装ttf或otf格式的字体文件和元数据(以及可选的私有数据)。EOT是一个简单的包装器,可以包装ttf格式的字体文件(理论上可以创建otf-in-EOT,但这可能不被广泛支持);EOT包装器中几乎所有的信息都来自于其内容。因此,在以下任何方向之间进行转换:

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

应该或者至少可以是无损的(不计算元数据)。我说“可以”,因为这将大大取决于用于转换的工具,在某种程度上也取决于工具的操作者以及您对元数据的处理。

回答具体问题,“如果我从woff文件开始,转换为OTF,然后再转换回woff,那么最终的文件是否会丢失所有元数据?”有点棘手。如果原始的woff是包装OTF(而不是TTF),那么答案是。但是,如果woff是包装TTF,则答案将是,因为需要从TTF转换为OTF,而该转换是有损的。

同样适用于woff -> TTF -> woff;如果起始的woff是包装TTF,则这将是无损的(除了元数据),而如果原始的woff是包装OTF,则会有损失(因为在该过程中有一个从OTF -> TTF的转换,而该转换是有损的)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接