TEXTMETRICA-Struktur (wingdi.h)
Die TEXTMETRIC-Struktur enthält grundlegende Informationen zu einer physischen Schriftart. Alle Größen werden in logischen Einheiten angegeben; Das heißt, sie hängen vom aktuellen Zuordnungsmodus des Anzeigekontexts ab.
Syntax
typedef struct tagTEXTMETRICA {
LONG tmHeight;
LONG tmAscent;
LONG tmDescent;
LONG tmInternalLeading;
LONG tmExternalLeading;
LONG tmAveCharWidth;
LONG tmMaxCharWidth;
LONG tmWeight;
LONG tmOverhang;
LONG tmDigitizedAspectX;
LONG tmDigitizedAspectY;
BYTE tmFirstChar;
BYTE tmLastChar;
BYTE tmDefaultChar;
BYTE tmBreakChar;
BYTE tmItalic;
BYTE tmUnderlined;
BYTE tmStruckOut;
BYTE tmPitchAndFamily;
BYTE tmCharSet;
} TEXTMETRICA, *PTEXTMETRICA, *NPTEXTMETRICA, *LPTEXTMETRICA;
Member
tmHeight
Die Höhe (Auf- und Abstieg) der Zeichen.
tmAscent
Der Anstieg (Einheiten über der Basiszeile) von Zeichen.
tmDescent
Der Abstieg (Einheiten unterhalb der Basiszeile) von Zeichen.
tmInternalLeading
Die Menge an führendem (Leerzeichen) innerhalb der Grenzen, die vom tmHeight-Element festgelegt werden. Akzentmarken und andere diakritische Zeichen können in diesem Bereich auftreten. Der Designer kann diesen Member auf 0 (null) festlegen.
tmExternalLeading
Die Menge an zusätzlichen führenden Zeilen (Leerzeichen), die die Anwendung zwischen Zeilen hinzufügt. Da sich dieser Bereich außerhalb der Schriftart befindet, enthält er keine Markierungen und wird nicht durch Textausgabeaufrufe im OPAQUE- oder TRANSPARENT-Modus geändert. Der Designer kann diesen Member auf 0 (null) festlegen.
tmAveCharWidth
Die durchschnittliche Breite der Zeichen in der Schriftart (im Allgemeinen definiert als Breite des Buchstabens x ). Dieser Wert enthält nicht den Überhang, der für fett formatierte oder kursive Zeichen erforderlich ist.
tmMaxCharWidth
Die Breite des breitesten Zeichens in der Schriftart.
tmWeight
Die Gewichtung der Schriftart.
tmOverhang
Die zusätzliche Breite pro Zeichenfolge, die bei einigen synthetischen Schriftarten hinzugefügt werden kann. Beim Synthesieren einiger Attribute, z. B. fett oder kursiv, muss die Grafikgeräteschnittstelle (Graphics Device Interface, GDI) oder ein Gerät möglicherweise eine Breite zu einer Zeichenfolge auf Zeichen- und Zeichenfolgenbasis hinzufügen. Beispielsweise macht GDI eine Zeichenfolge fett, indem der Abstand jedes Zeichens erweitert und um einen Offsetwert übergibt. Eine Schriftart wird kursiv durch Scheren der Zeichenfolge italisiert. In beiden Fällen gibt es einen Überhang über die grundlegende Zeichenfolge hinaus. Bei fett formatierten Zeichenfolgen ist der Überhang der Abstand, um den der Überdruck versetzt wird. Bei kursiv formatierten Zeichenfolgen ist der Überhang der Betrag, in dem der obere Rand der Schriftart am unteren Rand der Schriftart vorbeigestrichen wird.
Das tmOverhang-Element ermöglicht es der Anwendung zu bestimmen, wie viel der Zeichenbreite, die von einem GetTextExtentPoint32-Funktionsaufruf für ein einzelnes Zeichen zurückgegeben wird, die tatsächliche Zeichenbreite ist und wie viel die zusätzliche Breite pro Zeichenfolge ist. Die tatsächliche Breite ist der Umfang abzüglich des Überhangs.
tmDigitizedAspectX
Der horizontale Aspekt des Geräts, für das die Schriftart entwickelt wurde.
tmDigitizedAspectY
Der vertikale Aspekt des Geräts, für das die Schriftart entwickelt wurde. Das Verhältnis der Elemente tmDigitizedAspectX und tmDigitizedAspectY ist das Seitenverhältnis des Geräts, für das die Schriftart entworfen wurde.
tmFirstChar
Der Wert des ersten Zeichens, das in der Schriftart definiert ist.
tmLastChar
Der Wert des letzten in der Schriftart definierten Zeichens.
tmDefaultChar
Der Wert des Zeichens, das durch Zeichen ersetzt werden soll, die nicht in der Schriftart enthalten sind.
tmBreakChar
Der Wert des Zeichens, das zum Definieren von Wortumbrüchen für die Textausrichtung verwendet wird.
tmItalic
Gibt eine kursiv formatierte Schriftart an, wenn sie ungleich null ist.
tmUnderlined
Gibt eine unterstrichene Schriftart an, wenn sie ungleich null ist.
tmStruckOut
Eine durchgestrichene Schriftart, wenn sie ungleich null ist.
tmPitchAndFamily
Gibt Informationen zur Tonhöhe, zur Technologie und zur Familie einer physischen Schriftart an.
Die vier Bits mit niedriger Reihenfolge dieses Elements geben Informationen zur Tonhöhe und zur Technologie der Schriftart an. Für jedes der vier Bits wird eine Konstante definiert.
Konstante | Bedeutung |
---|---|
TMPF_FIXED_PITCH | Wenn dieses Bit festgelegt ist, ist die Schriftart eine Schriftart mit variabler Tonhöhe. Wenn dieses Bit klar ist, ist die Schriftart eine schriftart mit fester Tonhöhe. Beachten Sie sehr sorgfältig, dass diese Bedeutungen das Gegenteil von dem sind, was der konstante Name impliziert. |
TMPF_VECTOR | Wenn dieses Bit festgelegt ist, ist die Schriftart eine Vektorschriftart. |
TMPF_TRUETYPE | Wenn dieses Bit festgelegt ist, ist die Schriftart eine TrueType-Schriftart. |
TMPF_DEVICE | Wenn dieses Bit festgelegt ist, ist die Schriftart eine Geräteschriftart. |
Eine Anwendung sollte sorgfältig auf Qualitäten testen, die in diesen Bits mit niedriger Ordnung codiert sind, ohne willkürliche Annahmen zu treffen. Neben eigenen Bits legen trueType- und PostScript-Schriftarten beispielsweise das TMPF_VECTOR Bit fest. Eine Bitmapschriftart mit monospace weist alle diese Bits mit niedriger Reihenfolge eindeutig auf. Eine proportionale Bitmapschriftart legt das TMPF_FIXED_PITCH Bit fest. Eine Postscript-Druckergeräteschriftart legt die TMPF_DEVICE, TMPF_VECTOR und TMPF_FIXED_PITCH Bits fest.
Die vier hochgeordneten Bits von tmPitchAndFamily bestimmen die Schriftfamilie der Schriftart. Eine Anwendung kann den Wert 0xF0 und den bitweisen AND-Operator verwenden, um die vier Bits mit niedriger Reihenfolge von tmPitchAndFamily zu maskieren und so einen Wert zu erhalten, der direkt mit Schriftartenfamiliennamen verglichen werden kann, um eine identische Übereinstimmung zu finden. Informationen zu Schriftfamilien finden Sie in der Beschreibung der LOGFONT-Struktur .
tmCharSet
Der Zeichensatz der Schriftart. Der Zeichensatz kann einer der folgenden Werte sein.
- ANSI_CHARSET
- BALTIC_CHARSET
- CHINESEBIG5_CHARSET
- DEFAULT_CHARSET
- EASTEUROPE_CHARSET
- GB2312_CHARSET
- GREEK_CHARSET
- HANGUL_CHARSET
- MAC_CHARSET
- OEM_CHARSET
- RUSSIAN_CHARSET
- SHIFTJIS_CHARSET
- SYMBOL_CHARSET
- TURKISH_CHARSET
- VIETNAMESE_CHARSET
- JOHAB_CHARSET
- ARABIC_CHARSET
- HEBREW_CHARSET
- THAI_CHARSET
Hinweise
Hinweis
Der wingdi.h-Header definiert TEXTMETRIC als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Kopfzeile | wingdi.h (windows.h einschließen) |
Weitere Informationen
Schriftarten- und Textstrukturen