1

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

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

4

2 回答 2

3

由于这主要是一个字体问题,替代方法是使用可下载字体,也称为网络字体,via @font-face,并使用图像而不是字符。我写了“主要”,因为还有一个额外的困难:一些浏览器不会显示某些字符,除非它们可以在适用font-family列表中列出的字体中找到。有关这些问题的一般性,请参阅我在 HTML 中使用特殊字符的指南

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

使用可下载的字体来渲染这些字符可能是多余的,所以最好使用图像。您可以使用一些合适的大字体在某些程序中编写字符,对每个字符进行屏幕截图,然后将它们保存为图像。然后你可以通过标签使用它们,使用单位img在 CSS 中将图像的高度设置为合适的高度。em原因是这样它们在不同的字体大小下看起来都很好——适应字体大小,向下缩放往往比向上缩放产生更好的结果。

如果采用这种方式,那么最好将▲、▼、◄、►全部表示为图像,以使其风格匹配。

于 2013-09-26T12:13:04.533 回答
-3

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

于 2013-09-26T11:39:58.663 回答