我在使用“font-variant: small-caps”将我的网络字体设置为小型大写字母时遇到问题。这是我的发现和经历,排除了可能的问题:
- 我最初的想法是 .woff 文件由于某种原因没有呈现小型大写字母。我已经排除了这一点,因为字体在 Safari 和 Firefox 中呈现良好,据我所知使用 .woff 格式。
- 我的第二个想法是这是一个 webkit 问题,但 Safari 显示它很好,我不认为它是。
- 我没有使用 twitter 引导程序,所以不
text-rendering: optimizelegibility
,我也尝试将其重置为自动。 - 我尝试了
font-feature-settings: 'smcp'
包含浏览器前缀,它不呈现小型大写字母(在所有浏览器中只有第一个字母大写)
我错过了什么吗?
编辑
经过进一步研究,我找到了一个解决方法,即添加font-variant:small-caps
到 中@font-face
,如下所示:
@font-face {
font-family:'MYFONT';
src:url('../fonts/MYFONT.eot');
src:url('../fonts/MYFONT.eot?#iefix') format('embedded-opentype'),
url('../fonts/MYFONT.ttf') format('truetype'),
url('../fonts/MYFONT.woff') format('woff'),
url('../fonts/MYFONT.svg#myfont') format('svg');
font-variant:small-caps
}
事实证明,只有堆栈受此影响。@font-face
在 Chrome 支持的每种字体格式中,按预期分配类似的工作方式:
<style>
@font-face {
font-family:'MYFONTttf';
src:url('../fonts/MYFONT.ttf') format('truetype');
}
</style>
<div style="font-family:MYFONTttf; font-variant:small-caps">
works as expected, in small-caps
</div>