Google API提供的网页设计常用字体
我们在设计网页时会使用一些常用的字体,对于一些并不常用的字体则会通过图片来代替,通过Google API提供的字体我们可以不需要任何图片,而使用一些并不常用的字体,当用户打开网页时会通过Google服务器链接到这些字体,从而让网页显示出来,过程中用户不会感到任何不适。
对很多纠结于字体的 Web 设计与开发者而言,昨天有关 Google Font API 的新闻着实让他们高兴了一回,这个非常简单实用的 API 包含了一套字体库和预览工具,结合 Google 与 TypeKit 联合开发的开源 WebFont 加载工具,Web 设计者们在自己的站点中引用个性字体变得轻而易举。
Google Web 字体 API 的使用非常简单,只需从 Google 那里链接一个 CSS 文件并在你自己的 CSS 定义中引用字体名即可,这里有一个演示可以参考。事实上,Google Web 字体 API 就是 @font-face,你自己也可以实现,但 Google 的方法有有很多优势:
- 带宽(带宽由 Google 承担)
- 缓存(相同的字体必将在很多站点中已有缓存,浏览器可以直接从缓存中获取)
- 速度(Google CDN 加速网络比绝大多数人的网站速度更快)
当然,加载 Google 的 CSS 文件是个额外的负担,不过你可以直接链接字体文件本身,甚至将字体下载到站点制作你自己的 SVG 版。另外,Google Web 字体 API 暂不支持 iPhone 和 iPad。
关于 WebFont 加载器,那是一段 JavaScript 脚本,用来加载字体,可以不用,但使用的话会带来额外的好处。比如,Firefox 在加载 Google Web 字体的时候,在 @font-face 加载完成之前,会先显示一个代用字体,等 @font-face 完全加载后,真正的字体会取代那个代用字体,这会引起页面闪烁,且让人费解,WebFont 加载器可以解决这个问题。
Raph Levien 是一个字体设计师,设计了 Inconsolata 字体。Raph 也是 Google Web 字体 API 团队的成员,本文是对 Raph 的一次访谈。
Chris:
Google 为 Web 设计者们做了很多好东西,包括一些会占用他们大量带宽的东西,比如,使用他们的 CDN 网络托管 JavaScript 库,允许我刻薄一点,这样做对 Google 到底有什么好处?当然,这会让 web 字体更快,但一个更快的 Web 对 Google 有什么好处?是为了从中分析对 Google 有用的数据信息吗?
Raph:
不过是为了让 Web 更快,更丰富。我们不收集任何个人信息,我们的 Log 记录也仅仅是为了统计性能状况,并统计哪些字体受欢迎。这个服务最好的地方是,就像我们托管 Ajax 库那样,由于很多站点都在使用这些服务,浏览器很容易从缓存中找到已经加载过的东西,不必每次都重新加载。
Chris:
最坏的情况,假如你们托管的字体宕机,那些引用这些字体的站点会怎么样?会使用替代字体,还是别的?
Raph:
是的,会使用替代字体,这只是个 CSS,设计者可以完全控制使用什么字体。另外,如果你想有更好的控制,可以使用 WebFont 加载器,比如,当字体加载失败的时候,你可以使用 JavaScript 改变 CSS,我们还会和所有主流浏览器开发商合作,改善 Web 字体体验。
Chris:
你们和 TypeKit 的合作很让人感兴趣,能说一说吗?
Raph:
TypeKit 在 Web 字体方面走得最远,我们很早就知道他们(事实上,Jeff Veen 曾在 Google 干过)。因此,很自然地,我们就谈到了一起。我们的开放字体是很好的东西,但仍想有更多的字体可以让用户使用,除此之外,我们还和其他主要字体商合作,包括 Ascender。
Chris:
一些免费或开源字体一般是为它们的设计商充当广告的,对 Google 字体库而言,这是否一个障碍?最终这些字体库收藏的都是受限制的字体。
Raph:
目前为止,我们收到了很好的反响。人们有各种各样的理由向我们贡献字体,其中一个确切无疑的原因是,这会给他们带来更多流量来帮助他们卖更多收费字体。还有很多人,仅仅是喜欢设计字体,不管怎么样,我们很有信心看到我们的开源字库越来越强大。不过,在任何时候,那些专业字体商拥有更高质量的字体。