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 avancée des caractères et deux de ces fonctions récupèrent les données de largeur de caractères réelles.

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

Une application peut récupérer des données de largeur de caractères réelles à 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 a, 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’espace 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 d’une police. Étant donné que les caractères peuvent surplomber ou en dessous de la cellule de caractère, les incréments A et C peuvent être un nombre négatif, ou les deux.