13.1 什么是Web字体

CSS规则@font-face为Web字体创造了可能,该样式规则允许CSS指向服务器上的一种字体供网页使用。

很多人认为Web字体是新生事物。实际上,Web字体大约在1998年就产生了。Netscape Navigator 4和Internet Explorer 4均采用了这种技术,但它们的实现都不支持标准的字体文件格式,因此很少有人用到它们。直到将近十年以后,浏览器才开始采纳这种使用更为常见的字体文件格式的标准,Web字体的使用才变得常见起来。

  1. Web字体文件格式

Web字体可以使用一系列文件类型。

  • 内嵌OpenType(Embedded OpenType,.eot)。在使用@font-face时,Internet Explorer 8及之前的版本仅支持内嵌OpenType。内嵌OpenType是Microsoft的一项专有格式,它使用数字版权管理技术防止在未经许可的情况下使用字体。

  • TrueDoc。Netscape Navigator 4.0最初采用了这种文件格式,但之后就不再采用也未获得支持。

  • TrueType(.ttf)和OpenType(.otf)。TrueType和OpenType是桌面计算机广泛支持的标准字体文件类型,Mozilla Firefox(3.5及之后的版本)、Opera(10及之后的版本)、Safari(3.1及之后的版本)、Mobile Safari(iOS 4.2及之后的版本)、Google Chrome(4.0及之后的版本)及Internet Explorer(9及之后的版本)均支持它们。

  • 可缩放矢量图形(Scalable Vector Graphics,.svg)。这种格式用于其他格式均不被支持的某些特殊环境,如Mobile Safari的早期版本。

  • Web开放字体格式(Web Open Font Format,.woff)。这种较新的标准是专为Web字体设计的。Web开放字体格式的字体是经压缩的TrueType字体或OpenType字体。WOFF格式还允许在文件上附加额外的元数据。字体设计人员或厂商可以利用这些元数据,在原字体信息的基础上,添加额外的许可证或其他信息。这些元数据不会以任何方式影响字体的表现,但经用户请求,这些元数据可以呈现出来。Mozilla Firefox(3.6及之后的版本)、Opera(11.1及之后的版本)、Safari(5.1及之后的版本)、Google Chrome(6.0及之后的版本)及Internet Explorer(9及之后的版本)均支持Web开放字体格式。考虑到Web开放字体格式得到的广泛支持,这种格式可能会被选为行业标准。

  1. Web字体的浏览器支持情况

现代浏览器对Web字体的支持情况普遍很好。由于早期的浏览器仅支持特定的字体格式,因此Web开发人员需要付出一些额外精力应付这些早期浏览器,但回报是在所有的现代桌面浏览器甚至大多数智能手机浏览器上实现丰富的排版。

  1. 法律问题

从技术层面上说,字体都是小的软件。我认识以字体设计和制作为生的人,这是一种艰苦、细致的创造性活动,没有强大的心智是做不了这份工作的。出于这一原因,即便@font-face功能从一开始就存在,这项工作还能激怒一些人也就不难理解了。毕竟,如果浏览器能链接并下载某种字体,意味着任何人都能下载并在自己的计算机上安装这种字体,无论他们是否购买了这种字体。这就是为什么Web设计人员和开发人员必须确保网站上用到的任何字体都具有在万维网上使用的许可。大多数厂商和字体服务提供商通过将许可作为字体购买的一部分或菜单选项提供这种许可。如果不进行购买,你可以将字体限定在免费字体的范围内,如可在Font Squirrel(www.fontsquirrel.com)或The League of Moveable Type(www.theleagueofmoveabletype.com)下载的字体。不管选用哪种方式,都要确保对项目中使用的Web字体具有稳定的权利。为此,你可以查看购买的字体的许可证。由于这是近期的一个热点话题,你要购买字体的厂商的网站通常会提到这些信息。如果存在疑惑,可以跟厂商联系,了解哪些权利是允许的。

如果你购买了一个字体,并确切地知道可以将其用做Web字体,就可以使用Font Squirrel提供的免费@font-face生成器(www.fontsquirrel.com/fontface/generator)。该工具可以将字体转化为在万维网上使用的所有Web字体文件类型。