struttura FD_DEVICEMETRICS (winddi.h)
La struttura FD_DEVICEMETRICS viene usata per fornire informazioni sul tipo di carattere specifiche del dispositivo a GDI se il parametro iMode della funzione DrvQueryFontData fornita dal driver è QFD_MAXEXTENTS.
Sintassi
typedef struct _FD_DEVICEMETRICS {
FLONG flRealizedType;
POINTE pteBase;
POINTE pteSide;
LONG lD;
FIX fxMaxAscender;
FIX fxMaxDescender;
POINTL ptlUnderline1;
POINTL ptlStrikeOut;
POINTL ptlULThickness;
POINTL ptlSOThickness;
ULONG cxMax;
ULONG cyMax;
ULONG cjGlyphMax;
FD_XFORM fdxQuantized;
LONG lNonLinearExtLeading;
LONG lNonLinearIntLeading;
LONG lNonLinearMaxCharWidth;
LONG lNonLinearAvgCharWidth;
LONG lMinA;
LONG lMinC;
LONG lMinD;
LONG alReserved[1];
} FD_DEVICEMETRICS, *PFD_DEVICEMETRICS;
Members
flRealizedType
Set di flag di acceleratore. Questo valore può essere una combinazione dei valori seguenti:
FDM_TYPE_BM_SIDE_CONST
Acceleratore per la scrittura orizzontale e verticale. Se questo flag è impostato, il tipo di carattere ha un'altezza costante per tutte le bitmap. Nel caso orizzontale, ciò significa che la dimensione cy è costante; nel caso verticale, significa che la dimensione cx è costante. Questo acceleratore non viene usato per i contorni.
FDM_TYPE_CHAR_INC_EQUAL_BM_BASE
Acceleratore per la scrittura orizzontale e verticale. Nel caso orizzontale, se questo flag è impostato, la larghezza di avanzamento di ogni glifo è uguale alla dimensione cx della bitmap del glifo; nel caso verticale, se questo flag è impostato, la larghezza di avanzamento di ogni glifo è uguale alla dimensione cy della bitmap del glifo. Questo acceleratore non viene usato per i contorni.
FDM_TYPE_CONST_BEARINGS
Se impostata, la spaziatura a e c è costante per tutti i glifi.
FDM_TYPE_MAXEXT_EQUAL_BM_SIDE
Questo flag può essere impostato solo se è impostato anche FDM_TYPE_BM_SIDE_CONST. Se impostato, l'altezza del carattere (come definito in precedenza per la scrittura orizzontale e verticale) è uguale alla somma di max ascender e max descender. Questo acceleratore non viene usato per i contorni.
FDM_TYPE_ZERO_BEARINGS
Se impostata, la spaziatura a e c è zero per tutti i glifi.
pteBase
Specifica una struttura POINTE che contiene il vettore di unità di spazio notzionale lungo la linea di base del tipo di carattere, trasformato in spazio del dispositivo e quindi normalizzato. Per altre informazioni, vedere POINTE in Tipi di dati GDI.
pteSide
Specifica la struttura POINTE che contiene un vettore di unità di spazio notzionale perpendicolare alla linea di base del tipo di carattere nella direzione dell'ascendente, trasformata in spazio del dispositivo e quindi normalizzata. Nello spazio notale, la linea di base e le direzioni ascendenti devono essere ortogonali, ma nello spazio del dispositivo , pteBase e pteSide non devono essere ortogonali, a seconda della trasformazione Spazio notionale a Dispositivo.
lD
Specifica la larghezza di avanzamento se il tipo di carattere è un tipo di carattere a passo fisso (monospaced). Se il tipo di carattere è un tipo di carattere a passo variabile, questo membro deve essere impostato su zero.
fxMaxAscender
Specifica l'altezza crescente massima hinted per questa istanza del tipo di carattere, misurata lungo pteSide. Vedere il tipo di dati FIX in Tipi di dati GDI.
fxMaxDescender
Specifica l'altezza massima del discendente hint per questa istanza del tipo di carattere, misurata lungo pteSide. Vedere il tipo di dati FIX in Tipi di dati GDI.
ptlUnderline1
Specifica una struttura POINTL che contiene la posizione di sottolineatura hint per questa istanza del tipo di carattere, rispetto all'origine del carattere del glifo.
ptlStrikeOut
Specifica una struttura POINTL che contiene la posizione di barrato hint per questa istanza del tipo di carattere, rispetto all'origine del carattere del glifo.
ptlULThickness
Specifica una struttura POINTL che contiene lo spessore della sottolineatura hinted per questa istanza del tipo di carattere. Questo vettore definisce il lato del rettangolo utilizzato per disegnare la sottolineatura. La base viene definita in modo implicito dalla linea di base.
ptlSOThickness
Specifica una struttura POINTL che contiene lo spessore barrato con hint per questa istanza del tipo di carattere. Questo vettore definisce il lato del rettangolo utilizzato per disegnare lo strikeout. La base viene definita in modo implicito dalla linea di base.
cxMax
Specifica la larghezza massima del glifo bitmap, espressa in pixel, per questa istanza del tipo di carattere. Non utilizzato per i contorni.
cyMax
Specifica l'altezza massima della bitmap del glifo, in pixel, per questa istanza del tipo di carattere. Non utilizzato per i contorni.
cjGlyphMax
Specifica la dimensione massima con hint di un glifo, in byte, per questa istanza del tipo di carattere. Questo valore è la dimensione massima della struttura GLYPHBITS necessaria per archiviare uno dei glifi del tipo di carattere.
fdxQuantized
Specifica una struttura FD_XFORM . Il driver del tipo di carattere compila la trasformazione del tipo di carattere effettivamente utilizzata nella realizzazione del tipo di carattere. Ciò può differire dalla trasformazione richiesta da GDI come definito da FONTOBJ_pxoGetXform.
lNonLinearExtLeading
È l'elemento esterno non lineare che conduce a 28,4 unità di dispositivo.
lNonLinearIntLeading
Valore interno non lineare in 28,4 unità di dispositivo.
lNonLinearMaxCharWidth
Incremento massimo carattere non lineare in 28,4 unità di dispositivo.
lNonLinearAvgCharWidth
Larghezza media del carattere non lineare in 28,4 unità di dispositivo.
lMinA
Spazio negativo più grande per questa realizzazione del tipo di carattere, specificato come valore assoluto.
lMinC
Spazio C negativo più grande per questa realizzazione del tipo di carattere, specificato come valore assoluto.
lMinD
Larghezza del carattere diverso da zero più piccola per questa realizzazione del tipo di carattere.
alReserved[1]
È riservato e deve essere ignorato dal provider di tipi di carattere.
Requisiti
Intestazione | winddi.h (include Winddi.h) |