2010-07-19 4 views
1

Y at-il un endroit où je peux obtenir une liste de toutes les polices qui sont garanties d'être présentes sur n'importe quel système avec GTK? J'ai besoin d'un moyen de définir une police par défaut saine pour certaines parcelles, et bien sûr la police par défaut saine doit être présente.Sane polices par défaut?

Editer: Si aucune police spécifique n'est garantie d'être présent, y a-t-il un moyen facile d'obtenir simplement certains sane default scalable sans-serif font? Je me fiche des détails. Éditer # 2: Si rien ne peut être garanti sur GTK, quelqu'un peut-il me donner de bonnes polices sans-serif évolutives spécifiques à la plate-forme qui sont garanties pour être présentes sur toute installation raisonnable de Windows et * nix/X11?

Répondre

2

Les polices par défaut que vous devez utiliser dans GTK + sont "Sans", "Monospace" et "Serif". Je ne crois pas que des polices spécifiques soient garanties.

+0

Ces polices sont-elles évolutives? Puis-je supposer que toute taille dont j'ai besoin est présente? En outre, sont-ils sensibles à la casse? – dsimcha

+0

Je pense qu'il est raisonnable de supposer que Sans, Monospace et Serif sont évolutifs et ont des majuscules et des minuscules. Ils seront juste les polices par défaut pour une plate-forme donnée. Ce sont les polices par défaut correctes à utiliser dans votre application. Si elles sont cassées, le correctif serait à la plate-forme, pas à l'application. –

4

Aucune police n'est garantie sur aucun système avec GTK, car GTK est une boîte à outils multiplateforme et n'installe aucune de ses propres polices.

Selon la façon dont vous affichez vos tracés (Cairo?), Tout texte devrait déjà être dessiné dans une police par défaut. EDIT: Il semble que vous utilisiez gdk_draw_layout() pour dessiner votre texte. Cela prend un argument PangoLayout. Si vous obtenez ce PangoLayout en utilisant gtk_widget_create_pango_layout(), alors il devrait déjà avoir un jeu de polices par défaut sain. Vous pouvez même savoir quelle police est, en obtenant le PangoContext en utilisant pango_layout_get_context(), puis en appelant le pango_context_get_font_description() sur cela. Si vous utilisez également GNOME, vous pouvez vérifier la valeur des clés , /desktop/gnome/interface/monospace-font-name et /desktop/gnome/interface/document-font-name avec GConf.

+0

J'utilise une API drawable de DrawingArea et de gdk pour le moment. – dsimcha

+0

Voir la mise à jour de la réponse. – ptomato