我有一个页面,其中包含一些HTML编码的Unicode字符:▲ (▲)、▼ ()、◄ (◄)、► (►)和✓ (✓)。一些用户抱怨其中一些没有出现在他们的浏览器中。
在用户机器上不安装字体的情况下,解决这个问题的最佳方法是什么?我必须为每个Unicode字符制作位图吗?如果是,是否有将字符转换为位图的工具?还是有更好的方法?
发布于 2013-09-26 12:13:04
由于这主要是一个字体问题,可供选择的方法是通过@font-face使用可下载的字体,也称为web字体,并使用图像而不是字符。我写“主要”是因为还有一个额外的困难:一些浏览器将不会显示某些字符,除非它们可以在适用的font-family列表中列出的字体中找到。有关这些问题的概括性,请参见我的在HTML中使用特殊字符指南。
在这种特殊情况下,字符“✓”可能会引起问题,因为它存在于相对较少的字体中。在大多数情况下,我都希望其他人都没事,但我的预期是错误的: Android (2.x)显示▲和OK,但没有显示◄和►。
使用可下载的字体来获得这样的字符可能会导致过度,所以最好使用图像。您只需在某个程序中使用一些合适的大字体编写字符,获取每个字符的屏幕截图,并将它们保存为图像。然后通过img标记使用它们,使用em单元将图像的高度设置为适当的高度。原因是这样,他们将在不同的字体大小中看起来很好--适应字体大小,向下缩放往往比向上缩放效果更好。
如果您采用这种方式,那么最好将所有的▲,,◄,►表示为图像,使它们在风格上匹配。
发布于 2013-09-26 11:39:58
只需使用UTF-8编码您的网页,如果有些字体丢失,这些符号使用Arial,因为它包含他们的所有。
https://stackoverflow.com/questions/19027082
复制相似问题