aboutsummaryrefslogtreecommitdiff
path: root/Tests/ttLib/tables/_h_h_e_a_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/ttLib/tables/_h_h_e_a_test.py')
-rw-r--r--Tests/ttLib/tables/_h_h_e_a_test.py140
1 files changed, 74 insertions, 66 deletions
diff --git a/Tests/ttLib/tables/_h_h_e_a_test.py b/Tests/ttLib/tables/_h_h_e_a_test.py
index e04fd7bb..4b5c6338 100644
--- a/Tests/ttLib/tables/_h_h_e_a_test.py
+++ b/Tests/ttLib/tables/_h_h_e_a_test.py
@@ -8,47 +8,47 @@ import unittest
CURR_DIR = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))
-DATA_DIR = os.path.join(CURR_DIR, 'data')
+DATA_DIR = os.path.join(CURR_DIR, "data")
HHEA_DATA = deHexStr(
- '0001 0000 ' # 1.0 version
- '02EE ' # 750 ascent
- 'FF06 ' # -250 descent
- '00C8 ' # 200 lineGap
- '03E8 ' # 1000 advanceWidthMax
- 'FFE7 ' # -25 minLeftSideBearing
- 'FFEC ' # -20 minRightSideBearing
- '03D1 ' # 977 xMaxExtent
- '0000 ' # 0 caretSlopeRise
- '0001 ' # 1 caretSlopeRun
- '0010 ' # 16 caretOffset
- '0000 ' # 0 reserved0
- '0000 ' # 0 reserved1
- '0000 ' # 0 reserved2
- '0000 ' # 0 reserved3
- '0000 ' # 0 metricDataFormat
- '002A ' # 42 numberOfHMetrics
+ "0001 0000 " # 1.0 version
+ "02EE " # 750 ascent
+ "FF06 " # -250 descent
+ "00C8 " # 200 lineGap
+ "03E8 " # 1000 advanceWidthMax
+ "FFE7 " # -25 minLeftSideBearing
+ "FFEC " # -20 minRightSideBearing
+ "03D1 " # 977 xMaxExtent
+ "0000 " # 0 caretSlopeRise
+ "0001 " # 1 caretSlopeRun
+ "0010 " # 16 caretOffset
+ "0000 " # 0 reserved0
+ "0000 " # 0 reserved1
+ "0000 " # 0 reserved2
+ "0000 " # 0 reserved3
+ "0000 " # 0 metricDataFormat
+ "002A " # 42 numberOfHMetrics
)
HHEA_AS_DICT = {
- 'tableTag': 'hhea',
- 'tableVersion': 0x00010000,
- 'ascent': 750,
- 'descent': -250,
- 'lineGap': 200,
- 'advanceWidthMax': 1000,
- 'minLeftSideBearing': -25,
- 'minRightSideBearing': -20,
- 'xMaxExtent': 977,
- 'caretSlopeRise': 0,
- 'caretSlopeRun': 1,
- 'caretOffset': 16,
- 'reserved0': 0,
- 'reserved1': 0,
- 'reserved2': 0,
- 'reserved3': 0,
- 'metricDataFormat': 0,
- 'numberOfHMetrics': 42,
+ "tableTag": "hhea",
+ "tableVersion": 0x00010000,
+ "ascent": 750,
+ "descent": -250,
+ "lineGap": 200,
+ "advanceWidthMax": 1000,
+ "minLeftSideBearing": -25,
+ "minRightSideBearing": -20,
+ "xMaxExtent": 977,
+ "caretSlopeRise": 0,
+ "caretSlopeRun": 1,
+ "caretOffset": 16,
+ "reserved0": 0,
+ "reserved1": 0,
+ "reserved2": 0,
+ "reserved3": 0,
+ "metricDataFormat": 0,
+ "numberOfHMetrics": 42,
}
HHEA_XML = [
@@ -77,9 +77,8 @@ HHEA_XML_VERSION_AS_FLOAT = [
class HheaCompileOrToXMLTest(unittest.TestCase):
-
def setUp(self):
- hhea = newTable('hhea')
+ hhea = newTable("hhea")
hhea.tableVersion = 0x00010000
hhea.ascent = 750
hhea.descent = -250
@@ -94,39 +93,45 @@ class HheaCompileOrToXMLTest(unittest.TestCase):
hhea.metricDataFormat = 0
hhea.numberOfHMetrics = 42
hhea.reserved0 = hhea.reserved1 = hhea.reserved2 = hhea.reserved3 = 0
- self.font = TTFont(sfntVersion='OTTO')
- self.font['hhea'] = hhea
+ self.font = TTFont(sfntVersion="OTTO")
+ self.font["hhea"] = hhea
def test_compile(self):
- hhea = self.font['hhea']
+ hhea = self.font["hhea"]
hhea.tableVersion = 0x00010000
self.assertEqual(HHEA_DATA, hhea.compile(self.font))
def test_compile_version_10_as_float(self):
- hhea = self.font['hhea']
+ hhea = self.font["hhea"]
hhea.tableVersion = 1.0
with CapturingLogHandler(log, "WARNING") as captor:
self.assertEqual(HHEA_DATA, hhea.compile(self.font))
self.assertTrue(
- len([r for r in captor.records
- if "Table version value is a float" in r.msg]) == 1)
+ len(
+ [r for r in captor.records if "Table version value is a float" in r.msg]
+ )
+ == 1
+ )
def test_toXML(self):
- hhea = self.font['hhea']
- self.font['hhea'].tableVersion = 0x00010000
+ hhea = self.font["hhea"]
+ self.font["hhea"].tableVersion = 0x00010000
self.assertEqual(getXML(hhea.toXML), HHEA_XML)
def test_toXML_version_as_float(self):
- hhea = self.font['hhea']
+ hhea = self.font["hhea"]
hhea.tableVersion = 1.0
with CapturingLogHandler(log, "WARNING") as captor:
self.assertEqual(getXML(hhea.toXML), HHEA_XML)
self.assertTrue(
- len([r for r in captor.records
- if "Table version value is a float" in r.msg]) == 1)
+ len(
+ [r for r in captor.records if "Table version value is a float" in r.msg]
+ )
+ == 1
+ )
def test_aliases(self):
- hhea = self.font['hhea']
+ hhea = self.font["hhea"]
self.assertEqual(hhea.ascent, hhea.ascender)
self.assertEqual(hhea.descent, hhea.descender)
hhea.ascender = 800
@@ -138,44 +143,46 @@ class HheaCompileOrToXMLTest(unittest.TestCase):
hhea.descent = -299
self.assertEqual(hhea.descender, -299)
-class HheaDecompileOrFromXMLTest(unittest.TestCase):
+class HheaDecompileOrFromXMLTest(unittest.TestCase):
def setUp(self):
- hhea = newTable('hhea')
- self.font = TTFont(sfntVersion='OTTO')
- self.font['hhea'] = hhea
+ hhea = newTable("hhea")
+ self.font = TTFont(sfntVersion="OTTO")
+ self.font["hhea"] = hhea
def test_decompile(self):
- hhea = self.font['hhea']
+ hhea = self.font["hhea"]
hhea.decompile(HHEA_DATA, self.font)
for key in hhea.__dict__:
self.assertEqual(getattr(hhea, key), HHEA_AS_DICT[key])
def test_fromXML(self):
- hhea = self.font['hhea']
+ hhea = self.font["hhea"]
for name, attrs, content in parseXML(HHEA_XML):
hhea.fromXML(name, attrs, content, self.font)
for key in hhea.__dict__:
self.assertEqual(getattr(hhea, key), HHEA_AS_DICT[key])
def test_fromXML_version_as_float(self):
- hhea = self.font['hhea']
+ hhea = self.font["hhea"]
with CapturingLogHandler(log, "WARNING") as captor:
for name, attrs, content in parseXML(HHEA_XML_VERSION_AS_FLOAT):
hhea.fromXML(name, attrs, content, self.font)
self.assertTrue(
- len([r for r in captor.records
- if "Table version value is a float" in r.msg]) == 1)
+ len(
+ [r for r in captor.records if "Table version value is a float" in r.msg]
+ )
+ == 1
+ )
for key in hhea.__dict__:
self.assertEqual(getattr(hhea, key), HHEA_AS_DICT[key])
class HheaRecalcTest(unittest.TestCase):
-
def test_recalc_TTF(self):
font = TTFont()
- font.importXML(os.path.join(DATA_DIR, '_h_h_e_a_recalc_TTF.ttx'))
- hhea = font['hhea']
+ font.importXML(os.path.join(DATA_DIR, "_h_h_e_a_recalc_TTF.ttx"))
+ hhea = font["hhea"]
hhea.recalc(font)
self.assertEqual(hhea.advanceWidthMax, 600)
self.assertEqual(hhea.minLeftSideBearing, -56)
@@ -184,8 +191,8 @@ class HheaRecalcTest(unittest.TestCase):
def test_recalc_OTF(self):
font = TTFont()
- font.importXML(os.path.join(DATA_DIR, '_h_h_e_a_recalc_OTF.ttx'))
- hhea = font['hhea']
+ font.importXML(os.path.join(DATA_DIR, "_h_h_e_a_recalc_OTF.ttx"))
+ hhea = font["hhea"]
hhea.recalc(font)
self.assertEqual(hhea.advanceWidthMax, 600)
self.assertEqual(hhea.minLeftSideBearing, -56)
@@ -194,8 +201,8 @@ class HheaRecalcTest(unittest.TestCase):
def test_recalc_empty(self):
font = TTFont()
- font.importXML(os.path.join(DATA_DIR, '_h_h_e_a_recalc_empty.ttx'))
- hhea = font['hhea']
+ font.importXML(os.path.join(DATA_DIR, "_h_h_e_a_recalc_empty.ttx"))
+ hhea = font["hhea"]
hhea.recalc(font)
self.assertEqual(hhea.advanceWidthMax, 600)
self.assertEqual(hhea.minLeftSideBearing, 0)
@@ -205,4 +212,5 @@ class HheaRecalcTest(unittest.TestCase):
if __name__ == "__main__":
import sys
+
sys.exit(unittest.main())