STRUCTURE NEWTEXTMETRICW (wingdi.h)
La structure NEWTEXTMETRIC contient des données qui décrivent une police physique.
Syntaxe
typedef struct tagNEWTEXTMETRICW {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
WCHAR tmFirstChar;
WCHAR tmLastChar;
WCHAR tmDefaultChar;
WCHAR tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
DWORD ntmFlags;
UINT ntmSizeEM;
UINT ntmCellHeight;
UINT ntmAvgWidth;
} NEWTEXTMETRICW, *PNEWTEXTMETRICW, *NPNEWTEXTMETRICW, *LPNEWTEXTMETRICW;
Membres
tmHeight
Hauteur (ascension + descente) des caractères.
tmAscent
Ascension (unités au-dessus de la ligne de base) des caractères.
tmDescent
Descente (unités situées en dessous de la ligne de base) des caractères.
tmInternalLeading
Quantité de début (espace) à l’intérieur des limites définies par le membre tmHeight. Des marques d’accentuation et d’autres caractères diacritiques peuvent se produire dans cette zone. Le concepteur peut définir ce membre sur zéro.
tmExternalLeading
Quantité de début supplémentaire (espace) que l’application ajoute entre les lignes. Étant donné que cette zone est en dehors de la police, elle ne contient aucune marque et n’est pas modifiée par les appels de sortie de texte en mode OPAQUE ou TRANSPARENT. Le concepteur peut définir ce membre sur zéro.
tmAveCharWidth
Largeur moyenne des caractères dans la police (généralement définie comme largeur de la lettre x). Cette valeur n’inclut pas le surplomb requis pour les caractères gras ou italiques.
tmMaxCharWidth
Largeur du caractère le plus large dans la police.
tmWeight
Poids de la police.
tmOverhang
Largeur supplémentaire par chaîne qui peut être ajoutée à certaines polices synthétisées. Lors de la synthèse de certains attributs, tels que gras ou italique, l’interface d’appareil graphique (GDI) ou un appareil peut devoir ajouter de la largeur à une chaîne à la fois par caractère et par chaîne. Par exemple, GDI met en gras une chaîne en développant l’espacement de chaque caractère et en surtentant par une valeur de décalage ; italique une police en cliquant sur la chaîne. Dans les deux cas, il existe un surplomb au-delà de la chaîne de base. Pour les chaînes en gras, le surplomb est la distance par laquelle le surstrike est décalé. Pour les chaînes italiques, le surplomb est la quantité située en haut de la police au-delà du bas de la police.
Le membre
tmDigitizedAspectX
Aspect horizontal de l’appareil pour lequel la police a été conçue.
tmDigitizedAspectY
Aspect vertical de l’appareil pour lequel la police a été conçue. Le ratio des membres tmDigitizedAspectX et tmDigitizedAspectY membres est le rapport aspect de l’appareil pour lequel la police a été conçue.
tmFirstChar
Valeur du premier caractère défini dans la police.
tmLastChar
Valeur du dernier caractère défini dans la police.
tmDefaultChar
Valeur du caractère à remplacer par les caractères qui ne figurent pas dans la police.
tmBreakChar
Valeur du caractère à utiliser pour définir des sauts de mots pour la justification de texte.
tmItalic
Police italique si elle n’est pas nulle.
tmUnderlined
Police soulignée si elle n’est pas nulle.
tmStruckOut
Police de grève si elle n’est pas nulle.
tmPitchAndFamily
Emplacement et famille de la police sélectionnée. Le bit de faible ordre (bit 0) spécifie l’emplacement de la police. S’il s’agit de 1, la police est la hauteur variable (ou proportionnelle). S’il s’agit de 0, la police est fixe (ou monospace). Bits 1 et 2 spécifient le type de police. Si les deux bits sont 0, la police est une police raster ; si le bit 1 est 1 et 2 est 0, la police est une police vectorielle ; si le bit 1 est égal à 0 et 2 est défini, ou si les deux bits sont 1, la police est d’un autre type. Bit 3 est 1 si la police est une police d’appareil ; sinon, c’est 0.
Les quatre bits à ordre élevé désignent la famille de polices. Le membre tmPitchAndFamily peut être combiné avec la valeur hexadécimale 0xF0 à l’aide de l’opérateur AND au niveau du bit et peut ensuite être comparé aux noms de famille de polices pour une correspondance identique. Pour plus d’informations sur les familles de polices, consultez LOGFONT .
tmCharSet
Jeu de caractères de la police.
ntmFlags
Spécifie si la police est italique, soulignée, soulignée, en gras, etc. Il peut s’agir d’une combinaison raisonnable des valeurs suivantes.
Mors | Nom | Signification |
---|---|---|
0 | NTM_ITALIC | italique |
5 | NTM_BOLD | audacieux |
8 | NTM_REGULAR | régulier |
16 | NTM_NONNEGATIVE_AC | aucun glyphe d’une police à une taille n’a un espace A ou C négatif. |
17 | NTM_PS_OPENTYPE | Police PostScript OpenType |
18 | NTM_TT_OPENTYPE | Police TrueType OpenType |
19 | NTM_MULTIPLEMASTER | police principale multiple |
20 | NTM_TYPE1 | Police de type 1 |
21 | NTM_DSIG | police avec une signature numérique. Cela permet la traçabilité et garantit que la police a été testée et n’est pas endommagée |
ntmSizeEM
Taille du carré em pour la police. Cette valeur est en unités notionales (autrement dit, les unités pour lesquelles la police a été conçue).
ntmCellHeight
Hauteur, en unités notionales, de la police. Cette valeur doit être comparée à la valeur du membre ntmSizeEM.
ntmAvgWidth
Largeur moyenne des caractères dans la police, en unités notionales. Cette valeur doit être comparée à la valeur du membre ntmSizeEM.
Remarques
Les quatre derniers membres de la structure NEWTEXTMETRIC ne sont pas inclus dans la structure TEXTMETRIC ; à tous les autres égards, les structures sont identiques.
Les tailles de la structure NEWTEXTMETRIC sont généralement spécifiées en unités logiques ; autrement dit, elles dépendent du mode de mappage actuel du contexte d’affichage.
Note
L’en-tête wingdi.h définit NEWTEXTMETRIC en tant qu’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