def test_decompile(self): avar = table__a_v_a_r() avar.decompile(TEST_DATA, self.makeFont(["wdth", "wght"])) self.assertEqual({ "wdth": {-1.0: -1.0, 0.0: 0.0, 0.3: 0.8, 1.0: 1.0}, "wght": {-1.0: -1.0, 0.0: 0.0, 1.0: 1.0} }, avar.segments)
def test_decompile(self): avar = table__a_v_a_r() avar.decompile(TEST_DATA, self.makeFont(["wdth", "wght"])) self.assertEqual( {"wdth": {-1.0: -1.0, 0.0: 0.0, 0.3: 0.8, 1.0: 1.0}, "wght": {-1.0: -1.0, 0.0: 0.0, 1.0: 1.0}}, avar.segments, )
def test_fromXML(self): avar = table__a_v_a_r() avar.fromXML("segment", {"axis":"wdth"}, [ ("mapping", {"from": "-1.0", "to": "-1.0"}, []), ("mapping", {"from": "0.0", "to": "0.0"}, []), ("mapping", {"from": "0.7", "to": "0.2"}, []), ("mapping", {"from": "1.0", "to": "1.0"}, []) ], ttFont=None) self.assertEqual({"wdth": {-1: -1, 0: 0, 0.7: 0.2, 1.0: 1.0}}, avar.segments)
def test_toXML(self): avar = table__a_v_a_r() avar.segments["opsz"] = {-1.0: -1.0, 0.0: 0.0, 0.3: 0.8, 1.0: 1.0} writer = XMLWriter(StringIO()) avar.toXML(writer, self.makeFont(["opsz"])) self.assertEqual([ '<segment axis="opsz">', '<mapping from="-1.0" to="-1.0"/>', '<mapping from="0.0" to="0.0"/>', '<mapping from="0.3" to="0.8"/>', '<mapping from="1.0" to="1.0"/>', '</segment>' ], self.xml_lines(writer))
def test_fixupSegments(self): avar = table__a_v_a_r() avar.segments = {"wdth": {0.3: 0.8, 1.0: 0.7}} warnings = [] avar.fixupSegments_(lambda w: warnings.append(w)) self.assertEqual({"wdth": {-1.0: -1.0, 0.0: 0.0, 0.3: 0.8, 1.0: 1.0}}, avar.segments) self.assertEqual([ "avar axis 'wdth' should map -1.0 to -1.0", "avar axis 'wdth' should map 0.0 to 0.0", "avar axis 'wdth' should map 1.0 to 1.0" ], warnings)
def test_fromXML(self): avar = table__a_v_a_r() for name, attrs, content in parseXML( '<segment axis="wdth">' ' <mapping from="-1.0" to="-1.0"/>' ' <mapping from="0.0" to="0.0"/>' ' <mapping from="0.7" to="0.2"/>' ' <mapping from="1.0" to="1.0"/>' "</segment>" ): avar.fromXML(name, attrs, content, ttFont=None) self.assertEqual({"wdth": {-1: -1, 0: 0, 0.7: 0.2, 1.0: 1.0}}, avar.segments)
def test_fromXML(self): avar = table__a_v_a_r() for name, attrs, content in parseXML( '<segment axis="wdth">' ' <mapping from="-1.0" to="-1.0"/>' ' <mapping from="0.0" to="0.0"/>' ' <mapping from="0.7" to="0.2"/>' ' <mapping from="1.0" to="1.0"/>' '</segment>'): avar.fromXML(name, attrs, content, ttFont=None) self.assertEqual({"wdth": {-1: -1, 0: 0, 0.7: 0.2, 1.0: 1.0}}, avar.segments)
def test_toXML(self): avar = table__a_v_a_r() avar.segments["opsz"] = {-1.0: -1.0, 0.0: 0.0, 0.3: 0.8, 1.0: 1.0} writer = XMLWriter(StringIO()) avar.toXML(writer, self.makeFont(["opsz"])) self.assertEqual([ '<segment axis="opsz">', '<mapping from="-1.0" to="-1.0"/>', '<mapping from="0.0" to="0.0"/>', '<mapping from="0.3" to="0.8"/>', '<mapping from="1.0" to="1.0"/>', '</segment>' ], self.xml_lines(writer))
def test_fixupSegments(self): avar = table__a_v_a_r() logger = logging.getLogger(table__a_v_a_r.__module__) sio = StringIO() logger.addHandler(logging.StreamHandler(stream=sio)) avar.segments = {"wdth": {0.3: 0.8, 1.0: 0.7}} avar.fixupSegments_() self.assertEqual({"wdth": {-1.0: -1.0, 0.0: 0.0, 0.3: 0.8, 1.0: 1.0}}, avar.segments) self.assertEqual([ "avar axis 'wdth' should map -1.0 to -1.0", "avar axis 'wdth' should map 0.0 to 0.0", "avar axis 'wdth' should map 1.0 to 1.0" ], sio.getvalue().splitlines())
def test_fixupSegments(self): avar = table__a_v_a_r() logger = logging.getLogger(table__a_v_a_r.__module__) sio = StringIO() logger.addHandler(logging.StreamHandler(stream=sio)) avar.segments = {"wdth": {0.3: 0.8, 1.0: 0.7}} avar.fixupSegments_() self.assertEqual({"wdth": {-1.0: -1.0, 0.0: 0.0, 0.3: 0.8, 1.0: 1.0}}, avar.segments) self.assertEqual([ "avar axis 'wdth' should map -1.0 to -1.0", "avar axis 'wdth' should map 0.0 to 0.0", "avar axis 'wdth' should map 1.0 to 1.0" ], sio.getvalue().splitlines())
def test_fixupSegments(self): avar = table__a_v_a_r() avar.segments = {"wdth": {0.3: 0.8, 1.0: 0.7}} warnings = [] avar.fixupSegments_(lambda w: warnings.append(w)) self.assertEqual({"wdth": { -1.0: -1.0, 0.0: 0.0, 0.3: 0.8, 1.0: 1.0 }}, avar.segments) self.assertEqual([ "avar axis 'wdth' should map -1.0 to -1.0", "avar axis 'wdth' should map 0.0 to 0.0", "avar axis 'wdth' should map 1.0 to 1.0" ], warnings)
def test_fromXML(self): avar = table__a_v_a_r() avar.fromXML("segment", {"axis": "wdth"}, [("mapping", { "from": "-1.0", "to": "-1.0" }, []), ("mapping", { "from": "0.0", "to": "0.0" }, []), ("mapping", { "from": "0.7", "to": "0.2" }, []), ("mapping", { "from": "1.0", "to": "1.0" }, [])], ttFont=None) self.assertEqual({"wdth": { -1: -1, 0: 0, 0.7: 0.2, 1.0: 1.0 }}, avar.segments)
def test_decompile_unsupportedVersion(self): avar = table__a_v_a_r() font = self.makeFont(["wdth", "wght"]) self.assertRaises(TTLibError, avar.decompile, deHexStr("02 01 03 06 00 00 00 00"), font)
def test_compile(self): avar = table__a_v_a_r() avar.segments["wdth"] = {-1.0: -1.0, 0.0: 0.0, 0.3: 0.8, 1.0: 1.0} avar.segments["wght"] = {-1.0: -1.0, 0.0: 0.0, 1.0: 1.0} self.assertEqual(TEST_DATA, avar.compile(self.makeFont(["wdth", "wght"])))
def test_decompile_unsupportedVersion(self): avar = table__a_v_a_r() font = self.makeFont(["wdth", "wght"]) self.assertRaises(TTLibError, avar.decompile, deHexStr("02 01 03 06 00 00 00 00"), font)
def test_compile(self): avar = table__a_v_a_r() avar.segments["wdth"] = {-1.0: -1.0, 0.0: 0.0, 0.3: 0.8, 1.0: 1.0} avar.segments["wght"] = {-1.0: -1.0, 0.0: 0.0, 1.0: 1.0} self.assertEqual(TEST_DATA, avar.compile(self.makeFont(["wdth", "wght"])))