From 708844857d686db05781faec7abd6f3caf3ee7de Mon Sep 17 00:00:00 2001 From: daboe01 Date: Thu, 11 Sep 2014 10:22:50 +0200 Subject: [PATCH] make canvas sizing detection more robust --- AppKit/CPTextView/CPTypesetter.j | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AppKit/CPTextView/CPTypesetter.j b/AppKit/CPTextView/CPTypesetter.j index bc35f63d8..210a397e2 100755 --- a/AppKit/CPTextView/CPTypesetter.j +++ b/AppKit/CPTextView/CPTypesetter.j @@ -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;