在 Chrome 上,一切正常。在 Firefox 和 IE 上(IE 是一个 .eot 文件,从 .ttf 转换而来),我遇到了 和 的字符宽度问题。
使用预定义的等宽字体, 以适当的宽度显示。但是如果我使用 Ubuntu Mono 或我自己的等宽 Truetype 字体,空格字符太窄,并且文本不会垂直对齐换行符。就好像它正在为空格字符使用另一种字体。
如果我将实际字形放入空格字符(32 0x20)中,则间距是正确的。但是,一旦我删除了字形并使空格字符再次为空,它就会恢复为错误的间距。下面的示例使用从 Google Fonts 加载的 Ubuntu Mono,以便其他人使用。例如,字母“t”应垂直对齐。第二个例子使用了内置的等宽字体,看起来不错。
HTML 示例 #1:
<html>
<head>
<link href='http://fonts.googleapis.com/css?family=Ubuntu+Mono' rel='stylesheet' type='text/css'>
<meta charset="utf-8">
</head>
<body>
<h1 style="font-family: 'Ubuntu Mono'; font-size: 200%;">
>In ___
<br> One <+ +>
<br> eaR >> ^ << Out
<br> [=] the
<br> ~ OtheR</h1>
</body>
</html>
HTML 示例 #2:
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h1 style="font-family: monospace; font-size: 200%;">
>In ___
<br> One <+ +>
<br> eaR >> ^ << Out
<br> [=] the
<br> ~ OtheR</h1>
</body>
</html>