Verwenden der ScriptString-Funktionen

Für eine Anwendung, die sich mit unformatiertem Text befasst, stellt Uniscribe die ScriptString*- Funktionen bereit. Diese Funktionen ähneln ExtTextOut, DrawText undGetTextExtent, bieten jedoch vollständige Unterstützung komplexer Skripts, einschließlich Caret-Platzierung. Diese Funktionen ähneln den anderen Uniscribe-Funktionen, sind aber auf die einfacheren Anforderungen der Nur-Text-Verarbeitung zugeschnitten.

In der folgenden Tabelle sind die ScriptString* -Funktionen und alle Entsprechungen in den anderen Uniscribe-Funktionen aufgeführt.

Funktion Beschreibung
ScriptStringAnalyse Analysiert Nur-Text. Diese Funktion entspricht den folgenden Funktionen:
ScriptItemize
ScriptShape
ScriptPlace
ScriptBreak
ScriptGetCMap
ScriptJustify
ScriptLayout
ScriptStringCPtoX Ruft die x-Koordinate für eine Zeichenposition ab. Diese Funktion entspricht ScriptCPtoX.
ScriptStringFree Gibt eine SCRIPT_STRING_ANALYSIS-Struktur frei.
ScriptStringGetLogicalWidths Konvertiert visuelle Breite in logische Breite. Diese Funktion entspricht ScriptGetLogicalWidths.
ScriptStringGetOrder Ordnet Zeichenglyphenpositionen in ähnlicher Weise wie GetCharacterPlacement zu, nur für die Legacyverwendung. Diese Funktion funktioniert nicht gut mit Skripts, die mehr als eine Glyphe pro Codepunkt generieren.
ScriptStringOut Zeigt Nur-Text an. Diese Funktion entspricht ScriptTextOut.
ScriptString_pcOutChars Gibt einen Zeiger auf die Länge einer abgeschnittenen Nur-Text-Zeichenfolge zurück.
ScriptString_pLogAttr Gibt einen Zeiger auf den Puffer für logische Attribute für eine analysierte Nur-Text-Zeichenfolge zurück.
ScriptString_pSize Gibt einen Zeiger auf die Größe (Breite und Höhe) für eine analysierte Nur-Text-Zeichenfolge zurück.
ScriptStringValidate Identifiziert Codepunktsequenzen, die im angegebenen Skript nicht gültig sind. Diese Funktion unterscheidet sich von ScriptGetCMap, die Codepunkte identifiziert, die in einer Schriftart nicht vorhanden sind.
ScriptStringXtoCP Konvertiert eine x-Koordinate in eine Zeichenposition. Diese Funktion entspricht ScriptXtoCP.

Um nur Nur-Text ohne Änderungen anzuzeigen, sollte eine Anwendung ScriptStringAnalyse, ScriptStringOut und dann ScriptStringFree aufrufen. Die anderen Funktionen werden verwendet, um den Nur-Text vor der Anzeige zu ändern.

Verwenden von Uniscribe