繁体   English   中英

字体在Windows OS /浏览器中如何工作?

[英]how does font work in windows OS /browser?

我知道有.ttf文件。 我猜这是OS用于显示字体的文件吗?

浏览器是否使用相同的字体文件显示字体? 如果没有,它将在哪里存储自己的字体文件?

.ttf字体和Unicode字体有什么区别? 我的意思是Unicode如何/在哪里适合.ttf文件格式?

首先从最后一个问题开始,询问TTF和Unicode字体之间的区别有点像询问“ JPG文件”和“图像”之间的区别。 一个是另一种的版本:

现代的.ttf文件与其说是“ TrueType字体”,不如说是一种OpenType字体,它使用TrueType格式表示需要对形状进行编码并指定在这些字体中可以找到这些形状的部分。 也许令人惊讶的是,这只是制作现代字体的一小部分,而这里的重要部分是它是一种OpenType字体,并不是真的使用TrueType格式。

绝大多数现代字体都是OpenType字体,具有两种常见格式: .ttf (使用TrueType格式的OpenType字体)和.otf (使用CFF格式的OpenType字体)。 OpenType还可以使用其他几种格式(例如位图和SVG),但是您不会碰到太多。

OpenType字体还指定了它们支持哪些字符映射 ,并且它们可以支持多种映射:对于一种不同的语言,一种字体完全有可能支持Unicode映射以及 Windows特定和Mac特定的非unicode映射。支持Unicode的映射 ,但是仅使用不同的,与unicode不兼容的映射,就可以在Unicode中也可以找到的数十个脚本中排版文本。

因此,关于第一个问题:

浏览器从操作系统获取其默认字体。 所有操作系统都提供了一组“安全字体”,浏览器依靠该字体来实现默认的文本呈现。 与任何大型应用程序一样,浏览器是针对每个目标平台分别编译的,因此它们仅知道在那些平台上可以使用哪些字体,以及如何向OS询问它们。

除此之外,CSS可用于指定需要使用非默认系统字体甚至是URL明确指向的字体(使用@font-face规则)设置样式的内容。 对于系统字体,浏览器将只要求操作系统提供字体参考,对于URL字体,浏览器将下载字体,然后使用该字体。 但是,在两种情况下,都仅在字体通过一些安全检查的情况下才能确保其(有时(巧妙地)损坏)或内部不一致。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM