Unicode character rendered at a different size in IE6

久未见 提交于 2020-05-15 05:59:25

问题


In a web application, I have to display a special unicode character, know as BLACK DIAMOND (U+25C6) (see here for more details). Here is a sample :

The font defined for the page is Arial, with size 13px.

Surprisingly, the character is rendered with a bigger size in IE6 vs other browsers (FF, Chrome, ...).

Is there any reason of this weird behavior and what is the solution to avoid this ?


回答1:


This is because the specified character is missing from the font you specified. So the browser looks for a suitable font to use for that character so it can still display it. Different browsers pick different fonts, so you'll see it a little bit differently on each.

There isn't much in general you can do to avoid this because missing fonts are very common on the web and thus you cannot really rely on any font to be present on the user's machine. You can try mitigating it, though:

  1. You can put the U+25C6 in a span that's styled to use a different but specific font that has the character (and which works well with your main font).
  2. Same as above, but distribute a web font (WOFF seems to be a reasonable choice nowadays) that contains the glyph. That way you have more control about what is displayed.
  3. Stay far, far away from specifying fallback fonts like Arial Unicode MS. Just don't use them at all.
  4. If you're just after the looks of U+25C6 and don't care about having it actually in text form you can use an image or a CSS hack.


来源:https://stackoverflow.com/questions/11292401/unicode-character-rendered-at-a-different-size-in-ie6

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!