1

前提:我知道 PDF 文本是通过 C 库呈现的,该库理解字体并能够以图形形式呈现它们。例如,开源 PDF 库(如 poppler 或 mupdf)依赖于负责渲染字体的 freetype2。问题:我想知道 HTML Web 浏览器中使用哪种方法来呈现文本和字体。

4

1 回答 1

1

PDF 通常包含呈现文档所需的一切,包括字体。根据维基百科

可移植文档格式 (PDF) 是一种文件格式,用于以独立于应用软件、硬件和操作系统的方式表示文档。 [2] 每个 PDF 文件都封装了一个固定布局的平面文档的完整描述,包括显示它所需的文本、字体、图形和其他信息。

浏览器通常(希望)遵循 W3C 定义的标准。例如,在http://www.w3.org/TR/css3-fonts/中,我们有以下内容:

字体资源可以是本地的、安装在运行用户代理的系统上或可下载的。对于本地字体资源,可以直接从字体资源中获取描述信息。对于可下载的字体资源(有时称为网络字体),描述信息包含在对字体资源的引用中。对于字体属性的每种可能变化,字体系列通常不包含单个面。CSS 字体选择机制描述了如何将一组给定的 CSS 字体属性与给定的字体相匹配。

如果您真的想深入了解浏览器如何呈现字体,请熟悉http://www.w3.org/TR/css3-fonts/

因此,CSS 为网页设计师提供了指定要使用的字体的优先级的能力。例如,W3C 提供了以下示例:

body { 
    font-family: Helvetica, Verdana, sans-serif; 
}

如果 Helvetica 可用,它将在渲染时使用。如果 Helvetica 和 Verdana 都不存在,则将使用用户代理定义的无衬线字体。

于 2012-05-16T13:23:32.830 回答