diff options
Diffstat (limited to 'Lib/fontTools/ttLib/tables')
94 files changed, 107 insertions, 153 deletions
diff --git a/Lib/fontTools/ttLib/tables/B_A_S_E_.py b/Lib/fontTools/ttLib/tables/B_A_S_E_.py index 6c4863ad..9551e2c6 100644 --- a/Lib/fontTools/ttLib/tables/B_A_S_E_.py +++ b/Lib/fontTools/ttLib/tables/B_A_S_E_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/BitmapGlyphMetrics.py b/Lib/fontTools/ttLib/tables/BitmapGlyphMetrics.py index 7e19b011..9197923d 100644 --- a/Lib/fontTools/ttLib/tables/BitmapGlyphMetrics.py +++ b/Lib/fontTools/ttLib/tables/BitmapGlyphMetrics.py @@ -1,6 +1,5 @@ # Since bitmap glyph metrics are shared between EBLC and EBDT # this class gets its own python file. -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval import logging diff --git a/Lib/fontTools/ttLib/tables/C_B_D_T_.py b/Lib/fontTools/ttLib/tables/C_B_D_T_.py index 6fd4143b..11bb60b8 100644 --- a/Lib/fontTools/ttLib/tables/C_B_D_T_.py +++ b/Lib/fontTools/ttLib/tables/C_B_D_T_.py @@ -3,7 +3,7 @@ # Google Author(s): Matt Fontaine -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin from fontTools.misc import sstruct from . import E_B_D_T_ from .BitmapGlyphMetrics import BigGlyphMetrics, bigGlyphMetricsFormat, SmallGlyphMetrics, smallGlyphMetricsFormat diff --git a/Lib/fontTools/ttLib/tables/C_B_L_C_.py b/Lib/fontTools/ttLib/tables/C_B_L_C_.py index ed7e3aed..2f785710 100644 --- a/Lib/fontTools/ttLib/tables/C_B_L_C_.py +++ b/Lib/fontTools/ttLib/tables/C_B_L_C_.py @@ -2,7 +2,6 @@ # # Google Author(s): Matt Fontaine -from fontTools.misc.py23 import * from . import E_B_L_C_ class table_C_B_L_C_(E_B_L_C_.table_E_B_L_C_): diff --git a/Lib/fontTools/ttLib/tables/C_F_F_.py b/Lib/fontTools/ttLib/tables/C_F_F_.py index 1d3860c9..d12b89d2 100644 --- a/Lib/fontTools/ttLib/tables/C_F_F_.py +++ b/Lib/fontTools/ttLib/tables/C_F_F_.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from io import BytesIO from fontTools import cffLib from . import DefaultTable diff --git a/Lib/fontTools/ttLib/tables/C_F_F__2.py b/Lib/fontTools/ttLib/tables/C_F_F__2.py index 7aaf4ce6..6217ebba 100644 --- a/Lib/fontTools/ttLib/tables/C_F_F__2.py +++ b/Lib/fontTools/ttLib/tables/C_F_F__2.py @@ -1,5 +1,4 @@ -from fontTools.misc.py23 import * -from fontTools import cffLib +from io import BytesIO from fontTools.ttLib.tables.C_F_F_ import table_C_F_F_ diff --git a/Lib/fontTools/ttLib/tables/C_O_L_R_.py b/Lib/fontTools/ttLib/tables/C_O_L_R_.py index db490520..4004d417 100644 --- a/Lib/fontTools/ttLib/tables/C_O_L_R_.py +++ b/Lib/fontTools/ttLib/tables/C_O_L_R_.py @@ -2,7 +2,6 @@ # # Google Author(s): Behdad Esfahbod -from fontTools.misc.py23 import * from fontTools.misc.textTools import safeEval from . import DefaultTable @@ -105,11 +104,11 @@ class table_C_O_L_R_(DefaultTable.DefaultTable): self.ColorLayers = {} glyphName = attrs["name"] for element in content: - if isinstance(element, basestring): + if isinstance(element, str): continue layers = [] for element in content: - if isinstance(element, basestring): + if isinstance(element, str): continue layer = LayerRecord() layer.fromXML(element[0], element[1], element[2], ttFont) diff --git a/Lib/fontTools/ttLib/tables/C_P_A_L_.py b/Lib/fontTools/ttLib/tables/C_P_A_L_.py index 22ef0623..c095095e 100644 --- a/Lib/fontTools/ttLib/tables/C_P_A_L_.py +++ b/Lib/fontTools/ttLib/tables/C_P_A_L_.py @@ -2,7 +2,7 @@ # # Google Author(s): Behdad Esfahbod -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin from fontTools.misc.textTools import safeEval from . import DefaultTable import array @@ -208,7 +208,7 @@ class table_C_P_A_L_(DefaultTable.DefaultTable): self.paletteTypes.append(int(attrs.get("type", self.DEFAULT_PALETTE_TYPE))) palette = [] for element in content: - if isinstance(element, basestring): + if isinstance(element, str): continue attrs = element[1] color = Color.fromHex(attrs["value"]) @@ -217,7 +217,7 @@ class table_C_P_A_L_(DefaultTable.DefaultTable): elif name == "paletteEntryLabels": colorLabels = {} for element in content: - if isinstance(element, basestring): + if isinstance(element, str): continue elementName, elementAttr, _ = element if elementName == "label": diff --git a/Lib/fontTools/ttLib/tables/D_S_I_G_.py b/Lib/fontTools/ttLib/tables/D_S_I_G_.py index d9a02ba2..1a520cab 100644 --- a/Lib/fontTools/ttLib/tables/D_S_I_G_.py +++ b/Lib/fontTools/ttLib/tables/D_S_I_G_.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin, strjoin, tobytes, tostr from fontTools.misc.textTools import safeEval from fontTools.misc import sstruct from . import DefaultTable diff --git a/Lib/fontTools/ttLib/tables/DefaultTable.py b/Lib/fontTools/ttLib/tables/DefaultTable.py index 16f5da07..c70480a3 100644 --- a/Lib/fontTools/ttLib/tables/DefaultTable.py +++ b/Lib/fontTools/ttLib/tables/DefaultTable.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import Tag from fontTools.ttLib import getClassTag class DefaultTable(object): diff --git a/Lib/fontTools/ttLib/tables/E_B_D_T_.py b/Lib/fontTools/ttLib/tables/E_B_D_T_.py index e85a4cd1..5d9e7244 100644 --- a/Lib/fontTools/ttLib/tables/E_B_D_T_.py +++ b/Lib/fontTools/ttLib/tables/E_B_D_T_.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytechr, byteord, bytesjoin, strjoin from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval, readHex, hexStr, deHexStr from .BitmapGlyphMetrics import BigGlyphMetrics, bigGlyphMetricsFormat, SmallGlyphMetrics, smallGlyphMetricsFormat diff --git a/Lib/fontTools/ttLib/tables/E_B_L_C_.py b/Lib/fontTools/ttLib/tables/E_B_L_C_.py index b065df07..94d40d96 100644 --- a/Lib/fontTools/ttLib/tables/E_B_L_C_.py +++ b/Lib/fontTools/ttLib/tables/E_B_L_C_.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin from fontTools.misc import sstruct from . import DefaultTable from fontTools.misc.textTools import safeEval diff --git a/Lib/fontTools/ttLib/tables/F_F_T_M_.py b/Lib/fontTools/ttLib/tables/F_F_T_M_.py index 20a12eca..2376f2db 100644 --- a/Lib/fontTools/ttLib/tables/F_F_T_M_.py +++ b/Lib/fontTools/ttLib/tables/F_F_T_M_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval from fontTools.misc.timeTools import timestampFromString, timestampToString diff --git a/Lib/fontTools/ttLib/tables/F__e_a_t.py b/Lib/fontTools/ttLib/tables/F__e_a_t.py index d7f0ba3d..7e510614 100644 --- a/Lib/fontTools/ttLib/tables/F__e_a_t.py +++ b/Lib/fontTools/ttLib/tables/F__e_a_t.py @@ -1,8 +1,6 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.fixedTools import floatToFixedToStr from fontTools.misc.textTools import safeEval -from .otBase import BaseTTXConverter from . import DefaultTable from . import grUtils import struct diff --git a/Lib/fontTools/ttLib/tables/G_D_E_F_.py b/Lib/fontTools/ttLib/tables/G_D_E_F_.py index 5fb65d54..d4a57414 100644 --- a/Lib/fontTools/ttLib/tables/G_D_E_F_.py +++ b/Lib/fontTools/ttLib/tables/G_D_E_F_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/G_M_A_P_.py b/Lib/fontTools/ttLib/tables/G_M_A_P_.py index ce3ac41f..5b30dcfe 100644 --- a/Lib/fontTools/ttLib/tables/G_M_A_P_.py +++ b/Lib/fontTools/ttLib/tables/G_M_A_P_.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import tobytes, tostr from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval from . import DefaultTable @@ -115,7 +115,7 @@ class table_G_M_A_P_(DefaultTable.DefaultTable): gmapRecord = GMAPRecord() self.gmapRecords.append(gmapRecord) for element in content: - if isinstance(element, basestring): + if isinstance(element, str): continue name, attrs, content = element gmapRecord.fromXML(name, attrs, content, ttFont) diff --git a/Lib/fontTools/ttLib/tables/G_P_K_G_.py b/Lib/fontTools/ttLib/tables/G_P_K_G_.py index 601b3c26..7598a62a 100644 --- a/Lib/fontTools/ttLib/tables/G_P_K_G_.py +++ b/Lib/fontTools/ttLib/tables/G_P_K_G_.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval, readHex from . import DefaultTable @@ -106,7 +106,7 @@ class table_G_P_K_G_(DefaultTable.DefaultTable): if not hasattr(self, "GMAPs"): self.GMAPs = [] for element in content: - if isinstance(element, basestring): + if isinstance(element, str): continue itemName, itemAttrs, itemContent = element if itemName == "hexdata": @@ -115,7 +115,7 @@ class table_G_P_K_G_(DefaultTable.DefaultTable): if not hasattr(self, "glyphlets"): self.glyphlets = [] for element in content: - if isinstance(element, basestring): + if isinstance(element, str): continue itemName, itemAttrs, itemContent = element if itemName == "hexdata": diff --git a/Lib/fontTools/ttLib/tables/G_P_O_S_.py b/Lib/fontTools/ttLib/tables/G_P_O_S_.py index 34d1ce14..013c8209 100644 --- a/Lib/fontTools/ttLib/tables/G_P_O_S_.py +++ b/Lib/fontTools/ttLib/tables/G_P_O_S_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/G_S_U_B_.py b/Lib/fontTools/ttLib/tables/G_S_U_B_.py index 5ba87785..44036490 100644 --- a/Lib/fontTools/ttLib/tables/G_S_U_B_.py +++ b/Lib/fontTools/ttLib/tables/G_S_U_B_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/G__l_a_t.py b/Lib/fontTools/ttLib/tables/G__l_a_t.py index 8fdb9671..a4e8e38f 100644 --- a/Lib/fontTools/ttLib/tables/G__l_a_t.py +++ b/Lib/fontTools/ttLib/tables/G__l_a_t.py @@ -1,12 +1,11 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.fixedTools import floatToFixedToStr from fontTools.misc.textTools import safeEval -from itertools import * +# from itertools import * from functools import partial from . import DefaultTable from . import grUtils -import struct, operator, warnings +import struct Glat_format_0 = """ diff --git a/Lib/fontTools/ttLib/tables/G__l_o_c.py b/Lib/fontTools/ttLib/tables/G__l_o_c.py index 4ff8a47b..fa114a31 100644 --- a/Lib/fontTools/ttLib/tables/G__l_o_c.py +++ b/Lib/fontTools/ttLib/tables/G__l_o_c.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval from . import DefaultTable diff --git a/Lib/fontTools/ttLib/tables/H_V_A_R_.py b/Lib/fontTools/ttLib/tables/H_V_A_R_.py index 67d5a7bb..56992ad0 100644 --- a/Lib/fontTools/ttLib/tables/H_V_A_R_.py +++ b/Lib/fontTools/ttLib/tables/H_V_A_R_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/J_S_T_F_.py b/Lib/fontTools/ttLib/tables/J_S_T_F_.py index 704f0304..ddf54055 100644 --- a/Lib/fontTools/ttLib/tables/J_S_T_F_.py +++ b/Lib/fontTools/ttLib/tables/J_S_T_F_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/L_T_S_H_.py b/Lib/fontTools/ttLib/tables/L_T_S_H_.py index 689548b9..94c2c22a 100644 --- a/Lib/fontTools/ttLib/tables/L_T_S_H_.py +++ b/Lib/fontTools/ttLib/tables/L_T_S_H_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc.textTools import safeEval from . import DefaultTable import struct diff --git a/Lib/fontTools/ttLib/tables/M_A_T_H_.py b/Lib/fontTools/ttLib/tables/M_A_T_H_.py index 7bf9098e..d894c082 100644 --- a/Lib/fontTools/ttLib/tables/M_A_T_H_.py +++ b/Lib/fontTools/ttLib/tables/M_A_T_H_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/M_E_T_A_.py b/Lib/fontTools/ttLib/tables/M_E_T_A_.py index 862487f7..d4f6bc8c 100644 --- a/Lib/fontTools/ttLib/tables/M_E_T_A_.py +++ b/Lib/fontTools/ttLib/tables/M_E_T_A_.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import byteord from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval from . import DefaultTable @@ -173,7 +173,7 @@ class table_M_E_T_A_(DefaultTable.DefaultTable): glyphRec = GlyphRecord() self.glyphRecords.append(glyphRec) for element in content: - if isinstance(element, basestring): + if isinstance(element, str): continue name, attrs, content = element glyphRec.fromXML(name, attrs, content, ttFont) @@ -207,7 +207,7 @@ class GlyphRecord(object): stringRec = StringRecord() self.stringRecs.append(stringRec) for element in content: - if isinstance(element, basestring): + if isinstance(element, str): continue stringRec.fromXML(name, attrs, content, ttFont) stringRec.stringLen = len(stringRec.string) @@ -229,7 +229,7 @@ class GlyphRecord(object): # XXX The following two functions are really broken around UTF-8 vs Unicode def mapXMLToUTF8(string): - uString = unicode() + uString = str() strLen = len(string) i = 0 while i < strLen: @@ -245,9 +245,9 @@ def mapXMLToUTF8(string): i = i+1 valStr = string[j:i] - uString = uString + unichr(eval('0x' + valStr)) + uString = uString + chr(eval('0x' + valStr)) else: - uString = uString + unichr(byteord(string[i])) + uString = uString + chr(byteord(string[i])) i = i +1 return uString.encode('utf_8') @@ -281,7 +281,7 @@ class StringRecord(object): def fromXML(self, name, attrs, content, ttFont): for element in content: - if isinstance(element, basestring): + if isinstance(element, str): continue name, attrs, content = element value = attrs["value"] diff --git a/Lib/fontTools/ttLib/tables/M_V_A_R_.py b/Lib/fontTools/ttLib/tables/M_V_A_R_.py index 4bae5afe..34ab20f7 100644 --- a/Lib/fontTools/ttLib/tables/M_V_A_R_.py +++ b/Lib/fontTools/ttLib/tables/M_V_A_R_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/O_S_2f_2.py b/Lib/fontTools/ttLib/tables/O_S_2f_2.py index 9d833d96..a5765224 100644 --- a/Lib/fontTools/ttLib/tables/O_S_2f_2.py +++ b/Lib/fontTools/ttLib/tables/O_S_2f_2.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval, num2binary, binary2num from fontTools.ttLib.tables import DefaultTable diff --git a/Lib/fontTools/ttLib/tables/S_I_N_G_.py b/Lib/fontTools/ttLib/tables/S_I_N_G_.py index 61992423..dd9b63c4 100644 --- a/Lib/fontTools/ttLib/tables/S_I_N_G_.py +++ b/Lib/fontTools/ttLib/tables/S_I_N_G_.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytechr, byteord, tobytes, tostr from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval from . import DefaultTable diff --git a/Lib/fontTools/ttLib/tables/S_T_A_T_.py b/Lib/fontTools/ttLib/tables/S_T_A_T_.py index c8278e0c..1769de91 100644 --- a/Lib/fontTools/ttLib/tables/S_T_A_T_.py +++ b/Lib/fontTools/ttLib/tables/S_T_A_T_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/S_V_G_.py b/Lib/fontTools/ttLib/tables/S_V_G_.py index 89551cda..135f2718 100644 --- a/Lib/fontTools/ttLib/tables/S_V_G_.py +++ b/Lib/fontTools/ttLib/tables/S_V_G_.py @@ -1,12 +1,12 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin, strjoin, tobytes, tostr from fontTools.misc import sstruct from . import DefaultTable try: import xml.etree.cElementTree as ET except ImportError: import xml.etree.ElementTree as ET +from io import BytesIO import struct -import re import logging diff --git a/Lib/fontTools/ttLib/tables/S__i_l_f.py b/Lib/fontTools/ttLib/tables/S__i_l_f.py index 9953d156..95880b07 100644 --- a/Lib/fontTools/ttLib/tables/S__i_l_f.py +++ b/Lib/fontTools/ttLib/tables/S__i_l_f.py @@ -1,13 +1,13 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import byteord from fontTools.misc import sstruct from fontTools.misc.fixedTools import floatToFixedToStr from fontTools.misc.textTools import safeEval -from itertools import * +# from itertools import * from . import DefaultTable from . import grUtils from array import array from functools import reduce -import struct, operator, warnings, re, sys +import struct, re, sys Silf_hdr_format = ''' > diff --git a/Lib/fontTools/ttLib/tables/S__i_l_l.py b/Lib/fontTools/ttLib/tables/S__i_l_l.py index 4d134418..5ab9ee34 100644 --- a/Lib/fontTools/ttLib/tables/S__i_l_l.py +++ b/Lib/fontTools/ttLib/tables/S__i_l_l.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.fixedTools import floatToFixedToStr from fontTools.misc.textTools import safeEval diff --git a/Lib/fontTools/ttLib/tables/T_S_I_B_.py b/Lib/fontTools/ttLib/tables/T_S_I_B_.py index 88b00159..25d43104 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I_B_.py +++ b/Lib/fontTools/ttLib/tables/T_S_I_B_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .T_S_I_V_ import table_T_S_I_V_ class table_T_S_I_B_(table_T_S_I_V_): diff --git a/Lib/fontTools/ttLib/tables/T_S_I_C_.py b/Lib/fontTools/ttLib/tables/T_S_I_C_.py index 4f4763f3..573b3f9c 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I_C_.py +++ b/Lib/fontTools/ttLib/tables/T_S_I_C_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/T_S_I_D_.py b/Lib/fontTools/ttLib/tables/T_S_I_D_.py index 1fd3cb12..310eb174 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I_D_.py +++ b/Lib/fontTools/ttLib/tables/T_S_I_D_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .T_S_I_V_ import table_T_S_I_V_ class table_T_S_I_D_(table_T_S_I_V_): diff --git a/Lib/fontTools/ttLib/tables/T_S_I_J_.py b/Lib/fontTools/ttLib/tables/T_S_I_J_.py index 462ad89e..c1a46ba6 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I_J_.py +++ b/Lib/fontTools/ttLib/tables/T_S_I_J_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .T_S_I_V_ import table_T_S_I_V_ class table_T_S_I_J_(table_T_S_I_V_): diff --git a/Lib/fontTools/ttLib/tables/T_S_I_P_.py b/Lib/fontTools/ttLib/tables/T_S_I_P_.py index 06d57354..778974c8 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I_P_.py +++ b/Lib/fontTools/ttLib/tables/T_S_I_P_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .T_S_I_V_ import table_T_S_I_V_ class table_T_S_I_P_(table_T_S_I_V_): diff --git a/Lib/fontTools/ttLib/tables/T_S_I_S_.py b/Lib/fontTools/ttLib/tables/T_S_I_S_.py index 27fcac76..61c9f76f 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I_S_.py +++ b/Lib/fontTools/ttLib/tables/T_S_I_S_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .T_S_I_V_ import table_T_S_I_V_ class table_T_S_I_S_(table_T_S_I_V_): diff --git a/Lib/fontTools/ttLib/tables/T_S_I_V_.py b/Lib/fontTools/ttLib/tables/T_S_I_V_.py index 1939cdc7..80214452 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I_V_.py +++ b/Lib/fontTools/ttLib/tables/T_S_I_V_.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import strjoin, tobytes, tostr from . import asciiTable class table_T_S_I_V_(asciiTable.asciiTable): diff --git a/Lib/fontTools/ttLib/tables/T_S_I__0.py b/Lib/fontTools/ttLib/tables/T_S_I__0.py index 04f58cdd..b187f425 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I__0.py +++ b/Lib/fontTools/ttLib/tables/T_S_I__0.py @@ -5,7 +5,6 @@ TSI0 is the index table containing the lengths and offsets for the glyph programs and 'extra' programs ('fpgm', 'prep', and 'cvt') that are contained in the TSI1 table. """ -from fontTools.misc.py23 import * from . import DefaultTable import struct diff --git a/Lib/fontTools/ttLib/tables/T_S_I__1.py b/Lib/fontTools/ttLib/tables/T_S_I__1.py index b014cb4b..9ae7acd6 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I__1.py +++ b/Lib/fontTools/ttLib/tables/T_S_I__1.py @@ -4,7 +4,7 @@ tool to store its hinting source data. TSI1 contains the text of the glyph programs in the form of low-level assembly code, as well as the 'extra' programs 'fpgm', 'ppgm' (i.e. 'prep'), and 'cvt'. """ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import strjoin, tobytes, tostr from . import DefaultTable from fontTools.misc.loggingTools import LogMixin @@ -68,7 +68,7 @@ class table_T_S_I__1(LogMixin, DefaultTable.DefaultTable): "%r textLength (%d) must not be > 32768" % (name, textLength)) text = data[textOffset:textOffset+textLength] assert len(text) == textLength - text = tounicode(text, encoding='utf-8') + text = tostr(text, encoding='utf-8') if text: programs[name] = text if isExtra: diff --git a/Lib/fontTools/ttLib/tables/T_S_I__2.py b/Lib/fontTools/ttLib/tables/T_S_I__2.py index f7206d08..036c9815 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I__2.py +++ b/Lib/fontTools/ttLib/tables/T_S_I__2.py @@ -5,7 +5,6 @@ TSI2 is the index table containing the lengths and offsets for the glyph programs that are contained in the TSI3 table. It uses the same format as the TSI0 table. """ -from fontTools.misc.py23 import * from fontTools import ttLib superclass = ttLib.getTableClass("TSI0") diff --git a/Lib/fontTools/ttLib/tables/T_S_I__3.py b/Lib/fontTools/ttLib/tables/T_S_I__3.py index 92e0e53e..a2490142 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I__3.py +++ b/Lib/fontTools/ttLib/tables/T_S_I__3.py @@ -3,7 +3,6 @@ tool to store its hinting source data. TSI3 contains the text of the glyph programs in the form of 'VTTTalk' code. """ -from fontTools.misc.py23 import * from fontTools import ttLib superclass = ttLib.getTableClass("TSI1") diff --git a/Lib/fontTools/ttLib/tables/T_S_I__5.py b/Lib/fontTools/ttLib/tables/T_S_I__5.py index 5c7da1cb..7be09f9a 100644 --- a/Lib/fontTools/ttLib/tables/T_S_I__5.py +++ b/Lib/fontTools/ttLib/tables/T_S_I__5.py @@ -3,7 +3,6 @@ tool to store its hinting source data. TSI5 contains the VTT character groups. """ -from fontTools.misc.py23 import * from fontTools.misc.textTools import safeEval from . import DefaultTable import sys diff --git a/Lib/fontTools/ttLib/tables/T_T_F_A_.py b/Lib/fontTools/ttLib/tables/T_T_F_A_.py index 3fdbd070..8446dfc5 100644 --- a/Lib/fontTools/ttLib/tables/T_T_F_A_.py +++ b/Lib/fontTools/ttLib/tables/T_T_F_A_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from . import asciiTable class table_T_T_F_A_(asciiTable.asciiTable): diff --git a/Lib/fontTools/ttLib/tables/TupleVariation.py b/Lib/fontTools/ttLib/tables/TupleVariation.py index 7f5c3a66..a63fb6c6 100644 --- a/Lib/fontTools/ttLib/tables/TupleVariation.py +++ b/Lib/fontTools/ttLib/tables/TupleVariation.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytechr, byteord, bytesjoin from fontTools.misc.fixedTools import ( fixedToFloat as fi2fl, floatToFixed as fl2fi, diff --git a/Lib/fontTools/ttLib/tables/V_D_M_X_.py b/Lib/fontTools/ttLib/tables/V_D_M_X_.py index b4028c35..ba8593f1 100644 --- a/Lib/fontTools/ttLib/tables/V_D_M_X_.py +++ b/Lib/fontTools/ttLib/tables/V_D_M_X_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from . import DefaultTable from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval diff --git a/Lib/fontTools/ttLib/tables/V_O_R_G_.py b/Lib/fontTools/ttLib/tables/V_O_R_G_.py index bbc6d022..0b7fe959 100644 --- a/Lib/fontTools/ttLib/tables/V_O_R_G_.py +++ b/Lib/fontTools/ttLib/tables/V_O_R_G_.py @@ -1,7 +1,6 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin from fontTools.misc.textTools import safeEval from . import DefaultTable -import operator import struct @@ -84,7 +83,7 @@ class table_V_O_R_G_(DefaultTable.DefaultTable): if name == "VOriginRecord": vOriginRec = VOriginRecord() for element in content: - if isinstance(element, basestring): + if isinstance(element, str): continue name, attrs, content = element vOriginRec.fromXML(name, attrs, content, ttFont) diff --git a/Lib/fontTools/ttLib/tables/V_V_A_R_.py b/Lib/fontTools/ttLib/tables/V_V_A_R_.py index b835fc16..88f30552 100644 --- a/Lib/fontTools/ttLib/tables/V_V_A_R_.py +++ b/Lib/fontTools/ttLib/tables/V_V_A_R_.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/__init__.py b/Lib/fontTools/ttLib/tables/__init__.py index 0c99c22e..bbfb8b70 100644 --- a/Lib/fontTools/ttLib/tables/__init__.py +++ b/Lib/fontTools/ttLib/tables/__init__.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * # DON'T EDIT! This file is generated by MetaTools/buildTableList.py. def _moduleFinderHint(): @@ -15,6 +14,7 @@ def _moduleFinderHint(): from . import C_O_L_R_ from . import C_P_A_L_ from . import D_S_I_G_ + from . import D__e_b_g from . import E_B_D_T_ from . import E_B_L_C_ from . import F_F_T_M_ @@ -39,6 +39,7 @@ def _moduleFinderHint(): from . import S__i_l_f from . import S__i_l_l from . import T_S_I_B_ + from . import T_S_I_C_ from . import T_S_I_D_ from . import T_S_I_J_ from . import T_S_I_P_ diff --git a/Lib/fontTools/ttLib/tables/_a_n_k_r.py b/Lib/fontTools/ttLib/tables/_a_n_k_r.py index 9372168d..1f2946c2 100644 --- a/Lib/fontTools/ttLib/tables/_a_n_k_r.py +++ b/Lib/fontTools/ttLib/tables/_a_n_k_r.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/_a_v_a_r.py b/Lib/fontTools/ttLib/tables/_a_v_a_r.py index 02c4c887..2b6a40ed 100644 --- a/Lib/fontTools/ttLib/tables/_a_v_a_r.py +++ b/Lib/fontTools/ttLib/tables/_a_v_a_r.py @@ -1,5 +1,4 @@ -from fontTools.misc.py23 import * -from fontTools import ttLib +from fontTools.misc.py23 import bytesjoin from fontTools.misc import sstruct from fontTools.misc.fixedTools import ( fixedToFloat as fi2fl, @@ -7,10 +6,8 @@ from fontTools.misc.fixedTools import ( floatToFixedToStr as fl2str, strToFixedToFloat as str2fl, ) -from fontTools.misc.textTools import safeEval from fontTools.ttLib import TTLibError from . import DefaultTable -import array import struct import logging diff --git a/Lib/fontTools/ttLib/tables/_b_s_l_n.py b/Lib/fontTools/ttLib/tables/_b_s_l_n.py index 8c0e39ea..8e266fa5 100644 --- a/Lib/fontTools/ttLib/tables/_b_s_l_n.py +++ b/Lib/fontTools/ttLib/tables/_b_s_l_n.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/_c_i_d_g.py b/Lib/fontTools/ttLib/tables/_c_i_d_g.py index b9722563..de83d4d6 100644 --- a/Lib/fontTools/ttLib/tables/_c_i_d_g.py +++ b/Lib/fontTools/ttLib/tables/_c_i_d_g.py @@ -1,5 +1,4 @@ # coding: utf-8 -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/_c_m_a_p.py b/Lib/fontTools/ttLib/tables/_c_m_a_p.py index f7f92669..a65a0c25 100644 --- a/Lib/fontTools/ttLib/tables/_c_m_a_p.py +++ b/Lib/fontTools/ttLib/tables/_c_m_a_p.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin from fontTools.misc.textTools import safeEval, readHex from fontTools.misc.encodingTools import getEncoding from fontTools.ttLib import getSearchRange diff --git a/Lib/fontTools/ttLib/tables/_c_v_a_r.py b/Lib/fontTools/ttLib/tables/_c_v_a_r.py index e336d248..09b2c16c 100644 --- a/Lib/fontTools/ttLib/tables/_c_v_a_r.py +++ b/Lib/fontTools/ttLib/tables/_c_v_a_r.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin from . import DefaultTable from fontTools.misc import sstruct from fontTools.ttLib.tables.TupleVariation import \ diff --git a/Lib/fontTools/ttLib/tables/_c_v_t.py b/Lib/fontTools/ttLib/tables/_c_v_t.py index 0016e3bb..26395c93 100644 --- a/Lib/fontTools/ttLib/tables/_c_v_t.py +++ b/Lib/fontTools/ttLib/tables/_c_v_t.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc.textTools import safeEval from . import DefaultTable import sys diff --git a/Lib/fontTools/ttLib/tables/_f_e_a_t.py b/Lib/fontTools/ttLib/tables/_f_e_a_t.py index 35344fdd..eb03f8ba 100644 --- a/Lib/fontTools/ttLib/tables/_f_e_a_t.py +++ b/Lib/fontTools/ttLib/tables/_f_e_a_t.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/_f_p_g_m.py b/Lib/fontTools/ttLib/tables/_f_p_g_m.py index 77fdc6d0..ec3576ce 100644 --- a/Lib/fontTools/ttLib/tables/_f_p_g_m.py +++ b/Lib/fontTools/ttLib/tables/_f_p_g_m.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from . import DefaultTable from . import ttProgram diff --git a/Lib/fontTools/ttLib/tables/_f_v_a_r.py b/Lib/fontTools/ttLib/tables/_f_v_a_r.py index 933b25eb..7487da62 100644 --- a/Lib/fontTools/ttLib/tables/_f_v_a_r.py +++ b/Lib/fontTools/ttLib/tables/_f_v_a_r.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import Tag, bytesjoin from fontTools.misc import sstruct from fontTools.misc.fixedTools import ( fixedToFloat as fi2fl, @@ -6,7 +6,7 @@ from fontTools.misc.fixedTools import ( floatToFixedToStr as fl2str, strToFixedToFloat as str2fl, ) -from fontTools.misc.textTools import safeEval, num2binary, binary2num +from fontTools.misc.textTools import safeEval from fontTools.ttLib import TTLibError from . import DefaultTable import struct diff --git a/Lib/fontTools/ttLib/tables/_g_a_s_p.py b/Lib/fontTools/ttLib/tables/_g_a_s_p.py index b49ccb59..2c80913c 100644 --- a/Lib/fontTools/ttLib/tables/_g_a_s_p.py +++ b/Lib/fontTools/ttLib/tables/_g_a_s_p.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc.textTools import safeEval from . import DefaultTable import struct diff --git a/Lib/fontTools/ttLib/tables/_g_c_i_d.py b/Lib/fontTools/ttLib/tables/_g_c_i_d.py index b2da40af..2e746c84 100644 --- a/Lib/fontTools/ttLib/tables/_g_c_i_d.py +++ b/Lib/fontTools/ttLib/tables/_g_c_i_d.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/_g_l_y_f.py b/Lib/fontTools/ttLib/tables/_g_l_y_f.py index e12969e4..4680ddbf 100644 --- a/Lib/fontTools/ttLib/tables/_g_l_y_f.py +++ b/Lib/fontTools/ttLib/tables/_g_l_y_f.py @@ -1,7 +1,7 @@ """_g_l_y_f.py -- Converter classes for the 'glyf' table.""" from collections import namedtuple -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytechr, byteord, bytesjoin, tostr from fontTools.misc import sstruct from fontTools import ttLib from fontTools import version @@ -152,7 +152,7 @@ class table__g_l_y_f(DefaultTable.DefaultTable): if glyph.numberOfContours: if splitGlyphs: glyphPath = userNameToFileName( - tounicode(glyphName, 'utf-8'), + tostr(glyphName, 'utf-8'), existingGlyphFiles, prefix=path + ".", suffix=ext) @@ -1506,12 +1506,12 @@ class GlyphCoordinates(object): p = self._checkFloat(p) self._a.extend(p) - def toInt(self): + def toInt(self, *, round=otRound): if not self.isFloat(): return a = array.array("h") for n in self._a: - a.append(otRound(n)) + a.append(round(n)) self._a = a def relativeToAbsolute(self): @@ -1626,13 +1626,9 @@ class GlyphCoordinates(object): for i in range(len(a)): a[i] = -a[i] return r - def __round__(self): - """ - Note: This is Python 3 only. Python 2 does not call __round__. - As such, we cannot test this method either. :( - """ + def __round__(self, *, round=otRound): r = self.copy() - r.toInt() + r.toInt(round=round) return r def __add__(self, other): return self.copy().__iadd__(other) diff --git a/Lib/fontTools/ttLib/tables/_g_v_a_r.py b/Lib/fontTools/ttLib/tables/_g_v_a_r.py index 94417071..8c9b530e 100644 --- a/Lib/fontTools/ttLib/tables/_g_v_a_r.py +++ b/Lib/fontTools/ttLib/tables/_g_v_a_r.py @@ -1,8 +1,6 @@ -from fontTools.misc.py23 import * -from fontTools import ttLib +from fontTools.misc.py23 import bytesjoin from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval -from fontTools.ttLib import TTLibError from . import DefaultTable import array import itertools diff --git a/Lib/fontTools/ttLib/tables/_h_d_m_x.py b/Lib/fontTools/ttLib/tables/_h_d_m_x.py index db5d9d8a..954d1bc1 100644 --- a/Lib/fontTools/ttLib/tables/_h_d_m_x.py +++ b/Lib/fontTools/ttLib/tables/_h_d_m_x.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytechr, byteord, strjoin from fontTools.misc import sstruct from . import DefaultTable import array diff --git a/Lib/fontTools/ttLib/tables/_h_e_a_d.py b/Lib/fontTools/ttLib/tables/_h_e_a_d.py index 154669ae..4d19da03 100644 --- a/Lib/fontTools/ttLib/tables/_h_e_a_d.py +++ b/Lib/fontTools/ttLib/tables/_h_e_a_d.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.fixedTools import floatToFixedToStr, strToFixedToFloat from fontTools.misc.textTools import safeEval, num2binary, binary2num diff --git a/Lib/fontTools/ttLib/tables/_h_h_e_a.py b/Lib/fontTools/ttLib/tables/_h_h_e_a.py index 4d93b28a..9b8baaad 100644 --- a/Lib/fontTools/ttLib/tables/_h_h_e_a.py +++ b/Lib/fontTools/ttLib/tables/_h_h_e_a.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval from fontTools.misc.fixedTools import ( diff --git a/Lib/fontTools/ttLib/tables/_h_m_t_x.py b/Lib/fontTools/ttLib/tables/_h_m_t_x.py index a690a6e6..6980b8d8 100644 --- a/Lib/fontTools/ttLib/tables/_h_m_t_x.py +++ b/Lib/fontTools/ttLib/tables/_h_m_t_x.py @@ -1,5 +1,4 @@ -from fontTools.misc.py23 import * -from fontTools.misc.fixedTools import otRound +from fontTools.misc.roundTools import otRound from fontTools import ttLib from fontTools.misc.textTools import safeEval from . import DefaultTable diff --git a/Lib/fontTools/ttLib/tables/_k_e_r_n.py b/Lib/fontTools/ttLib/tables/_k_e_r_n.py index 39e65923..f3f714b2 100644 --- a/Lib/fontTools/ttLib/tables/_k_e_r_n.py +++ b/Lib/fontTools/ttLib/tables/_k_e_r_n.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.ttLib import getSearchRange from fontTools.misc.textTools import safeEval, readHex from fontTools.misc.fixedTools import ( diff --git a/Lib/fontTools/ttLib/tables/_l_c_a_r.py b/Lib/fontTools/ttLib/tables/_l_c_a_r.py index a3ee0dd2..e63310ef 100644 --- a/Lib/fontTools/ttLib/tables/_l_c_a_r.py +++ b/Lib/fontTools/ttLib/tables/_l_c_a_r.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/_l_o_c_a.py b/Lib/fontTools/ttLib/tables/_l_o_c_a.py index df61fafd..6a8693ed 100644 --- a/Lib/fontTools/ttLib/tables/_l_o_c_a.py +++ b/Lib/fontTools/ttLib/tables/_l_o_c_a.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from . import DefaultTable import sys import array diff --git a/Lib/fontTools/ttLib/tables/_l_t_a_g.py b/Lib/fontTools/ttLib/tables/_l_t_a_g.py index 011c46be..caec72a3 100644 --- a/Lib/fontTools/ttLib/tables/_l_t_a_g.py +++ b/Lib/fontTools/ttLib/tables/_l_t_a_g.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin, tobytes from fontTools.misc.textTools import safeEval from . import DefaultTable import struct diff --git a/Lib/fontTools/ttLib/tables/_m_a_x_p.py b/Lib/fontTools/ttLib/tables/_m_a_x_p.py index fc1e69dd..e810806d 100644 --- a/Lib/fontTools/ttLib/tables/_m_a_x_p.py +++ b/Lib/fontTools/ttLib/tables/_m_a_x_p.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval from . import DefaultTable diff --git a/Lib/fontTools/ttLib/tables/_m_e_t_a.py b/Lib/fontTools/ttLib/tables/_m_e_t_a.py index 2cd479c9..1a125f82 100644 --- a/Lib/fontTools/ttLib/tables/_m_e_t_a.py +++ b/Lib/fontTools/ttLib/tables/_m_e_t_a.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin, strjoin from fontTools.misc import sstruct from fontTools.misc.textTools import readHex from fontTools.ttLib import TTLibError diff --git a/Lib/fontTools/ttLib/tables/_m_o_r_t.py b/Lib/fontTools/ttLib/tables/_m_o_r_t.py index ea86ba8d..261e593e 100644 --- a/Lib/fontTools/ttLib/tables/_m_o_r_t.py +++ b/Lib/fontTools/ttLib/tables/_m_o_r_t.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/_m_o_r_x.py b/Lib/fontTools/ttLib/tables/_m_o_r_x.py index e64e2b81..da299c6d 100644 --- a/Lib/fontTools/ttLib/tables/_m_o_r_x.py +++ b/Lib/fontTools/ttLib/tables/_m_o_r_x.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/_n_a_m_e.py b/Lib/fontTools/ttLib/tables/_n_a_m_e.py index 4bb9024b..206469de 100644 --- a/Lib/fontTools/ttLib/tables/_n_a_m_e.py +++ b/Lib/fontTools/ttLib/tables/_n_a_m_e.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytechr, byteord, bytesjoin, strjoin, tobytes, tostr from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval from fontTools.misc.encodingTools import getEncoding @@ -133,7 +133,7 @@ class table__n_a_m_e(DefaultTable.DefaultTable): """ if not hasattr(self, 'names'): self.names = [] - if not isinstance(string, unicode): + if not isinstance(string, str): if isinstance(string, bytes): log.warning( "name string is bytes, ensure it's correctly encoded: %r", string) @@ -310,10 +310,9 @@ class table__n_a_m_e(DefaultTable.DefaultTable): "'platforms' must contain at least one (platformID, platEncID, langID) tuple" if not hasattr(self, 'names'): self.names = [] - if not isinstance(string, unicode): + if not isinstance(string, str): raise TypeError( - "expected %s, found %s: %r" % ( - unicode.__name__, type(string).__name__,string )) + "expected str, found %s: %r" % (type(string).__name__, string)) nameID = self._findUnusedNameID(minNameID + 1) for platformID, platEncID, langID in platforms: self.names.append(makeName(string, nameID, platformID, platEncID, langID)) @@ -457,7 +456,7 @@ class NameRecord(object): elif byteord(string[0]) == 0 and all(isascii(byteord(b)) for b in string[1:]): string = bytesjoin(b'\0'+bytechr(byteord(b)) for b in string[1:]) - string = tounicode(string, encoding=encoding, errors=errors) + string = tostr(string, encoding=encoding, errors=errors) # If decoded strings still looks like UTF-16BE, it suggests a double-encoding. # Fix it up. diff --git a/Lib/fontTools/ttLib/tables/_o_p_b_d.py b/Lib/fontTools/ttLib/tables/_o_p_b_d.py index a8768968..b22af216 100644 --- a/Lib/fontTools/ttLib/tables/_o_p_b_d.py +++ b/Lib/fontTools/ttLib/tables/_o_p_b_d.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/_p_o_s_t.py b/Lib/fontTools/ttLib/tables/_p_o_s_t.py index 3dd3b77c..e26e81f8 100644 --- a/Lib/fontTools/ttLib/tables/_p_o_s_t.py +++ b/Lib/fontTools/ttLib/tables/_p_o_s_t.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytechr, byteord, tobytes, tostr from fontTools import ttLib from fontTools.ttLib.standardGlyphOrder import standardGlyphOrder from fontTools.misc import sstruct diff --git a/Lib/fontTools/ttLib/tables/_p_r_e_p.py b/Lib/fontTools/ttLib/tables/_p_r_e_p.py index b66ad1bf..7f517fb8 100644 --- a/Lib/fontTools/ttLib/tables/_p_r_e_p.py +++ b/Lib/fontTools/ttLib/tables/_p_r_e_p.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools import ttLib superclass = ttLib.getTableClass("fpgm") diff --git a/Lib/fontTools/ttLib/tables/_p_r_o_p.py b/Lib/fontTools/ttLib/tables/_p_r_o_p.py index 7b4738a3..aead9d72 100644 --- a/Lib/fontTools/ttLib/tables/_p_r_o_p.py +++ b/Lib/fontTools/ttLib/tables/_p_r_o_p.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from .otBase import BaseTTXConverter diff --git a/Lib/fontTools/ttLib/tables/_s_b_i_x.py b/Lib/fontTools/ttLib/tables/_s_b_i_x.py index 0bfabca4..c4b2ad38 100644 --- a/Lib/fontTools/ttLib/tables/_s_b_i_x.py +++ b/Lib/fontTools/ttLib/tables/_s_b_i_x.py @@ -1,9 +1,7 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval, num2binary, binary2num from . import DefaultTable -from .sbixGlyph import * -from .sbixStrike import * +from .sbixStrike import Strike sbixHeaderFormat = """ diff --git a/Lib/fontTools/ttLib/tables/_t_r_a_k.py b/Lib/fontTools/ttLib/tables/_t_r_a_k.py index 7448916c..7f3227dc 100644 --- a/Lib/fontTools/ttLib/tables/_t_r_a_k.py +++ b/Lib/fontTools/ttLib/tables/_t_r_a_k.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin from fontTools.misc import sstruct from fontTools.misc.fixedTools import ( fixedToFloat as fi2fl, diff --git a/Lib/fontTools/ttLib/tables/_v_h_e_a.py b/Lib/fontTools/ttLib/tables/_v_h_e_a.py index 55ba45a1..2bb24667 100644 --- a/Lib/fontTools/ttLib/tables/_v_h_e_a.py +++ b/Lib/fontTools/ttLib/tables/_v_h_e_a.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.textTools import safeEval from fontTools.misc.fixedTools import ( diff --git a/Lib/fontTools/ttLib/tables/_v_m_t_x.py b/Lib/fontTools/ttLib/tables/_v_m_t_x.py index 761a4c9a..fc818d83 100644 --- a/Lib/fontTools/ttLib/tables/_v_m_t_x.py +++ b/Lib/fontTools/ttLib/tables/_v_m_t_x.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools import ttLib superclass = ttLib.getTableClass("hmtx") diff --git a/Lib/fontTools/ttLib/tables/asciiTable.py b/Lib/fontTools/ttLib/tables/asciiTable.py index 0ad83ebe..7b036c8e 100644 --- a/Lib/fontTools/ttLib/tables/asciiTable.py +++ b/Lib/fontTools/ttLib/tables/asciiTable.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import strjoin, tobytes, tostr from . import DefaultTable diff --git a/Lib/fontTools/ttLib/tables/otBase.py b/Lib/fontTools/ttLib/tables/otBase.py index 5ce32c17..3c07f9e1 100644 --- a/Lib/fontTools/ttLib/tables/otBase.py +++ b/Lib/fontTools/ttLib/tables/otBase.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import Tag, bytesjoin from .DefaultTable import DefaultTable import sys import array @@ -654,9 +654,15 @@ class BaseTable(object): def compile(self, writer, font): self.ensureDecompiled() + # TODO Following hack to be removed by rewriting how FormatSwitching tables + # are handled. + # https://github.com/fonttools/fonttools/pull/2238#issuecomment-805192631 if hasattr(self, 'preWrite'): + deleteFormat = not hasattr(self, 'Format') table = self.preWrite(font) + deleteFormat = deleteFormat and hasattr(self, 'Format') else: + deleteFormat = False table = self.__dict__.copy() # some count references may have been initialized in a custom preWrite; we set @@ -740,6 +746,9 @@ class BaseTable(object): if conv.isPropagated: writer[conv.name] = value + if deleteFormat: + del self.Format + def readFormat(self, reader): pass diff --git a/Lib/fontTools/ttLib/tables/otConverters.py b/Lib/fontTools/ttLib/tables/otConverters.py index 96d461a3..4af38acd 100644 --- a/Lib/fontTools/ttLib/tables/otConverters.py +++ b/Lib/fontTools/ttLib/tables/otConverters.py @@ -1,4 +1,4 @@ -from fontTools.misc.py23 import * +from fontTools.misc.py23 import bytesjoin, tobytes, tostr from fontTools.misc.fixedTools import ( fixedToFloat as fi2fl, floatToFixed as fl2fi, @@ -338,6 +338,18 @@ class NameID(UShort): log.warning("name id %d missing from name table" % value) xmlWriter.newline() +class STATFlags(UShort): + def xmlWrite(self, xmlWriter, font, value, name, attrs): + xmlWriter.simpletag(name, attrs + [("value", value)]) + flags = [] + if value & 0x01: + flags.append("OlderSiblingFontAttribute") + if value & 0x02: + flags.append("ElidableAxisValueName") + if flags: + xmlWriter.write(" ") + xmlWriter.comment(" ".join(flags)) + xmlWriter.newline() class FloatValue(SimpleValue): @staticmethod @@ -412,8 +424,8 @@ class Char64(SimpleValue): zeroPos = data.find(b"\0") if zeroPos >= 0: data = data[:zeroPos] - s = tounicode(data, encoding="ascii", errors="replace") - if s != tounicode(data, encoding="ascii", errors="ignore"): + s = tostr(data, encoding="ascii", errors="replace") + if s != tostr(data, encoding="ascii", errors="ignore"): log.warning('replaced non-ASCII characters in "%s"' % s) return s @@ -1745,7 +1757,6 @@ converterMapping = { "int8": Int8, "int16": Short, "uint8": UInt8, - "uint8": UInt8, "uint16": UShort, "uint24": UInt24, "uint32": ULong, @@ -1770,6 +1781,7 @@ converterMapping = { "LookupFlag": LookupFlag, "ExtendMode": ExtendMode, "CompositeMode": CompositeMode, + "STATFlags": STATFlags, # AAT "CIDGlyphMap": CIDGlyphMap, diff --git a/Lib/fontTools/ttLib/tables/otData.py b/Lib/fontTools/ttLib/tables/otData.py index 28b40c47..c4294169 100755 --- a/Lib/fontTools/ttLib/tables/otData.py +++ b/Lib/fontTools/ttLib/tables/otData.py @@ -1,6 +1,3 @@ -# coding: utf-8 -from fontTools.misc.py23 import * - otData = [ # @@ -872,7 +869,7 @@ otData = [ ('AxisValueFormat1', [ ('uint16', 'Format', None, None, 'Format, = 1'), ('uint16', 'AxisIndex', None, None, 'Index into the axis record array identifying the axis of design variation to which the axis value record applies.'), - ('uint16', 'Flags', None, None, 'Flags.'), + ('STATFlags', 'Flags', None, None, 'Flags.'), ('NameID', 'ValueNameID', None, None, ''), ('Fixed', 'Value', None, None, ''), ]), @@ -880,7 +877,7 @@ otData = [ ('AxisValueFormat2', [ ('uint16', 'Format', None, None, 'Format, = 2'), ('uint16', 'AxisIndex', None, None, 'Index into the axis record array identifying the axis of design variation to which the axis value record applies.'), - ('uint16', 'Flags', None, None, 'Flags.'), + ('STATFlags', 'Flags', None, None, 'Flags.'), ('NameID', 'ValueNameID', None, None, ''), ('Fixed', 'NominalValue', None, None, ''), ('Fixed', 'RangeMinValue', None, None, ''), @@ -890,7 +887,7 @@ otData = [ ('AxisValueFormat3', [ ('uint16', 'Format', None, None, 'Format, = 3'), ('uint16', 'AxisIndex', None, None, 'Index into the axis record array identifying the axis of design variation to which the axis value record applies.'), - ('uint16', 'Flags', None, None, 'Flags.'), + ('STATFlags', 'Flags', None, None, 'Flags.'), ('NameID', 'ValueNameID', None, None, ''), ('Fixed', 'Value', None, None, ''), ('Fixed', 'LinkedValue', None, None, ''), @@ -899,7 +896,7 @@ otData = [ ('AxisValueFormat4', [ ('uint16', 'Format', None, None, 'Format, = 4'), ('uint16', 'AxisCount', None, None, 'The total number of axes contributing to this axis-values combination.'), - ('uint16', 'Flags', None, None, 'Flags.'), + ('STATFlags', 'Flags', None, None, 'Flags.'), ('NameID', 'ValueNameID', None, None, ''), ('struct', 'AxisValueRecord', 'AxisCount', 0, 'Array of AxisValue records that provide the combination of axis values, one for each contributing axis. '), ]), diff --git a/Lib/fontTools/ttLib/tables/otTables.py b/Lib/fontTools/ttLib/tables/otTables.py index 008909bd..85befb3b 100644 --- a/Lib/fontTools/ttLib/tables/otTables.py +++ b/Lib/fontTools/ttLib/tables/otTables.py @@ -8,8 +8,8 @@ converter objects from otConverters.py. from enum import IntEnum import itertools from collections import namedtuple -from fontTools.misc.py23 import * -from fontTools.misc.fixedTools import otRound +from fontTools.misc.py23 import bytesjoin +from fontTools.misc.roundTools import otRound from fontTools.misc.textTools import pad, safeEval from .otBase import ( BaseTable, FormatSwitchingBaseTable, ValueRecord, CountReference, @@ -558,6 +558,7 @@ class Coverage(FormatSwitchingBaseTable): else: self.glyphs = [] log.warning("Unknown Coverage format: %s", self.Format) + del self.Format # Don't need this anymore def preWrite(self, font): glyphs = getattr(self, "glyphs", None) @@ -739,6 +740,7 @@ class SingleSubst(FormatSwitchingBaseTable): else: assert 0, "unknown format: %s" % self.Format self.mapping = mapping + del self.Format # Don't need this anymore def preWrite(self, font): mapping = getattr(self, "mapping", None) @@ -809,6 +811,7 @@ class MultipleSubst(FormatSwitchingBaseTable): else: assert 0, "unknown format: %s" % self.Format self.mapping = mapping + del self.Format # Don't need this anymore def preWrite(self, font): mapping = getattr(self, "mapping", None) @@ -927,6 +930,7 @@ class ClassDef(FormatSwitchingBaseTable): else: log.warning("Unknown ClassDef format: %s", self.Format) self.classDefs = classDefs + del self.Format # Don't need this anymore def _getClassRanges(self, font): classDefs = getattr(self, "classDefs", None) @@ -1015,6 +1019,7 @@ class AlternateSubst(FormatSwitchingBaseTable): else: assert 0, "unknown format: %s" % self.Format self.alternates = alternates + del self.Format # Don't need this anymore def preWrite(self, font): self.Format = 1 @@ -1085,6 +1090,7 @@ class LigatureSubst(FormatSwitchingBaseTable): else: assert 0, "unknown format: %s" % self.Format self.ligatures = ligatures + del self.Format # Don't need this anymore def preWrite(self, font): self.Format = 1 @@ -1681,7 +1687,6 @@ def splitMarkBasePos(oldSubTable, newSubTable, overflowRecord): oldSubTable.MarkCoverage.glyphs = oldMarkCoverage newSubTable.MarkCoverage = oldSubTable.MarkCoverage.__class__() - newSubTable.MarkCoverage.Format = oldSubTable.MarkCoverage.Format newSubTable.MarkCoverage.glyphs = newMarkCoverage # share the same BaseCoverage in both halves diff --git a/Lib/fontTools/ttLib/tables/sbixGlyph.py b/Lib/fontTools/ttLib/tables/sbixGlyph.py index c27ecfe2..fe29c090 100644 --- a/Lib/fontTools/ttLib/tables/sbixGlyph.py +++ b/Lib/fontTools/ttLib/tables/sbixGlyph.py @@ -1,4 +1,3 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct from fontTools.misc.textTools import readHex, safeEval import struct diff --git a/Lib/fontTools/ttLib/tables/sbixStrike.py b/Lib/fontTools/ttLib/tables/sbixStrike.py index 7e3e17e8..b367a99f 100644 --- a/Lib/fontTools/ttLib/tables/sbixStrike.py +++ b/Lib/fontTools/ttLib/tables/sbixStrike.py @@ -1,7 +1,6 @@ -from fontTools.misc.py23 import * from fontTools.misc import sstruct -from fontTools.misc.textTools import readHex -from .sbixGlyph import * +from fontTools.misc.textTools import safeEval +from .sbixGlyph import Glyph import struct sbixStrikeHeaderFormat = """ diff --git a/Lib/fontTools/ttLib/tables/ttProgram.py b/Lib/fontTools/ttLib/tables/ttProgram.py index 3094d62b..a1dfa3c5 100644 --- a/Lib/fontTools/ttLib/tables/ttProgram.py +++ b/Lib/fontTools/ttLib/tables/ttProgram.py @@ -1,8 +1,9 @@ """ttLib.tables.ttProgram.py -- Assembler/disassembler for TrueType bytecode programs.""" -from fontTools.misc.py23 import * +from fontTools.misc.py23 import strjoin from fontTools.misc.textTools import num2binary, binary2num, readHex import array +from io import StringIO import re import logging |