def test_replacements(self): manager = QgsApplication.fontManager() format = QgsTextFormat() font = QFont('original family') format.setFont(font) self.assertEqual(format.font().family(), 'original family') doc = QDomDocument() context = QgsReadWriteContext() elem = format.writeXml(doc, context) parent = doc.createElement("settings") parent.appendChild(elem) t2 = QgsTextFormat() t2.readXml(parent, context) self.assertFalse(t2.fontFound()) self.assertEqual(context.takeMessages()[0].message(), 'Font “original family” not available on system') # with a font replacement in place test_font = getTestFont() manager.addFontFamilyReplacement('original Family', test_font.family()) t3 = QgsTextFormat() t3.readXml(parent, context) self.assertTrue(t3.fontFound()) self.assertEqual(t3.font().family(), 'QGIS Vera Sans')