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) |