From 71dbe2daead440996c8867e06cfb4f4dc51d7b83 Mon Sep 17 00:00:00 2001 From: Cosimo Lupo Date: Tue, 15 Jan 2019 11:31:16 +0000 Subject: [PATCH] subset_test: add test for --retain-gids option --- Tests/subset/subset_test.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Tests/subset/subset_test.py b/Tests/subset/subset_test.py index 76d89c22f..030caa136 100644 --- a/Tests/subset/subset_test.py +++ b/Tests/subset/subset_test.py @@ -475,6 +475,38 @@ class SubsetTest(unittest.TestCase): subset.main([fontpath, "--recalc-timestamp", "--output-file=%s" % subsetpath, "*"]) self.assertLess(modified, TTFont(subsetpath)['head'].modified) + def test_retain_gids(self): + _, fontpath = self.compile_font(self.getpath("TestTTF-Regular.ttx"), ".ttf") + font = TTFont(fontpath) + + self.assertEqual(font["hmtx"]["A"], (500, 132)) + self.assertEqual(font["hmtx"]["B"], (400, 132)) + + self.assertGreater(font["glyf"]["A"].numberOfContours, 0) + self.assertGreater(font["glyf"]["B"].numberOfContours, 0) + + subsetpath = self.temp_path(".ttf") + subset.main( + [ + fontpath, + "--retain-gids", + "--output-file=%s" % subsetpath, + "--glyph-names", + "A", + ] + ) + subsetfont = TTFont(subsetpath) + + self.assertEqual(subsetfont.getGlyphOrder(), font.getGlyphOrder()) + + hmtx = subsetfont["hmtx"] + self.assertEqual(hmtx["A"], (500, 132)) + self.assertEqual(hmtx["B"], (0, 0)) + + glyf = subsetfont["glyf"] + self.assertGreater(glyf["A"].numberOfContours, 0) + self.assertEqual(glyf["B"].numberOfContours, 0) + if __name__ == "__main__": sys.exit(unittest.main())