Freigeben über


IFIMETRICS-Struktur (winddi.h)

Die IFIMETRICS-Struktur definiert Informationen für eine bestimmte Schriftart, die GDI verwenden kann.

Syntax

typedef struct _IFIMETRICS {
  ULONG   cjThis;
  ULONG   cjIfiExtra;
  PTRDIFF dpwszFamilyName;
  PTRDIFF dpwszStyleName;
  PTRDIFF dpwszFaceName;
  PTRDIFF dpwszUniqueName;
  PTRDIFF dpFontSim;
  LONG    lEmbedId;
  LONG    lItalicAngle;
  LONG    lCharBias;
  PTRDIFF dpCharSets;
  BYTE    jWinCharSet;
  BYTE    jWinPitchAndFamily;
  USHORT  usWinWeight;
  ULONG   flInfo;
  USHORT  fsSelection;
  USHORT  fsType;
  FWORD   fwdUnitsPerEm;
  FWORD   fwdLowestPPEm;
  FWORD   fwdWinAscender;
  FWORD   fwdWinDescender;
  FWORD   fwdMacAscender;
  FWORD   fwdMacDescender;
  FWORD   fwdMacLineGap;
  FWORD   fwdTypoAscender;
  FWORD   fwdTypoDescender;
  FWORD   fwdTypoLineGap;
  FWORD   fwdAveCharWidth;
  FWORD   fwdMaxCharInc;
  FWORD   fwdCapHeight;
  FWORD   fwdXHeight;
  FWORD   fwdSubscriptXSize;
  FWORD   fwdSubscriptYSize;
  FWORD   fwdSubscriptXOffset;
  FWORD   fwdSubscriptYOffset;
  FWORD   fwdSuperscriptXSize;
  FWORD   fwdSuperscriptYSize;
  FWORD   fwdSuperscriptXOffset;
  FWORD   fwdSuperscriptYOffset;
  FWORD   fwdUnderscoreSize;
  FWORD   fwdUnderscorePosition;
  FWORD   fwdStrikeoutSize;
  FWORD   fwdStrikeoutPosition;
  BYTE    chFirstChar;
  BYTE    chLastChar;
  BYTE    chDefaultChar;
  BYTE    chBreakChar;
  WCHAR   wcFirstChar;
  WCHAR   wcLastChar;
  WCHAR   wcDefaultChar;
  WCHAR   wcBreakChar;
  POINTL  ptlBaseline;
  POINTL  ptlAspect;
  POINTL  ptlCaret;
  RECTL   rclFontBox;
  BYTE    achVendId[4];
  ULONG   cKerningPairs;
  ULONG   ulPanoseCulture;
  PANOSE  panose;
  PVOID   Align;
} IFIMETRICS, *PIFIMETRICS;

Member

cjThis

Gibt die Größe dieser Struktur in Byte an. Die angegebene Größe umfasst alle Unicode-Zeichenfolgen, die am Ende dieser Struktur angefügt werden, sowie die Größe in Bytes der optionalen IFIEXTRA-Struktur .

cjIfiExtra

Gibt die Größe der IFIEXTRA-Struktur in Byte an, die dieser IFIMETRICS-Struktur folgt. Der Wert 0 (null) gibt an, dass keine IFIEXTRA-Struktur vorhanden ist.

dpwszFamilyName

Gibt den Offset in Byte zu einer Unicode-Zeichenfolge mit NULL-Beendigung an, die den Familiennamen der Schriftart enthält (z. B. "Times Roman"). Im Allgemeinen folgt diese Zeichenfolge unmittelbar der IFIMETRICS-Struktur. Diese Zeichenfolge sollte mit dem Namen identisch sein, der im lfFaceName-Member der Win32 LOGFONT-Struktur aufgezeichnet wird.

dpwszStyleName

Gibt den Offset in Bytes auf eine Unicode-Zeichenfolge mit Null-Endung an, die den Stil der Schriftart beschreibt (z. B. "Bold").

dpwszFaceName

Gibt den Offset in Byte zu einer unicode-Zeichenfolge mit NULL-Endung an, die den eindeutigen und vollständigen Namen der Schriftart darstellt. Der Name enthält die Familien- und Unterfamiliennamen der Schriftart (z. B. "Times New Roman Bold").

dpwszUniqueName

Gibt den Offset in Byte zu einer Unicode-Zeichenfolge mit Null-Endung an, die den eindeutigen Bezeichner der Schriftart darstellt (z. B. "Monotype:Times New Roman:1990").

dpFontSim

Gibt den Offset in Bytes vom Anfang dieser IFIMETRICS-Struktur bis zu einer FONTSIM-Struktur an, die die von der Schriftart unterstützten Simulationen beschreibt. Der Treiber sollte diesen Member nur dann auf einen Wert ungleich null festlegen, wenn die Schriftart fett, kursiv oder fett kursiv formatierte Simulationen unterstützt. Andernfalls sollte der Treiber dies auf 0 (null) festlegen.

Beachten Sie, dass der Treiber, wenn eine Schriftart kursiv formatiert ist, keine Schriftartunterstützung für kursive Simulationen angeben sollte, obwohl dies auf die Unterstützung der Schriftart für die fettformatige kursive Simulation hinweisen kann. Ebenso sollte der Treiber keine Schriftartunterstützung für fett formatierte Simulationen angeben, wenn die Schriftart fett formatiert ist, kann aber die Unterstützung der Schriftart für die fettformatige kursive Simulation angeben. Wenn die Schriftart sowohl fett als auch kursiv formatiert ist, sollte sie keine Simulationen unterstützen.

Die Offsets in der FONTSIM-Struktur sind relativ zur Basis der FONTSIM-Struktur.

lEmbedId

Gibt die Einbettungs-ID der Schriftart an. Dieser Wert ist TrueType-spezifisch und sollte von allen anderen Schriftartanbietern auf Null festgelegt werden.

lItalicAngle

Gibt den Kursivwinkel der Schriftart an. Dieser Wert ist TrueType-spezifisch und sollte von allen anderen Schriftartanbietern auf Null festgelegt werden.

lCharBias

Gibt die Zeichenverzerrung an. Dieser Wert ist TrueType-spezifisch und sollte von allen anderen Schriftartanbietern auf Null festgelegt werden.

dpCharSets

Gibt den Offset vom Anfang dieser IFIMETRICS-Struktur zu einem Array an, das eine Liste aller Windows-Zeichensätze enthält, die von dieser Schriftart unterstützt werden. Das Array ist 16 Bytes groß und wird immer mit DEFAULT_CHARSET beendet. Der erste Wert des Arrays sollte den Windows-Zeichensatz identifizieren, der die beste und vollständigste Abdeckung in der Schriftart aufweist. Dieser Wert sollte auch in jWinCharSet gespeichert werden. Wenn es sich bei instance um eine japanische Schriftart handelt, die auch US-ANSI- und kyrillische Zeichensätze unterstützt, sollte jWinCharSet auf SHIFTJIS_CHARSET festgelegt werden, und das von dpCharSets identifizierte Array würde SHIFTJIS_CHARSET, ANSI_CHARSET, RUSSIAN_CHARSET DEFAULT_CHARSET enthalten.

Wenn diese Schriftart nicht mehr als einen Windows-Zeichensatz unterstützt, sollte dpCharSets auf 0 (null) festgelegt werden.

jWinCharSet

Gibt den Zeichensatz an, der von dieser Schriftart am besten unterstützt wird. Wenn die Schriftart nur einen einzelnen Windows-Zeichensatz unterstützt, sollte der Treiber den entsprechenden Wert in jWinCharSet speichern. Der Treiber sollte DEFAULT_CHARSET in diesem Feld nicht speichern. Dieser Member kann einer der folgenden Werte sein:

Wert Bedeutung
ANSI_CHARSET Diese Schriftart unterstützt den Windows ANSI-Zeichensatz.
ARABIC_CHARSET Diese Schriftart unterstützt den arabischen Zeichensatz.
BALTIC_CHARSET Diese Schriftart unterstützt den Baltic-Zeichensatz.
CHINESEBIG5_CHARSET Diese Schriftart unterstützt den traditionellen chinesischen Zeichensatz (Big 5).
EASTEUROPE_CHARSET Diese Schriftart unterstützt den osteuropäischen Zeichensatz.
GB2312_CHARSET Diese Schriftart unterstützt den vereinfachten chinesischen Zeichensatz (PRC).
GREEK_CHARSET Diese Schriftart unterstützt den griechischen Zeichensatz.
HANGEUL_CHARSET Diese Schriftart unterstützt den koreanischen Zeichensatz (Hangeul).
HEBREW_CHARSET Diese Schriftart unterstützt den hebräischen Zeichensatz.
JOHAB_CHARSET Diese Schriftart unterstützt den koreanischen Zeichensatz (Johab).
OEM_CHARSET Diese Schriftart unterstützt einen OEM-spezifischen Zeichensatz. Der OEM-Zeichensatz ist systemabhängig.
SHIFTJIS_CHARSET Diese Schriftart unterstützt den Zeichensatz Shift-JIS (Japanese Industry Standard).
SYMBOL_CHARSET Diese Schriftart unterstützt den Windows-Symbolzeichensatz.
RUSSIAN_CHARSET Diese Schriftart unterstützt den kyrillischen Zeichensatz.
THAI_CHARSET Diese Schriftart unterstützt den thailändischen Zeichensatz.
TURKISH_CHARSET Diese Schriftart unterstützt den türkischen Zeichensatz.
VIETNAMESE_CHARSET Diese Schriftart unterstützt den vietnamesischen Zeichensatz.

jWinPitchAndFamily

Gibt die Tonhöhe der Schriftart an. Die beiden Bits mit niedriger Reihenfolge geben die Tonhöhe der Schriftart an und können einen der folgenden Werte aufweisen:

Wert Bedeutung
FIXED_PITCH Für Schriftarten mit fester Tonhöhe
VARIABLE_PITCH Für Schriftarten mit variabler Tonhöhe
 

Die Bits 4 bis 7 dieses Elements geben die Schriftfamilie an und können einer der folgenden Werte sein:

Wert Bedeutung
FF_DECORATIVE Neue Schriftarten, z. B. Altenglisch.
FF_DONTCARE Egal oder unbekannt.
FF_MODERN Schriftarten mit konstanter Strichbreite (feste Tonhöhe), mit oder ohne Serifen. Schriftarten mit fester Tonhöhe sind in der Regel modern, z. B. Pica, Elite und Courier.
FF_ROMAN Schriftarten mit variabler Strichbreite (proportional) und serifen, z. B. Times Roman, Palatino und Century Schoolbook.
FF_SCRIPT Schriftarten, die wie Handschrift aussehen, z. B. Script und Cursive.
FF_SWISS Schriftarten mit variabler Strichbreite (proportional) und ohne Serifen, z. B. Helvetica und Swiss.

usWinWeight

Gibt die Gewichtung der Schriftart im Bereich von 0 bis 1000 an (z. B. ist 400 normal und 700 fett). Dieser Wert wird der Anwendung im lfWeight-Member der Win32 LOGFONT-Struktur bereitgestellt.

flInfo

Gibt zusätzliche Informationen zur Schriftart an. Dieses Feld kann eine Kombination der folgenden Flagwerte sein:

FM_INFO_1BPP

Gibt an, dass eine Bitmap mit Glyphen eine Farbtiefe von einem Bit pro Pixel aufweist. Für Windows NT 3.1, die erste Version von Windows NT, muss dieses Flag festgelegt werden.

FM_INFO_4BPP

Gibt an, dass eine Glyphen-Bitmap eine Farbtiefe von vier Bits pro Pixel aufweist. Dies sollte vom Treiber festgelegt werden, wenn die Schriftart Antialiased Glyphen-Bitmaps mit 16 Graustufen unterstützt.

FM_INFO_8BPP

Gibt an, dass eine Glyphenbit-Bitmap eine Farbtiefe von acht Bits pro Pixel aufweist. Die aktuelle Version von GDI ignoriert diese Einstellung, da sie keine Farbschriftarten unterstützt.

FM_INFO_16BPP

Gibt an, dass eine Glyphen-Bitmap eine Farbtiefe von 16 Bit pro Pixel aufweist. Die aktuelle Version von GDI ignoriert diese Einstellung, da sie keine Farbschriftarten unterstützt.

FM_INFO_24BPP

Gibt an, dass eine Glyphenbit-Bitmap eine Farbtiefe von 24 Bit pro Pixel aufweist. Die aktuelle Version von GDI ignoriert diese Einstellung, da sie keine Farbschriftarten unterstützt.

FM_INFO_32BPP

Gibt an, dass eine Glyphen-Bitmap eine Farbtiefe von 32 Bits pro Pixel aufweist. Die aktuelle Version von GDI ignoriert diese Einstellung, da sie keine Farbschriftarten unterstützt.

FM_INFO_90DEGREE_ROTATIONS

Gibt an, dass die Schriftart in 90-Grad-Drehungen der ursprünglichen fiktiven Form realisiert werden kann. GDI fordert die Drehung einer Schriftart an, indem beim Erstellen der Schriftart die Drehung in die Transformation von Notional zu Gerät eingeschlossen wird, die an den Treiber übergeben wird. Dieses Element hat nur Bedeutung, wenn das FM_INFO_ARB_XFORMS-Flag nicht festgelegt wurde.

FM_INFO_ANISOTROPIC_SCALING_ONLY

Gibt an, dass die Schriftart nur eine beliebige anisotrope Skalierung unterstützt. Das heißt, Transformationen entsprechen einer diagonalen Matrix multipliziert mit einer positiven reellen Zahl. Wenn dieses Flag festgelegt ist, können die FM_INFO_ARB_XFORMS und die FM_INFO_ISOTROPIC_SCALING_ONLY-Flags nicht festgelegt werden. Wenn das FM_INFO_90DEGREE_ROTATIONS-Flag ebenfalls festgelegt ist, unterstützt die Schriftart Transformationen, die eine Kombination aus einer einfachen anisotropen Skalierung sind, gefolgt von einer Drehung um ein Vielfaches von 90 Grad.

FM_INFO_ARB_XFORMS

Gibt an, dass eine Schriftart unter einem kontinuierlichen Bereich von zweidimensionalen linearen Transformationen realisiert werden kann.

FM_INFO_CONSTANT_WIDTH

Gibt an, dass alle Glyphen der Schriftart unter allen Realisierungen den gleichen Wert von Zeichenkrement aufweisen. Wenn dieses Flag festgelegt ist, muss auch das FM_INFO_OPTICALLY_FIXED_PITCH-Flag festgelegt werden.

FM_INFO_DBCS_FIXED_PITCH

Gibt an, dass Doppelbytezeichen für diese Schriftart eine feste Tonhöhe sind. Es wird nichts mit Einzelbytezeichen impliziert. Dieses Flag ist nur für Schriftarten sinnvoll, die einen Double-Byte-Zeichensatz (DBCS) unterstützen, z. B. Umschalt-JIS. Schriftarten, die kein DBCS unterstützen, sollten dieses Flag nicht festlegen.

FM_INFO_DO_NOT_ENUMERATE

Gibt an, dass diese Schriftart nicht von den Win32-Routinen EnumFontFamiliesEx, EnumFontFamilies oder EnumFonts aufgelistet wird. Darüber hinaus wird die an einen Win32-Anwendungsaufruf von GetTextFace zurückgegebene Zeichenfolge aus der Zeichenfolge dpwszUniqueName abgerufen. Dieses Flag ermöglicht es dem Schriftartenanbieter, einer seiner Schriftarten mehr als eine IFIMETRICS-Struktur zuzuordnen.

FM_INFO_DSIG

Gibt an, dass eine Schriftart mit dem Unicode-Standard kompatibel ist.

FM_INFO_FAMILY_EQUIV

Gibt an, dass der DpwszFamilyName-Offset in IFIMETRICS tatsächlich der Offset auf eine Liste gleichwertiger Familiennamen oder Aliase ist. Der Vorname ist der Basis- oder Realname. die nachfolgenden Namen sind Entsprechungen oder Aliase. Jeder Name in der Liste ist NULL-beendet. die Liste wird mit zwei Nullen beendet.

<Basisname><0<>Alias 1><0>...<Alias n>
<0><0>

Die basierten Namen werden nur für die Zuordnung verwendet. sie werden nicht aufgelistet.

FM_INFO_IGNORE_TC_RA_ABLE

Gibt an, dass für diese Schriftart das flag TC_RA_ABLE ignoriert wird.

FM_INFO_INTEGER_WIDTH

Gibt an, dass alle Glyphen nichtfraktionale Vorlaufbreiten aufweisen. Bitmapschriftarten legen dieses Flag normalerweise fest.

FM_INFO_INTEGRAL_SCALING

Gibt an, dass die Schriftart um einen integralen Betrag in x- und y-Richtung skaliert werden kann. Wenn dieses Flag festgelegt ist, muss der Treiber in der Lage sein, Glyphen in dem Fall zu rendern, in dem die Transformation von "Notional to Device" durch integrale Mengen in x- und y-Richtung skaliert wird. GDI fordert die integrale Skalierung einer Schriftart an, indem die axialen Skalierungen in die Transformation von Notional zu Gerät eingeschlossen werden, die beim Erstellen der Schriftart an den Treiber übergeben wird. Dieses Flag ist nur dann sinnvoll, wenn das FM_INFO_ARB_XFORMS-Flag nicht festgelegt wurde.

FM_INFO_ISOTROPIC_SCALING_ONLY

Gibt an, dass die Schriftart nur die beliebige isotrope Skalierung unterstützt. Das heißt, Transformationen entsprechen der Identitätsmatrix multipliziert mit einer positiven reellen Zahl. Wenn dieses Flag festgelegt ist, können weder die FM_INFO_ARB_XFORMS noch die FM_INFO_ANISOTROPIC_SCALING_ONLY-Flags festgelegt werden. Wenn das flag FM_INFO_90DEGREE_ROTATIONS festgelegt ist, unterstützt die Schriftart Transformationen, die einer isotropen Skalierung entsprechen, gefolgt von einer Drehung um ein Vielfaches von 90 Grad.

FM_INFO_OPTICALLY_FIXED_PITCH

Gibt an, dass diese Schriftart typografisch als feste Tonhöhe betrachtet wird. Dies ist eine optische Qualität der Schriftart und weist nicht unbedingt darauf hin, dass alle Glyphen der Schriftart den gleichen Zeichenschritt aufweisen.

FM_INFO_NONNEGATIVE_AC

Gibt an, dass alle Glyphen dieser Schriftart keinen a- undc-Abstand aufweisen. Das heißt, das Schwarze Feld der Glyphen erstreckt sich nie außerhalb der Region, die durch den Zeichenursprung und den Zeichenverkettungspunkt umgrenzt ist.

FM_INFO_NOT_CONTIGUOUS

Gibt an, dass der unterstützte Zeichensatz nicht zusammenhängend ist.

FM_INFO_RETURNS_BITMAPS

Gibt an, dass die Schriftart eine gültige digitale Signatur enthält.

FM_INFO_RETURNS_OUTLINES

Gibt an, dass GDI für jede vom Treiber unterstützte Glyphe eine PATHOBJ-Struktur anfordern kann, die die Gliederung dieser Glyphe beschreibt. Wenn die Gliederung mit den Pfadfüllungskonventionen von GDI gefüllt wird, sollte die resultierende Bitmap mit der vom Treiber zurückgegebenen Bitmap identisch sein. Die flags FM_INFO_RETURNS_OUTLINES und FM_INFO_RETURNS_STOKES können nicht gleichzeitig festgelegt werden.

FM_INFO_RETURNS_STROKES

Gibt an, dass GDI für alle von den Treibern unterstützten Glyphen eine PATHOBJ-Struktur anfordern kann, die die Spline der Glyphe beschreibt. Dieser Pfad kann nicht ausgefüllt, aber striche werden, um eine Darstellung der Glyphe zu erhalten. Die flags FM_INFO_RETURNS_OUTLINES und FM_INFO_RETURNS_STOKES können nicht gleichzeitig festgelegt werden.

FM_INFO_RIGHT_HANDED

Gibt an, dass die Aufstiegsrichtung der Schriftart 90 Grad gegen den Uhrzeigersinn von der Basisrichtung ist. Die Aufstiegsrichtung ist die Richtung, in der die Höhe gemessen wird, und ist immer senkrecht zur Basisrichtung.

FM_INFO_TECH_BITMAP

Gibt an, dass es sich bei der Schriftart um eine Bitmapschriftart handelt.

FM_INFO_TECH_CFF

Gibt an, dass es sich bei der Schriftart um eine Pscript OpenType-Schriftart handelt, die eine CFF-Tabelle (Compact Font Format) enthält.

FM_INFO_TECH_MM

Gibt an, dass es sich um eine Mm-Schriftart (Multiple Master) handelt.

FM_INFO_TECH_OUTLINE_NOT_TRUETYPE

Gibt an, dass die Schriftart auf einer skalierbaren Schriftarttechnologie basiert, die Gliederungspfade verwendet, aber nicht auf TrueType basiert. Dieses Flag gibt nicht an, ob die für diese Schriftart zurückgegebenen Pfade gefüllt oder gestrichelt werden sollen. der Verbraucher sollte die FM_INFO_RETURNS_STROKES und FM_INFO_RETURNS_OUTLINES Flags auf diese Informationen untersuchen.

FM_INFO_TECH_STROKE

Gibt an, dass die Schriftart auf einer Technologie mit Strichen basiert. Dieses Flag gibt nicht an, ob die für diese Schriftart zurückgegebenen Pfade gefüllt oder gestrichelt werden sollen. Der Verbraucher sollte die FM_INFO_RETURNS_STROKES und FM_INFO_RETURNS_OUTLINES Flags für diese Informationen überprüfen.

FM_INFO_TECH_TRUETYPE

Gibt an, dass es sich bei der Schriftart um eine TrueType-Schriftart handelt.

FM_INFO_TECH_TYPE1

Gibt an, dass es sich bei dieser Schriftart um eine PostScript-Bildschirmschriftart handelt (entweder Type1 oder OpenType PostScript).

fsSelection

Gibt eine Kombination der folgenden Flags an:

Wert Bedeutung
FM_SEL_BOLD Legen Sie fest, ob die Zeichen der Schriftart fett formatiert sind.
FM_SEL_ITALIC Legen Sie fest, ob die Zeichen der Schriftart kursiv sind.
FM_SEL_NEGATIVE Legen Sie fest, ob die Zeichen der Schriftart den Vordergrund und den Hintergrund umgekehrt haben.
FM_SEL_OUTLINED Legen Sie fest, ob die Zeichen der Schriftart leer sind.
FM_SEL_REGULAR Legen Sie fest, ob die Zeichen der Schriftart normal gewichtet sind.
FM_SEL_STRIKEOUT Legen Sie fest, ob die Zeichen der Schriftart standardmäßig ausgeschlagen sind. Andernfalls müssen Streiks simuliert werden.
FM_SEL_UNDERSCORE Legen Sie fest, ob alle Zeichen der Schriftart standardmäßig unterstrichen sind. Andernfalls muss eine Unterbeachtung simuliert werden.

fsType

Dies ist ein TrueType-spezifisches Bitfeld, das bestimmte Eigenschaften für die Schriftart angibt, z. B. Einbettung von Schriftarten und Lizenzierungsrechte für die Schriftart. Einbettbare Schriftarten können in einem Dokument gespeichert werden. Wenn ein Dokument mit eingebetteten Schriftarten auf einem System geöffnet wird, auf dem die Schriftart nicht installiert ist (das Remotesystem), kann die eingebettete Schriftart zur temporären (und in einigen Fällen dauerhaften) Verwendung auf diesem System durch eine einbettungsfähige Anwendung geladen werden. Einbettungslizenzierungsrechte werden vom Anbieter der Schriftart gewährt. Die folgenden Flags können festgelegt werden:

Wert Bedeutung
FM_EDITABLE_EMBED Legen Sie fest, ob die Schriftart eingebettet und vorübergehend in andere Systeme geladen werden kann. Dokumente, die bearbeitbare Schriftarten enthalten, können zum Lesen und Schreiben geöffnet werden.
FM_READONLY_EMBED Legen Sie fest, ob die Einbettung mit Lese-/Schreibzugriff nicht zulässig ist. nur die Kapselung "Vorschau und Drucken" ist zulässig. Wenn dieses Bit festgelegt ist, kann die Schriftart eingebettet und vorübergehend auf das Remotesystem geladen werden. Dokumente, die Schriftarten "Vorschau und Drucken" enthalten, müssen schreibgeschützt geöffnet werden; keine Bearbeitungen können auf das Dokument angewendet werden.
FM_TYPE_LICENSED
FM_NO_EMBEDDING
Legen Sie fest, ob es sich bei der Schriftart um eine Schriftart mit eingeschränkter Lizenz handelt. Wenn nur dieses Bit festgelegt ist, darf diese Schriftart nicht geändert, eingebettet oder ausgetauscht werden, ohne zuvor die Genehmigung des rechtmäßigen Besitzers einzuholen. Damit die Einbettung mit eingeschränkter Lizenz wirksam wird, muss es sich um die einzige ausgewählte Ebene der Einbettung handeln.
 

Schriftarten mit dem FM_READONLY_EMBED Bitsatz geben an, dass sie in Dokumente eingebettet werden können, aber nur vorübergehend auf dem Remotesystem installiert werden müssen. Jedes Dokument, das eine FM_READONLY_EMBED Schriftart enthält, muss schreibgeschützt geöffnet werden. Das heißt, die Anwendung kann dem Benutzer das Dokument anzeigen und/oder drucken, aber nicht bearbeiten.

Schriftarten mit dem FM_EDITABLE_EMBED Bitsatz geben an, dass sie in Dokumente eingebettet werden können, aber nur vorübergehend auf dem Remotesystem installiert werden müssen. Im Gegensatz zu FM_READONLY_EMBED Schriftarten können Dokumente, die bearbeitbare Schriftarten enthalten, geöffnet werden: "Lese-/Schreibzugriff" ist zulässig, und Änderungen können gespeichert werden.

Schriftarten ohne festgelegte fsType-Bits geben an, dass sie von einer Anwendung eingebettet und dauerhaft auf dem Remotesystem installiert werden können. Der Nutzer des Remotesystems erwirbt die gleichen Rechte, Pflichten und Lizenzen für diese Schriftart wie der ursprüngliche Käufer der Schriftart und unterliegt demselben Endbenutzer-Lizenzvertrag, Urheberrecht, Designpatent und/oder Marke wie der ursprüngliche Käufer.

Anwendungen, die die Unterstützung für die Einbettung von Schriftarten implementieren, entweder durch Verwendung der DLL zum Einbetten von Schriftarten oder durch andere Mittel, dürfen keine Schriftarten einbetten, die nicht für die Einbettung lizenziert sind. Darüber hinaus müssen Anwendungen, die eingebettete Schriftarten zur temporären Verwendung laden, die Schriftarten löschen, wenn das Dokument, das die eingebettete Schriftart enthält, geschlossen wird.

Wenn mehrere Einbettungsbits festgelegt sind, hat die gewährte lizenz mit der geringsten Einschränkung Vorrang. Wenn beispielsweise die Bits 1 und 3 festgelegt sind, hat Bit 3 Vorrang vor Bit 1, und die Schriftart kann mit bearbeitbaren Rechten eingebettet werden. Aus Kompatibilitätsgründen legen die meisten Anbieter, die Bearbeitbare Einbettungsrechte gewähren, auch das Vorschau-& Druckbit (0x000C) fest. Dies ermöglicht es einer Anwendung, die nur vorschau- & Druckeinbettung unterstützt, zu erkennen, dass die Einbettung von Schriftarten zulässig ist.

fwdUnitsPerEm

Gibt die Höhe der Schriftart an.

fwdLowestPPEm

Gibt die kleinste lesbare Größe der Schriftart in Pixel an. Dieser Wert wird für Bitmapschriftarten ignoriert.

fwdWinAscender

Gibt den aufsteigenden Windows-Wert für die Schriftart an.

fwdWinDescender

Gibt den Windows-Nachfolgerwert für die Schriftart an.

fwdMacAscender

Gibt den macintosh-aufsteigenden Wert für die Schriftart an.

fwdMacDescender

Gibt den Macintosh-Nachfolgerwert für die Schriftart an. Diese Zahl ist in der Regel kleiner als 0 (null). Es misst die Verschiebung von Vorzeichen aus der Basiszeile des niedrigsten Nachfolgers im Macintosh-Zeichensatz.

fwdMacLineGap

Gibt die Macintosh-Zeilenlücke für die Schriftart an. Der vorgeschlagene Macintosh-Interlineabstand entspricht fwdMacLineGap + fwdMacAscenderfwdMacDescender.

fwdTypoAscender

Gibt den typografischen aufsteigenden Wert für die Schriftart an.

fwdTypoDescender

Gibt den typografischen Nachfolgerwert für die Schriftart an. Dieser Wert gibt die signierte Verschiebung des niedrigsten Nachfolgers von der Baseline an.

fwdTypoLineGap

Gibt den typografischen Zeilenabstand für die Schriftart an.

fwdAveCharWidth

Gibt den arithmetischen Mittelwert der Breite aller 26 Kleinbuchstaben "a" bis "z" des lateinischen Alphabets und des Leerzeichens an. Wenn einer der 26 Kleinbuchstaben nicht vorhanden ist, sollte dieser Member gleich dem gewichteten Durchschnitt aller Glyphen in der Schriftart festgelegt werden.

fwdMaxCharInc

Gibt die maximale Zeicheninkrementierung aller Glyphen in der Schriftart an.

fwdCapHeight

Gibt die Höhe der optischen Linie an, die den oberen Rand des Großbuchstabens "H" in Schrifteinheiten (FUnits) beschreibt. Dies ist möglicherweise nicht mit der gemessenen Höhe des Großbuchstabens "H" identisch. Wenn diese Informationen nicht vorhanden sind, sollte fwdCapHeight auf null festgelegt werden, was angibt, dass sie nicht definiert ist.

fwdXHeight

Gibt die Höhe der optischen Linie an, die die Höhe des Kleinbuchstabens "x" in Schrifteinheiten beschreibt. Dies ist möglicherweise nicht mit der gemessenen Höhe des Kleinbuchstabens "x" identisch. Der Wert 0 (null) gibt an, dass dieser Member nicht definiert ist.

fwdSubscriptXSize

Gibt die vorgeschlagene Zeichenbreite (die Größe entlang der Basisrichtung) der tiefgestellten Schriftart an.

fwdSubscriptYSize

Gibt die vorgeschlagene Zeichenhöhe (die Größe entlang der aufsteigenden Richtung) der tiefgestellten Schriftart an.

fwdSubscriptXOffset

Gibt den vorgeschlagenen Offset in der Basisrichtung des tiefgestellten Zeichens an. Der Offset entspricht dem Zeichenursprung des Basiszeichens.

fwdSubscriptYOffset

Gibt den vorgeschlagenen Offset in der Basisrichtung des tiefgestellten Zeichens an. Der Offset stammt aus dem Zeichenursprung des Basiszeichens.

fwdSuperscriptXSize

Gibt die vorgeschlagene Zeichenbreite (die Größe entlang der Basisrichtung) der hochgestellten Schriftart an.

fwdSuperscriptYSize

Gibt die vorgeschlagene Zeichenhöhe (die Größe entlang der aufsteigenden Richtung) der hochgestellten Schriftart an.

fwdSuperscriptXOffset

Gibt den vorgeschlagenen Offset in der Baselinerichtung des hochgestellten Zeichens an. Der Offset stammt aus dem Zeichenursprung des Basiszeichens.

fwdSuperscriptYOffset

Gibt den vorgeschlagenen Offset in der Baselinerichtung des hochgestellten Zeichens an. Der Offset stammt aus dem Zeichenursprung des Basiszeichens.

fwdUnderscoreSize

Gibt die vorgeschlagene Breite der Unterstrichsleiste in Schrifteinheiten an.

fwdUnderscorePosition

Gibt die vorgeschlagene Verschiebung in Schrifteinheiten von der Basislinie zur Mitte der Unterstrichleiste an.

fwdStrikeoutSize

Gibt die vorgeschlagene Breite der durchgestrichenen Leiste in Schriftkoordinaten an.

fwdStrikeoutPosition

Gibt die vorgeschlagene Verschiebung der Mitte des Streichungsbalkens von der Baseline an.

chFirstChar

Gibt das niedrigste unterstützte Zeichen in der Codepage an, die in jWinCharSet angegeben ist. Dieses Feld wird für die Kompatibilität mit Windows 3.1 bereitgestellt.

chLastChar

Gibt das höchste unterstützte Zeichen in der Codepage an, die in jWinCharSet angegeben ist. Dieses Feld wird für die Kompatibilität mit Windows 3.1 bereitgestellt.

chDefaultChar

Gibt das Standardzeichen in der Codepage an, die in jWinCharSet angegeben ist. Dieses Feld wird für die Kompatibilität mit Windows 3.1 bereitgestellt.

chBreakChar

Gibt das Umbruchzeichen in der Codepage an, die in jWinCharSet angegeben ist. Dieses Feld wird für die Windows 3.1-Kompatibilität bereitgestellt.

wcFirstChar

Gibt das unterstützte Zeichen mit dem kleinsten Unicode-Zeichencode an.

wcLastChar

Gibt das unterstützte Zeichen mit dem größten Unicode-Zeichencode an.

wcDefaultChar

Gibt das Zeichen an, das ersetzt werden soll, wenn eine Anwendung ein Zeichen anfordert, das von der Schriftart nicht unterstützt wird.

wcBreakChar

Gibt den Codepunkt des Leerzeichens oder dessen Entsprechung an.

ptlBaseline

Gibt eine POINTL-Struktur an, die die beabsichtigte Schreibrichtung dieser Schriftart enthält. Eine typische lateinische Schriftart gibt beispielsweise den Wert (1,0) an.

ptlAspect

Gibt eine POINTL-Struktur an, die das Seitenverhältnis der Pixelzentren enthält, für die die Bitmapschriftart entworfen wurde. Dieser Wert wird nur von Bitmapschriftarten verwendet.

ptlCaret

Gibt eine POINTL-Struktur an, die die Richtung der aufsteigenden Richtung der Schriftart enthält. Beispielsweise ist der Wert für eine nichtitalicisierte lateinische Schriftart (0,1), während eine kursiv formatierte lateinische Schriftart den Wert (2,5) angeben kann.

rclFontBox

Gibt eine RECTL-Struktur an, die das Begrenzungsfeld aller Glyphen in der Schriftart im Entwurfsbereich beschreibt.

achVendId[4]

Gibt einen Vierzeichenbezeichner für den Schriftartenhersteller an. Bezeichner sind in der Microsoft TrueType-Spezifikation dokumentiert.

cKerningPairs

Gibt die Anzahl der Kerningpaare an, die dieser Schriftart zugeordnet sind.

ulPanoseCulture

Gibt die Art und Weise an, in der die Panosezahl interpretiert werden soll. Diese Zahl sollte für lateinische Schriftarten auf FM_PANOSE_CULTURE_LATIN festgelegt werden. Informationen zur PANOSE-Struktur finden Sie in der Dokumentation zum Microsoft Window SDK.

panose

Ist ein Array von 10 Bytes, das verwendet wird, um die visuellen Merkmale einer bestimmten Schriftart zu beschreiben. Diese Merkmale werden dann verwendet, um die Schriftart anderen Schriftarten ähnlicher Darstellung mit unterschiedlichen Namen zuzuordnen. Informationen zur PANOSE-Struktur finden Sie in der Dokumentation zum Window SDK.

Align

Dieses Element wird nur definiert, wenn die _WIN64-Konstante definiert ist. Ihr einziger Zweck besteht darin, sicherzustellen, dass diese Struktur ordnungsgemäß unter der Itanium-Architektur ausgerichtet ist.

Hinweise

Zusätzliche Informationen zu einer Schriftart können optional in der IFIEXTRA-Struktur angegeben werden.

Die DrvQueryFont-Routine eines Treibers füllt aus und gibt eine IFIMETRICS-Struktur an GDI zurück.

Die IFIMETRICS-Struktur definiert alle Informationen für eine Schriftart, die GDI versteht. Die meisten Member sind FWORD-Werte, bei denen es sich um signierte 16-Bit-Mengen im Entwurfsbereich handelt. Wenn es sich bei der Schriftart um eine Rasterschriftart handelt, sind Entwurfsraum und Geräteraum identisch, und eine Schrifteinheit entspricht dem Abstand zwischen Pixeln.

Das Koordinatensystem im Schrift-/Nominalraum ist so, dass die y-Koordinate in richtungwärts und die x-Koordinate nach rechts ansteigt.

Das Align-Element der IFIMETRICS-Struktur bewirkt, dass es für x64-Computer größer ist als für x32-Computer, was Auswirkungen für Dateien im Binärschriftformat aufweist, die gemäß dieser Struktur formatiert sind. Ab Windows Server 2003 SP1 wurde Prntfont.h: PRINTIFI32 eine zusätzliche Struktur mit fester Größe hinzugefügt. Die PRINTIFI32-Struktur ist mit der IFIMETRICS-Struktur identisch, mit der Ausnahme, dass sie kein Align-Element enthält.

Anforderungen

Anforderung Wert
Header winddi.h (einschließlich Winddi.h)

Weitere Informationen

DrvQueryFont

IFIEXTRA

PATHOBJ