Seite 1 von 1

Installierte TrueTypes unter Qt nicht verfügbar (Linux)

Verfasst: 5. Dezember 2007 15:46
von Tilman Räger
Hallo,

Ich habe auf meiner Linux-Maschine (Kubuntu 6.06) den TrueType-Font Liberation installiert. Dieser ist auch unter nahezu allen Anwendungen verfügbar - einzige Ausnahme: Qt-Applikationen (Qt Designer, qtconfig, ...), natürlich auch die eigenen Qt-Anwendungen.

Die Font-Dateien liegen im Verzeichnis
/usr/local/share/fonts/truetype/ttf-liberation

Versuche mit mkfontdir bzw. ttmkfdir ergaben keinen Erfolg.

Eine Überprüfung mit fc-list ergab, daß der Font sehr wohl installiert ist. Warum er in den Qt-Anwendungen nicht verwendbar ist, ist mir schleierhaft. Seltsam auch, daß dies anscheinend nur unter KDE so ist, unter Ubuntu (Gnome) ist der Font problemlos verwendbar.

Ein Versuch mit Arial ergab übrigens das identische Ergebnis. Es muß also
wohl an der Installation des Fonts unter KDE liegen, daß hier ein für Qt wichtiger Bestandteil fehlt.

Für Tips, wie das Problem zu beheben ist, wäre ich sehr dankbar.

Tilman Räger

Verfasst: 19. März 2008 17:54
von Tilman Räger
Hallo,

Ist das Problem zu weit weg von Qt, noch niemandem entsprechend aufgefallen oder gibt es bisher keine Lösung?

für eine Antwort wäre ich sehr dankbar.

Gruß

Tilman

Re: Installierte TrueTypes unter Qt nicht verfügbar (Linux)

Verfasst: 20. März 2008 09:18
von patrik08
Tilman Räger hat geschrieben:Hallo,

Ich habe auf meiner Linux-Maschine (Kubuntu 6.06) den TrueType-Font Liberation installiert. Dieser ist auch unter nahezu allen Anwendungen verfügbar - einzige Ausnahme: Qt-Applikationen (Qt Designer, qtconfig, ...), natürlich auch die eigenen Qt-Anwendungen.

Die Font-Dateien liegen im Verzeichnis
/usr/local/share/fonts/truetype/ttf-liberation

Versuche mit mkfontdir bzw. ttmkfdir ergaben keinen Erfolg.
Tilman Räger
Ich denke das es mit font typen was zu tun hat ...


http://doc.trolltech.com/4.3/qfontdatabase.html

probiere doch ....

QFontDatabase dbfont;
dbfont.addApplicationFont ( const QString & fileName );
////
addApplicationFontFromData ( const QByteArray & fontData )

dann darstellen was alles drinnen ist ..

QFontComboBox *fontiBox = new QFontComboBox();
fontiBox->setFontFilters ( QFontComboBox::AllFonts );

Mich hingegen interessiert die font rauszunehmen um
QTextDocument in QDataStream zu schreiben ....
hinzufuegen ist sicher kein problem aber sie rausholen?

Verfasst: 26. März 2008 11:40
von Tilman Räger
Hallo,

Dummerweise gibt es bei Qt 4.1.4 - mit dieser Version bin ich (leider?) gezwungen zu arbeiten - die Funktion addApplicationFont anscheinend noch nicht. Das hilft also wohl nicht!

Eine weitere Merkwürdigkeit ist mir übrigens nun aufgefallen, als ich mal das Font-Verzeichnis aufgeräumt habe und so diverse außereuropäische Fonts gelöscht habe. Während diese aus dem normalen KDE-Anwendungen verschwunden sind - wie zu erwarten - sind sie in den Qt-Anwendungen nach wie vor verfügbar. Wo holt sich Qt diese Informationen her?

Gruß

Tilman (Räger)

Verfasst: 27. März 2008 13:36
von Tilman Räger
Hallo,

Das Problem hat sich nun verlagert.

Nach vielem Suchen und Experimentieren mit Defoma (Debian Font Manager) etc, sowie der Deinstallation einiger Schriften mittels adept tauchten die Schriften auf einmal im Qt-Designer sowie den Qt-Anwendungen, nach einigen Klimmzügen auch in der mich interessierenden Anwendung auf. Warum und welcher Schritt nun dafür letzten Endes verantwortlich war - keine Ahnung! Aber es funktioniert erst einmal.

Das neue Problem:
Während der Font in den "normalen" Anwendungen hervorragend dargestellt wird, ist er in den Qt-Anwendungen kaum lesbar, also extrem unsauber dargestellt (keine Hints, kein Antialiasing etc.) Kennt jemand eine Lösung hierfür?

Tilman (Räger)