Web浏览器中的文本/字体呈现。它是如何实现的?

时间:2012-05-16 13:13:44

标签: html pdf text fonts browser

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

1 个答案:

答案 0 :(得分:0)

PDF通常包含渲染文档所需的所有内容,包括字体。根据{{​​3}}

  

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

浏览器通常(希望)遵循W3C定义的标准。例如,在wikipedia中,我们有以下内容:

  

字体资源可以是本地的,安装在用户所在的系统上   代理正在运行或可下载。对于本地字体资源   描述性信息可以直接从字体中获得   资源。对于可下载的字体资源(有时也称为   web字体),描述性信息包含在参考中   到字体资源。字体系列通常不包含   单个面,用于每种可能的字体属性变化。 CSS   字体选择机制描述了如何匹配给定的CSS集   给定字体的字体属性。

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

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

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

如果Helvetica可用,它将在渲染时使用。如果没有   Helvetica和Verdana存在,然后是用户代理定义的sans   将使用serif字体。