From 3caeb3dab057b6d819c7a14c9452301a9b691281 Mon Sep 17 00:00:00 2001 From: Miguel Sousa Date: Thu, 9 Mar 2017 03:16:27 -0800 Subject: [PATCH] =?UTF-8?q?[varLib.interpolate=5Flayout]=20Tests=20for=20G?= =?UTF-8?q?POS=20=E2=80=98size=E2=80=99=20feature=20and=20LookupType=203,?= =?UTF-8?q?=204,=205,=206=20and=208?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InterpolateLayoutGPOS_3_diff.ttx | 56 +++ .../InterpolateLayoutGPOS_3_same.ttx | 56 +++ .../InterpolateLayoutGPOS_4_diff.ttx | 68 ++++ .../InterpolateLayoutGPOS_4_same.ttx | 68 ++++ .../InterpolateLayoutGPOS_5_diff.ttx | 77 ++++ .../InterpolateLayoutGPOS_5_same.ttx | 77 ++++ .../InterpolateLayoutGPOS_6_diff.ttx | 68 ++++ .../InterpolateLayoutGPOS_6_same.ttx | 68 ++++ .../InterpolateLayoutGPOS_8_diff.ttx | 116 ++++++ .../InterpolateLayoutGPOS_8_same.ttx | 116 ++++++ .../InterpolateLayoutGPOS_size_feat_same.ttx | 41 ++ Tests/varLib/interpolate_layout_test.py | 383 ++++++++++++++++++ 12 files changed, 1194 insertions(+) create mode 100644 Tests/varLib/data/test_results/InterpolateLayoutGPOS_3_diff.ttx create mode 100644 Tests/varLib/data/test_results/InterpolateLayoutGPOS_3_same.ttx create mode 100644 Tests/varLib/data/test_results/InterpolateLayoutGPOS_4_diff.ttx create mode 100644 Tests/varLib/data/test_results/InterpolateLayoutGPOS_4_same.ttx create mode 100644 Tests/varLib/data/test_results/InterpolateLayoutGPOS_5_diff.ttx create mode 100644 Tests/varLib/data/test_results/InterpolateLayoutGPOS_5_same.ttx create mode 100644 Tests/varLib/data/test_results/InterpolateLayoutGPOS_6_diff.ttx create mode 100644 Tests/varLib/data/test_results/InterpolateLayoutGPOS_6_same.ttx create mode 100644 Tests/varLib/data/test_results/InterpolateLayoutGPOS_8_diff.ttx create mode 100644 Tests/varLib/data/test_results/InterpolateLayoutGPOS_8_same.ttx create mode 100644 Tests/varLib/data/test_results/InterpolateLayoutGPOS_size_feat_same.ttx diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_3_diff.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_3_diff.ttx new file mode 100644 index 000000000..b640f10fd --- /dev/null +++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_3_diff.ttx @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_3_same.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_3_same.ttx new file mode 100644 index 000000000..b7c8a2586 --- /dev/null +++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_3_same.ttx @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_4_diff.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_4_diff.ttx new file mode 100644 index 000000000..a6e02272e --- /dev/null +++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_4_diff.ttx @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_4_same.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_4_same.ttx new file mode 100644 index 000000000..9b41519b1 --- /dev/null +++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_4_same.ttx @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_5_diff.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_5_diff.ttx new file mode 100644 index 000000000..28480e758 --- /dev/null +++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_5_diff.ttx @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_5_same.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_5_same.ttx new file mode 100644 index 000000000..4830f9a31 --- /dev/null +++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_5_same.ttx @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_6_diff.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_6_diff.ttx new file mode 100644 index 000000000..e639bce79 --- /dev/null +++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_6_diff.ttx @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_6_same.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_6_same.ttx new file mode 100644 index 000000000..05e4b5148 --- /dev/null +++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_6_same.ttx @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_8_diff.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_8_diff.ttx new file mode 100644 index 000000000..d14f3b09d --- /dev/null +++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_8_diff.ttx @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_8_same.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_8_same.ttx new file mode 100644 index 000000000..b7e86ba2d --- /dev/null +++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_8_same.ttx @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/varLib/data/test_results/InterpolateLayoutGPOS_size_feat_same.ttx b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_size_feat_same.ttx new file mode 100644 index 000000000..b0f8074bc --- /dev/null +++ b/Tests/varLib/data/test_results/InterpolateLayoutGPOS_size_feat_same.ttx @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Tests/varLib/interpolate_layout_test.py b/Tests/varLib/interpolate_layout_test.py index 34c53871d..80251f543 100644 --- a/Tests/varLib/interpolate_layout_test.py +++ b/Tests/varLib/interpolate_layout_test.py @@ -176,6 +176,35 @@ class InterpolateLayoutTest(unittest.TestCase): self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + def test_varlib_interpolate_layout_GPOS_only_size_feat_same_val_ttf(self): + """Only GPOS; 'size' feature; same values in all masters. + """ + suffix = '.ttf' + ds_path = self.get_test_input('InterpolateLayout.designspace') + ufo_dir = self.get_test_input('master_ufo') + ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf') + + fea_str = """ + feature size { + parameters 10.0 0; + } size; + """ + features = [fea_str] * 2 + + self.temp_dir() + ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-') + for i, path in enumerate(ttx_paths): + self.compile_font(path, suffix, self.tempdir, features[i]) + + finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix) + instfont = interpolate_layout(ds_path, {'weight': 500}, finder) + + tables = ['GPOS'] + expected_ttx_path = self.get_test_output('InterpolateLayoutGPOS_size_feat_same.ttx') + self.expect_ttx(instfont, expected_ttx_path, tables) + self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + + def test_varlib_interpolate_layout_GPOS_only_LookupType_1_same_val_ttf(self): """Only GPOS; LookupType 1; same values in all masters. """ @@ -372,6 +401,360 @@ class InterpolateLayoutTest(unittest.TestCase): self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + def test_varlib_interpolate_layout_GPOS_only_LookupType_3_same_val_ttf(self): + """Only GPOS; LookupType 3; same values in all masters. + """ + suffix = '.ttf' + ds_path = self.get_test_input('InterpolateLayout.designspace') + ufo_dir = self.get_test_input('master_ufo') + ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf') + + fea_str = """ + feature xxxx { + pos cursive a ; + } xxxx; + """ + features = [fea_str] * 2 + + self.temp_dir() + ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-') + for i, path in enumerate(ttx_paths): + self.compile_font(path, suffix, self.tempdir, features[i]) + + finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix) + instfont = interpolate_layout(ds_path, {'weight': 500}, finder) + + tables = ['GPOS'] + expected_ttx_path = self.get_test_output('InterpolateLayoutGPOS_3_same.ttx') + self.expect_ttx(instfont, expected_ttx_path, tables) + self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + + + def test_varlib_interpolate_layout_GPOS_only_LookupType_3_diff_val_ttf(self): + """Only GPOS; LookupType 3; different values in each master. + """ + suffix = '.ttf' + ds_path = self.get_test_input('InterpolateLayout.designspace') + ufo_dir = self.get_test_input('master_ufo') + ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf') + + fea_str_0 = """ + feature xxxx { + pos cursive a ; + } xxxx; + """ + fea_str_1 = """ + feature xxxx { + pos cursive a ; + } xxxx; + """ + features = [fea_str_0, fea_str_1] + + self.temp_dir() + ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-') + for i, path in enumerate(ttx_paths): + self.compile_font(path, suffix, self.tempdir, features[i]) + + finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix) + instfont = interpolate_layout(ds_path, {'weight': 500}, finder) + + tables = ['GPOS'] + expected_ttx_path = self.get_test_output('InterpolateLayoutGPOS_3_diff.ttx') + self.expect_ttx(instfont, expected_ttx_path, tables) + self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + + + def test_varlib_interpolate_layout_GPOS_only_LookupType_4_same_val_ttf(self): + """Only GPOS; LookupType 4; same values in all masters. + """ + suffix = '.ttf' + ds_path = self.get_test_input('InterpolateLayout.designspace') + ufo_dir = self.get_test_input('master_ufo') + ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf') + + fea_str = """ + markClass uni0303 @MARKS_ABOVE; + feature xxxx { + pos base a mark @MARKS_ABOVE; + } xxxx; + """ + features = [fea_str] * 2 + + self.temp_dir() + ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-') + for i, path in enumerate(ttx_paths): + self.compile_font(path, suffix, self.tempdir, features[i]) + + finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix) + instfont = interpolate_layout(ds_path, {'weight': 500}, finder) + + tables = ['GPOS'] + expected_ttx_path = self.get_test_output('InterpolateLayoutGPOS_4_same.ttx') + self.expect_ttx(instfont, expected_ttx_path, tables) + self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + + + def test_varlib_interpolate_layout_GPOS_only_LookupType_4_diff_val_ttf(self): + """Only GPOS; LookupType 4; different values in each master. + """ + suffix = '.ttf' + ds_path = self.get_test_input('InterpolateLayout.designspace') + ufo_dir = self.get_test_input('master_ufo') + ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf') + + fea_str_0 = """ + markClass uni0303 @MARKS_ABOVE; + feature xxxx { + pos base a mark @MARKS_ABOVE; + } xxxx; + """ + fea_str_1 = """ + markClass uni0303 @MARKS_ABOVE; + feature xxxx { + pos base a mark @MARKS_ABOVE; + } xxxx; + """ + features = [fea_str_0, fea_str_1] + + self.temp_dir() + ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-') + for i, path in enumerate(ttx_paths): + self.compile_font(path, suffix, self.tempdir, features[i]) + + finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix) + instfont = interpolate_layout(ds_path, {'weight': 500}, finder) + + tables = ['GPOS'] + expected_ttx_path = self.get_test_output('InterpolateLayoutGPOS_4_diff.ttx') + self.expect_ttx(instfont, expected_ttx_path, tables) + self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + + + def test_varlib_interpolate_layout_GPOS_only_LookupType_5_same_val_ttf(self): + """Only GPOS; LookupType 5; same values in all masters. + """ + suffix = '.ttf' + ds_path = self.get_test_input('InterpolateLayout.designspace') + ufo_dir = self.get_test_input('master_ufo') + ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf') + + fea_str = """ + markClass uni0330 @MARKS_BELOW; + feature xxxx { + pos ligature f_t mark @MARKS_BELOW + ligComponent mark @MARKS_BELOW; + } xxxx; + """ + features = [fea_str] * 2 + + self.temp_dir() + ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-') + for i, path in enumerate(ttx_paths): + self.compile_font(path, suffix, self.tempdir, features[i]) + + finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix) + instfont = interpolate_layout(ds_path, {'weight': 500}, finder) + + tables = ['GPOS'] + expected_ttx_path = self.get_test_output('InterpolateLayoutGPOS_5_same.ttx') + self.expect_ttx(instfont, expected_ttx_path, tables) + self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + + + def test_varlib_interpolate_layout_GPOS_only_LookupType_5_diff_val_ttf(self): + """Only GPOS; LookupType 5; different values in each master. + """ + suffix = '.ttf' + ds_path = self.get_test_input('InterpolateLayout.designspace') + ufo_dir = self.get_test_input('master_ufo') + ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf') + + fea_str_0 = """ + markClass uni0330 @MARKS_BELOW; + feature xxxx { + pos ligature f_t mark @MARKS_BELOW + ligComponent mark @MARKS_BELOW; + } xxxx; + """ + fea_str_1 = """ + markClass uni0330 @MARKS_BELOW; + feature xxxx { + pos ligature f_t mark @MARKS_BELOW + ligComponent mark @MARKS_BELOW; + } xxxx; + """ + features = [fea_str_0, fea_str_1] + + self.temp_dir() + ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-') + for i, path in enumerate(ttx_paths): + self.compile_font(path, suffix, self.tempdir, features[i]) + + finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix) + instfont = interpolate_layout(ds_path, {'weight': 500}, finder) + + tables = ['GPOS'] + expected_ttx_path = self.get_test_output('InterpolateLayoutGPOS_5_diff.ttx') + self.expect_ttx(instfont, expected_ttx_path, tables) + self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + + + def test_varlib_interpolate_layout_GPOS_only_LookupType_6_same_val_ttf(self): + """Only GPOS; LookupType 6; same values in all masters. + """ + suffix = '.ttf' + ds_path = self.get_test_input('InterpolateLayout.designspace') + ufo_dir = self.get_test_input('master_ufo') + ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf') + + fea_str = """ + markClass uni0303 @MARKS_ABOVE; + feature xxxx { + pos mark uni0308 mark @MARKS_ABOVE; + } xxxx; + """ + features = [fea_str] * 2 + + self.temp_dir() + ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-') + for i, path in enumerate(ttx_paths): + self.compile_font(path, suffix, self.tempdir, features[i]) + + finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix) + instfont = interpolate_layout(ds_path, {'weight': 500}, finder) + + tables = ['GPOS'] + expected_ttx_path = self.get_test_output('InterpolateLayoutGPOS_6_same.ttx') + self.expect_ttx(instfont, expected_ttx_path, tables) + self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + + + def test_varlib_interpolate_layout_GPOS_only_LookupType_6_diff_val_ttf(self): + """Only GPOS; LookupType 6; different values in each master. + """ + suffix = '.ttf' + ds_path = self.get_test_input('InterpolateLayout.designspace') + ufo_dir = self.get_test_input('master_ufo') + ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf') + + fea_str_0 = """ + markClass uni0303 @MARKS_ABOVE; + feature xxxx { + pos mark uni0308 mark @MARKS_ABOVE; + } xxxx; + """ + fea_str_1 = """ + markClass uni0303 @MARKS_ABOVE; + feature xxxx { + pos mark uni0308 mark @MARKS_ABOVE; + } xxxx; + """ + features = [fea_str_0, fea_str_1] + + self.temp_dir() + ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-') + for i, path in enumerate(ttx_paths): + self.compile_font(path, suffix, self.tempdir, features[i]) + + finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix) + instfont = interpolate_layout(ds_path, {'weight': 500}, finder) + + tables = ['GPOS'] + expected_ttx_path = self.get_test_output('InterpolateLayoutGPOS_6_diff.ttx') + self.expect_ttx(instfont, expected_ttx_path, tables) + self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + + + def test_varlib_interpolate_layout_GPOS_only_LookupType_8_same_val_ttf(self): + """Only GPOS; LookupType 8; same values in all masters. + """ + suffix = '.ttf' + ds_path = self.get_test_input('InterpolateLayout.designspace') + ufo_dir = self.get_test_input('master_ufo') + ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf') + + fea_str = """ + markClass uni0303 @MARKS_ABOVE; + lookup CNTXT_PAIR_POS { + pos A a -23; + } CNTXT_PAIR_POS; + + lookup CNTXT_MARK_TO_BASE { + pos base a mark @MARKS_ABOVE; + } CNTXT_MARK_TO_BASE; + + feature xxxx { + pos A' lookup CNTXT_PAIR_POS a' @MARKS_ABOVE' lookup CNTXT_MARK_TO_BASE; + } xxxx; + """ + features = [fea_str] * 2 + + self.temp_dir() + ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-') + for i, path in enumerate(ttx_paths): + self.compile_font(path, suffix, self.tempdir, features[i]) + + finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix) + instfont = interpolate_layout(ds_path, {'weight': 500}, finder) + + tables = ['GPOS'] + expected_ttx_path = self.get_test_output('InterpolateLayoutGPOS_8_same.ttx') + self.expect_ttx(instfont, expected_ttx_path, tables) + self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + + + def test_varlib_interpolate_layout_GPOS_only_LookupType_8_diff_val_ttf(self): + """Only GPOS; LookupType 8; different values in each master. + """ + suffix = '.ttf' + ds_path = self.get_test_input('InterpolateLayout.designspace') + ufo_dir = self.get_test_input('master_ufo') + ttx_dir = self.get_test_input('master_ttx_interpolatable_ttf') + + fea_str_0 = """ + markClass uni0303 @MARKS_ABOVE; + lookup CNTXT_PAIR_POS { + pos A a -23; + } CNTXT_PAIR_POS; + + lookup CNTXT_MARK_TO_BASE { + pos base a mark @MARKS_ABOVE; + } CNTXT_MARK_TO_BASE; + + feature xxxx { + pos A' lookup CNTXT_PAIR_POS a' @MARKS_ABOVE' lookup CNTXT_MARK_TO_BASE; + } xxxx; + """ + fea_str_1 = """ + markClass uni0303 @MARKS_ABOVE; + lookup CNTXT_PAIR_POS { + pos A a 57; + } CNTXT_PAIR_POS; + + lookup CNTXT_MARK_TO_BASE { + pos base a mark @MARKS_ABOVE; + } CNTXT_MARK_TO_BASE; + + feature xxxx { + pos A' lookup CNTXT_PAIR_POS a' @MARKS_ABOVE' lookup CNTXT_MARK_TO_BASE; + } xxxx; + """ + features = [fea_str_0, fea_str_1] + + self.temp_dir() + ttx_paths = self.get_file_list(ttx_dir, '.ttx', 'TestFamily2-') + for i, path in enumerate(ttx_paths): + self.compile_font(path, suffix, self.tempdir, features[i]) + + finder = lambda s: s.replace(ufo_dir, self.tempdir).replace('.ufo', suffix) + instfont = interpolate_layout(ds_path, {'weight': 500}, finder) + + tables = ['GPOS'] + expected_ttx_path = self.get_test_output('InterpolateLayoutGPOS_8_diff.ttx') + self.expect_ttx(instfont, expected_ttx_path, tables) + self.check_ttx_dump(instfont, expected_ttx_path, tables, suffix) + + def test_varlib_interpolate_layout_main_ttf(self): """Mostly for testing varLib.interpolate_layout.main() """