diff --git a/Lib/fontTools/cffLib/__init__.py b/Lib/fontTools/cffLib/__init__.py index 226216f7c..9b1f04a16 100644 --- a/Lib/fontTools/cffLib/__init__.py +++ b/Lib/fontTools/cffLib/__init__.py @@ -4,7 +4,7 @@ from __future__ import print_function, division, absolute_import from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc import psCharStrings -from fontTools.misc.arrayTools import unionRect +from fontTools.misc.arrayTools import unionRect, intRect from fontTools.misc.textTools import safeEval from fontTools.ttLib import TTFont from fontTools.ttLib.tables.otBase import OTTableWriter @@ -2331,7 +2331,7 @@ class TopDict(BaseDict): if bounds == initialBounds: self.FontBBox = self.defaults['FontBBox'][:] else: - self.FontBBox = [round(v) for v in bounds] + self.FontBBox = list(intRect(bounds)) class FontDict(BaseDict): diff --git a/Tests/cffLib/cffLib_test.py b/Tests/cffLib/cffLib_test.py index 52825934b..0d1258d02 100644 --- a/Tests/cffLib/cffLib_test.py +++ b/Tests/cffLib/cffLib_test.py @@ -19,8 +19,8 @@ class TopDictTest(unittest.TestCase): 0 0 rmoveto 200 hlineto 200 vlineto -200 hlineto endchar - - -55.5 -55.5 rmoveto 111 hlineto 111 vlineto -111 hlineto endchar + + -55.1 -55.1 rmoveto 110.2 hlineto 110.2 vlineto -110.2 hlineto endchar """))