我碰到与我的应用程序中的错误,我追踪到Chrome和Firefox之间不一致的文字渲染4.火狐4文本渲染错误
铬告诉我,文本的某些字符串是215px宽,而火狐4告诉我它218px宽:
搜索indicates,这个问题是与Firefox 4,Chrome浏览器不阿位。
以下代码呈现经由HTML画布元件上以及文本并输出宽度:
<html>
<head>
<title>Firefox 4 Text Rendering Bug</title>
<script type="text/javascript">
function draw(){
var canvas = document.getElementById('tutorial');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
ctx.font = "bold 16pt Helvetica"
ctx.fillText("MORE INFORMATION", 0, 16)
alert(ctx.measureText("MORE INFORMATION").width);
}
}
</script>
<style type="text/css">
canvas { border: 1px solid black; }
h2 {font-size: 16pt; font-family: Helvetica; font-weight: bold }
</style>
</head>
<body onload="draw();">
<canvas id="tutorial" width="220" height="20"></canvas>
<h2>MORE INFORMATION</h2>
</body>
</html>
有一种方法对浏览器之间一致地呈现文本?