make canvas sizing detection more robust

This commit is contained in:
daboe01
2014-09-11 10:22:50 +02:00
parent ce777348b3
commit 708844857d
+2 -2
View File
@@ -59,7 +59,7 @@ function _widthOfStringForFont(aString, aFont)
var teststring = "0123456879abcdefghiklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ,.-()";
_didTestCanvasSizingValid = YES;
_measuringContext.font = [aFont cssString];
_isCanvasSizingInvalid = Math.round([teststring sizeWithFont:aFont].width) != Math.round(_measuringContext.measureText(teststring).width);
_isCanvasSizingInvalid = ABS([teststring sizeWithFont:aFont].width -_measuringContext.measureText(teststring)) > 2;
}
if (!CPFeatureIsCompatible(CPHTMLCanvasFeature) || _isCanvasSizingInvalid) // measuring with canvas is _much_ faster on chrome
@@ -71,7 +71,7 @@ function _widthOfStringForFont(aString, aFont)
_measuringContext.font = [aFont cssString];
}
return _measuringContext.measureText(aString);
return ROUND(_measuringContext.measureText(aString));
}
var CPSystemTypesetterFactory;