Freigeben über


Zeichenfolgenbreiten und -höhen

Neben dem Abrufen von Zeichenbreitendaten für einzelne Zeichen müssen Anwendungen auch die Breite und Höhe ganzer Zeichenfolgen berechnen. Zwei Funktionen rufen Zeichenfolgenbreiten- und Höhenmessungen ab: GetTextExtentPoint32 und GetTabbedTextExtent. Wenn die Zeichenfolge keine Tabstoppzeichen enthält, kann eine Anwendung die GetTextExtentPoint32-Funktion verwenden, um die Breite und Höhe einer angegebenen Zeichenfolge abzurufen. Wenn die Zeichenfolge Registerkartenzeichen enthält, sollte eine Anwendung die GetTabbedTextExtent-Funktion aufrufen.

Anwendungen können die GetTextExtentExPoint-Funktion für Wortumbruchvorgänge verwenden. Diese Funktion gibt die Anzahl der Zeichen aus einer angegebenen Zeichenfolge zurück, die in ein angegebenes Leerzeichen passen.

Aufsteigende Schriftarten und Nachfolger

Einige Anwendungen bestimmen den Zeilenabstand zwischen Textzeilen unterschiedlicher Größe mithilfe des maximalen Auf- und Absteigens einer Schriftart. Eine Anwendung kann diese Werte abrufen, indem sie die GetTextMetrics-Funktion aufruft und dann die Elemente tmAscent und tmDescent der TEXTMETRIC überprüft.

Der maximale Auf- und Abstieg unterscheidet sich vom typografischen Auf- und Abstieg. In TrueType- und OpenType-Schriftarten sind die typografischen Auf- und Abstiege in der Regel die obere Seite der f-Glyphe und der untere Teil der glyphe. Eine Anwendung kann den typografischen Auf- und Abstieg für eine TrueType- oder OpenType-Schriftart abrufen, indem sie die GetOutlineTextMetrics-Funktion aufruft und die Werte in den Elementen otmMacAscent und otmMacDescent der OUTLINETEXTMETRIC-Struktur überprüft.

Die folgende Abbildung zeigt den Unterschied zwischen den vertikalen Textmetrikenwerten, die in den Strukturen NEWTEXTMETRIC und OUTLINETEXTMETRIC zurückgegeben werden. (Die Namen, die mit otm beginnen, sind Elemente der OUTLINETEXTMETRIC-Struktur .)

Abbildung, die zeigt, wie Textmetrikwerte mit Gliederungstextmetrikenwerten kontrastieren

Schriftabmessungen

Eine Anwendung kann die physischen Dimensionen einer TrueType- oder OpenType-Schriftart abrufen, indem sie die GetOutlineTextMetrics-Funktion aufruft . Eine Anwendung kann die physischen Dimensionen einer beliebigen anderen Schriftart abrufen, indem sie die GetTextMetrics-Funktion aufruft . Um die Dimensionen eines Ausgabegeräts zu bestimmen, kann eine Anwendung die GetDeviceCaps-Funktion aufrufen. GetDeviceCaps gibt sowohl physische als auch logische Dimensionen zurück.

Ein logischer Zoll ist ein Maß, das das System verwendet, um lesbare Schriftarten auf dem Bildschirm darzustellen, und ist etwa 30 bis 40 Prozent größer als ein physischer Zoll. Die Verwendung von logischen Zoll schließt eine genaue Übereinstimmung zwischen der Ausgabe des Bildschirms und des Druckers aus. Entwickler sollten sich bewusst sein, dass der Text auf einem Bildschirm nicht einfach eine skalierte Version des Texts ist, der auf der Seite angezeigt wird, insbesondere wenn Grafiken in den Text integriert werden.