FD_DEVICEMETRICS Struktur (winddi.h)
Die FD_DEVICEMETRICS-Struktur wird verwendet, um gerätespezifische Schriftartinformationen für GDI bereitzustellen, wenn der iMode-Parameter der vom Treiber bereitgestellten DrvQueryFontData-Funktion QFD_MAXEXTENTS ist.
Syntax
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;
Member
flRealizedType
Ist ein Satz von Zugriffstastenflags. Dieser Wert kann eine Kombination der folgenden Werte sein:
FDM_TYPE_BM_SIDE_CONST
Ein Beschleuniger für horizontales und vertikales Schreiben. Wenn dieses Flag festgelegt ist, hat die Schriftart eine konstante Höhe für alle Bitmaps. Im horizontalen Fall bedeutet dies, dass die Cy-Dimension konstant ist; im vertikalen Fall bedeutet dies, dass die cx-Dimension konstant ist. Diese Zugriffstaste wird nicht für Gliederungen verwendet.
FDM_TYPE_CHAR_INC_EQUAL_BM_BASE
Ein Beschleuniger für horizontales und vertikales Schreiben. Wenn dieses Flag im horizontalen Fall festgelegt ist, entspricht die Voranschreibbreite jeder Glyphe der cx-Dimension der Glyphenbitbit. Wenn dieses Flag festgelegt ist, entspricht die Voranschreibbreite jeder Glyphe der Cy-Dimension der Bitmap "glyph". Diese Zugriffstaste wird nicht für Gliederungen verwendet.
FDM_TYPE_CONST_BEARINGS
Wenn festgelegt, ist der Abstand a und c für alle Glyphen konstant.
FDM_TYPE_MAXEXT_EQUAL_BM_SIDE
Dieses Flag kann nur festgelegt werden, wenn auch FDM_TYPE_BM_SIDE_CONST festgelegt ist. Wenn festgelegt, entspricht die Schrifthöhe (wie oben für horizontales und vertikales Schreiben definiert) der Summe von max. aufsteigender und max. Nachfolger. Diese Zugriffstaste wird nicht für Gliederungen verwendet.
FDM_TYPE_ZERO_BEARINGS
Wenn festgelegt, ist der Abstand a und c für alle Glyphen null.
pteBase
Gibt eine POINTE-Struktur an, die den fiktiven Leerraumeinheitsvektor entlang der Baseline der Schriftart enthält, in Gerätebereich transformiert und dann normalisiert wird. Weitere Informationen finden Sie unter POINTE in GDI-Datentypen.
pteSide
Gibt eine POINTE-Struktur an, die einen fiktiven Leerraumeinheitsvektor enthält, der senkrecht zur Grundlinie der Schriftart in Richtung des Aufsteigens steht, in den Geräteraum transformiert und dann normalisiert wird. Im fiktiven Raum müssen Baseline- und Aufsteigende Richtungen orthogonal sein, aber im Gerätebereich müssen pteBase und pteSide nicht orthogonal sein, abhängig von der Transformation des Zwischenraums von Notional in Device.
lD
Gibt die erweiterte Breite an, wenn es sich bei der Schriftart um eine Schriftart mit fester Tonhöhe (monospaced) handelt. Wenn es sich bei der Schriftart um eine variable Tonhöhenschriftart handelt, sollte dieser Member auf 0 (null) festgelegt werden.
fxMaxAscender
Gibt die angedeutete maximale aufsteigende Höhe für diese Schriftart instance an, gemessen entlang von pteSide. Weitere Informationen finden Sie unter FIX-Datentyp in GDI-Datentypen.
fxMaxDescender
Gibt die angedeutete maximale Abkommerhöhe für diese Schriftart instance an, gemessen entlang von pteSide. Weitere Informationen finden Sie unter FIX-Datentyp in GDI-Datentypen.
ptlUnderline1
Gibt eine POINTL-Struktur an, die die unterstrichene Position für diese Schriftart instance relativ zum Zeichenursprung der Glyphe enthält.
ptlStrikeOut
Gibt eine POINTL-Struktur an, die die Durchstreichungsposition für diese Schriftart instance relativ zum Zeichenursprung der Glyphe enthält.
ptlULThickness
Gibt eine POINTL-Struktur an, die die unterstrichene Stärke für diese Schriftart instance enthält. Dieser Vektor definiert die Seite des Rechtecks, die zum Zeichnen der Unterstreichung verwendet wird. Die Basis wird implizit durch die Baseline definiert.
ptlSOThickness
Gibt eine POINTL-Struktur an, die die durchgestrichene Stärke für diese Schriftart instance enthält. Dieser Vektor definiert die Seite des Rechtecks, die zum Zeichnen des Durchstreichens verwendet wird. Die Basis wird implizit durch die Baseline definiert.
cxMax
Gibt die maximale Breite der Bitmap in Pixel für diese Schriftart instance an. Wird nicht für Gliederungen verwendet.
cyMax
Gibt die angezeigte maximale Bitmaphöhe in Pixel für diese Schriftart instance an. Wird nicht für Gliederungen verwendet.
cjGlyphMax
Gibt die maximale Größe einer Glyphe in Bytes für diese Schriftart instance an. Dieser Wert ist die maximale Größe der GLYPHBITS-Struktur , die zum Speichern der Schriftglyphen erforderlich ist.
fdxQuantized
Gibt eine FD_XFORM-Struktur an. Der Schriftarttreiber füllt die Schrifttransformation aus, die tatsächlich bei der Realisierung der Schriftart verwendet wird. Dies kann sich von der von GDI angeforderten Transformation unterscheiden, wie von FONTOBJ_pxoGetXform definiert.
lNonLinearExtLeading
Ist der nicht lineare externe Führende in 28,4 Geräteeinheiten.
lNonLinearIntLeading
Ist das nicht lineare interne Führende in 28,4 Geräteeinheiten.
lNonLinearMaxCharWidth
Das nicht lineare maximale Zeicheninkrement in Geräteeinheiten von 28,4.
lNonLinearAvgCharWidth
Die nicht lineare durchschnittliche Zeichenbreite in Geräteeinheiten von 28,4.
lMinA
Ist das größte negative A-Leerzeichen für diese Schriftrealisierung, angegeben als absoluter Wert.
lMinC
Ist der größte negative C-Bereich für diese Schriftrealisierung, angegeben als absoluter Wert.
lMinD
Ist die kleinste Zeichenbreite ungleich Null für diese Schriftrealisierung.
alReserved[1]
Ist reserviert und sollte vom Schriftartenanbieter ignoriert werden.
Anforderungen
Kopfzeile | winddi.h (einschließlich Winddi.h) |