Struttura NEWTEXTMETRICW (wingdi.h)

La struttura NEWTEXTMETRIC contiene dati che descrivono un tipo di carattere fisico.

Sintassi

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;

Members

tmHeight

Altezza (salita + discesa) di caratteri.

tmAscent

Salita (unità sopra la riga di base) di caratteri.

tmDescent

Discesa (unità sotto la linea di base) di caratteri.

tmInternalLeading

Quantità di spazio iniziale all'interno dei limiti impostati dal membro tmHeight . In questa area possono verificarsi segni accenti e altri caratteri diacritici. La finestra di progettazione può impostare questo membro su zero.

tmExternalLeading

Quantità di spazio iniziale aggiuntiva aggiunta dall'applicazione tra righe. Poiché quest'area non è al di fuori del tipo di carattere, non contiene segni e non viene modificata dalle chiamate di output di testo in modalità OPACa o TRASPARENTE. La finestra di progettazione può impostare questo membro su zero.

tmAveCharWidth

Larghezza media dei caratteri nel tipo di carattere (generalmente definita come larghezza della lettera x). Questo valore non include l'overhang necessario per i caratteri grassetto o corsivo.

tmMaxCharWidth

Larghezza del carattere più largo nel tipo di carattere.

tmWeight

Spessore del tipo di carattere.

tmOverhang

Ulteriore larghezza per stringa che è possibile aggiungere ad alcuni tipi di carattere sintetizzati. Quando si sintetizzano alcuni attributi, ad esempio grassetto o corsivo, l'interfaccia GDI (Graphics Device Interface) o un dispositivo può dover aggiungere larghezza a una stringa sia per carattere che per stringa. Ad esempio, GDI rende una stringa in grassetto espandendo la spaziatura di ogni carattere e sovrastriccando in base a un valore di offset; viene applicato il corsivo a un tipo di carattere tramite l'aringa della stringa. In entrambi i casi, è presente un sovraccarico oltre la stringa di base. Per le stringhe in grassetto, l'sporgenza è la distanza in base alla quale viene sfalsato l'overstrike. Per le stringhe in corsivo, lo sporgenza corrisponde alla quantità in cui la parte superiore del tipo di carattere viene insaellata oltre la parte inferiore del tipo di carattere.

Il membro tmOverhang consente all'applicazione di determinare la larghezza del carattere restituita da una chiamata di funzione GetTextExtentPoint32 su un singolo carattere è la larghezza effettiva del carattere e la larghezza aggiuntiva per stringa. La larghezza effettiva è l'extent meno l'sporgenza.

tmDigitizedAspectX

Aspetto orizzontale del dispositivo per il quale è stato progettato il tipo di carattere.

tmDigitizedAspectY

Aspetto verticale del dispositivo per il quale è stato progettato il tipo di carattere. Il rapporto tra i membri tmDigitizedAspectX e tmDigitizedAspectY corrisponde alle proporzioni del dispositivo per cui è stato progettato il tipo di carattere.

tmFirstChar

Valore del primo carattere definito nel tipo di carattere.

tmLastChar

Valore dell'ultimo carattere definito nel tipo di carattere.

tmDefaultChar

Valore del carattere da sostituire con i caratteri non inclusi nel tipo di carattere.

tmBreakChar

Valore del carattere da utilizzare per definire le interruzioni di parola per la giustificazione del testo.

tmItalic

Tipo di carattere corsivo se diverso da zero.

tmUnderlined

Tipo di carattere sottolineato se è diverso da zero.

tmStruckOut

Tipo di carattere barrato se diverso da zero.

tmPitchAndFamily

Passo e famiglia del tipo di carattere selezionato. Il bit in ordine basso (bit 0) specifica l'inclinazione del tipo di carattere. Se è 1, il tipo di carattere è di passo variabile (o proporzionale). Se è 0, il tipo di carattere è a passo fisso (o monospace). I bit 1 e 2 specificano il tipo di carattere. Se entrambi i bit sono 0, il tipo di carattere è un tipo di carattere raster; se bit 1 è 1 e bit 2 è 0, il tipo di carattere è un tipo di carattere vettoriale; se bit 1 è 0 e bit 2 è impostato o se entrambi i bit sono 1, il tipo di carattere è un altro tipo. Bit 3 è 1 se il tipo di carattere è un tipo di carattere del dispositivo; in caso contrario, è 0.

I quattro bit di ordine elevato definiscono la famiglia di caratteri. Il membro tmPitchAndFamily può essere combinato con il valore esadecimale 0xF0 usando l'operatore AND bit per bit e quindi può essere confrontato con i nomi della famiglia di caratteri per una corrispondenza identica. Per altre informazioni sulle famiglie di caratteri, vedere LOGFONT.

tmCharSet

Set di caratteri del tipo di carattere.

ntmFlags

Specifica se il tipo di carattere è in corsivo, con caratteri di sottolineatura, delineati, in grassetto e così via. Può essere una combinazione ragionevole dei valori seguenti.

bit Nome Significato
0 NTM_ITALIC Corsivo
5 NTM_BOLD Grassetto
8 NTM_REGULAR normale
16 NTM_NONNEGATIVE_AC nessun glifo in un tipo di carattere a qualsiasi dimensione ha uno spazio A o C negativo.
17 NTM_PS_OPENTYPE Tipo di carattere OpenType PostScript
18 NTM_TT_OPENTYPE Tipo di carattere OpenType TrueType
19 NTM_MULTIPLEMASTER più tipi di carattere master
20 NTM_TYPE1 Tipo di carattere 1
21 NTM_DSIG font con una firma digitale. Ciò consente la tracciabilità e garantisce che il tipo di carattere sia stato testato e non sia danneggiato

ntmSizeEM

Dimensione del quadrato em per il tipo di carattere. Questo valore è espresso in unità notzionali, ovvero le unità per le quali è stato progettato il tipo di carattere.

ntmCellHeight

Altezza, in unità notzionali, del tipo di carattere. Questo valore deve essere confrontato con il valore del membro ntmSizeEM .

ntmAvgWidth

Larghezza media dei caratteri nel tipo di carattere, in unità notzionali. Questo valore deve essere confrontato con il valore del membro ntmSizeEM .

Commenti

Gli ultimi quattro membri della struttura NEWTEXTMETRIC non sono inclusi nella struttura TEXTMETRIC ; in tutti gli altri aspetti, le strutture sono identiche.

Le dimensioni nella struttura NEWTEXTMETRIC vengono in genere specificate in unità logiche; ovvero dipendono dalla modalità di mapping corrente del contesto di visualizzazione.

Nota

L'intestazione wingdi.h definisce NEWTEXTMETRIC come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione wingdi.h (include Windows.h)

Vedi anche

EnumFontFamilies

Strutture carattere e testo

Panoramica dei tipi di carattere e del testo

GetTextExtentPoint32

GetTextMetrics

LOGFONT