在一些html文档中,我只用了几个单词就使用了webfonts。从性能上看,加载一个完整的字体文件似乎是浪费的。这就是@字体面声明的unicode范围参数的位置:
http://www.w3.org/TR/css3-fonts/#unicode-range-desc
使用它,我应该可以定义要加载的字体文件中的哪些字符,从而大大提高性能。但我就是不能让它起作用。奇怪的是,当我在声明中包含unicode范围参数时,它会同时处理firefox中的所有字符,并且无法在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>发布于 2011-10-20 20:43:58
你误解了这种价值的目的。从这一页:
此描述符定义给定字体支持的Unicode字符的范围。
所以这不是要下载的字形(或字符),这实际上是告诉浏览器字体中有哪些字符,这样浏览器就可以确定它是否值得首先下载字体。如果被样式化的文本不在给定的unicode-range中,那么字体将不会被下载。
在您引用的页面上,示例XIII显示了一个很好的示例。假设有3个@font-face规则共享相同的font-family属性。但是,第一条规则指向一个巨大的4.5MB TTF文件,该文件具有所有可能需要的字形。第二条规则列出了一个更小的1.2MB TTF,但是说只有当所有字符都符合日语的字形范围时才使用它。第三条规则列出了一个很小的190 is文件,如果文本的样式是罗马的,可以下载该文件。
https://stackoverflow.com/questions/7841844
复制相似问题