当预加载Web字体时,如何确定正确的本地字体名称?

7
这篇文章:When do web-fonts load and can you pre-load them?建议使用local来利用已经加载的字体。我找不到其他预加载web字体的方法。
然而,我无法确定要在本地引用中使用什么名称。在MacOSX上,多个变体会显示为相同的字体名称。例如,我认为应该使用local("Helvetica Neue Light"),但在字体书中可用的是"Helvetica Neue"... 如何引用不同的变体?
@font-face {
  font-family: 'ProximaNova';
  font-weight: normal;
  font-style: normal;
  src: url('/fonts/proximanova/ProximaNova-Reg-webfont.eot');
  src:  local("Proxima Nova Regular"), url('/fonts/proximanova/ProximaNova-Reg-webfont.eot?#iefix') format('embedded-opentype'),
       url('/fonts/proximanova/ProximaNova-Reg-webfont.woff') format('woff'),
       url('/fonts/proximanova/ProximaNova-Reg-webfont.ttf') format('truetype'),
       url('/fonts/proximanova/ProximaNova-Reg-webfont.svg#webfont') format('svg');
}

@font-face {
  font-family: 'ProximaNova';
  font-weight: $light_weight;
  font-style: normal;
  src: url('/fonts/proximanova/ProximaNova-Light-webfont.eot');
  src: url('/fonts/proximanova/ProximaNova-Light-webfont.eot?#iefix') format('embedded-opentype'),
       url('/fonts/proximanova/ProximaNova-Light-webfont.woff') format('woff'),
       url('/fonts/proximanova/ProximaNova-Light-webfont.ttf') format('truetype'),
       url('/fonts/proximanova/ProximaNova-Light-webfont.svg#webfont') format('svg');
}

所有变化仍然导致chrome浏览器请求woff文件。此外,我找不到任何关于Web字体或如何优化其性能的最新或当前的最佳实践,我该如何防止这些请求?

在你的第一个例子中,你在LOCAL()引用之前列出了一个URL SRC。这是有意为之吗? - DA.
不确定这方面的最佳实践是什么,我的理解是双重声明是某些IE兼容性实践的一部分。这是我能找到的最新资源,而且已经有2年了!http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax - awesome_person
我会先删除第一个URL声明,看看是否可以解决问题(本地加载)。 - DA.
2个回答

4
作为对 Jukka 回答的补充,您可以在 Mac OS 上使用 FontBook 应用程序查找字体的各种名称。要查看名称,请选择字体,然后选择信息标签(CMD+i)。 FontBook info tab

2

Web字体遵循正常规则进行缓存,因此如果用户最近访问过引用了Web字体的页面,则在访问另一个使用相同URL的页面时,浏览器中缓存的副本可能会被使用。

local(...)的使用涉及其他内容,即字体可能作为已安装字体存在于系统中。这取决于系统设置和用户操作;作为作者,您无法使用户的系统安装字体。

从技术上讲,在local(...)中,应该使用特定字体(而不是字体系列)的名称,名称应该是PostScript名称或字体的完整名称。这些名称可以在字体的名称表中找到,对应于nameID值6和4。要查找这些名称,您可以使用例如DTL OTMaster Light程序。

但是,这仅会影响已安装字体的系统。也就是说,适用于用户购买并安装了该字体的系统。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接