降低具有缺少字体的Web浏览器的Unicode字符

Chr*_*ent 19 html unicode

我在html文档中使用Unicode'CHECK MARK'(U + 2713).我发现它在大多数浏览器中都可以正常显示,但偶尔会遇到PC上缺少字体的人.如果字体丢失,是否有任何HTML/JS技巧来指定替代显示字符(或图像)?

bob*_*nce 7

没有直接的方法来判断是否有任何特定字符以有用的方式呈现.关于JavaScript所能做的就是<span>在目标字体中创建一个包含一个(或几个)目标字符,并将其宽度与<span>包含相同数量的字符的另一个进行比较,这些字符是您知道无法有效渲染的(*).如果它们的宽度相同,则可能每个都有大量的方框或问号,因此您可以采取添加图像等备份措施.

由于这是非常烦人的,你可能更愿意去拍照.或者你可以尝试@font-face在现代浏览器上使用嵌入来使用一般的已知良好字体.由于通常IE的Unicode字体后备支持较差,因此请务必包含EOT字体.

(*:您可以尝试一个当前未分配的字符,并希望保持这种状态,例如U + 08FF,或者像U + FFFF这样的保证无效字符,尽管您是否应该允许将它放在HTML文档中是有疑问的.)