Partager via


Largeurs de caractères

Les applications doivent récupérer des données de largeur de caractères lorsqu’elles effectuent des tâches telles que l’ajustement de chaînes de texte à des largeurs de page ou de colonne. Il existe quatre fonctions qu’une application peut utiliser pour récupérer des données de largeur de caractères. Deux de ces fonctions récupèrent la largeur d’avance des caractères et deux de ces fonctions récupèrent les données réelles de largeur de caractères.

Une application peut utiliser les fonctions GetCharWidth32 et Fonctions GetCharWidthFloat pour récupérer la largeur avancée des caractères ou des symboles individuels dans une chaîne de texte. La largeur avancée est la distance que le curseur sur un affichage vidéo ou la tête d’impression d’une imprimante doit avancer avant d’imprimer le caractère suivant dans une chaîne de texte. La fonction GetCharWidth32 retourne la largeur avancée sous forme de valeur entière. Si une plus grande précision est requise, une application peut utiliser la fonction GetCharWidthFloat pour récupérer des valeurs de largeur avancée fractionnaire.

Une application peut récupérer des données réelles de largeur de caractères à l’aide des fonctions GetCharABCWidths et GetCharABCWidthsFloat. La fonction GetCharABCWidthsFloat fonctionne avec toutes les polices. La fonction GetCharABCWidths fonctionne uniquement avec les polices TrueType et OpenType. Pour plus d’informations sur les polices TrueType et OpenType, consultez Polices Raster, Vector, TrueType et OpenType.

L’illustration suivante montre les trois composants d’une largeur de caractère :

illustration montrant l’espacement, l’espacement b et l’espacement c de deux caractères adjacents

L’espacement A est la largeur à ajouter à la position actuelle avant de placer le caractère. L’espacement B est la largeur du caractère lui-même. L’espacement C est l’espacement blanc à droite du caractère. La largeur d’avance totale est déterminée en calculant la somme de A+B+C. La cellule de caractère est un rectangle imaginaire qui entoure chaque caractère ou symbole dans une police. Étant donné que les caractères peuvent surplomber ou sous-hanger la cellule de caractère, les incréments A et C peuvent être un nombre négatif.