ScriptJustify-Funktion (usp10.h)
Erstellt eine Tabelle mit erweiterten Breiten, um eine Textbegründung zuzulassen, wenn sie an die ScriptTextOut-Funktion übergeben wird.
Syntax
HRESULT ScriptJustify(
[in] const SCRIPT_VISATTR *psva,
[in] const int *piAdvance,
[in] int cGlyphs,
[in] int iDx,
[in] int iMinKashida,
[out] int *piJustify
);
Parameter
[in] psva
Zeiger auf ein Array, das von cGlyphen angegeben wird und SCRIPT_VISATTR Strukturen enthält. Jede Struktur enthält visuelle Attribute für eine Glyphe in der zu verarbeitenden Zeile.
[in] piAdvance
Zeiger auf ein Array mit erweiterten Breiten mit der Länge, die durch cGlyphen angegeben wird und aus einem vorherigen Aufruf von ScriptPlace abgerufen wurde.
[in] cGlyphs
Anzahl der Glyphen für die Von psva und piAdvance angegebenen Arrays. Dieser Parameter gibt auch die Anzahl der Glyphen für den Ausgabeparameter piJustify an.
[in] iDx
Breite, in Pixel, der gewünschten Änderung, entweder eine Erhöhung der Abnahme.
[in] iMinKashida
Mindestbreite einer zu generierenden Kashida-Glyphe.
[out] piJustify
Zeiger auf einen Puffer, in dem diese Funktion ein Von cGlyphen angegebenes Array abruft, das gerechtfertigte Vorschubbreiten enthält. Die gerechtfertigten Breiten werden manchmal als "Zellbreiten" bezeichnet, um sie von ungerechtfertigten Vorlaufbreiten zu unterscheiden.
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 bietet eine einfache Implementierung mehrsprachiger Begründungen. Er legt den Umfang der Anpassung fest, die an jeder Glyphenposition auf der Linie vorgenommen werden soll. Es interpretiert das SCRIPT_VISATTR Array, das durch einen Aufruf von ScriptShape generiert wird, wobei kashida höchste Priorität eingeräumt wird. Die Funktion verwendet den Zwischenwortabstand, wenn keine Kashida-Punkte verfügbar sind. Es verwendet Interzeichenabstand, wenn keine Interwortwortpunkte verfügbar sind.
ScriptJustify erstellt ein berechtigtes Array mit aktualisierten Erweiterten Breiten für jede Glyphe. Wenn eine Vorschubbreite für eine Glyphe erhöht wird, wird die zusätzliche Breite rechts von der Glyphe gerendert, mit einem Leerzeichen oder, für arabischen Text, einer Kashida.
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 |