CSS Webfont不会渲染缺少的字符

时间:2014-10-06 07:51:20

标签: css fonts

我正在为网络项目(http://www.google.com/fonts/specimen/Quicksand)使用“Quicksand”字体,我遇到了一个问题:该字体不存在²字符。我认为它将以其他字体呈现(在字体系列属性中以Quicksand编写),但事实并非如此。当我写²时,唯一呈现的是空格。

有没有办法用其他字体渲染不支持的字符?

这是使用的CSS:

font-family: "Quicksand", Helvetica, Arial, sans-serif;

1 个答案:

答案 0 :(得分:1)

Quicksand字体有一个错误:对于Unicode代码位置U + 00B2,SUPERSCRIPT TWO,它有一个空的字形。它是396个单位宽,因此它比字体中的普通SPACE(300个单位)宽。另一个有类似问题的角色是U + 201A SINGLE LOW-9 QuOTAT​​ION MARK“,”,它有一个230字母宽的空字形。

原则上,您可以通过在unicode-range规则中使用@font-face来规避特定字符取自不同字体,从而规避错误。但是,浏览器支持仍然太有限(并且该方法需要您托管字体文件,而不是从Google服务器使用它们。)

另一种可能性是编辑字体。这需要字体编辑器和版权所有者的许可(当然还有托管字体文件)。

第三种选择是在span元素中将每个“²”包含在一个类中并适当地设置font-family。请注意,这意味着要混合来自不同字体的字形,这应该在良好的排版中避免使用。

最后,考虑使用不同的字体。关于使用Quicksand字体渲染问题有几个问题。