Bonjour,
Je souhaiterai utiliser une police perso truetype (ttf) dans une application Qt X11.
D'après la doc, Qt recherche les polices installées sur X11, donc pour ajouter une police, il faut l'installer sur X11 (moyennant fontconfig). C'est chose faite : ma police ttf est copiée dans le répertoire /usr/share/fonts/truetype/mafont/mafont.ttf, le cache est mis à jour via fc-cache (j'ai même rebooté X11 pour être sûr). L'installation semble fonctionner puisque Gimp trouve cette police.
Seulement, dans mon application Qt X11, elle est inaccessible. J'ai tenté ceci pour lister les fonts détectées :
J'obtiens une liste, et ma nouvelle police n'y est pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QFontDatabase database; foreach(QString fontname, database.families()) qDebug() << fontname;
Je tiens néanmoins à signaler que cette police a déjà été utilisée dans une application Qt for Embedded Linux, ce n'est donc pas un soucis de police non compatible.
Dans la version Qt for Embedded Linux, l'utilisation de polices perso se fait différemment : il faut les enregistrer dans l'application avec QFontDatabase::addApplicationFont(QString chemin);, elles sont ensuite accessibles normalement via QFont. Et bien sûr, dans Qt X11, cette fonction ne marche pas (elle renvoie toujours -1).
Avez-vous une idée?
Partager