我知道有.ttf文件。 我猜这是OS用来显示字体的文件?
浏览器是否使用相同的字体文件来显示字体? 如果没有,它在哪里存储自己的字体文件?
.ttf字体和Unicode字体有什么区别? 我的意思是 Unicode 如何/在哪里适合.ttf文件格式?
答案 0 :(得分:1)
首先从最后一个问题开始,询问TTF和Unicode字体之间的区别有点像询问" JPG文件和#34;之间的区别。和"图像"。一个是另一个版本的一种版本:
一个现代.ttf
文件并不是一个" truetype字体"因为它是OpenType字体,它使用TrueType格式作为需要编码形状的部分,并指定字体内部可以找到这些形状的位置。也许令人惊讶的是,这只是制作现代字体的一小部分,而这里的重要部分是它是OpenType字体,而不是真正使用TrueType格式。
绝大多数现代字体都是OpenType字体,有两种常见格式:.ttf
表示使用TrueType格式的OpenType字体,.otf
表示使用CFF格式的OpenType字体。还有一些OpenType可以使用的格式(例如位图和SVG),但是你不会遇到很多格式。
OpenType字体还指定了它们支持的which character mappings,并且它们可以支持多个映射:字体完全可以支持Unicode映射以及特定于Windows和Mac特定的非unicode映射,用于几种不同的语言,或者不支持Unicode的映射,但是能够在几十个也在Unicode中找到的脚本中排版文本,只需使用不同的,unicode不兼容的映射。
所以,关于第一个问题:
浏览器从操作系统中获取默认字体。有一套"安全字体"所有操作系统都附带,浏览器依赖该集合进行默认文本渲染。浏览器就像任何大型应用程序一样,为每个目标平台单独编译,因此他们只知道这些平台上可用的字体,以及如何向操作系统询问它们。
除此之外,CSS还可用于指定存在需要通过非默认系统字体设置样式的内容,甚至可以指定由URL明确指向的字体(使用{{1} } 规则)。对于系统字体,浏览器只需向操作系统询问字体参考,浏览器下载字体的字体,然后使用它。但是,在这两种情况下,只要字体通过一些安全检查,以确保它没有(有时是微妙的)损坏或内部不一致。