Freigeben über


Zeichenbreiten

Anwendungen müssen Zeichenbreitendaten abrufen, wenn sie solche Aufgaben ausführen, z. B. das Anpassen von Textzeichenfolgen auf Seiten- oder Spaltenbreiten. Es gibt vier Funktionen, mit denen eine Anwendung Zeichenbreitendaten abrufen kann. Zwei dieser Funktionen rufen die Zeichenvorrückbreite ab, und zwei dieser Funktionen rufen tatsächliche Zeichenbreitendaten ab.

Eine Anwendung kann die Funktionen GetCharWidth32 und GetCharWidthFloat verwenden, um die Vorausbreite für einzelne Zeichen oder Symbole in einer Textzeichenfolge abzurufen. Die Vorausbreite ist der Abstand, den der Cursor auf einer Videoanzeige oder den Druckkopf auf einem Drucker vorausgehen muss, bevor das nächste Zeichen in einer Textzeichenfolge gedruckt wird. Die GetCharWidth32-Funktion gibt die Vorausbreite als ganzzahligen Wert zurück. Wenn eine größere Genauigkeit erforderlich ist, kann eine Anwendung die GetCharWidthFloat-Funktion verwenden, um Bruchteile der Vorausbreitenwerte abzurufen.

Eine Anwendung kann tatsächliche Zeichenbreitendaten mithilfe der Funktionen GetCharABCWidths und GetCharABCWidthsFloat abrufen. Die GetCharABCWidthsFloat-Funktion funktioniert mit allen Schriftarten. Die GetCharABCWidths-Funktion funktioniert nur mit TrueType- und OpenType-Schriftarten. Weitere Informationen zu TrueType- und OpenType-Schriftarten finden Sie unter Raster, Vector, TrueType und OpenType-Schriftarten.

Die folgende Abbildung zeigt die drei Komponenten einer Zeichenbreite:

illustration showing the a spacing, b spacing, and c spacing of two adjacent characters

Der Abstand A ist die Breite, die der aktuellen Position hinzugefügt werden soll, bevor das Zeichen platziert wird. Der B-Abstand ist die Breite des Zeichens selbst. Der C-Abstand ist der Leerzeichen rechts neben dem Zeichen. Die Gesamtbreite des Vorauss wird durch Die Berechnung der Summe von A+B+C bestimmt. Die Zeichenzelle ist ein imaginäres Rechteck, das jedes Zeichen oder Symbol in einer Schriftart umgibt. Da Zeichen die Zeichenzelle überhangen oder unterhangen können, kann es sich um eine negative Zahl handeln, entweder oder beideS der A- und C-Schritten.