Qu'est-ce que cela signifie quand mon texte est affiché sous forme de boîtes?

StackOverflow https://stackoverflow.com/questions/217228

  •  03-07-2019
  •  | 
  •  

Question

J'essaie d'afficher du texte dans mon programme en utilisant (par exemple) Windows GDI et certains des caractères Unicode sont affichés sous forme de boîtes? Qu'est-ce qui se passe?

Voir aussi: Que fait-on? cela signifie-t-il que mon texte est affiché sous forme de points d'interrogation?

Était-ce utile?

La solution

Cela signifie généralement que le caractère unicode spécifié n'est pas disponible dans cette police particulière. Essayez de remplacer les polices par des polices multinationales, cela devrait disparaître.

Autres conseils

(image du t-shirt à partir de http://www.cafepress.com/nucleartacos.163046834)

L’image ci-dessus représente un mode de défaillance courant des systèmes d’affichage de texte qui ne prennent pas en compte la gamme complète de caractères Unicode. Sur les plates-formes Windows, les caractères qui ne peuvent pas être représentés à l’aide des polices disponibles sont représentés par un rectangle ouvert.

Sous Windows, deux problèmes d'affichage courants se produisent lors de la tentative d'affichage de caractères Unicode:

  1. le texte apparaît parfois sous forme de points d'interrogation

    • Cela se produit lorsque les données Unicode sont converties en un codage de jeu de caractères de 8 bits (ou en des caractères techniques sur plusieurs octets) généralement via la page de codes du système (mais d'autres pages de codes peuvent être spécifiées dans les appels de conversion). Si le jeu de caractères cible de 8 bits n'inclut pas les caractères nécessaires, tous les caractères non représentables du jeu de caractères cible sont convertis en points d'interrogation.
  2. le texte apparaît parfois sous forme de cases

    • Ceci est un problème avec la police n'ayant pas le glpyh pour un caractère particulier. Des zones s'affichent en cas d'incompatibilité entre les caractères Unicode du document et ceux pris en charge par la police. Plus précisément, les zones représentent des caractères non pris en charge par la police sélectionnée.

Le problème, c’est que le texte que vous essayez d’afficher contient des caractères qui ne sont pas pris en charge par la police que vous utilisez. Le caractère de boîte est le caractère de substitution par défaut du texte Unicode qui ne contient pas de glyphe dans la police.

Sous Windows, si vous essayez d’afficher du texte dans différentes langues, utilisez une police telle que Arial Unicode MS. Elle comprend des glyphes pour une vaste gamme de langues. C'est un "plus petit dénominateur commun". police - les glyphes seront généralement présents, mais il manque généralement de caractère et certains glyphes auront l’air un peu bizarre les uns à côté des autres.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top