Partager via


structure FD_DEVICEMETRICS (winddi.h)

La structure FD_DEVICEMETRICS est utilisée pour fournir des informations de police spécifiques à l’appareil à GDI si le paramètre iMode de la fonction DrvQueryFontData fournie par le pilote est QFD_MAXEXTENTS.

Syntaxe

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;

Membres

flRealizedType

Ensemble d’indicateurs d’accélérateur. Cette valeur peut être une combinaison des valeurs suivantes :

FDM_TYPE_BM_SIDE_CONST

Accélérateur pour l’écriture horizontale et verticale. Si cet indicateur est défini, la police a une hauteur constante pour toutes les bitmaps. Dans le cas horizontal, cela signifie que la dimension cy est constante ; dans le cas vertical, cela signifie que la dimension cx est constante. Cet accélérateur n’est pas utilisé pour les contours.

FDM_TYPE_CHAR_INC_EQUAL_BM_BASE

Accélérateur pour l’écriture horizontale et verticale. Dans le cas horizontal, si cet indicateur est défini, la largeur avancée de chaque glyphe est égale à la dimension cx de la bitmap de glyphe ; dans le cas vertical, si cet indicateur est défini, la largeur avancée de chaque glyphe est égale à la dimension cy de la bitmap de glyphe. Cet accélérateur n’est pas utilisé pour les contours.

FDM_TYPE_CONST_BEARINGS

Si elle est définie, l’espacement a et c est constant pour tous les glyphes.

FDM_TYPE_MAXEXT_EQUAL_BM_SIDE

Cet indicateur ne peut être défini que si FDM_TYPE_BM_SIDE_CONST est également défini. Si elle est définie, la hauteur de police (telle que définie ci-dessus pour l’écriture horizontale et verticale) est égale à la somme de l’ascendant maximal et du descendeur maximal. Cet accélérateur n’est pas utilisé pour les contours.

FDM_TYPE_ZERO_BEARINGS

S’il est défini, l’espacement a et c est égal à zéro pour tous les glyphes.

pteBase

Spécifie une structure POINTE qui contient le vecteur d’unité d’espace notionnel le long de la ligne de base de la police, transformée en espace d’appareil, puis normalisée. Pour plus d’informations, consultez POINTE dans les types de données GDI.

pteSide

Spécifie la structure POINTE qui contient un vecteur d’unité d’espace notionnel perpendiculaire à la ligne de base de la police dans le sens de l’ascendant, transformée en espace d’appareil, puis normalisée. Dans l’espace notionnel, les directions de base et ascendantes doivent être orthogonales, mais dans l’espace de l’appareil, pteBase et pteSide n’ont pas besoin d’être orthogonaux, en fonction de la transformation d’espace notional à Device.

lD

Spécifie la largeur d’avance si la police est une police de pas fixe (monospaced). Si la police est une police de pitch variable, ce membre doit être défini sur zéro.

fxMaxAscender

Spécifie la hauteur maximale de l’ascendant indiquée pour cette instance de police, mesurée le long de pteSide. Consultez le type de données FIX dans Types de données GDI.

fxMaxDescender

Spécifie la hauteur maximale du descendeur indiqué pour cette instance de police, mesurée le long de pteSide. Consultez le type de données FIX dans Types de données GDI.

ptlUnderline1

Spécifie une structure POINTL qui contient la position de soulignement indiquée pour cette instance de police, par rapport à l’origine du caractère du glyphe.

ptlStrikeOut

Spécifie une structure POINTL qui contient la position de grève suggérée pour cette instance de police, par rapport à l’origine du caractère du glyphe.

ptlULThickness

Spécifie une structure POINTL qui contient l’épaisseur de soulignement indiquée pour cette instance de police. Ce vecteur définit le côté du rectangle utilisé pour dessiner le soulignement. La base est implicitement définie par la base de référence.

ptlSOThickness

Spécifie une structure POINTL qui contient l’épaisseur de barré suggérée pour cette instance de police. Ce vecteur définit le côté du rectangle utilisé pour dessiner le barré. La base est implicitement définie par la base de référence.

cxMax

Spécifie la largeur maximale de l’image bitmap de glyphe, en pixels, pour cette instance de police. Non utilisé pour les contours.

cyMax

Spécifie la hauteur maximale de bitmap de glyphe indiquée, en pixels, pour cette instance de police. Non utilisé pour les contours.

cjGlyphMax

Spécifie la taille maximale indiquée d’un glyphe, en octets, pour cette police instance. Cette valeur est la taille maximale de la structure GLYPHBITS nécessaire pour stocker les glyphes de la police.

fdxQuantized

Spécifie une structure FD_XFORM . Le pilote de police remplit la transformation de police qui est réellement utilisée dans la réalisation de la police. Cela peut différer de la transformation demandée par GDI telle que définie par FONTOBJ_pxoGetXform.

lNonLinearExtLeading

Est le leader externe non linéaire dans 28,4 unités d’appareil.

lNonLinearIntLeading

Est le leader interne non linéaire dans 28,4 unités d’appareil.

lNonLinearMaxCharWidth

Incrément de caractères maximal non linéaire dans 28,4 unités d’appareil.

lNonLinearAvgCharWidth

Largeur de caractères moyenne non linéaire dans 28,4 unités d’appareil.

lMinA

Espace A négatif le plus grand pour cette réalisation de police, spécifié sous la forme d’une valeur absolue.

lMinC

Espace C négatif le plus grand pour cette réalisation de police, spécifié sous la forme d’une valeur absolue.

lMinD

Est la plus petite largeur de caractères non nulle pour cette réalisation de police.

alReserved[1]

Est réservé et doit être ignoré par le fournisseur de polices.

Configuration requise

   
En-tête winddi.h (inclure Winddi.h)

Voir aussi

DrvQueryFontData

FD_XFORM

FONTOBJ_pxoGetXform

GLYPHBITS