Exemple #1
0
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
Exemple #2
0
 def test_guessFileType_invalid_path(self):
     font_path = 'invalid_font_path'
     self.assertIsNone(ttx.guessFileType(font_path))
Exemple #3
0
 def test_guessFileType_ttx_no_xml(self):
     file_name = 'TestNoXML.ttx'
     font_path = self.getpath(file_name)
     self.assertIsNone(ttx.guessFileType(font_path))
Exemple #4
0
 def test_guessFileType_ttx_no_sfntVersion(self):
     file_name = 'TestNoSFNT.ttx'
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), 'TTX')
Exemple #5
0
 def test_guessFileType_woff(self):
     file_name = 'TestWOFF.woff'
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), 'WOFF')
Exemple #6
0
 def test_guessFileType_ttx_no_xml(self):
     file_name = "TestNoXML.ttx"
     font_path = self.getpath(file_name)
     self.assertIsNone(ttx.guessFileType(font_path))
Exemple #7
0
 def test_guessFileType_ttx_bom(self):
     file_name = "TestBOM.ttx"
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), "TTX")
Exemple #8
0
 def test_guessFileType_dfont(self):
     file_name = "TestDFONT.dfont"
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), "TTF")
Exemple #9
0
 def test_guessFileType_woff2(self):
     file_name = 'TestWOFF2.woff2'
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), 'WOFF2')
Exemple #10
0
 def test_guessFileType_ttx_ttf(self):
     file_name = "TestTTF.ttx"
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), "TTX")
Exemple #11
0
 def test_guessFileType_woff(self):
     file_name = "TestWOFF.woff"
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), "WOFF")
Exemple #12
0
 def test_guessFileType_otf(self):
     file_name = "TestOTF.otf"
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), "OTF")
Exemple #13
0
 def test_guessFileType_ttx_ttf(self):
     file_name = 'TestTTF.ttx'
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), 'TTX')
Exemple #14
0
 def test_guessFileType_woff2(self):
     file_name = "TestWOFF2.woff2"
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), "WOFF2")
Exemple #15
0
 def test_guessFileType_ttc(self):
     file_name = 'TestTTC.ttc'
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), 'TTC')
Exemple #16
0
 def test_guessFileType_ttc(self):
     file_name = "TestTTC.ttc"
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), "TTC")
Exemple #17
0
 def test_guessFileType_dfont(self):
     file_name = 'TestDFONT.dfont'
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), 'TTF')
Exemple #18
0
 def test_guessFileType_ttx_otf(self):
     file_name = "TestOTF.ttx"
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), "OTX")
Exemple #19
0
 def test_guessFileType_ttx_otf(self):
     file_name = 'TestOTF.ttx'
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), 'OTX')
Exemple #20
0
 def test_guessFileType_ttx_no_sfntVersion(self):
     file_name = "TestNoSFNT.ttx"
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), "TTX")
Exemple #21
0
 def test_guessFileType_ttx_bom(self):
     file_name = 'TestBOM.ttx'
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), 'TTX')
Exemple #22
0
 def test_guessFileType_invalid_path(self):
     font_path = "invalid_font_path"
     self.assertIsNone(ttx.guessFileType(font_path))
Exemple #23
0
 def test_guessFileType_otf(self):
     file_name = 'TestOTF.otf'
     font_path = self.getpath(file_name)
     self.assertEqual(ttx.guessFileType(font_path), 'OTF')