TEXTMETRICW-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 tagTEXTMETRICW {
  LONG  tmHeight;
  LONG  tmAscent;
  LONG  tmDescent;
  LONG  tmInternalLeading;
  LONG  tmExternalLeading;
  LONG  tmAveCharWidth;
  LONG  tmMaxCharWidth;
  LONG  tmWeight;
  LONG  tmOverhang;
  LONG  tmDigitizedAspectX;
  LONG  tmDigitizedAspectY;
  WCHAR tmFirstChar;
  WCHAR tmLastChar;
  WCHAR tmDefaultChar;
  WCHAR tmBreakChar;
  BYTE  tmItalic;
  BYTE  tmUnderlined;
  BYTE  tmStruckOut;
  BYTE  tmPitchAndFamily;
  BYTE  tmCharSet;
} TEXTMETRICW, *PTEXTMETRICW, *NPTEXTMETRICW, *LPTEXTMETRICW;

Member

tmHeight

Die Höhe (Aufstieg + Abstieg) der Zeichen.

tmAscent

Der Aufstieg (Einheiten über der Basiszeile) von Zeichen.

tmDescent

Der Abstieg (Einheiten unterhalb der Basiszeile) von Zeichen.

tmInternalLeading

Die Menge an führendem (Leerzeichen) innerhalb der vom tmHeight-Element festgelegten Grenzen. Akzentmarken und andere diakritische Zeichen können in diesem Bereich auftreten. Der Designer kann dieses Element auf 0 festlegen.

tmExternalLeading

Die Menge an zusätzlichem Führendem (Speicherplatz), den 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 dieses Element auf 0 festlegen.

tmAveCharWidth

Die durchschnittliche Breite der Zeichen in der Schriftart (im Allgemeinen definiert als die 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 (GDI) oder ein Gerät einer Zeichenfolge möglicherweise eine Breite auf Zeichen- und Zeichenfolgenbasis hinzufügen. Beispielsweise macht GDI eine Zeichenfolge fett, indem der Abstand jedes Zeichens erweitert und um einen Offsetwert überstönt wird. Es kursiert eine Schriftart durch Scheren der Zeichenfolge. In beiden Fällen gibt es einen Überhang über die grundlegende Zeichenfolge hinaus. Bei fetten Zeichenfolgen ist der Überhang die Entfernung, um die der Überschlag offset ist. Bei kursiv geschriebenen Zeichenfolgen ist der Überhang der Betrag, den der obere Rand der Schriftart am unteren Rand der Schriftart vorbei rauscht.

Mit dem tmOverhang-Member kann die Anwendung bestimmen, wie viel der von einem GetTextExtentPoint32-Funktionsaufruf zurückgegebenen Zeichenbreite für ein einzelnes Zeichen 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 Zeichens, das in der Schriftart definiert ist.

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 Textbegründung verwendet wird.

tmItalic

Gibt eine kursiv geschriebene Schriftart an, wenn sie nichtzero ist.

tmUnderlined

Gibt eine unterstrichene Schriftart an, wenn sie nicht zero ist.

tmStruckOut

Eine Strikeout-Schriftart, wenn sie nichtzero ist.

tmPitchAndFamily

Gibt Informationen zur Tonhöhe, zur Technologie und zur Familie einer physischen Schriftart an.

Die vier Bits in 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 Variable Pitch-Schriftart. 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 Konstantenname 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 Reihenfolge codiert sind und keine willkürlichen Annahmen treffen. Neben der Festlegung eigener Bits legen trueType- und PostScript-Schriftarten beispielsweise das TMPF_VECTOR Bit fest. Bei einer Bitmapschriftart mit monospace sind alle diese Bits mit niedriger Reihenfolge klar; 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 geben die Schriftfamilie der Schriftart an. 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 Schriftfamiliennamen verglichen werden kann, um eine identische Übereinstimmung zu finden. Informationen zu Schriftartfamilien 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
Koreanische Sprachausgabe von Windows:
  • JOHAB_CHARSET
Sprachausgabe "Naher Osten" von Windows:
  • ARABIC_CHARSET
  • HEBREW_CHARSET
Thai-Sprachausgabe von Windows:
  • 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 nicht codierungsneutralem Code 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 (einschließlich Windows.h)

Weitere Informationen

Schriftart- und Textstrukturen

Übersicht über Schriftarten und Text

GetTextExtentPoint32

GetTextMetrics

LOGFONT