ScriptPlace-Funktion (usp10.h)
Generiert Glyphenvorrückungsbreite und zweidimensionale Offsetinformationen aus der Ausgabe von ScriptShape.
Syntax
HRESULT ScriptPlace(
[in] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in] const WORD *pwGlyphs,
[in] int cGlyphs,
[in] const SCRIPT_VISATTR *psva,
[in, out] SCRIPT_ANALYSIS *psa,
[out] int *piAdvance,
[out] GOFFSET *pGoffset,
[out] ABC *pABC
);
Parameter
[in] hdc
Optional. Handle mit dem Gerätekontext. Weitere Informationen finden Sie unter Zwischenspeichern.
[in, out] psc
Zeiger auf eine SCRIPT_CACHE Struktur, die den Skriptcache identifiziert.
[in] pwGlyphs
Zeiger auf einen Glyphenpuffer, der aus einem früheren Aufruf der ScriptShape-Funktion abgerufen wurde.
[in] cGlyphs
Anzahl der Glyphen im Glyphenpuffer.
[in] psva
Zeiger auf ein Array von SCRIPT_VISATTR Strukturen, die visuelle Attribute angeben.
[in, out] psa
Zeiger auf eine SCRIPT_ANALYSIS-Struktur . Bei der Eingabe wird diese Struktur aus einem vorherigen Aufruf von ScriptItemize abgerufen. In der Ausgabe enthält diese Struktur Werte, die von ScriptPlace abgerufen werden.
[out] piAdvance
Zeiger auf ein Array, in dem diese Funktion Informationen zur erweiterten Breite abruft.
[out] pGoffset
Optional. Zeiger auf ein Array von GOFFSET-Strukturen , in dem diese Funktion die x- und y-Offsets der Kombination von Glyphen abruft. Dieses Array muss von der Länge sein, die durch cGlyphen angegeben wird.
[out] pABC
Zeiger auf eine ABC-Struktur , in der diese Funktion die ABC-Breite für die gesamte Ausführung 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.
Die Funktion gibt E_PENDING zurück, wenn der vom psc-Parameter angegebene Skriptcache nicht genügend Informationen enthält, um die Glyphen zu platzieren, und der hdc-Parameter auf NULL festgelegt ist, sodass die Funktion den Platzierungsprozess nicht abschließen kann. Die Anwendung sollte einen richtigen Gerätekontext für die Ausführung einrichten und diese Funktion erneut mit dem entsprechenden Gerätekontext und mit allen anderen Parametern aufrufen.
Hinweise
Eine Diskussion über den Kontext, in dem diese Funktion normalerweise aufgerufen wird, finden Sie unter Anzeigen von Text mit Uniscribe .
Die zusammengesetzte ABC-Breite für das gesamte Element gibt an, wie stark die Glyphen links von der Startposition und rechts von der Länge überhängen , die durch die Summe der Vorlaufbreiten impliziert wird. Die gesamte Vorlaufbreite der Linie ist genau abcA+abcB+abcC. Die AbcA- und abcC-Werte werden als Anteile der Zellenhöhe beibehalten, die in 8 Bits dargestellt wird und somit ungefähr +/-1 Prozent betragen. Die abgerufene Gesamtbreite, d. h. die Summe der von piAdvance angegebenen abcA+abcB+abcC-Werte, entspricht der Auflösung der TrueType-Shaping-Engine.
Alle Arrays befinden sich in visueller Reihenfolge, es sei denn, das fLogicalOrder-Element wird in der durch den psa-Parameter angegebenen SCRIPT_ANALYSIS Struktur festgelegt.
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 |