NEWTEXTMETRICW-Struktur (wingdi.h)

Die NEWTEXTMETRIC-Struktur enthält Daten, die eine physische Schriftart beschreiben.

Syntax

typedef struct tagNEWTEXTMETRICW {
  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;
  DWORD ntmFlags;
  UINT  ntmSizeEM;
  UINT  ntmCellHeight;
  UINT  ntmAvgWidth;
} NEWTEXTMETRICW, *PNEWTEXTMETRICW, *NPNEWTEXTMETRICW, *LPNEWTEXTMETRICW;

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 breite des Buchstabens x). Dieser Wert enthält keinen Ü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 werden soll.

tmItalic

Kursivschrift, wenn sie nichtzero ist.

tmUnderlined

Eine unterstrichene Schriftart, wenn sie nicht zero ist.

tmStruckOut

Eine Strikeout-Schriftart, wenn sie nichtzero ist.

tmPitchAndFamily

Die Tonhöhe und Familie der ausgewählten Schriftart. Das Bit mit niedriger Reihenfolge (Bit 0) gibt die Tonhöhe der Schriftart an. Wenn sie 1 ist, ist die Schriftart variabel (oder proportional). Wenn sie 0 ist, ist die Schriftart eine feste Tonhöhe (oder monospace). Die Bits 1 und 2 geben den Schriftarttyp an. Wenn beide Bits 0 sind, ist die Schriftart eine Rasterschriftart. wenn Bit 1 1 und Bit 2 0 ist, ist die Schriftart eine Vektorschriftart; wenn Bit 1 0 und Bit 2 festgelegt ist, oder wenn beide Bits 1 sind, ist die Schriftart ein anderer Typ. Bit 3 ist 1, wenn es sich bei der Schriftart um eine Geräteschriftart handelt; andernfalls ist es 0.

Die vier hochgeordneten Bits geben die Schriftfamilie an. Das element tmPitchAndFamily kann mit dem hexadezimalen Wert 0xF0 mithilfe des bitweisen AND-Operators kombiniert und anschließend mit den Namen der Schriftfamilien verglichen werden, um eine identische Übereinstimmung zu erhalten. Weitere Informationen zu den Schriftfamilien finden Sie unter LOGFONT.

tmCharSet

Der Zeichensatz der Schriftart.

ntmFlags

Gibt an, ob die Schriftart kursiv, unterstrichen, umrissen, fett usw. ist. Kann eine vernünftige Kombination der folgenden Werte sein.

bit Name Bedeutung
0 NTM_ITALIC kursiv
5 NTM_BOLD fett
8 NTM_REGULAR regular
16 NTM_NONNEGATIVE_AC keine Glyphe in einer Schriftart in beliebiger Größe hat einen negativen A- oder C-Leerraum.
17 NTM_PS_OPENTYPE PostScript OpenType-Schriftart
18 NTM_TT_OPENTYPE TrueType OpenType-Schriftart
19 NTM_MULTIPLEMASTER Schriftart mit mehreren master
20 NTM_TYPE1 Schriftart 1 eingeben
21 NTM_DSIG Schriftart mit digitaler Signatur. Dies ermöglicht die Rückverfolgbarkeit und stellt sicher, dass die Schriftart getestet wurde und nicht beschädigt ist.

ntmSizeEM

Die Größe des em-Quadrats für die Schriftart. Dieser Wert befindet sich in fiktiven Einheiten (d. a. den Einheiten, für die die Schriftart entworfen wurde).

ntmCellHeight

Die Höhe der Schriftart in fiktiven Einheiten. Dieser Wert sollte mit dem Wert des ntmSizeEM-Members verglichen werden.

ntmAvgWidth

Die durchschnittliche Breite der Zeichen in der Schriftart in fiktiven Einheiten. Dieser Wert sollte mit dem Wert des ntmSizeEM-Members verglichen werden.

Hinweise

Die letzten vier Elemente der NEWTEXTMETRIC-Struktur sind nicht in der TEXTMETRIC-Struktur enthalten. in allen anderen Aspekten sind die Strukturen identisch.

Die Größen in der NEWTEXTMETRIC-Struktur werden in der Regel in logischen Einheiten angegeben. Das heißt, sie hängen vom aktuellen Zuordnungsmodus des Anzeigekontexts ab.

Hinweis

Der wingdi.h-Header definiert NEWTEXTMETRIC 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

   
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

EnumFontFamilies

Schriftarten- und Textstrukturen

Übersicht über Schriftarten und Text

GetTextExtentPoint32

GetTextMetrics

LOGFONT