8

我正在使用CSS3属性unicode-range为不同的字符集设置不同的字体。Arial用于拉丁字符,aWebNazanin用于阿拉伯语/波斯语。它似乎在 Chrome 29 和 IE10 中有效,但在 Firefox 23 中无效,它仍然Arial在 Firefox 中使用字体:

Chrome 截图
铬合金


火狐截图
火狐

这是我的CSS:

@font-face {
    font-family: 'WebNazanin';
    src: url('http://awebfont.ir/services/fonts/775b712c01cdf4eb7f15d9180567345060f700291901931.eot'),
    url('http://awebfont.ir/services/fonts/775b712c01cdf4eb7f15d9180567345060f700291901931.otf') format('opentype'),url('http://awebfont.ir/services/fonts/775b712c01cdf4eb7f15d9180567345060f700291901931.woff') format('woff'),
    url('http://awebfont.ir/services/fonts/775b712c01cdf4eb7f15d9180567345060f700291901931.ttf') format('truetype'),
    url('http://awebfont.ir/services/fonts/775b712c01cdf4eb7f15d9180567345060f700291901931.svg') format('svg');
}
@font-face {
    font-family:'WebNazanin';
    src: local('Times New Roman');
    unicode-range: U+41-7F;

}

JSFiddle:http: //jsfiddle.net/maysamsh/t9MpF/

4

2 回答 2

7

你是对的。火狐不支持unicode-range
https://developer.mozilla.org/en-US/docs/Web/CSS/unicode-range#Browser_compatibility

他们正在努力。4年以来。

如果它对您来说真的很重要,您可能需要搜索 javascript 解决方案(例如查看每个 char 并插入 styled spans 等......)。但这可能会非常缓慢。

更新

它现在已实现,但默认情况下未启用。您可以使用about:config标志 ( layout.css.unicode-range.enabled)启用它

于 2013-09-14T15:21:32.057 回答
1

它很旧,但一个简单的解决方案是:

font-family: WebNazanin, Arial;

我总是使用这种方法,它会为阿拉伯文或波斯字符显示 WebNazanin,为拉丁文显示 Arial。

于 2015-12-09T07:07:39.480 回答