Ich schreibe eine App, für die der Client eine benutzerdefinierte Schriftart bereitgestellt hat. Die Schriftart kommt als vier separate otf
Dateien, eine für normal, fett, kursiv und fett-kursiv. Wenn ich nur eine dieser vier Schriftarten in meiner Klasse verwenden möchten, schaffe ich das FontLoader
wie so:Wie haben Sie mehrere FontLoader-Objekte in einer Klasse?
FontLoader { id: clientFontRegular; source: "qrc:/client/fonts/Font-Regular.otf" }
und dann kann ich es wie so für jede Kontrolle auf meiner Seite verwenden:
font.family: clientFontRegular.name
Mein Problem ist, dass ich mehrere Steuerelemente auf meiner Seite habe, und ich regelmäßig für einige, fett für einige, kursiv für einige andere usw. verwenden möchte. Dazu habe ich FontLoader
Objekte für die anderen Schriftarten hinzugefügt, so :
FontLoader { id: clientFontBold; source: "qrc:/client/fonts/Font-Bold.otf" }
FontLoader { id: clientFontItalic; source: "qrc:/client/fonts/Font-Italic.otf" }
FontLoader { id: clientFontBoldItalic; source: "qrc:/client/fonts/Font-BoldItalic.otf" }
Aber das funktioniert nicht richtig. Alle vier IDs (clientFontRegular, clientFontBold, clientFontItalic und clientFontBoldItalic) können überall auf der Seite verwendet werden (d. H. Ohne Absturz oder Ende mit der Systemschriftart), aber die verwendete Schriftart ist unabhängig von der fettgedruckten Schriftart.
Ich weiß, dass alle vier meiner otf
Dateien gültig sind, denn wenn ich alle außer dem FontLoader für eine Datei auskommentiere und nur diesen benutze, wird die benutzerdefinierte Schriftart korrekt gerendert. Es scheint nur ein Problem mit dem Versuch zu sein, mehrere FontLoader in einer Klasse zu definieren (keines der FontLoader-Beispiele, die ich online gesehen habe, verwendet mehr als eine einzige benutzerdefinierte Schriftart).
Weiß jemand, wie man das macht?
Gewöhnen Sie sich an die Bereitstellung von minimalen in sich geschlossenen funktionalen Beispielcode, der das Problem veranschaulicht. Wie können wir sonst wissen, was schief läuft? – dtech