Condividi tramite


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)

Vedi anche

DrvQueryFontData

FD_XFORM

FONTOBJ_pxoGetXform

GLYPHBITS