2 votes

Vérifier si le glyphe est rendu "correctement".

Je suis en train d'écrire une application tcl/tk, dans laquelle j'aimerais utiliser des icônes de type font-awesome.

En principe, cela fonctionne bien : il suffit d'afficher une chaîne/étiquette avec le caractère unicode correct, et si les polices appropriées sont installées, elle sera rendue)

Maintenant, sur ma machine de développement, j'ai installé font-awesome comme une machine ordinaire. Je ne peux pas m'attendre à cela sur les machines de déploiement.

J'aimerais donc savoir si le système peut rendre un caractère donné, ou s'il utilise simplement un glyphe non trouvé placeholder. Dans ce dernier cas, je me contenterais d'une représentation moins agréable...

(Je ne veux pas que mes utilisateurs aient à répondre à une question du type "cette chaîne est-elle correcte ?").

Par exemple, le symbole "" (  ) s'affiche comme l'icône stackoverflow dans mon application. Dans mon navigateur, il est rendu comme une icône glyphe non trouvé .

Existe-t-il un moyen de savoir, par programmation, si l'une des polices système (utilisées) fournit le glyphe d'un caractère donné ?

2voto

Donal Fellows Points 56559

Malheureusement, il n'y en a pas ; c'est une fonctionnalité carrément absente. Le mieux que l'on puisse faire est d'obtenir les informations sur la police d'un caractère (8.6, je crois) ou de mesurer sa largeur, mais cela n'aide pas vraiment :

% font actual TkFixedFont
-family Monaco -size 11 -weight normal -slant roman -underline 0 -overstrike 0
% font actual TkFixedFont \uf16c
-family Monaco -size 11 -weight normal -slant roman -underline 0 -overstrike 0
% font measure TkFixedFont \uf16c
14

(Le caractère est rendu comme le symbole glyphe non trouvé sur ce système avec cette police).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X