2

我正在尝试在我的新网站中使用“Nilland-SmallCaps”字体。问题是,虽然所有其他文本都正确显示,但我的语言的特定字符(š、č、ž(s、c、z 和 caron))以默认字体显示。我在字体编辑器中打开了 .ttf 文件,发现这些字符已定义,所以我不知道为什么它们不能正确显示。如果您对如何解决此问题有任何想法,请帮助我,因为我已经尝试了我想出的所有方法。

@font-face {  
font-family: 'Nilland-SmallCaps';  
src: url('Nilland-SmallCaps.ttf')format('truetype');  
}

我正在使用这个字体文件:Nilland-SmallCaps

4

2 回答 2

2

Nilland-Smallcaps 字体在很多方面都很奇怪。首先,它实际上不包含小型大写字母。但这里重要的是它没有正确编码。它不包含分配给与 Unicode 数字相对应的位置的字形,除了一些字符,如 Ascii 范围。

如果你使用DTL OTMaster Light分析字体,你可以看到例如字母š被正确放置,Unicode数字U+0161,但是字母ž被分配到U+0014,这是错误的,因为这是一个控制字符位置。字母č在U+E054的位置,属于Private Use Area,只能在相关方协议下使用,浏览器不感兴趣。实际上,您可以通过使用字符引用来欺骗(至少某些)浏览器以在字体中呈现 č ,但这确实是一个可怕的组合。

我建议您尝试找到一些其他编码更正确的字体。

于 2012-11-06T14:04:54.240 回答
1

听起来字体在生成字体时没有打开自定义语言设置。请在此处查看修复:

字体对自定义语言字符不起作用

必须选择以下 Font Squirrel 选项才能生成正确的语言字形:

单击自定义子集单选按钮并选择以下选项:

字符编码 -Mac 罗马字符类型 -选中此部分中的所有复选框 语言 - 英语、法语或其他语言

于 2012-11-06T13:33:16.590 回答