Freigeben über


TEXTMETRICW-Struktur (wingdi.h)

Die TEXTMETRIC Struktur enthält grundlegende Informationen zu einer physischen Schriftart. Alle Größen werden in logischen Einheiten angegeben; d. h. 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;

Angehörige

tmHeight

Die Höhe (Abstieg + Abstieg) von Zeichen.

tmAscent

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

tmDescent

Der Abstieg (Einheiten unterhalb der Basislinie) von Zeichen.

tmInternalLeading

Die Menge der führenden (Leerzeichen) innerhalb der Grenzen, die vom tmHeight Member festgelegt werden. Akzentzeichen und andere diakritische Zeichen können in diesem Bereich auftreten. Der Designer kann dieses Element auf Null festlegen.

tmExternalLeading

Die Menge der zusätzlichen führenden (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 dieses Element auf Null festlegen.

tmAveCharWidth

Die durchschnittliche Zeichenbreite in der Schriftart (im Allgemeinen definiert als Breite des Buchstabens x ). Dieser Wert enthält nicht den Überhang, der für Fett- oder Kursivzeichen erforderlich ist.

tmMaxCharWidth

Die Breite des breitesten Zeichens in der Schriftart.

tmWeight

Die Stärke der Schriftart.

tmOverhang

Die zusätzliche Breite pro Zeichenfolge, die einigen synthetisierten Schriftarten hinzugefügt werden kann. Bei der Synthesierung einiger Attribute, z. B. fett oder kursiv, muss die Grafikgeräteschnittstelle (GDI) oder ein Gerät möglicherweise eine Breite zu einer Zeichenfolge pro Zeichen und pro Zeichenfolge hinzufügen. GDI formatiert z. B. eine Zeichenfolge fett, indem der Abstand jedes Zeichens erweitert und durch einen Offsetwert überschreiben wird; Italicizes a font by shearing the string. In beiden Fällen gibt es einen Überhang über die grundlegende Zeichenfolge. Bei fett formatierten Zeichenfolgen ist der Überhang der Abstand, um den der Überstrike versetzt ist. Bei kursiv formatierten Zeichenfolgen ist der Überhang der Betrag, der am oberen Rand der Schriftart über dem unteren Rand der Schriftart gedreht wird.

Mit dem tmOverhang Member kann die Anwendung bestimmen, wie viel zeichenbreite von einem GetTextExtentPoint32 Funktionsaufruf für ein einzelnes Zeichen die tatsächliche Zeichenbreite und wie viel die zusätzliche Breite pro Zeichenfolge ist. Die tatsächliche Breite ist das Ausmaß abzüglich des Überhangs.

tmDigitizedAspectX

Der horizontale Aspekt des Geräts, für das die Schriftart entworfen wurde.

tmDigitizedAspectY

Der vertikale Aspekt des Geräts, für das die Schriftart entworfen wurde. Das Verhältnis der tmDigitizedAspectX und tmDigitizedAspectY Member 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 verwendet wird, um Wortumbrüche für die Textbeschriftung zu definieren.

tmItalic

Gibt eine kursiv formatierte Schriftart an, wenn sie nicht null ist.

tmUnderlined

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

tmStruckOut

Eine durchgestrichene Schriftart, wenn sie nicht null ist.

tmPitchAndFamily

Gibt Informationen zum Pitch, zur Technologie und zur Familie einer physischen Schriftart an.

Die vier Bits mit niedriger Reihenfolge geben Informationen zum Neigungswinkel und zur Technologie der Schriftart an. Für jede der vier Bits wird eine Konstante definiert.

Konstante Bedeutung
TMPF_FIXED_PITCH Wenn dieses Bit festgelegt ist, ist die Schriftart eine schriftart mit variabler Neigung. Wenn dieses Bit klar ist, ist die Schriftart eine Schriftart mit fester Neigung. Beachten Sie sehr sorgfältig, dass diese Bedeutungen das Gegenteil davon 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 prüfen, die in diesen Bits mit niedriger Reihenfolge codiert sind und keine willkürlichen Annahmen machen. Neben der Festlegung eigener Bits legen TrueType- und PostScript-Schriftarten beispielsweise das TMPF_VECTOR Bit fest. Eine Monospace-Bitmapschriftart weist alle diese Bits mit niedriger Reihenfolge klar auf; Eine proportionale Bitmapschriftart legt das TMPF_FIXED_PITCH Bit fest. Eine Schriftart für Postscript-Druckergeräte legt die TMPF_DEVICE, TMPF_VECTOR und TMPF_FIXED_PITCH Bits fest.

Die vier hochgeordneten Bits von tmPitchAndFamily die Schriftfamilie der Schriftart bestimmen. Eine Anwendung kann den Wert 0xF0 und den bitweisen AND-Operator verwenden, um die vier Bits mit niedriger Reihenfolge von tmPitchAndFamilyzu maskieren und so einen Wert zu erhalten, der direkt mit Schriftartfamiliennamen 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 einen der folgenden Werte aufweisen.

  • 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 Sprachedition von Windows:
  • JOHAB_CHARSET
Middle East Language Edition von Windows:
  • ARABIC_CHARSET
  • HEBREW_CHARSET
thailändische Sprachedition von Windows:
  • THAI_CHARSET

Bemerkungen

Anmerkung

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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Header- wingdi.h (enthalten Windows.h)

Siehe auch

Schriftart- und Textstrukturen

Schriftarten und Textübersicht

GetTextExtentPoint32-

GetTextMetrics-

LOGFONT-