def _open_font(path, master_finder): # load TTFont masters from given 'path': this can be either a .TTX or an # OpenType binary font; or if neither of these, try use the 'master_finder' # callable to resolve the path to a valid .TTX or OpenType font binary. from fontTools.ttx import guessFileType master_path = os.path.normpath(path) tp = guessFileType(master_path) if tp is None: # not an OpenType binary/ttx, fall back to the master finder. master_path = master_finder(master_path) tp = guessFileType(master_path) if tp in ("TTX", "OTX"): font = TTFont() font.importXML(master_path) elif tp in ("TTF", "OTF", "WOFF", "WOFF2"): font = TTFont(master_path) else: raise VarLibError("Invalid master path: %r" % master_path) return font
def test_guessFileType_invalid_path(self): font_path = 'invalid_font_path' self.assertIsNone(ttx.guessFileType(font_path))
def test_guessFileType_ttx_no_xml(self): file_name = 'TestNoXML.ttx' font_path = self.getpath(file_name) self.assertIsNone(ttx.guessFileType(font_path))
def test_guessFileType_ttx_no_sfntVersion(self): file_name = 'TestNoSFNT.ttx' font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), 'TTX')
def test_guessFileType_woff(self): file_name = 'TestWOFF.woff' font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), 'WOFF')
def test_guessFileType_ttx_no_xml(self): file_name = "TestNoXML.ttx" font_path = self.getpath(file_name) self.assertIsNone(ttx.guessFileType(font_path))
def test_guessFileType_ttx_bom(self): file_name = "TestBOM.ttx" font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), "TTX")
def test_guessFileType_dfont(self): file_name = "TestDFONT.dfont" font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), "TTF")
def test_guessFileType_woff2(self): file_name = 'TestWOFF2.woff2' font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), 'WOFF2')
def test_guessFileType_ttx_ttf(self): file_name = "TestTTF.ttx" font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), "TTX")
def test_guessFileType_woff(self): file_name = "TestWOFF.woff" font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), "WOFF")
def test_guessFileType_otf(self): file_name = "TestOTF.otf" font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), "OTF")
def test_guessFileType_ttx_ttf(self): file_name = 'TestTTF.ttx' font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), 'TTX')
def test_guessFileType_woff2(self): file_name = "TestWOFF2.woff2" font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), "WOFF2")
def test_guessFileType_ttc(self): file_name = 'TestTTC.ttc' font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), 'TTC')
def test_guessFileType_ttc(self): file_name = "TestTTC.ttc" font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), "TTC")
def test_guessFileType_dfont(self): file_name = 'TestDFONT.dfont' font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), 'TTF')
def test_guessFileType_ttx_otf(self): file_name = "TestOTF.ttx" font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), "OTX")
def test_guessFileType_ttx_otf(self): file_name = 'TestOTF.ttx' font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), 'OTX')
def test_guessFileType_ttx_no_sfntVersion(self): file_name = "TestNoSFNT.ttx" font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), "TTX")
def test_guessFileType_ttx_bom(self): file_name = 'TestBOM.ttx' font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), 'TTX')
def test_guessFileType_invalid_path(self): font_path = "invalid_font_path" self.assertIsNone(ttx.guessFileType(font_path))
def test_guessFileType_otf(self): file_name = 'TestOTF.otf' font_path = self.getpath(file_name) self.assertEqual(ttx.guessFileType(font_path), 'OTF')