performance - @font-face unicode-range 属性

在一些 html 文档中,我只为几个单词使用了 webfonts。在性能方面加载完整的字体文件似乎很浪费。这是 @font-face 声明的 unicode-range 参数的来源:

http://www.w3.org/TR/css3-fonts/#unicode-range-desc

有了它,我应该可以定义要加载的字体文件的哪些字符,从而大大提高性能。 但我就是无法让它工作。奇怪的是,它会显示 firefox 中的所有字符,并且即使我在声明中包含 unicode-range 参数,它也无法在 safari 中加载字体。 任何帮助将不胜感激,下面是我用来测试它的 html:

<!doctype html>
<html lang="en">
<head>
<style text="text/css">
@font-face {
font-family: 'dream';
src: url(Fonts/Digital-dream/DIGITALDREAM.ttf) format("truetype");
unicode-range: U+FF21;
}

*{
font-family:dream;
font-weight:normal;
}
</style>
</head>
<body>
<p>ASDWEWQDSCF</p>
</body>
</html>

最佳答案

您误解了该值的用途。从该页面:

This descriptor defines the range of Unicode characters supported by a given font

所以这不是要下载的字形(或字符),这实际上是告诉浏览器字体中有哪些字符,以便浏览器可以确定它是否值得首先下载字体。如果设置样式的文本不在给定的 unicode-range 中,则不会下载该字体。

您引用的页面上的示例 XIII 显示了一个很好的示例。假设 3 个 @font-face 规则共享相同的 font-family 属性。然而,第一条规则指向一个巨大的 4.5MB TTF 文件,其中包含所有可能需要的字形。第二条规则列出了一个小得多的 1.2MB TTF,但表示仅当所有字符都适合日文字形范围时才使用它。第三条规则列出了一个非常小的 190KB 文件,如果样式文本仅为罗马字体,则可以下载该文件。

https://stackoverflow.com/questions/7841844/

相关文章:

ruby-on-rails - Rspec测试,关于顺序和之前(:all)

php - 使用 PHP 检查字符串是否包含(CR、LF 或 CF 或 LF)或不包含

opengl - 可在 OpenGL 中表示的曲线

css - 如何并排显示两个高度为 100% 的 Div?

php - 使用 facebook sharer.php 与多个 url 变量共享一个 url

c# - ASP.NET 中的虚拟路径

haskell - 在 Haskell 中打印元组内的值

wpf - 自动将文本框中的第一个字母大写

PHP PDO - 可以连接但查询不工作

oracle - 检查临时表是否存在