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)
Esempio n. 2
0
 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,
     )
Esempio n. 3
0
 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)
Esempio n. 4
0
 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))
Esempio n. 5
0
 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)
Esempio n. 6
0
 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)
Esempio n. 8
0
 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))
Esempio n. 9
0
 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())
Esempio n. 11
0
 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)
Esempio n. 12
0
 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)
Esempio n. 13
0
 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)
Esempio n. 14
0
 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"])))
Esempio n. 15
0
 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)
Esempio n. 16
0
 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"])))