【发布时间】:2016-01-15 16:04:46
【问题描述】:
我在使用 Internet Explorer 11 中的网络字体时遇到问题。该字体适用于使用 IE11 的某些用户,但对于其他用户则不适用,即使它是同一个浏览器。 Modernizr.fontface 仍然为遇到问题的用户返回 true,因此我可以排除这种情况。
下面是 CSS...
@font-face {
font-family: 'Balthazar';
font-style: normal;
font-weight: 400;
src: url('/assets/fonts/Balthazar/Balthazar.eot'); /* IE9 Compat Modes */
src: local('Balthazar Regular'),
local('Balthazar-Regular'),
url('/assets/fonts/Balthazar/Balthazar.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/assets/fonts/Balthazar/Balthazar.woff2') format('woff2'), /* Modern Browsers */
url('/assets/fonts/Balthazar/Balthazar.ttf') format('truetype'), /* Safari, Android, iOS */
url('/assets/fonts/Balthazar/Balthazar.svg#Balthazar-Regular') format('svg'); /* Legacy iOS */
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
<remove fileExtension=".woff"/>
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
<remove fileExtension=".woff2"/>
<mimeMap fileExtension=".woff2" mimeType="application/x-font-woff2" />
<remove fileExtension=".ttf"/>
<mimeMap fileExtension=".ttf" mimeType="application/x-font-ttf" />
<remove fileExtension=".eot"/>
<mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
<remove fileExtension=".svg"/>
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
<remove fileExtension=".svgz"/>
<mimeMap fileExtension=".svgz" mimeType="image/svg+xml" />
IE 尝试渲染 ttf 文件,所以我认为这可能是 mime 类型问题。部分原因是:我将 mime 类型更新为 application/x-font-ttf,它为至少一个用户修复了它,但另外两个用户仍然遇到这个问题。然后我尝试在 WOFF2 之后添加一个 WOFF,但仍然没有用。
我很茫然。请帮忙。
【问题讨论】:
-
解决了!它是添加 .woff 和 mime 类型的 application/font-woff 的组合。显然 application/x-font-woff 并不像某些文章所说的那样可靠。绝对不是 DRM。绝对不是错字。
标签: css internet-explorer font-face mime-types webfonts