什么是正确的方式使用@ font-face,以便浏览器不会下载的字体,如果用户已经有它?
我使用@ font-face来定义DejaVu,它已经安装在我的系统(linux)上。
Firefox不会下载字体,但Chromium会每次下载!
我的CSS代码,基于font squirrel和that question看起来像这样:
@font-face { font-family: 'DejaVu Serif'; src: url('DejaVuSerif-webfont.eot'); src: local('DejaVu Serif'),url('DejaVuSerif-webfont.woff') format('woff'),url('DejaVuSerif-webfont.ttf') format('truetype'),url('DejaVuSerif-webfont.svg#webfontCFu7RF0I') format('svg'); font-weight: normal; font-style: normal; } /* ... @font-face definitions for italic and bold omitted ... */ @font-face { font-family: 'DejaVu Serif'; src: url('DejaVuSerif-BoldItalic-webfont.eot'); src: local('DejaVu Serif Bold Italic'),url('DejaVuSerif-BoldItalic-webfont.woff') format('woff'),url('DejaVuSerif-BoldItalic-webfont.ttf') format('truetype'),url('DejaVuSerif-BoldItalic-webfont.svg#webfontQAewh7pf') format('svg'); font-weight: bold; font-style: italic; }
解决方法
如果你想检查本地文件首先做:
@font-face { font-family: 'Green Sans Web'; src: local('Green Web'),local('GreenWeb-Regular'),url('GraublauWeb.ttf'); }
有一个更详细的描述of what to do here。