0

当使用带有@fontfoce规则的阿拉伯字体时,会发生一些奇怪的事情:当涉及到罗马字符时,几乎所有浏览器(Opera 除外)都不使用该字体的罗马字符集,而是使用font-family属性中声明的其他字体的字符集. 让我们来说明一下。这是我的@fontface规则:

@font-face {
    font-family: 'hasoobCM';
    src: url('/media/fonts/hasoob.eot'); /* IE9 Compat Modes */
    src:url('/media/fonts/hasoob.eot?#') format('eot'),    
          url('/media/fonts/hasoob.woff') format('woff'),
          url('/media/fonts/hasoob.ttf') format('truetype'); 
}

而且,这里是字体声明:

.hasoob { font-family: hasoobCM, Georgia, "Times New Roman"; }

现在,文本的罗马字符将是 ofGeorgia和 not hasoobCM

有趣的是,如果我将字体声明为.hasoob { font-family: hasoobCM; },那么问题就会得到解决并且字符会正确呈现。问题是我不能这样做,因为字体大小不一致。

那么,我应该怎么做才能“强制”浏览器使用我字体的所有字符集?

顺便说一句,规则中有一个unicode-range@fontface但我不知道我的字体的确切完整字符集范围,我不确定这是否能解决问题。

4

0 回答 0