Google 字体 API 和访谈

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您的旅程的每个阶段提供云产品。 立即开始使用 $200 的免费信用额度!

Google 宣布 他们新的 字体 API 昨天,包括一个 字体目录预览工具。 他们与 TypeKit 合作,构建并 开源 WebFont Loader。

我非常喜欢他们的做法。 您只需从 Google 直接链接 CSS,然后在 CSS 中引用字体名称。 非常容易 - 在 此演示 上查看源代码。

为什么要这样做? 这不只是 @font-face 吗? 是的,它只是 @font-face,您可以在没有 Google 帮助的情况下自己完成。 但是,它有一些优势

  1. 带宽节省(权重在 Google 上)
  2. 缓存速度(在多个站点上使用相同的字体,浏览器缓存就会启动)
  3. 总体速度(Google 的 CDN 比您的站点更快)

加载额外的 CSS 文件是一个额外的 HTTP 请求,但您可以 直接链接字体文件。 您可能还想下载字体并创建自己的 SVG 版本,因为 Google 样式表没有提供,因此 不支持 iPhone/iPad。

那么什么是 WebFont Loader? 它是一段 JavaScript 代码,用于处理字体的加载。 使用它是完全可选的,但它提供了一些优势。 例如,Firefox 会在 @font-face 字体加载之前显示字体堆栈中的更下一级的字体,然后在 @font-face 字体准备就绪时切换到 @font-face 字体,从而导致回流和一些奇怪的现象。 这被称为 FOUT(无样式文本闪烁)。 WebFont Loader 可以帮助解决这个问题 - 请参阅 Paul 的文章

Raph Levien 是一位字体设计师,也是 Inconsolata 字体的创建者。 Raph 也在 Google 字体 API 团队工作。 我采访了他,问他一些关于所有这些的问题……

*Chris: Google 为网站构建者做了很多很棒的事情,包括一些非常消耗带宽的事情。 例如,我们可以 直接链接 到 Google CDN 上托管的 JavaScript 库。 我最后不想得了便宜还卖乖,但我知道有时会让人感到好奇,Google 的目的何在? 毫无疑问,这将使网页字体更快,那么是否只是更快网络对 Google 有利? 或者 Google 会收集一些对他们有用的分析数据?

Raph: 这都是为了让网络更快、更丰富,惠及所有人。 我们不会收集任何关于网页字体请求的个人信息,只是以较粗略的级别汇总日志,以便我们可以跟踪性能和字体的总体受欢迎程度。

与 AJAX 库(例如我们的 WebFont Loader)一样,这项服务的优势之一是,许多不同的站点可以链接这些字体,并且它们都将共享浏览器缓存 - 只有第一个站点会触发网络下载。

*Chris: 如果最糟糕的情况发生,字体 API 出现一些停机时间,使用这些字体的站点会发生什么? 浏览器会向下查找字体堆栈并选择一个备用字体,还是会发生其他情况?

Raph: 是的,它会使用备用字体。 这只是 CSS,因此设计师可以完全控制字体堆栈,如果您希望更细粒度的控制,也可以使用 WebFont Loader 库 - 例如,您可以在字体无法加载时触发 JavaScript 代码以更改 CSS。 我们还将与所有主要的浏览器供应商合作,以改善用户的网页字体体验。

*Chris: 看到您的团队与 TypeKit 合作,真是很有趣。 这是怎么发生的?

Raph: TypeKit 一直在开拓道路,使网页字体能够为更广泛的受众所用。 我们已经认识这个团队有一段时间了(事实上,Jeff Veen 以前在 Google 工作过),所以与他们谈论我们正在做的事情是很自然的。 我们认为我们开源字体的收藏非常棒,但为了获得更广泛的专业设计字体,我们希望让人们能够轻松升级。 我们还一直在与其他主要的字体供应商合作,包括 Ascender。

*Chris: 许多免费/开源字体为其创建者提供了一种宣传其更强大、非免费字体集的方式。 您是否认为这对 Google 字体目录来说是一个障碍,因为它可能会成为一个故意提供有限字体的仓库? 或者会对这种事情进行审查?

Raph: 到目前为止,我们收到了非常积极的反馈。 人们出于各种原因贡献开源字体,其中一个原因绝对是为了创造更多知名度,并为销售专有字体带来更多流量。 许多人只是喜欢创建字体。 无论出于何种原因,我相信我们会看到源源不断的高质量字体。 但专业字库永远会有更多高质量字体的选择。

 

感谢 Raph 接受快速采访! 请告诉我你们对此有何感想。 我认为这对网页字体来说是一个巨大的胜利,虽然我认为(也希望)所有最好的字体仍然会保留在 TypeKit 等付费服务上。 网页字体还有很长的路要走。 显然,Windows 上仍然存在一些 问题,而且 如果问题不是一个,就是另一个