Freigeben über


ScriptCPtoX-Funktion (usp10.h)

Generiert den x-Offset vom linken Ende oder der führenden Kante einer Ausführung auf die führende oder nachfolgende Kante eines Logischen Zeichenclusters.

Syntax

HRESULT ScriptCPtoX(
  [in]  int                   iCP,
  [in]  BOOL                  fTrailing,
  [in]  int                   cChars,
  [in]  int                   cGlyphs,
  [in]  const WORD            *pwLogClust,
  [in]  const SCRIPT_VISATTR  *psva,
  [in]  const int             *piAdvance,
  [in]  const SCRIPT_ANALYSIS *psa,
  [out] int                   *piX
);

Parameter

[in] iCP

Logische Zeichenposition in der Ausführung. Dieser Parameter entspricht dem Offset eines beliebigen logischen Zeichens im Cluster.

[in] fTrailing

TRUE , um den nachfolgenden Edge des Clusters für logische Zeichen zum Berechnen des Offsets zu verwenden. Dieser Parameter ist auf FALSE festgelegt, um den führenden Rand des Clusters für logische Zeichen zu verwenden.

[in] cChars

Anzahl der Zeichen in der Ausführung.

[in] cGlyphs

Anzahl der Glyphen in der Ausführung.

[in] pwLogClust

Zeiger auf die logischen Cluster.

[in] psva

Zeiger auf ein SCRIPT_VISATTR Array von visuellen Attributen.

[in] piAdvance

Zeiger auf einen Erweiterten Breitenwert.

[in] psa

Zeiger auf eine SCRIPT_ANALYSIS-Struktur . Das fLogicalOrder-Element gibt das Ende der Ausführung an, von der aus der Offset gemessen werden soll. Wenn das Flag festgelegt ist, wird der führende Rand der Ausführung verwendet. Wenn das Flag nicht festgelegt ist, wird das linke Ende der Ausführung verwendet.

[out] piX

Zeiger auf den Puffer, in dem die Funktion die x-Position des Carets abruft.

Rückgabewert

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

Hinweise

Der vor- oder nachgestellte Rand des Zeichens und der führende Rand einer Ausführung hängen von der Textrichtung in der Ausführung ab.

Bei Skripts, in denen das Caret konventionell in der Mitte von Clustern platziert wird (z. B. Arabisch und Hebräisch), kann die abgerufene x Position des Karats eine interpolierte Position für jeden Codepunkt in der Zeile sein.

Bei Skripts, in denen das Caret konventionell an den Grenzen von Clustern angerackt wird (z. B. Thai und Indisch), wird die x-Position an den angeforderten Rand des Clusters angedockt, der die durch iCP angegebene position des logischen Zeichens enthält.

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

SCRIPT_ANALYSIS

SCRIPT_VISATTR

ScriptXtoCP

Uniscribe

Uniscribe Functions