py23 import in all nontrivial source files and unused import cleanup
diff --git a/Lib/fontTools/ttLib/tables/BitmapGlyphMetrics.py b/Lib/fontTools/ttLib/tables/BitmapGlyphMetrics.py
index 57d896e..34326bc 100644
--- a/Lib/fontTools/ttLib/tables/BitmapGlyphMetrics.py
+++ b/Lib/fontTools/ttLib/tables/BitmapGlyphMetrics.py
@@ -2,6 +2,7 @@
# this class gets its own python file.
from fontTools.misc import sstruct
from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
bigGlyphMetricsFormat = """
diff --git a/Lib/fontTools/ttLib/tables/C_B_D_T_.py b/Lib/fontTools/ttLib/tables/C_B_D_T_.py
index 2b72011..5d52d49 100644
--- a/Lib/fontTools/ttLib/tables/C_B_D_T_.py
+++ b/Lib/fontTools/ttLib/tables/C_B_D_T_.py
@@ -8,6 +8,7 @@
from fontTools.misc import sstruct
from .BitmapGlyphMetrics import BigGlyphMetrics, bigGlyphMetricsFormat, SmallGlyphMetrics, smallGlyphMetricsFormat
from .E_B_D_T_ import BitmapGlyph, BitmapPlusSmallMetricsMixin, BitmapPlusBigMetricsMixin
+from fontTools.misc.py23 import *
class table_C_B_D_T_(E_B_D_T_.table_E_B_D_T_):
diff --git a/Lib/fontTools/ttLib/tables/C_F_F_.py b/Lib/fontTools/ttLib/tables/C_F_F_.py
index c860368..eda00c3 100644
--- a/Lib/fontTools/ttLib/tables/C_F_F_.py
+++ b/Lib/fontTools/ttLib/tables/C_F_F_.py
@@ -1,9 +1,6 @@
from . import DefaultTable
from fontTools import cffLib
-try:
- from cStringIO import StringIO
-except ImportError:
- from io import StringIO
+from fontTools.misc.py23 import *
class table_C_F_F_(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/C_O_L_R_.py b/Lib/fontTools/ttLib/tables/C_O_L_R_.py
index d4f9cdb..7cdb683 100644
--- a/Lib/fontTools/ttLib/tables/C_O_L_R_.py
+++ b/Lib/fontTools/ttLib/tables/C_O_L_R_.py
@@ -5,8 +5,8 @@
import operator
from . import DefaultTable
import struct
-from fontTools.ttLib import sfnt
-from fontTools.misc.textTools import safeEval, readHex
+from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
class table_C_O_L_R_(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/C_P_A_L_.py b/Lib/fontTools/ttLib/tables/C_P_A_L_.py
index d525642..43ce905 100644
--- a/Lib/fontTools/ttLib/tables/C_P_A_L_.py
+++ b/Lib/fontTools/ttLib/tables/C_P_A_L_.py
@@ -2,11 +2,10 @@
#
# Google Author(s): Behdad Esfahbod
-import operator
from . import DefaultTable
import struct
-from fontTools.ttLib import sfnt
-from fontTools.misc.textTools import safeEval, readHex
+from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
class table_C_P_A_L_(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/D_S_I_G_.py b/Lib/fontTools/ttLib/tables/D_S_I_G_.py
index 17ce95e..e25c8a3 100644
--- a/Lib/fontTools/ttLib/tables/D_S_I_G_.py
+++ b/Lib/fontTools/ttLib/tables/D_S_I_G_.py
@@ -1,6 +1,7 @@
from . import DefaultTable
from fontTools.misc.textTools import safeEval
from fontTools.misc import sstruct
+from fontTools.misc.py23 import *
DSIG_HeaderFormat = """
> # big endian
diff --git a/Lib/fontTools/ttLib/tables/DefaultTable.py b/Lib/fontTools/ttLib/tables/DefaultTable.py
index 5202f6a..45606e1 100644
--- a/Lib/fontTools/ttLib/tables/DefaultTable.py
+++ b/Lib/fontTools/ttLib/tables/DefaultTable.py
@@ -1,4 +1,4 @@
-import sys
+from fontTools.misc.py23 import *
class DefaultTable:
diff --git a/Lib/fontTools/ttLib/tables/E_B_D_T_.py b/Lib/fontTools/ttLib/tables/E_B_D_T_.py
index 3e1e45c..6562925 100644
--- a/Lib/fontTools/ttLib/tables/E_B_D_T_.py
+++ b/Lib/fontTools/ttLib/tables/E_B_D_T_.py
@@ -1,4 +1,3 @@
-
from . import DefaultTable
import os
import struct
@@ -6,6 +5,7 @@
import itertools
from fontTools.misc.textTools import safeEval, readHex, hexStr, deHexStr
from .BitmapGlyphMetrics import BigGlyphMetrics, bigGlyphMetricsFormat, SmallGlyphMetrics, smallGlyphMetricsFormat
+from fontTools.misc.py23 import *
ebdtTableVersionFormat = """
> # big endian
diff --git a/Lib/fontTools/ttLib/tables/E_B_L_C_.py b/Lib/fontTools/ttLib/tables/E_B_L_C_.py
index b5a3e6f..0b9a312 100644
--- a/Lib/fontTools/ttLib/tables/E_B_L_C_.py
+++ b/Lib/fontTools/ttLib/tables/E_B_L_C_.py
@@ -1,4 +1,3 @@
-
from . import DefaultTable
import struct
from fontTools.misc import sstruct
@@ -6,6 +5,7 @@
from collections import deque
from fontTools.misc.textTools import safeEval
from .BitmapGlyphMetrics import BigGlyphMetrics, bigGlyphMetricsFormat, SmallGlyphMetrics, smallGlyphMetricsFormat
+from fontTools.misc.py23 import *
eblcHeaderFormat = """
> # big endian
diff --git a/Lib/fontTools/ttLib/tables/G_M_A_P_.py b/Lib/fontTools/ttLib/tables/G_M_A_P_.py
index 7791457..844ae1c 100644
--- a/Lib/fontTools/ttLib/tables/G_M_A_P_.py
+++ b/Lib/fontTools/ttLib/tables/G_M_A_P_.py
@@ -1,6 +1,7 @@
from . import DefaultTable
from fontTools.misc import sstruct
-from fontTools.misc.textTools import safeEval, num2binary, binary2num
+from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
GMAPFormat = """
> # big endian
diff --git a/Lib/fontTools/ttLib/tables/G_P_K_G_.py b/Lib/fontTools/ttLib/tables/G_P_K_G_.py
index f3f8bbb..073d365 100644
--- a/Lib/fontTools/ttLib/tables/G_P_K_G_.py
+++ b/Lib/fontTools/ttLib/tables/G_P_K_G_.py
@@ -1,9 +1,9 @@
-import sys
from . import DefaultTable
-from fontTools.misc import sstruct
+import sys
import array
+from fontTools.misc import sstruct
from fontTools.misc.textTools import safeEval, readHex
-from fontTools import ttLib
+from fontTools.misc.py23 import *
GPKGFormat = """
> # big endian
diff --git a/Lib/fontTools/ttLib/tables/L_T_S_H_.py b/Lib/fontTools/ttLib/tables/L_T_S_H_.py
index 275de66..6653c06 100644
--- a/Lib/fontTools/ttLib/tables/L_T_S_H_.py
+++ b/Lib/fontTools/ttLib/tables/L_T_S_H_.py
@@ -2,6 +2,7 @@
import array
import struct
from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
# XXX I've lowered the strictness, to make sure Apple's own Chicago
# XXX gets through. They're looking into it, I hope to raise the standards
diff --git a/Lib/fontTools/ttLib/tables/M_E_T_A_.py b/Lib/fontTools/ttLib/tables/M_E_T_A_.py
index 51f98bb..810dabc 100644
--- a/Lib/fontTools/ttLib/tables/M_E_T_A_.py
+++ b/Lib/fontTools/ttLib/tables/M_E_T_A_.py
@@ -2,7 +2,6 @@
import struct
from fontTools.misc import sstruct
from fontTools.misc.textTools import safeEval
-import sys
from fontTools.misc.py23 import *
diff --git a/Lib/fontTools/ttLib/tables/O_S_2f_2.py b/Lib/fontTools/ttLib/tables/O_S_2f_2.py
index 45db54f..c005861 100644
--- a/Lib/fontTools/ttLib/tables/O_S_2f_2.py
+++ b/Lib/fontTools/ttLib/tables/O_S_2f_2.py
@@ -2,6 +2,7 @@
from fontTools.misc import sstruct
from fontTools.misc.textTools import safeEval, num2binary, binary2num
import warnings
+from fontTools.misc.py23 import *
# panose classification
diff --git a/Lib/fontTools/ttLib/tables/S_I_N_G_.py b/Lib/fontTools/ttLib/tables/S_I_N_G_.py
index 0813700..16974a5 100644
--- a/Lib/fontTools/ttLib/tables/S_I_N_G_.py
+++ b/Lib/fontTools/ttLib/tables/S_I_N_G_.py
@@ -1,8 +1,7 @@
from . import DefaultTable
from fontTools.misc import sstruct
-import struct
-import time
-from fontTools.misc.textTools import safeEval, num2binary, binary2num
+from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
SINGFormat = """
> # big endian
diff --git a/Lib/fontTools/ttLib/tables/S_V_G_.py b/Lib/fontTools/ttLib/tables/S_V_G_.py
index d33dcf3..fa2a34b 100644
--- a/Lib/fontTools/ttLib/tables/S_V_G_.py
+++ b/Lib/fontTools/ttLib/tables/S_V_G_.py
@@ -45,12 +45,12 @@
from . import DefaultTable
import struct
from fontTools.misc import sstruct
-from fontTools.misc.textTools import safeEval
try:
import xml.etree.cElementTree as ET
except ImportError:
import xml.etree.ElementTree as ET
import re
+from fontTools.misc.py23 import *
XML = ET.XML
XMLElement = ET.Element
diff --git a/Lib/fontTools/ttLib/tables/T_S_I__0.py b/Lib/fontTools/ttLib/tables/T_S_I__0.py
index c8d2526..95b4f93 100644
--- a/Lib/fontTools/ttLib/tables/T_S_I__0.py
+++ b/Lib/fontTools/ttLib/tables/T_S_I__0.py
@@ -1,5 +1,6 @@
from . import DefaultTable
import struct
+from fontTools.misc.py23 import *
tsi0Format = '>HHl'
diff --git a/Lib/fontTools/ttLib/tables/T_S_I__1.py b/Lib/fontTools/ttLib/tables/T_S_I__1.py
index 07fe1a3..2e12d07 100644
--- a/Lib/fontTools/ttLib/tables/T_S_I__1.py
+++ b/Lib/fontTools/ttLib/tables/T_S_I__1.py
@@ -1,4 +1,5 @@
from . import DefaultTable
+from fontTools.misc.py23 import *
class table_T_S_I__1(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/T_S_I__5.py b/Lib/fontTools/ttLib/tables/T_S_I__5.py
index 5a6f26c..ba68596 100644
--- a/Lib/fontTools/ttLib/tables/T_S_I__5.py
+++ b/Lib/fontTools/ttLib/tables/T_S_I__5.py
@@ -1,8 +1,8 @@
-import sys
from . import DefaultTable
+import sys
import array
-from fontTools import ttLib
from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
class table_T_S_I__5(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/V_O_R_G_.py b/Lib/fontTools/ttLib/tables/V_O_R_G_.py
index e2fe5f9..1e019ec 100644
--- a/Lib/fontTools/ttLib/tables/V_O_R_G_.py
+++ b/Lib/fontTools/ttLib/tables/V_O_R_G_.py
@@ -1,8 +1,8 @@
-import operator
from . import DefaultTable
+import operator
import struct
-from fontTools.ttLib import sfnt
-from fontTools.misc.textTools import safeEval, readHex
+from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
class table_V_O_R_G_(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/_c_m_a_p.py b/Lib/fontTools/ttLib/tables/_c_m_a_p.py
index 7886044..adee47c 100644
--- a/Lib/fontTools/ttLib/tables/_c_m_a_p.py
+++ b/Lib/fontTools/ttLib/tables/_c_m_a_p.py
@@ -3,8 +3,8 @@
import struct
import array
import operator
-from fontTools import ttLib
from fontTools.misc.textTools import safeEval, readHex
+from fontTools.misc.py23 import *
class table__c_m_a_p(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/_c_v_t.py b/Lib/fontTools/ttLib/tables/_c_v_t.py
index ae5bbef..39ee5b5 100644
--- a/Lib/fontTools/ttLib/tables/_c_v_t.py
+++ b/Lib/fontTools/ttLib/tables/_c_v_t.py
@@ -1,8 +1,8 @@
import sys
from . import DefaultTable
import array
-from fontTools import ttLib
from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
class table__c_v_t(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/_f_p_g_m.py b/Lib/fontTools/ttLib/tables/_f_p_g_m.py
index 2ef7403..c16d7ce 100644
--- a/Lib/fontTools/ttLib/tables/_f_p_g_m.py
+++ b/Lib/fontTools/ttLib/tables/_f_p_g_m.py
@@ -1,6 +1,6 @@
from . import DefaultTable
-import array
from . import ttProgram
+from fontTools.misc.py23 import *
class table__f_p_g_m(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/_g_a_s_p.py b/Lib/fontTools/ttLib/tables/_g_a_s_p.py
index 3e69ca2..a9acbea 100644
--- a/Lib/fontTools/ttLib/tables/_g_a_s_p.py
+++ b/Lib/fontTools/ttLib/tables/_g_a_s_p.py
@@ -1,6 +1,7 @@
from . import DefaultTable
import struct
from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
GASP_SYMMETRIC_GRIDFIT = 0x0004
diff --git a/Lib/fontTools/ttLib/tables/_g_l_y_f.py b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
index 82b14c6..14dfc92 100644
--- a/Lib/fontTools/ttLib/tables/_g_l_y_f.py
+++ b/Lib/fontTools/ttLib/tables/_g_l_y_f.py
@@ -19,11 +19,12 @@
from fontTools.misc import sstruct
from . import DefaultTable
from fontTools import ttLib
-from fontTools.misc.textTools import safeEval, readHex
+from fontTools.misc.textTools import safeEval
from fontTools.misc.arrayTools import calcBounds
from . import ttProgram
import array
import warnings
+from fontTools.misc.py23 import *
class table__g_l_y_f(DefaultTable.DefaultTable):
@@ -641,7 +642,7 @@
def removeHinting(self):
if not hasattr(self, "data"):
- self.program = ttLib.tables.ttProgram.Program()
+ self.program = ttProgram.Program()
self.program.fromBytecode([])
return
diff --git a/Lib/fontTools/ttLib/tables/_h_d_m_x.py b/Lib/fontTools/ttLib/tables/_h_d_m_x.py
index 74a67e5..ebe0a29 100644
--- a/Lib/fontTools/ttLib/tables/_h_d_m_x.py
+++ b/Lib/fontTools/ttLib/tables/_h_d_m_x.py
@@ -1,5 +1,6 @@
from . import DefaultTable
from fontTools.misc import sstruct
+from fontTools.misc.py23 import *
hdmxHeaderFormat = """
> # big endian!
diff --git a/Lib/fontTools/ttLib/tables/_h_e_a_d.py b/Lib/fontTools/ttLib/tables/_h_e_a_d.py
index a819874..2c11559 100644
--- a/Lib/fontTools/ttLib/tables/_h_e_a_d.py
+++ b/Lib/fontTools/ttLib/tables/_h_e_a_d.py
@@ -2,6 +2,7 @@
from fontTools.misc import sstruct
import time
from fontTools.misc.textTools import safeEval, num2binary, binary2num
+from fontTools.misc.py23 import *
headFormat = """
diff --git a/Lib/fontTools/ttLib/tables/_h_h_e_a.py b/Lib/fontTools/ttLib/tables/_h_h_e_a.py
index bbd4df9..1240f7a 100644
--- a/Lib/fontTools/ttLib/tables/_h_h_e_a.py
+++ b/Lib/fontTools/ttLib/tables/_h_h_e_a.py
@@ -1,6 +1,7 @@
from . import DefaultTable
from fontTools.misc import sstruct
from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
hheaFormat = """
diff --git a/Lib/fontTools/ttLib/tables/_h_m_t_x.py b/Lib/fontTools/ttLib/tables/_h_m_t_x.py
index bde72e4..d16e3bc 100644
--- a/Lib/fontTools/ttLib/tables/_h_m_t_x.py
+++ b/Lib/fontTools/ttLib/tables/_h_m_t_x.py
@@ -1,9 +1,9 @@
import sys
from . import DefaultTable
import array
-from fontTools import ttLib
from fontTools.misc.textTools import safeEval
import warnings
+from fontTools.misc.py23 import *
class table__h_m_t_x(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/_k_e_r_n.py b/Lib/fontTools/ttLib/tables/_k_e_r_n.py
index dffcf45..81bd67a 100644
--- a/Lib/fontTools/ttLib/tables/_k_e_r_n.py
+++ b/Lib/fontTools/ttLib/tables/_k_e_r_n.py
@@ -3,6 +3,7 @@
from fontTools.ttLib import sfnt
from fontTools.misc.textTools import safeEval, readHex
import warnings
+from fontTools.misc.py23 import *
class table__k_e_r_n(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/_l_o_c_a.py b/Lib/fontTools/ttLib/tables/_l_o_c_a.py
index 1ef4d54..9918332 100644
--- a/Lib/fontTools/ttLib/tables/_l_o_c_a.py
+++ b/Lib/fontTools/ttLib/tables/_l_o_c_a.py
@@ -1,9 +1,8 @@
import sys
from . import DefaultTable
import array
-from fontTools import ttLib
-import struct
import warnings
+from fontTools.misc.py23 import *
class table__l_o_c_a(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/_m_a_x_p.py b/Lib/fontTools/ttLib/tables/_m_a_x_p.py
index de6a29c..d5eed8c 100644
--- a/Lib/fontTools/ttLib/tables/_m_a_x_p.py
+++ b/Lib/fontTools/ttLib/tables/_m_a_x_p.py
@@ -1,6 +1,7 @@
from . import DefaultTable
from fontTools.misc import sstruct
from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
maxpFormat_0_5 = """
> # big endian
diff --git a/Lib/fontTools/ttLib/tables/_n_a_m_e.py b/Lib/fontTools/ttLib/tables/_n_a_m_e.py
index 098905f..af09acb 100644
--- a/Lib/fontTools/ttLib/tables/_n_a_m_e.py
+++ b/Lib/fontTools/ttLib/tables/_n_a_m_e.py
@@ -2,6 +2,7 @@
import struct
from fontTools.misc import sstruct
from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
nameRecordFormat = """
> # big endian
diff --git a/Lib/fontTools/ttLib/tables/_p_o_s_t.py b/Lib/fontTools/ttLib/tables/_p_o_s_t.py
index 838c83a..d23b209 100644
--- a/Lib/fontTools/ttLib/tables/_p_o_s_t.py
+++ b/Lib/fontTools/ttLib/tables/_p_o_s_t.py
@@ -1,11 +1,12 @@
-import sys
-from fontTools.ttLib.standardGlyphOrder import standardGlyphOrder
from . import DefaultTable
+import sys
import struct
-from fontTools.misc import sstruct
import array
from fontTools import ttLib
+from fontTools.ttLib.standardGlyphOrder import standardGlyphOrder
+from fontTools.misc import sstruct
from fontTools.misc.textTools import safeEval, readHex
+from fontTools.misc.py23 import *
postFormat = """
diff --git a/Lib/fontTools/ttLib/tables/_v_h_e_a.py b/Lib/fontTools/ttLib/tables/_v_h_e_a.py
index 7217def..dcb1fb7 100644
--- a/Lib/fontTools/ttLib/tables/_v_h_e_a.py
+++ b/Lib/fontTools/ttLib/tables/_v_h_e_a.py
@@ -1,6 +1,7 @@
from . import DefaultTable
from fontTools.misc import sstruct
from fontTools.misc.textTools import safeEval
+from fontTools.misc.py23 import *
vheaFormat = """
> # big endian
diff --git a/Lib/fontTools/ttLib/tables/asciiTable.py b/Lib/fontTools/ttLib/tables/asciiTable.py
index c65a3b3..f8a30d0 100644
--- a/Lib/fontTools/ttLib/tables/asciiTable.py
+++ b/Lib/fontTools/ttLib/tables/asciiTable.py
@@ -1,4 +1,5 @@
from . import DefaultTable
+from fontTools.misc.py23 import *
class asciiTable(DefaultTable.DefaultTable):
diff --git a/Lib/fontTools/ttLib/tables/otBase.py b/Lib/fontTools/ttLib/tables/otBase.py
index a2a1077..ef81ed1 100644
--- a/Lib/fontTools/ttLib/tables/otBase.py
+++ b/Lib/fontTools/ttLib/tables/otBase.py
@@ -1,6 +1,6 @@
from .DefaultTable import DefaultTable
-from . import otData
import struct
+from fontTools.misc.py23 import *
class OverflowErrorRecord:
def __init__(self, overflowTuple):
diff --git a/Lib/fontTools/ttLib/tables/otConverters.py b/Lib/fontTools/ttLib/tables/otConverters.py
index e75335c..727fbed 100644
--- a/Lib/fontTools/ttLib/tables/otConverters.py
+++ b/Lib/fontTools/ttLib/tables/otConverters.py
@@ -1,5 +1,6 @@
from fontTools.misc.textTools import safeEval
from .otBase import ValueRecordFactory
+from fontTools.misc.py23 import *
def buildConverters(tableSpec, tableNamespace):
diff --git a/Lib/fontTools/ttLib/tables/otTables.py b/Lib/fontTools/ttLib/tables/otTables.py
index 3cb86be..20a4e5d 100644
--- a/Lib/fontTools/ttLib/tables/otTables.py
+++ b/Lib/fontTools/ttLib/tables/otTables.py
@@ -7,6 +7,7 @@
import operator
from .otBase import BaseTable, FormatSwitchingBaseTable
import warnings
+from fontTools.misc.py23 import *
class LookupOrder(BaseTable):
diff --git a/Lib/fontTools/ttLib/tables/ttProgram.py b/Lib/fontTools/ttLib/tables/ttProgram.py
index 51c7794..6186189 100644
--- a/Lib/fontTools/ttLib/tables/ttProgram.py
+++ b/Lib/fontTools/ttLib/tables/ttProgram.py
@@ -3,6 +3,7 @@
import array
import re
from fontTools.misc.textTools import num2binary, binary2num, readHex
+from fontTools.misc.py23 import *
# first, the list of instructions that eat bytes or words from the instruction stream