Teilen über


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 Breite des Zeichens ab, und zwei dieser Funktionen rufen tatsächliche Zeichenbreitendaten ab.

Eine Anwendung kann die GetCharWidth32 und GetCharWidthFloat Funktionen verwenden, um die Erweiterte Breite für einzelne Zeichen oder Symbole in einer Textzeichenfolge abzurufen. Die Erweiterte Breite 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 höhere Genauigkeit erforderlich ist, kann eine Anwendung die GetCharWidthFloat--Funktion verwenden, um Dezimalstellenwerte für die Erweiterte Breite abzurufen.

Eine Anwendung kann tatsächliche Zeichenbreitendaten mithilfe der GetCharABCWidths- und GetCharABCWidthsFloat- funktionen 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:

Abbildung mit einem Abstand, einem b-Abstand und einem C-Abstand von zwei benachbarten Zeichen

Der Abstand A ist die Breite, die der aktuellen Position hinzugefügt werden soll, bevor das Zeichen platziert wird. Der Abstand "B" ist die Breite des Zeichens selbst. Der C-Abstand ist der Leerraum rechts neben dem Zeichen. Die Gesamtbreite des Vorauss 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 umgibt. Da Zeichen die Zeichenzelle überhängen oder unterhängen können, kann es sich bei beiden Schritten um eine negative Zahl handeln.