ScriptBreak-Funktion (usp10.h)

Ruft Informationen zum Bestimmen von Zeilenumbrüchen ab.

Syntax

HRESULT ScriptBreak(
  [in]  const WCHAR           *pwcChars,
  [in]  int                   cChars,
  [in]  const SCRIPT_ANALYSIS *psa,
  [out] SCRIPT_LOGATTR        *psla
);

Parameter

[in] pwcChars

Zeiger auf die zu verarbeitenden Unicode-Zeichen.

[in] cChars

Anzahl der zu verarbeitenden Unicode-Zeichen.

[in] psa

Zeiger auf die SCRIPT_ANALYSIS-Struktur , die aus einem früheren Aufruf von ScriptItemize abgerufen wurde.

[out] psla

Zeiger auf einen Puffer, in dem diese Funktion die Zeichenattribute als SCRIPT_LOGATTR Struktur abruft.

Rückgabewert

Gibt bei Erfolg 0 zurück. Die Funktion gibt einen nichtzero-HRESULT-Wert zurück, wenn er nicht erfolgreich ist. Die Anwendung kann den Rückgabewert mit den Makros SUCCEEDED und FAILED testen.

Hinweise

Eine Diskussion über den Kontext, in dem diese Funktion normalerweise aufgerufen wird, finden Sie unter Anzeigen von Text mit Uniscribe .

Diese Funktion erfordert keinen Gerätekontext und führt keine Glyphenformierung aus.

Diese Funktion ruft Cursorbewegungen und Formatierungsunterbrechungspositionen für ein Element in einem Array von SCRIPT_LOGATTR-Strukturen ab. Um gemischte Formatierungen innerhalb eines einzelnen Worts ordnungsgemäß zu unterstützen, sollte der Aufruf von ScriptBreak ganze Elemente übergeben, die von ScriptItemize abgerufen werden, und nicht die feinere Formatierung wird ausgeführt.

Die SCRIPT_LOGATTR-Struktur identifiziert gültige Caretpositionen und Zeilenumbrüche. Das fCharStop-Element gibt ein Flag an, das Clustergrenzen für Skripts markiert, die üblicherweise darauf beschränkt sind, sich innerhalb von Clustern zu bewegen. Dieselben Grenzen können auch abgeleitet werden, indem die von ScriptShape abgerufenen logischen Clusterinformationen überprüft werden. ScriptBreak ist jedoch wesentlich schneller in der Implementierung und erfordert keine Vorbereitung eines Gerätekontexts.

Die von den fWordStop-, fSoftBreak- und fWhiteSpace-Membern von SCRIPT_LOGATTR angegebenen Flags sind nur über ScriptBreak verfügbar.

Die meisten Shape-Engines, die ungültige Sequenzen identifizieren, legen das Flag fest, das vom fInvalid-Element von SCRIPT_LOGATTR in ScriptBreak angegeben wird. Das fInvalidLogAttr-Element von SCRIPT_PROPERTIES identifiziert die entsprechenden Skripts.

Wichtig Ab Windows 8: Um die Ausführung unter Windows 7 zu gewährleisten, muss ein Modul, das Uniscribe verwendet, Usp10.lib vor gdi32.lib in seiner Bibliotheksliste angeben.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile usp10.h
Bibliothek Usp10.lib
DLL Usp10.dll
Verteilbare Komponente Internet Explorer 5 oder höher unter Windows Me/98/95

Weitere Informationen

Anzeigen von Text mit Uniscribe

SCRIPT_ANALYSIS

SCRIPT_LOGATTR

ScriptItemize

ScriptShape

Uniscribe

Uniscribe Functions