我注意到Firefox拒绝在我的某个网页上加载自定义字体。我90%肯定它在一个月前就能运作了。现在我使用Firefox 43.04(Windows)。控制台中的错误是:
downloadable font: rejected by sanitizer (font-family: "PT Serif" style:normal weight:bold stretch:normal src index:0) source: https://localhost:8443/project/fonts/2/pt-serif-v8-latin_latin-ext-700.eot
并且使用系统字体(Times New Roman)渲染html文本。
相关的CSS是:
@font-face {
font-family: 'PT Serif';
font-style: normal;
font-weight: 700;
src: url('../fonts//pt-serif-v8-latin_latin-ext-700.eot'); /* IE9 Compat Modes */
src: local('PT Serif Bold'), local('PTSerif-Bold'),
url('../fonts//pt-serif-v8-latin_latin-ext-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts//pt-serif-v8-latin_latin-ext-700.woff') format('woff'), /* Modern Browsers */
url('../fonts//pt-serif-v8-latin_latin-ext-700.ttf') format('truetype'), /* Safari, Android, iOS */
}

如果我用 eot 删除这两行,那么它可以正常工作(使用网络字体)。
问题是,当问题只有一种格式时,为什么拒绝整个字体系列? 我需要 eot 用于IE(奇怪的,caniuse声称IE支持WOFF自v9以来,但它似乎不适用于我的IE11。)
下载了字体文件答案 0 :(得分:0)
CSS行(带有“Safari,Android,iOS”的行)以逗号而不是分号结尾。 (腮红)
正确的(经过测试的)版本是:
@font-face {
font-family: 'PT Serif';
font-style: normal;
font-weight: 700;
src: url('../fonts//pt-serif-v8-latin_latin-ext-700.eot'); /* IE9 Compat Modes */
src: local('PT Serif Bold'), local('PTSerif-Bold'),
url('../fonts//pt-serif-v8-latin_latin-ext-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../fonts//pt-serif-v8-latin_latin-ext-700.woff') format('woff'), /* Modern Browsers */
url('../fonts//pt-serif-v8-latin_latin-ext-700.ttf') format('truetype'); /* Safari, Android, iOS */
}