Zeichenbreiten
Anwendungen müssen Daten mit Zeichenbreite abrufen, wenn sie Aufgaben wie das Anpassen von Textzeichenfolgen an Seiten- oder Spaltenbreiten ausführen. Es gibt vier Funktionen, mit denen eine Anwendung Daten mit Zeichenbreite abrufen kann. Zwei dieser Funktionen rufen die Zeichenvorrückungsbreite ab, und zwei dieser Funktionen rufen tatsächliche Zeichenbreitendaten ab.
Eine Anwendung kann die Funktionen GetCharWidth32 und GetCharWidthFloat verwenden, um die vorgezogene Breite für einzelne Zeichen oder Symbole in einer Textzeichenfolge abzurufen. Die Vorbreite ist der Abstand, den der Cursor auf einer Videoanzeige oder den Druckkopf auf einem Drucker vor dem Drucken des nächsten Zeichens in einer Textzeichenfolge vorrücken muss. Die GetCharWidth32-Funktion gibt die vorgezogene Breite als ganzzahligen Wert zurück. Wenn eine höhere Genauigkeit erforderlich ist, kann eine Anwendung die GetCharWidthFloat-Funktion verwenden, um Dezimalstellenwerte mit erweiterter Breite 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:

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 Leerraum rechts neben dem Zeichen. Die gesamte Vorausbreite wird durch Berechnen der Summe von A+B+C bestimmt. Die Zeichenzelle ist ein imaginäres Rechteck, das jedes Zeichen oder Symbol in einer Schriftart umschließt. Da Zeichen die Zeichenzelle über- oder unterhängen können, kann entweder oder beide der A- und C-Inkremente eine negative Zahl sein.