Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 以错误字体显示的非ascii字符_Html_Css_Fonts_Font Face_Truetype - Fatal编程技术网

Html 以错误字体显示的非ascii字符

Html 以错误字体显示的非ascii字符,html,css,fonts,font-face,truetype,Html,Css,Fonts,Font Face,Truetype,我正在尝试在我的新网站中使用“Nilland SmallCaps”字体。问题是,虽然所有其他文本都正确显示,但我的语言的特定字符(š,č,ž(s,c,z,带caron))以默认字体显示。我在字体编辑器中打开了.ttf文件,发现这些字符是定义的,所以我不知道它们为什么不能正确显示。如果你对如何解决这个问题有想法,请帮助我,因为我已经尝试了所有我想到的方法 @font-face { font-family: 'Nilland-SmallCaps'; src: url('Nilland-Sma

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

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

我正在使用此字体文件:

听起来好像生成字体时,字体没有启用自定义语言设置。请在此处查看修复程序:

必须选择以下字体Squirrel选项,以便 要生成的正确语言图示符:

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

字符编码-Mac罗马字符类型-选中所有复选框 在本节中,语言为英语、法语或其他任何语言


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

如果使用Light分析字体,您可以看到,例如,字母š的位置正确,Unicode数字U+0161,但字母ž被分配给U+0014,这是完全错误的,因为这是一个控制字符位置。字母č位于U+E054的位置,该位置位于私人使用区域,只有相关方同意才能使用,浏览器对此不感兴趣。事实上,您可以通过使用字符引用
和#xe054,但这确实是一个令人毛骨悚然的混乱


我建议您尝试寻找其他更合适的编码字体。

我的雇主希望我使用这种特定字体。我不是这方面的专家,但有没有可能以一种可以纠正这些问题的方式编辑字体文件?从技术上讲,编辑字体文件是可能的,但你需要字体作者的许可(你很可能会得到许可);仅仅是一种免费字体并不意味着有权修改字体。