py23 from __future__ import division and adjust divisions
diff --git a/Lib/fontTools/misc/arrayTools.py b/Lib/fontTools/misc/arrayTools.py
index cab3066..acbb02f 100644
--- a/Lib/fontTools/misc/arrayTools.py
+++ b/Lib/fontTools/misc/arrayTools.py
@@ -4,7 +4,7 @@
#
-from __future__ import print_function
+from __future__ import print_function, division
from fontTools.misc.py23 import *
import math
@@ -161,9 +161,9 @@
>>> unionRect((0, 10, 20, 30), (0, 40, 20, 50))
(0, 10, 20, 50)
>>> rectCenter((0, 0, 100, 200))
- (50, 100)
+ (50.0, 100.0)
>>> rectCenter((0, 0, 100, 199.0))
- (50, 99.5)
+ (50.0, 99.5)
>>> intRect((0.9, 2.9, 3.1, 4.1))
(0, 2, 4, 5)
"""
diff --git a/Lib/fontTools/misc/bezierTools.py b/Lib/fontTools/misc/bezierTools.py
index a87d4ae..179ab3c 100644
--- a/Lib/fontTools/misc/bezierTools.py
+++ b/Lib/fontTools/misc/bezierTools.py
@@ -1,7 +1,7 @@
"""fontTools.misc.bezierTools.py -- tools for working with bezier path segments.
"""
-from __future__ import print_function
+from __future__ import print_function, division
from fontTools.misc.py23 import *
__all__ = [
@@ -100,7 +100,7 @@
if ax == 0:
return [(pt1, pt2)]
- t = float(where - (bx, by)[isHorizontal]) / ax
+ t = (where - (bx, by)[isHorizontal]) / ax
if 0 <= t < 1:
midPt = ax * t + bx, ay * t + by
return [(pt1, midPt), (midPt, pt2)]
diff --git a/Lib/fontTools/misc/eexec.py b/Lib/fontTools/misc/eexec.py
index dc36770..84f9705 100644
--- a/Lib/fontTools/misc/eexec.py
+++ b/Lib/fontTools/misc/eexec.py
@@ -2,7 +2,7 @@
charstring encryption algorithm as used by PostScript Type 1 fonts.
"""
-from __future__ import print_function
+from __future__ import print_function, division
from fontTools.misc.py23 import *
# Warning: Although a Python implementation is provided here,
diff --git a/Lib/fontTools/misc/homeResFile.py b/Lib/fontTools/misc/homeResFile.py
index 73996cd..ae4a0d2 100644
--- a/Lib/fontTools/misc/homeResFile.py
+++ b/Lib/fontTools/misc/homeResFile.py
@@ -1,6 +1,6 @@
"""Mac-only module to find the home file of a resource."""
-from __future__ import print_function
+from __future__ import print_function, division
from fontTools.misc.py23 import *
from fontTools.misc import sstruct
import array
diff --git a/Lib/fontTools/misc/macCreatorType.py b/Lib/fontTools/misc/macCreatorType.py
index 5681461..ab5587a 100644
--- a/Lib/fontTools/misc/macCreatorType.py
+++ b/Lib/fontTools/misc/macCreatorType.py
@@ -1,4 +1,4 @@
-from __future__ import print_function
+from __future__ import print_function, division
from fontTools.misc.py23 import *
import sys
try:
diff --git a/Lib/fontTools/misc/psCharStrings.py b/Lib/fontTools/misc/psCharStrings.py
index fa1250c..b86308c 100644
--- a/Lib/fontTools/misc/psCharStrings.py
+++ b/Lib/fontTools/misc/psCharStrings.py
@@ -2,7 +2,7 @@
CFF dictionary data and Type1/Type2 CharStrings.
"""
-from __future__ import print_function
+from __future__ import print_function, division
from fontTools.misc.py23 import *
import struct
@@ -61,7 +61,7 @@
def read_fixed1616(self, b0, data, index):
bin = data[index] + data[index+1] + data[index+2] + data[index+3]
value, = struct.unpack(">l", bin)
- return value / 65536.0, index+4
+ return value / 65536, index+4
def read_realNumber(self, b0, data, index):
number = ''
@@ -579,7 +579,7 @@
def op_hintmask(self, index):
if not self.hintMaskBytes:
self.countHints()
- self.hintMaskBytes = (self.hintCount + 7) / 8
+ self.hintMaskBytes = (self.hintCount + 7) // 8
hintMaskBytes, index = self.callingStack[-1].getBytes(index, self.hintMaskBytes)
return hintMaskBytes, index
@@ -587,7 +587,7 @@
def countHints(self):
args = self.popall()
- self.hintCount = self.hintCount + len(args) / 2
+ self.hintCount = self.hintCount + len(args) // 2
# misc
def op_and(self, index):
@@ -695,7 +695,7 @@
def countHints(self):
args = self.popallWidth()
- self.hintCount = self.hintCount + len(args) / 2
+ self.hintCount = self.hintCount + len(args) // 2
#
# hint operators
@@ -882,8 +882,8 @@
def op_div(self, index):
num2 = self.pop()
num1 = self.pop()
- d1 = num1/num2
- d2 = float(num1)/num2
+ d1 = num1//num2
+ d2 = num1/num2
if d1 == d2:
self.push(d1)
else:
diff --git a/Lib/fontTools/misc/py23.py b/Lib/fontTools/misc/py23.py
index 059faac..2797505 100644
--- a/Lib/fontTools/misc/py23.py
+++ b/Lib/fontTools/misc/py23.py
@@ -1,6 +1,6 @@
"""Python 2/3 compat layer."""
-from __future__ import print_function
+from __future__ import print_function, division
try:
basestring
diff --git a/Lib/fontTools/misc/sstruct.py b/Lib/fontTools/misc/sstruct.py
index 3d976ee..6d4d9c2 100644
--- a/Lib/fontTools/misc/sstruct.py
+++ b/Lib/fontTools/misc/sstruct.py
@@ -46,7 +46,7 @@
it returns the size of the data in bytes.
"""
-from __future__ import print_function
+from __future__ import print_function, division
from fontTools.misc.py23 import *
import struct
import re
diff --git a/Lib/fontTools/misc/textTools.py b/Lib/fontTools/misc/textTools.py
index 8e41d18..6e3418b 100644
--- a/Lib/fontTools/misc/textTools.py
+++ b/Lib/fontTools/misc/textTools.py
@@ -1,7 +1,7 @@
"""fontTools.misc.textTools.py -- miscelaneous routines."""
-from __future__ import print_function
+from __future__ import print_function, division
from fontTools.misc.py23 import *
import string
diff --git a/Lib/fontTools/misc/transform.py b/Lib/fontTools/misc/transform.py
index be706dd..d706c79 100644
--- a/Lib/fontTools/misc/transform.py
+++ b/Lib/fontTools/misc/transform.py
@@ -45,7 +45,7 @@
>>>
"""
-from __future__ import print_function
+from __future__ import print_function, division
from fontTools.misc.py23 import *
__all__ = ["Transform", "Identity", "Offset", "Scale"]
@@ -236,7 +236,7 @@
if self.__affine == (1, 0, 0, 1, 0, 0):
return self
xx, xy, yx, yy, dx, dy = self.__affine
- det = float(xx*yy - yx*xy)
+ det = xx*yy - yx*xy
xx, xy, yx, yy = yy/det, -xy/det, -yx/det, xx/det
dx, dy = -xx*dx - yx*dy, -xy*dx - yy*dy
return self.__class__(xx, xy, yx, yy, dx, dy)
diff --git a/Lib/fontTools/misc/xmlReader.py b/Lib/fontTools/misc/xmlReader.py
index c1a7667..2496921 100644
--- a/Lib/fontTools/misc/xmlReader.py
+++ b/Lib/fontTools/misc/xmlReader.py
@@ -1,4 +1,4 @@
-from __future__ import print_function
+from __future__ import print_function, division
from fontTools.misc.py23 import *
from fontTools import ttLib
from fontTools.misc.textTools import safeEval
@@ -25,7 +25,7 @@
def read(self):
if self.progress:
import stat
- self.progress.set(0, os.stat(fileName)[stat.ST_SIZE] / 100 or 1)
+ self.progress.set(0, os.stat(fileName)[stat.ST_SIZE] // 100 or 1)
file = open(self.fileName)
self._parseFile(file)
file.close()
@@ -46,7 +46,7 @@
break
pos = pos + len(chunk)
if self.progress:
- self.progress.set(pos / 100)
+ self.progress.set(pos // 100)
parser.Parse(chunk, 0)
def _startElementHandler(self, name, attrs):
diff --git a/Lib/fontTools/misc/xmlWriter.py b/Lib/fontTools/misc/xmlWriter.py
index e574983..9679c32 100644
--- a/Lib/fontTools/misc/xmlWriter.py
+++ b/Lib/fontTools/misc/xmlWriter.py
@@ -1,6 +1,6 @@
"""xmlWriter.py -- Simple XML authoring class"""
-from __future__ import print_function
+from __future__ import print_function, division
from fontTools.misc.py23 import *
import string
import struct