Share via


Utilisation de métriques TrueType portables

Les applications qui utilisent les métriques de texte TrueType peuvent atteindre un degré élevé de portabilité d’imprimante et de document ; ils peuvent utiliser des métriques TrueType même s’ils doivent maintenir la compatibilité avec les premières versions 16 bits de Windows.

Les largeurs de conception surmontent la plupart des problèmes de texte dépendant des appareils introduits par les appareils physiques. Les largeurs de conception sont une sorte de largeur logique. Indépendamment des problèmes de rastérisation ou des transformations de mise à l’échelle, chaque glyphe a une largeur et une hauteur logiques. Composé d’une page logique, chaque caractère d’une chaîne a un emplacement indépendant des largeurs physiques de l’appareil. Bien qu’une largeur logique implique que les largeurs peuvent être mises à l’échelle de manière linéaire à toutes les tailles de point, cela n’est pas nécessairement vrai pour les polices non portables ou la plupart des polices TrueType. À des points plus petits, certains glyphes sont rendus plus larges par rapport à leur hauteur pour une meilleure lisibilité.

Les caractères des polices principales TrueType sont conçus sur une grille 2048-2048. La largeur de conception est la largeur d’un caractère dans ces unités de grille. (TrueType prend en charge n’importe quelle taille de grille entière allant jusqu’à 16 384 par 16 384 ; les tailles de grille qui sont des puissances entières de 2 échelles plus rapides que les autres tailles de grille.)

Le plan de police est conçu en unités théoriques. Le carré em est la grille notionnelle sur laquelle le contour de police est ajusté. (Vous pouvez utiliser le membre otmEMSquare de OUTLINETEXTMETRIC et le membre ntmSizeEM de NEWTEXTMETRIC pour récupérer la taille du carré em en unités théoriques.) Lorsqu’une police est créée avec une taille de point (en unités d’appareil) égale à la taille de son carré em, les largeurs ABC pour cette police sont les largeurs de conception souhaitées. Par exemple, supposons que la taille d’un carré em est de 1000 et que les largeurs ABC d’un caractère dans la police sont 150, 400 et 150. Un caractère de cette police de 10 unités d’appareil aurait des largeurs ABC de 1,5, 4 et 1,5, respectivement. Étant donné que le mode de mappage MM_TEXT est le plus couramment utilisé avec les polices (et MM_TEXT équivaut aux unités d’appareil), il s’agit d’un calcul simple.

En raison de la haute résolution des largeurs de conception TrueType, les applications qui les utilisent doivent prendre en compte les grandes valeurs numériques qui peuvent être créées. Pour plus d'informations, voir les rubriques suivantes :