在Chrome上,一切正常。在Firefox和IE上(IE是一个.tt文件,从.ttf转换而来),我的字符宽度问题为& nbsp和&#32。在Firefox和IE中ttf等宽字体间距问题
使用预定义的等宽字体,& nbsp以适当的宽度显示。但是,如果我使用Ubuntu Mono或我自己的monospace 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>