本周我们在使用该@font-face
构造嵌入 EOT 字体文件时偶然发现了 IE7 中的一个相当奇怪的错误(惊喜,惊喜)。
为了节省带宽,我们经常从我们知道不会在网站上使用的字体中编辑出一组字符。在这个特定的例子中,我们将这种字体用于所有以标题大小写组成的标题,但使用该text-transform
属性以大写形式显示。从逻辑上讲,我们只使用大写字符保存了所有字体文件,因为我们根本不使用小写字母。
该网站在所有支持该结构的浏览器(包括 IE6 和 IE8)中都能完美呈现@font-face
,但 IE7 除外。IE7 仅以正确的字体显示每个单词的第一个字符——其余字符以浏览器的默认字体显示。
摸不着头脑,我们终于发现,由于标题实际上是写成标题大小写的(因此包含小写字符),即使text-transform
部署了属性并且字符以大写形式出现,IE7 也要求 EOT 文件中存在小写字母显示大写字符。(直觉,不是吗?)
简单的修复是使用大写和小写字形重建 EOT 文件,即使从未使用小写字符。
我怎样才能正确解决这个问题?(即让 IE7 呈现大写字符,而不必在字体中包含小写字形。)
谢谢!