Struttura NEWTEXTMETRICA (wingdi.h)
La struttura NEWTEXTMETRIC contiene dati che descrivono un tipo di carattere fisico.
Sintassi
typedef struct tagNEWTEXTMETRICA {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
BYTE tmFirstChar;
BYTE tmLastChar;
BYTE tmDefaultChar;
BYTE tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
DWORD ntmFlags;
UINT ntmSizeEM;
UINT ntmCellHeight;
UINT ntmAvgWidth;
} NEWTEXTMETRICA, *PNEWTEXTMETRICA, *NPNEWTEXTMETRICA, *LPNEWTEXTMETRICA;
Members
tmHeight
Altezza (salita + discesa) di caratteri.
tmAscent
L'ascente (unità sopra la riga di base) di caratteri.
tmDescent
Discesa (unità sotto la riga di base) di caratteri.
tmInternalLeading
Quantità di valore iniziale (spazio) all'interno dei limiti impostati dal membro tmHeight . I segni di accento e altri caratteri diacritici possono verificarsi in questa area. La finestra di progettazione può impostare questo membro su zero.
tmExternalLeading
Quantità di elementi iniziali aggiuntivi (spazio) che l'applicazione aggiunge tra righe. Poiché questa area non è esterna al tipo di carattere, non contiene contrassegni e non viene modificata dalle chiamate di output di testo in modalità OPAC o TRANSPARENT. La finestra di progettazione può impostare questo membro su zero.
tmAveCharWidth
Larghezza media dei caratteri nel tipo di carattere (in genere definita come larghezza della lettera x). Questo valore non include l'overhang richiesto 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 del dispositivo grafica (GDI) o un dispositivo può dover aggiungere larghezza a una stringa sia per carattere che per stringa. Ad esempio, GDI rende una stringa grassetto espandendo la spaziatura di ogni carattere e sovrastriccando in base a un valore di offset; in corsivozza un tipo di carattere eseguendo l'shearing della stringa. In entrambi i casi, c'è un overhang oltre la stringa di base. Per le stringhe grassetto, l'overhang è la distanza in base alla quale il overstrike è offset. Per le stringhe corsivo, l'overhang è la quantità superiore del tipo di carattere è incollare la parte inferiore del tipo di carattere.
Il membro tmOverhang consente all'applicazione di determinare la quantità di larghezza del carattere restituita da una chiamata di funzione GetTextExtentPoint32 su un singolo carattere è la larghezza effettiva del carattere e la quantità di larghezza aggiuntiva per stringa. La larghezza effettiva è l'estensione meno lo sporgente.
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 dei membri tmDigitizedAspectX e tmDigitizedAspectY è il rapporto di aspetto del dispositivo per il quale è 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 per i caratteri che non sono nel tipo di carattere.
tmBreakChar
Valore del carattere da utilizzare per definire interruzioni di parola per la giustificazione del testo.
tmItalic
Tipo di carattere corsivo se è diverso da zero.
tmUnderlined
Carattere sottolineato se è diverso da zero.
tmStruckOut
Tipo di carattere di strikeout se è diverso da zero.
tmPitchAndFamily
Il campo e la famiglia del tipo di carattere selezionato. Il bit a basso ordine (bit 0) specifica il passo del tipo di carattere. Se è 1, il tipo di carattere è a passo variabile (o proporzionale). Se è 0, il tipo di carattere è fisso (o monospace). Bit 1 e 2 specificano il tipo di carattere. Se entrambi i bit sono 0, il tipo di carattere è un carattere raster; se bit 1 è 1 e bit 2 è 0, il carattere è un carattere vettore; 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 designano 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 carattere è corsivo, sottolineatura, descritto, 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 | Carattere OpenType PostScript |
18 | NTM_TT_OPENTYPE | Carattere TrueType OpenType |
19 | NTM_MULTIPLEMASTER | più tipi di carattere master |
20 | NTM_TYPE1 | Tipo 1 carattere |
21 | NTM_DSIG | carattere 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 si trova in unità notali, ovvero le unità per cui è 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; vale a dire, 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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
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
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per