我在想,为了避免这个Chrome错误,人们必须能够用自定义名称指定“Open Sans”字体系列,以便Chrome不会混淆,所以通过仔细阅读标题为“custom”的WebFontLoader规范(
https://github.com/typekit/webfontloader#custom
)我很幸运,这实际上是可能的!
我所做的是首先下载所需的
字体+CSS
从…起
http://www.localfont.com/
在上传字体到我的服务器后,我将下载的CSS声明添加到我自己的CSS文件中。
当心:
删除所有
本地(“…”)
声明并重命名的所有实例
font-family:'Open Sans';
按照惯例,我选择了
字体系列:'CustomOpenSans';
.
之后,我的案例中的css如下所示:
@font-face {
font-family: 'CustomOpenSans';
font-weight: 400;
font-style: normal;
src: url('../assets/fonts/Open-Sans-regular/Open-Sans-regular.eot');
src: url('../assets/fonts/Open-Sans-regular/Open-Sans-regular.eot?#iefix') format('embedded-opentype'),
url('../assets/fonts/Open-Sans-regular/Open-Sans-regular.woff2') format('woff2'),
url('../assets/fonts/Open-Sans-regular/Open-Sans-regular.woff') format('woff'),
url('../assets/fonts/Open-Sans-regular/Open-Sans-regular.ttf') format('truetype'),
url('../assets/fonts/Open-Sans-regular/Open-Sans-regular.svg#OpenSans') format('svg');
}
@font-face {
font-family: 'CustomOpenSans';
font-weight: 600;
font-style: normal;
src: url('../assets/fonts/Open-Sans-600/Open-Sans-600.eot');
src: url('../assets/fonts/Open-Sans-600/Open-Sans-600.eot?#iefix') format('embedded-opentype'),
url('../assets/fonts/Open-Sans-600/Open-Sans-600.woff2') format('woff2'),
url('../assets/fonts/Open-Sans-600/Open-Sans-600.woff') format('woff'),
url('../assets/fonts/Open-Sans-600/Open-Sans-600.ttf') format('truetype'),
url('../assets/fonts/Open-Sans-600/Open-Sans-600.svg#OpenSans') format('svg');
}
@font-face {
font-family: 'CustomOpenSans';
font-weight: 700;
font-style: normal;
src: url('../assets/fonts/Open-Sans-700/Open-Sans-700.eot');
src: url('../assets/fonts/Open-Sans-700/Open-Sans-700.eot?#iefix') format('embedded-opentype'),
url('../assets/fonts/Open-Sans-700/Open-Sans-700.woff2') format('woff2'),
url('../assets/fonts/Open-Sans-700/Open-Sans-700.woff') format('woff'),
url('../assets/fonts/Open-Sans-700/Open-Sans-700.ttf') format('truetype'),
url('../assets/fonts/Open-Sans-700/Open-Sans-700.svg#OpenSans') format('svg');
}
@font-face {
font-family: 'CustomOpenSans';
font-weight: 400;
font-style: italic;
src: url('../assets/fonts/Open-Sans-italic/Open-Sans-italic.eot');
src: url('../assets/fonts/Open-Sans-italic/Open-Sans-italic.eot?#iefix') format('embedded-opentype'),
url('../assets/fonts/Open-Sans-italic/Open-Sans-italic.woff2') format('woff2'),
url('../assets/fonts/Open-Sans-italic/Open-Sans-italic.woff') format('woff'),
url('../assets/fonts/Open-Sans-italic/Open-Sans-italic.ttf') format('truetype'),
url('../assets/fonts/Open-Sans-italic/Open-Sans-italic.svg#OpenSans') format('svg');
}
@font-face {
font-family: 'CustomOpenSans';
font-weight: 600;
font-style: italic;
src: url('../assets/fonts/Open-Sans-600italic/Open-Sans-600italic.eot');
src: url('../assets/fonts/Open-Sans-600italic/Open-Sans-600italic.eot?#iefix') format('embedded-opentype'),
url('../assets/fonts/Open-Sans-600italic/Open-Sans-600italic.woff2') format('woff2'),
url('../assets/fonts/Open-Sans-600italic/Open-Sans-600italic.woff') format('woff'),
url('../assets/fonts/Open-Sans-600italic/Open-Sans-600italic.ttf') format('truetype'),
url('../assets/fonts/Open-Sans-600italic/Open-Sans-600italic.svg#OpenSans') format('svg');
}
@font-face {
font-family: 'CustomOpenSans';
font-weight: 700;
font-style: italic;
src: url('../assets/fonts/Open-Sans-700italic/Open-Sans-700italic.eot');
src: url('../assets/fonts/Open-Sans-700italic/Open-Sans-700italic.eot?#iefix') format('embedded-opentype'),
url('../assets/fonts/Open-Sans-700italic/Open-Sans-700italic.woff2') format('woff2'),
url('../assets/fonts/Open-Sans-700italic/Open-Sans-700italic.woff') format('woff'),
url('../assets/fonts/Open-Sans-700italic/Open-Sans-700italic.ttf') format('truetype'),
url('../assets/fonts/Open-Sans-700italic/Open-Sans-700italic.svg#OpenSans') format('svg');
}
和webfont。js代码如下:
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js"></script>
<script type="text/javascript">
WebFontConfig = {
custom: { families: [ 'CustomOpenSans' ] }
};
</script>
线路
风俗
使用自定义的族命名就做到了。
我还需要更改
字体系列
CSS中的值
'自定义OpenSans'
如此:
body
{
font-family: 'CustomOpenSans', sans-serif;
}
我希望Chromium的人能尽快解决这个问题。。。