Ejemplo n.º 1
0
    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')