STRUCTURE OUTLINETEXTMETRICA (wingdi.h)
La structure OUTLINETEXTMETRIC contient des métriques décrivant une police TrueType.
Syntaxe
typedef struct _OUTLINETEXTMETRICA {
UINT otmSize;
TEXTMETRICA otmTextMetrics;
BYTE otmFiller;
PANOSE otmPanoseNumber;
UINT otmfsSelection;
UINT otmfsType;
int otmsCharSlopeRise;
int otmsCharSlopeRun;
int otmItalicAngle;
UINT otmEMSquare;
int otmAscent;
int otmDescent;
UINT otmLineGap;
UINT otmsCapEmHeight;
UINT otmsXHeight;
RECT otmrcFontBox;
int otmMacAscent;
int otmMacDescent;
UINT otmMacLineGap;
UINT otmusMinimumPPEM;
POINT otmptSubscriptSize;
POINT otmptSubscriptOffset;
POINT otmptSuperscriptSize;
POINT otmptSuperscriptOffset;
UINT otmsStrikeoutSize;
int otmsStrikeoutPosition;
int otmsUnderscoreSize;
int otmsUnderscorePosition;
PSTR otmpFamilyName;
PSTR otmpFaceName;
PSTR otmpStyleName;
PSTR otmpFullName;
} OUTLINETEXTMETRICA, *POUTLINETEXTMETRICA, *NPOUTLINETEXTMETRICA, *LPOUTLINETEXTMETRICA;
Membres
otmSize
Taille, en octets, de la structure OUTLINETEXTMETRIC
otmTextMetrics
Structure TEXTMETRIC contenant des informations supplémentaires sur la police.
otmFiller
Valeur qui provoque l’alignement de la structure en octets.
otmPanoseNumber
Numéro PANOSE de cette police.
otmfsSelection
Nature du modèle de police. Ce membre peut être une combinaison des bits suivants.
Mors | Signification |
---|---|
0 | Italique |
1 | Souligner |
2 | Négatif |
3 | Contour |
4 | Grève |
5 | Audacieux |
otmfsType
Indique si la police est concédée sous licence. Les polices sous licence ne doivent pas être modifiées ni échangées. Si le bit 1 est défini, la police peut ne pas être incorporée dans un document. Si le bit 1 est clair, la police peut être incorporée. Si le bit 2 est défini, l’incorporation est en lecture seule.
otmsCharSlopeRise
Pente du curseur. Cette valeur est 1 si la pente est verticale. Les applications peuvent utiliser cette valeur et la valeur du membre otmsCharSlopeRun pour créer un curseur italique ayant la même pente que l’angle italique principal (spécifié par le membre otmItalicAngle).
otmsCharSlopeRun
Pente du curseur. Cette valeur est égale à zéro si la pente est verticale. Les applications peuvent utiliser cette valeur et la valeur du membre otmsCharSlopeRise pour créer un curseur italique ayant la même pente que l’angle italique principal (spécifié par le membre otmItalicAngle).
otmItalicAngle
Angle italique principal de la police, en dixièmes d’un degré de contre-verrouillage vertical. Les polices régulières (roman) ont la valeur zéro. Les polices italiques ont généralement un angle italique négatif (autrement dit, ils se penchent à droite).
otmEMSquare
Nombre d’unités logiques définissant la dimension x ou y du carré em pour cette police. (Le nombre d’unités dans les directions x et y est toujours identique pour un carré em.)
otmAscent
Les caractères de distance maximale de cette police s’étendent au-dessus de la ligne de base. Il s’agit de l’ascension typographique pour la police.
otmDescent
Les caractères de distance maximale de cette police s’étendent sous la ligne de base. Il s’agit de la descente typographique de la police.
otmLineGap
Interligne typographique.
otmsCapEmHeight
Non pris en charge.
otmsXHeight
Non pris en charge.
otmrcFontBox
Zone englobante de la police.
otmMacAscent
Les caractères de distance maximale de cette police s’étendent au-dessus de la ligne de base de l’ordinateur Macintosh.
otmMacDescent
Les caractères de distance maximale de cette police s’étendent sous la ligne de base de l’ordinateur Macintosh.
otmMacLineGap
Informations d’espacement de ligne pour l’ordinateur Macintosh.
otmusMinimumPPEM
Taille recommandée la plus petite pour cette police, en pixels par carré.
otmptSubscriptSize
Taille horizontale et verticale recommandée pour les indices dans cette police.
otmptSubscriptOffset
Décalage horizontal et vertical recommandé pour les indices de cette police. Le décalage d’indice est mesuré de l’origine du caractère à l’origine du caractère d’indice.
otmptSuperscriptSize
Taille horizontale et verticale recommandée pour les exposants dans cette police.
otmptSuperscriptOffset
Décalage horizontal et vertical recommandé pour les exposants dans cette police. Le décalage en exposant est mesuré de la ligne de base de caractères à la ligne de base du caractère exposant.
otmsStrikeoutSize
Largeur du trait de frappe pour cette police. En règle générale, il s’agit de la largeur du tiret em pour la police.
otmsStrikeoutPosition
Position du trait de grève par rapport à la ligne de base de cette police. Les valeurs positives sont au-dessus de la ligne de base et les valeurs négatives sont ci-dessous.
otmsUnderscoreSize
Épaisseur du caractère de soulignement de cette police.
otmsUnderscorePosition
Position du caractère de soulignement de cette police.
otmpFamilyName
Décalage entre le début de la structure et une chaîne spécifiant le nom de famille de la police.
otmpFaceName
Décalage entre le début de la structure et une chaîne spécifiant le nom de police de la police. (Ce nom de police correspond au nom spécifié dans la structure LOGFONT
otmpStyleName
Décalage entre le début de la structure et une chaîne spécifiant le nom de style de la police.
otmpFullName
Décalage entre le début de la structure et une chaîne spécifiant le nom complet de la police. Ce nom est unique pour la police et contient souvent un numéro de version ou d’autres informations d’identification.
Remarques
Les tailles retournées dans OUTLINETEXTMETRIC sont spécifiées en unités logiques ; autrement dit, elles dépendent du mode de mappage actuel du contexte d’affichage spécifié.
Notez que OUTLINETEXTMETRIC est défini à l’aide du paramètre pack actuel. Pour éviter les problèmes, assurez-vous que l’application est générée à l’aide de l’empaquetage par défaut de la plateforme. Par exemple, Windows 32 bits utilise un emballage de 8 octets par défaut. Pour plus d’informations, consultez problèmes de compression du compilateur C.
Note
L’en-tête wingdi.h définit OUTLINETEXTMETRIC comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
serveur minimum pris en charge | Windows 2000 Server [applications de bureau uniquement] |
d’en-tête | wingdi.h (include Windows.h) |
Voir aussi
structures de police et de texte