HTML - 缺少Unicode字符

时间:2013-09-26 11:33:07

标签: html unicode

我有一个页面,其中包含一些HTML编码的Unicode字符:▲(▲),▼(▼),◄(◄),►(► )和✓(✓)。一些用户抱怨其中一些没有出现在他们的浏览器中。

如果不在用户的计算机上安装字体,解决此问题的最佳方法是什么?我是否必须为每个Unicode字符制作位图?如果是,是否有工具将字符转换为位图?或者,还有更好的方法?

2 个答案:

答案 0 :(得分:3)

由于这主要是字体问题,因此替代方法是使用可下载字体(也称为Web字体),通过@font-face,并使用图像而不是字符。我写的是“主要”,因为还有一个额外的难度:某些浏览器不会显示某些字符,除非它们可以在适用的font-family列表中列出的字体中找到。有关这些问题的一般性,请参阅我的Guide to using special characters in HTML

在这种特殊情况下,字符“✓”可能会导致问题,因为它以相对较少的字体存在。我希望其他人在大多数情况下都行,但我的期望是错误的:Android(2.x)显示▲和▼OK,但不是◄和►。

使用可下载字体来渲染此类字符可能过度,因此最好使用图像。您可以使用大尺寸的合适字体在某些程序中编写字符,对每个字体进行屏幕捕获,并将它们保存为图像。然后,您将通过img标记使用它们,使用em单位将图像的高度设置为CSS中的合适高度。原因是这样他们在不同的字体大小下会看起来很好 - 适应字体大小,向下缩放往往比向上扩展产生更好的结果。

如果采用这种方式,那么最好将▲,▼,◄,►全部用作图像,以使它们在风格上匹配。

答案 1 :(得分:-2)

只需使用UTF-8编码您的页面,如果缺少某些字体,这些符号将使用Arial,因为它包含所有符号。