Struttura TEXTMETRICA (wingdi.h)
La struttura TEXTMETRIC contiene informazioni di base su un tipo di carattere fisico. Tutte le dimensioni vengono specificate in unità logiche; ovvero dipendono dalla modalità di mapping corrente del contesto di visualizzazione.
Sintassi
typedef struct tagTEXTMETRICA {
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;
} TEXTMETRICA, *PTEXTMETRICA, *NPTEXTMETRICA, *LPTEXTMETRICA;
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 (in genere 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 per i caratteri non nel tipo di carattere.
tmBreakChar
Valore del carattere che verrà utilizzato per definire le interruzioni di parola per la giustificazione del testo.
tmItalic
Specifica un tipo di carattere corsivo se è diverso da zero.
tmUnderlined
Specifica un tipo di carattere sottolineato se è diverso da zero.
tmStruckOut
Tipo di carattere barrato se diverso da zero.
tmPitchAndFamily
Specifica informazioni sul passo, sulla tecnologia e sulla famiglia di un tipo di carattere fisico.
I quattro bit di ordine basso di questo membro specificano informazioni sul passo e sulla tecnologia del tipo di carattere. Una costante viene definita per ognuno dei quattro bit.
Costante | Significato |
---|---|
TMPF_FIXED_PITCH | Se questo bit è impostato, il tipo di carattere è un tipo di carattere a passo variabile. Se questo bit è chiaro, il tipo di carattere è un tipo di carattere a passo fisso. Si noti con molta attenzione che questi significati sono l'opposto di ciò che implica il nome costante. |
TMPF_VECTOR | Se questo bit è impostato, il tipo di carattere è un tipo di carattere vettoriale. |
TMPF_TRUETYPE | Se questo bit è impostato, il tipo di carattere è TrueType. |
TMPF_DEVICE | Se questo bit è impostato, il tipo di carattere è un tipo di carattere del dispositivo. |
Un'applicazione deve testare attentamente le qualità codificate in questi bit di ordine ridotto, senza presupposti arbitrari. Ad esempio, oltre a impostare i propri bit, i tipi di carattere TrueType e PostScript impostano il bit di TMPF_VECTOR. Un tipo di carattere bitmap monospace ha tutti questi bit di ordine basso chiaro; un tipo di carattere bitmap proporzionale imposta il bit TMPF_FIXED_PITCH. Un tipo di carattere della stampante Postscript imposta i bit di TMPF_DEVICE, TMPF_VECTOR e TMPF_FIXED_PITCH.
I quattro bit di ordine elevato di tmPitchAndFamily designano la famiglia di caratteri del tipo di carattere. Un'applicazione può usare il valore 0xF0 e l'operatore AND bit per bit per mascherare i quattro bit di ordine basso di tmPitchAndFamily, ottenendo così un valore che può essere confrontato direttamente con i nomi della famiglia di caratteri per trovare una corrispondenza identica. Per informazioni sulle famiglie di caratteri, vedere la descrizione della struttura LOGFONT .
tmCharSet
Set di caratteri del tipo di carattere. Il set di caratteri può essere uno dei valori seguenti.
- ANSI_CHARSET
- BALTIC_CHARSET
- CHINESEBIG5_CHARSET
- DEFAULT_CHARSET
- EASTEUROPE_CHARSET
- GB2312_CHARSET
- GREEK_CHARSET
- HANGUL_CHARSET
- MAC_CHARSET
- OEM_CHARSET
- RUSSIAN_CHARSET
- SHIFTJIS_CHARSET
- SYMBOL_CHARSET
- TURKISH_CHARSET
- VIETNAMESE_CHARSET
- JOHAB_CHARSET
- ARABIC_CHARSET
- HEBREW_CHARSET
- THAI_CHARSET
Commenti
Nota
L'intestazione wingdi.h definisce TEXTMETRIC 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
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | wingdi.h (include Windows.h) |