def compareToUFO(self, doInfo=True, doKerning=True, doGroups=True, doLib=True, doFeatures=True):
		reader = UFOReader(self.ufoPath)
		results = {}
		if doInfo:
			infoMatches = True
			info = self.font.info
			for attr, expectedValue in expectedFontInfo1To2Conversion.items():
				writtenValue = getattr(info, attr)
				if expectedValue != writtenValue:
					infoMatches = False
					break
			results["info"]= infoMatches
		if doKerning:
			kerning = self.font.kerning.asDict()
			expectedKerning = reader.readKerning()
			results["kerning"] = expectedKerning == kerning
		if doGroups:
			groups = dict(self.font.groups)
			expectedGroups = reader.readGroups()
			results["groups"] = expectedGroups == groups
		if doFeatures:
			features = self.font.features.text
			expectedFeatures = expectedFormatVersion1Features
			# FontLab likes to add lines to the features, so skip blank lines.
			features = [line for line in features.splitlines() if line]
			expectedFeatures = [line for line in expectedFeatures.splitlines() if line]
			results["features"] = expectedFeatures == features
		if doLib:
			lib = dict(self.font.lib)
			expectedLib = reader.readLib()
			for key in removeFromFormatVersion1Lib:
				if key in expectedLib:
					del expectedLib[key]
			results["lib"] = expectedLib == lib
		return results
	def testInfo(self):
		self.setUpFont()
		info = self.font.info
		for attr, expectedValue in expectedFontInfo1To2Conversion.items():
			writtenValue = getattr(info, attr)
			self.assertEqual((attr, expectedValue), (attr, writtenValue))
		self.tearDownFont()
	def testInfo(self):
		self.setUpFont(doInfo=True)
		otherResults = self.compareToUFO(doInfo=False)
		self.assertEqual(otherResults["kerning"], False)
		self.assertEqual(otherResults["groups"], False)
		self.assertEqual(otherResults["features"], False)
		self.assertEqual(otherResults["lib"], False)
		info = self.font.info
		for attr, expectedValue in expectedFontInfo1To2Conversion.items():
			writtenValue = getattr(info, attr)
			self.assertEqual((attr, expectedValue), (attr, writtenValue))
		self.tearDownFont()
Exemple #4
0
 def testInfo(self):
     self.setUpFont(doInfo=True)
     otherResults = self.compareToUFO(doInfo=False)
     self.assertEqual(otherResults["kerning"], False)
     self.assertEqual(otherResults["groups"], False)
     self.assertEqual(otherResults["features"], False)
     self.assertEqual(otherResults["lib"], False)
     info = self.font.info
     for attr, expectedValue in expectedFontInfo1To2Conversion.items():
         writtenValue = getattr(info, attr)
         self.assertEqual((attr, expectedValue), (attr, writtenValue))
     self.tearDownFont()
Exemple #5
0
 def compareToUFO(self,
                  doInfo=True,
                  doKerning=True,
                  doGroups=True,
                  doLib=True,
                  doFeatures=True):
     reader = UFOReader(self.ufoPath)
     results = {}
     if doInfo:
         infoMatches = True
         info = self.font.info
         for attr, expectedValue in expectedFontInfo1To2Conversion.items():
             writtenValue = getattr(info, attr)
             if expectedValue != writtenValue:
                 infoMatches = False
                 break
         results["info"] = infoMatches
     if doKerning:
         kerning = self.font.kerning.asDict()
         expectedKerning = reader.readKerning()
         results["kerning"] = expectedKerning == kerning
     if doGroups:
         groups = dict(self.font.groups)
         expectedGroups = reader.readGroups()
         results["groups"] = expectedGroups == groups
     if doFeatures:
         features = self.font.features.text
         expectedFeatures = expectedFormatVersion1Features
         # FontLab likes to add lines to the features, so skip blank lines.
         features = [line for line in features.splitlines() if line]
         expectedFeatures = [
             line for line in expectedFeatures.splitlines() if line
         ]
         results["features"] = expectedFeatures == features
     if doLib:
         lib = dict(self.font.lib)
         expectedLib = reader.readLib()
         for key in removeFromFormatVersion1Lib:
             if key in expectedLib:
                 del expectedLib[key]
         results["lib"] = expectedLib == lib
     return results
	def compareToUFO(self, doInfo=True):
		reader = UFOReader(ufoPath1)
		results = {}
		# info
		infoMatches = True
		info = self.font.info
		for attr, expectedValue in expectedFontInfo1To2Conversion.items():
			writtenValue = getattr(info, attr)
			if expectedValue != writtenValue:
				infoMatches = False
				break
		results["info"]= infoMatches
		# kerning
		kerning = self.font.kerning.asDict()
		expectedKerning = reader.readKerning()
		results["kerning"] = expectedKerning == kerning
		# groups
		groups = dict(self.font.groups)
		expectedGroups = reader.readGroups()
		results["groups"] = expectedGroups == groups
		# features
		features = self.font.features.text
		f = open(os.path.join(ufoPath2, "features.fea"), "r")
		expectedFeatures = f.read()
		f.close()
		match = True
		features = [line for line in features.splitlines() if line]
		expectedFeatures = [line for line in expectedFeatures.splitlines() if line]
		if expectedFeatures != features or reader.readFeatures() != "":
			match = False
		results["features"] = match
		# lib
		lib = dict(self.font.lib)
		expectedLib = reader.readLib()
		for key in removeFromFormatVersion1Lib:
			if key in expectedLib:
				del expectedLib[key]
		results["lib"] = expectedLib == lib
		return results