我正在尝试在我的新网站中使用'Nilland-SmallCaps'字体。问题是,虽然所有其他文本都正确显示,但我的语言的特定字符(š,č,ž(s,c,z with caron))以默认字体显示。我在字体编辑器中打开了.ttf文件,我发现这些字符已经定义了,所以我不知道为什么它们没有正确显示。如果您对如何解决这个问题有所了解,请帮助我,因为我已经尝试了我想出的所有内容。
@font-face {
font-family: 'Nilland-SmallCaps';
src: url('Nilland-SmallCaps.ttf')format('truetype');
}
我正在使用此字体文件:Nilland-SmallCaps
答案 0 :(得分:2)
Nilland-Smallcaps字体在很多方面都很奇怪。它首先实际上不包含小型大写字母。但重要的是它没有正确编码。除了某些字符(如Ascii范围)外,它不包含分配给与Unicode编号对应的位置的字形。
如果您使用DTL OTMaster Light分析字体,则可以看到,例如字母š正确放置,Unicode编号U + 0161,但字母ž分配给U + 0014,这是完全错误的,因为这是一个控制字符位置。字母č位于U + E054位置,位于私人使用区域,只能由相关方之间的协议使用,并且浏览器不感兴趣。事实上,你可以通过使用字符引用
来欺骗(至少某些)浏览器在字体中渲染č,但这实际上是一个可怕的kludge。
我建议您尝试找一些其他更正确编码的字体。
答案 1 :(得分:1)
听起来像font-face在生成font-face时没有打开自定义语言设置。请在此处查看修复:
Font Face not working for custom language characters
必须选择以下Font Squirrel选项才能获得 要生成的正确语言字形:
单击“自定义子集”单选按钮,然后选择以下选项 选项:
字符编码-Mac罗马字符类型 - 选中所有复选框 本节内容语言 - 英语,法语或语言