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. |
|
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 + fwdMacAscender − fwdMacDescender.
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) |