Web字体排印(英语:Web typography)是指在万维网上使用字体。首次创建HTML时,字体和字形完全由每个Web浏览器的设置控制。直到1995年Netscape引入了<font>
标签,在HTML 3.2规范中标准化,单个网页才能控制字体显示。但是,标签指定的字体必须安装在用户的计算机上,否则将使用后备字体,例如浏览器的默认无衬线字体或等宽字体。1996年发布的第一个CSS规范提供了相同的功能。
CSS2规范于1998年发布,试图通过添加字体匹配、合成和下载来改进字体选择过程。这些技术没有得到太多的使用,并且在CSS2.1规范中被删除。不过,Internet Explorer在1997年发布的4.0版本中添加了对字体下载功能的支持。 字体下载后来被包含在CSS3字体模块中,并且已经在Safari 3.1、Opera 10和Mozilla Firefox 3.5中实现。随后,人们增长了对Web字体排印以及字体下载应用的兴趣。
在第一个CSS规范中, 作者通过一系列属性指定了字体特征:
所有字体都是按名称标识的。除了上面提到的属性之外,设计师没有办法设置字体的样式,也没有任何机制可以选择客户端系统上不存在的字体。
Web安全字体是很可能存在于各种计算机系统中的字体,并且Web内容作者使用这些字体来添加内容显示为他们所选字体的可能性。如果网站的访问者没有指定的字体,他们的浏览器会尝试根据作者指定的后备字体和通用族选择类似的替代方法,或者使用访问者操作系统中定义的字体替换。
为确保所有Web用户都拥有基本的字体集,微软于1996年启动了Web核心字体计划(该计划在2002年终止)。发布的字体包括Arial、Courier New、Times New Roman、Comic Sans、Impact、Georgia、Trebuchet、Webdings和Verdana,其EULA使这些字体可以自由分发,但也限制了一些使用权限。他们的高渗透率使他们成为网页设计师的必备品。但是,大多数Linux发行版默认不包含这些字体。
CSS2试图通过添加字体合成、改进的字体匹配以及下载远程字体的能力来添加Web开发人员可用的工具。
一些CSS2字体属性已从CSS2.1中删除,后来被包含在CSS3中。
CSS规范允许将多种字体列为后备字体。 在CSS中,font-family
属性接受用逗号分隔的字体列表,如下所示:
font-family: Helvetica, "Nimbus Sans L", "Liberation Sans", Arial, sans-serif;
指定的第一个字体是首选字体。如果此字体不可用,则Web浏览器会尝试使用列表中的下一个字体。如果未找到指定的字体,浏览器将显示其默认字体。如果浏览器尝试显示指定字体中不存在的字符,则同样的过程也会在每个字符上发生。
为了让网页设计师能够控制网页上字体的外观,即使指定的字体不可用,CSS规范也允许使用多种通用字体族。这些系列旨在根据其外观将字体分为几类。它们通常被指定为一系列后备字体中的最后一个,作为作者指定的任何字体都不可用的最后手段。有五个通用系列:
Sans-serif
Serif
Monospace
Cursive
Fantasy