PRINTIFI32-Struktur (prntfont.h)

Die PRINTIFI32-Struktur ist eine Version der IFIMETRICS-Struktur mit fester Größe und definiert Informationen für eine bestimmte Schriftart, die GDI verwenden kann.

Syntax

typedef struct _PRINTIFI32 {
  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;
} PRINTIFI32, *PPRINTIFI32;

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 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 sofort dieser 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 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 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 BESCHREIBUNG
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 BESCHREIBUNG
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 BESCHREIBUNG
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 ist 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:

Wert

Bedeutung

FM_INFO_1BPP

Gibt an, dass eine Glyphen-Bitmap 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 Glyphenbitbit-Bitmap eine Farbtiefe von vier Bits pro Pixel aufweist. Der Treiber sollte dies festlegen, wenn die Schriftart Antialiased Glyphen-Bitmaps mit 16 Graustufen unterstützt.

FM_INFO_8BPP

Gibt an, dass eine Glyphen-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 Glyphenbitbit 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 Glyphenbitbit eine Farbtiefe von 24 Bits pro Pixel aufweist. Die aktuelle Version von GDI ignoriert diese Einstellung, da sie keine Farbschriftarten unterstützt.

FM_INFO_32BPP

Gibt an, dass eine Glyphenbitbit 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 Drehungen der ursprünglichen fiktiven Form um 90 Grad realisiert werden kann. GDI fordert die Drehung einer Schriftart an, indem die Drehung in die Transformation vom Typ zum Gerät eingeschlossen wird, die beim Erstellen der Schriftart an den Treiber übergeben wird. Dieser Member hat nur dann Bedeutung, wenn das flag FM_INFO_ARB_XFORMS nicht festgelegt wurde.

FM_INFO_ANISOTROPIC_SCALING_ONLY

Gibt an, dass die Schriftart nur die 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 auch das flag FM_INFO_90DEGREE_ROTATIONS festgelegt ist, unterstützt die Schriftart Transformationen, die eine Kombination aus einer einfachen anisotropen Skalierung gefolgt von einer Drehung um ein Vielfaches von 90 Grad sind.

FM_INFO_ARB_XFORMS

Gibt an, dass eine Schriftart in 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 Zeicheninkrement 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 aufweisen. An einzelnen Bytezeichen wird nichts impliziert. Dieses Flag ist nur für Schriftarten sinnvoll, die einen Double-Byte-Zeichensatz (DBCS) unterstützen, z. B. shift 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 aufgezählt 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, mehr als eine PRINTIFI32-Struktur einer seiner Schriftarten 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 PRINTIFI32 tatsächlich der Offset zu einer Liste gleichwertiger Familiennamen oder Aliase ist. Der Vorname ist der Basis- oder Realname; die nachfolgenden Namen sind Äquivalente oder Aliase. Jeder Name in der Liste ist NULL-endend; die Liste wird durch zwei Nullen beendet.

<base name> <alias 0> <alias 1> ... <alias n>

Die basierenden Namen werden nur für die Zuordnung verwendet. sie werden nicht aufgezählt.

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 Vorwärtsbreiten aufweisen. Bitmapschriftarten legen dieses Flag in der Regel 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, wenn die Transformation des Nominals zu Gerät nach integralen Mengen in x- und y-Richtung skaliert wird. GDI fordert die integrale Skalierung einer Schriftart an, indem die axialen Skalierungen in die Transformation vom Typ "Notional to Device" eingeschlossen werden, die beim Erstellen der Schriftart an den Treiber übergeben wird. Dieses Flag ist nur dann sinnvoll, wenn das flag FM_INFO_ARB_XFORMS 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 das gleiche Zeichen inkrementieren.

FM_INFO_NONNEGATIVE_AC

Gibt an, dass alle Glyphen dieser Schriftart nicht deegative a - und c-Abstände aufweisen. Das heißt, das Schwarze Feld der Glyphen erstreckt sich niemals außerhalb des Bereichs, der vom Zeichenursprung und dem Zeichenverkettungspunkt umgeben 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 alle vom Treiber unterstützten Glyphen eine PATHOBJ-Struktur anfordern kann, die die Gliederung dieser Glyphe beschreibt. Wenn die Gliederung mit den Pfadfüllkonventionen von GDI gefüllt wird, sollte die resultierende Bitmap nach Möglichkeit 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, sondern gestrichelt 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 Basislinie ist. Die Aufstiegsrichtung ist die Richtung, entlang 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 für diese Informationen überprüfen.

FM_INFO_TECH_STROKE

Gibt an, dass die Schriftart auf einer Strichschrifttechnologie 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_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 BESCHREIBUNG
FM_SEL_BOLD Legen Sie fest, ob die Zeichen der Schriftart fett sind.
FM_SEL_ITALIC Legen Sie fest, ob die Zeichen der Schriftart kursiv sind.
FM_SEL_NEGATIVE Legen Sie fest, ob für die Zeichen der Schriftart der Vordergrund und der Hintergrund umgekehrt sind.
FM_SEL_OUTLINED Legen Sie fest, ob die Zeichen der Schriftart hohl 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 Strikeouts simuliert werden.
FM_SEL_UNDERSCORE Legen Sie fest, ob alle Zeichen der Schriftart standardmäßig unterstrichen sind; Andernfalls muss eine Unterkorrektur simuliert werden.

fsType

Dies ist ein TrueType-spezifisches Bitfeld, das bestimmte Eigenschaften für die Schriftart angibt, z. B. die Einbettung von Schriftarten und Lizenzrechte 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. Einbettungsrechte werden vom Schriftartenhersteller gewährt. Die folgenden Flags können festgelegt werden:

Wert BESCHREIBUNG
FM_EDITABLE_EMBED Legen Sie fest, ob die Schriftart eingebettet und vorübergehend auf anderen Systemen 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; es können keine Bearbeitungen auf das Dokument angewendet werden.
FM_TYPE_LICENSED, FM_NO_EMBEDDING Legen Sie fest, ob es sich bei der Schriftart um eine Eingeschränkte Lizenzschrift 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 dies die einzige ausgewählte Einbettungsebene sein.

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. Die Bearbeitung ist erlaubt 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 Benutzer 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, demselben Urheberrecht, einem Designpatent und/oder derselben Marke wie der ursprüngliche Käufer.

Anwendungen, die die Unterstützung für die Einbettung von Schriftarten implementieren, sei es durch die Verwendung der Font Embedding-DLL oder auf andere Wege, dürfen keine Schriftarten einbetten, die nicht lizenziert sind, um die Einbettung zuzulassen. 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 am wenigsten einschränkende Lizenz Vorrang. Wenn beispielsweise 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 die Vorschauversion & Druckbit (0x000C) fest. Dies ermöglicht einer Anwendung, die nur die Einbettung von Vorschau & Drucken unterstützt, um zu erkennen, dass die Einbettung von Schriftarten zulässig ist.

fwdUnitsPerEm

Gibt die Em-Height der Schriftart an.

fwdLowestPPEm

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

fwdWinAscender

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

fwdWinDescender

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

fwdMacAscender

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

fwdMacDescender

Gibt den Macintosh-Abstiegswert für die Schriftart an. Diese Zahl ist in der Regel kleiner als 00. Es misst die signierte Verschiebung aus der Basiszeile des niedrigsten Abfolgers im Macintosh-Zeichensatz.

fwdMacLineGap

Gibt die Macintosh-Zeilenlücke für die Schriftart an. Der vorgeschlagene Macintosh-Zwischenabstand entspricht fwdMacLineGap + fwdMacAscender âˆ' fwdMacDescender.

fwdTypoAscender

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

fwdTypoDescender

Gibt den typografischen absteigenden Wert für die Schriftart an. Dieser Wert gibt die signierte Verschiebung des niedrigsten Abstamms aus der Baseline an.

fwdTypoLineGap

Gibt die typografische Zeilenlücke 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 Schriftarteinheiten (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 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 ist in Bezug auf den 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 Baselinerichtung) 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 Basisrichtung des hochgestellten Zeichens an. Der Offset stammt aus dem Zeichenursprung des Basiszeichens.

fwdSuperscriptYOffset

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

fwdUnderscoreSize

Gibt die vorgeschlagene Breite der Unterstrichleiste in Schrifteinheiten an.

fwdUnderscorePosition

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

fwdStrikeoutSize

Gibt die vorgeschlagene Breite der Streichleiste in Schriftkoordinaten an.

fwdStrikeoutPosition

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

chFirstChar

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

chLastChar

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

chDefaultChar

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

chBreakChar

Gibt das Umbruchzeichen in der Codepage an, die in jWinCharSet angegeben ist. Dieses Feld wird für die Kompatibilität mit Windows 3.1 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 zu ersetzende Zeichen an, 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. Beispielsweise gibt eine typische lateinische Schriftart 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 nicht italicisierte 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 an, wie 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 Windows SDK-Dokumentation.

Hinweise

Die PRINTIFI32-Struktur ist in Windows Server 2003 SP1 und höher verfügbar. Da diese Struktur eine feste Größe hat und sich garantiert nicht über Architekturen oder Betriebssystemversionen hinweg ändert, kann sie für Binäre Dateilayouts verwendet werden. Unidrv-UFM-Dateien werden für alle Plattformen im in dieser Struktur beschriebenen Format angeordnet. Pscript5 NTF-Dateien verwenden die plattformspezifische Version dieser Struktur.

Zusätzliche Informationen für eine Schriftart können optional in der IFIEXTRA-Struktur angegeben werden.

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

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

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

Anforderungen

Anforderung Wert
Header prntfont.h (prntfont.h einschließen)

Weitere Informationen

IFIMETRICS