ScriptGetFontAlternateGlyphs-Funktion (usp10.h)
Ruft eine Liste alternativer Glyphen für ein angegebenes Zeichen ab, auf das über ein angegebenes OpenType-Feature zugegriffen werden kann.
Syntax
HRESULT ScriptGetFontAlternateGlyphs(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, optional] SCRIPT_ANALYSIS *psa,
[in] OPENTYPE_TAG tagScript,
[in] OPENTYPE_TAG tagLangSys,
[in] OPENTYPE_TAG tagFeature,
[in] WORD wGlyphId,
[in] int cMaxAlternates,
[out] WORD *pAlternateGlyphs,
[out] int *pcAlternates
);
Parameter
[in, optional] hdc
Handle für den Gerätekontext. Weitere Informationen finden Sie unter Zwischenspeichern.
[in, out] psc
Zeiger auf eine SCRIPT_CACHE Struktur, die den Skriptcache definiert.
[in, optional] psa
Zeiger auf eine SCRIPT_ANALYSIS-Struktur, die aus einem vorherigen Aufruf von ScriptItemizeOpenType abgerufen wurde. Dieser Parameter identifiziert die Gestaltungs-Engine, sodass das Array alternativer Glyphen mit dem richtigen Bereich erstellt werden kann.
Alternativ kann die Anwendung diesen Parameter auf NULL festlegen, um ungefilterte Ergebnisse zu erhalten.
[in] tagScript
Eine OPENTYPE_TAG Struktur, die das Skripttag definiert, das alternativen Glyphen zugeordnet ist.
[in] tagLangSys
Eine OPENTYPE_TAG Struktur, die das Sprachtag definiert, das alternativen Glyphen zugeordnet ist.
[in] tagFeature
Eine OPENTYPE_TAG Struktur, die das Featuretag definiert, das alternativen Glyphen zugeordnet ist.
[in] wGlyphId
Der Bezeichner der ursprünglichen Glyphe, die aus der Zeichenzuordnungstabelle zugeordnet ist.
[in] cMaxAlternates
Länge des Arrays, das von pAlternateGlyphs angegeben wird.
[out] pAlternateGlyphs
Zeiger auf den Puffer, in dem diese Funktion ein Array von Glyphenbezeichnern abruft. Das Array enthält die ursprüngliche Glyphe, gefolgt von alternativen Glyphen. Das erste Element ist immer die ursprüngliche Glyphe. Alternative Formulare werden durch einen Index im Array identifiziert. Der Index ist ein Wert größer als eins und kleiner als der Wert von pcAlternates.
Wenn der Benutzer ein alternatives Formular auf der Benutzeroberfläche auswähelt, wird die alternative Glyphe auf das entsprechende Zeichen angewendet, und das Rendering wird neu formatiert.
[out] pcAlternates
Zeiger auf die Anzahl der Elemente im Array, das von pAlternateGlyphs angegeben wird.
Rückgabewert
Gibt bei Erfolg 0 zurück. Die Funktion gibt einen HRESULT-Wert ungleich null zurück, wenn sie nicht erfolgreich ist. Die Anwendung kann den Rückgabewert mit den Makros SUCCEEDED und FAILED testen.
Wenn die Anzahl der alternativen Glyphen den Wert von cMaxAlternates überschreitet, schlägt die Funktion mit E_OUTOFMEMORY fehl. Die Anwendung kann versuchen, mit größeren Puffern erneut aufzurufen.
Hinweise
Bei Verwendung alternativer Glyphen gestaltet die Anwendung zunächst die ursprüngliche Glyphe um, ohne ein Featuretag anzuwenden, und wählt dann eine Alternative aus. Die ursprüngliche Glyphe wird als Basisglyphe festgelegt. Wenn eine andere Alternative erforderlich ist, stellt die ursprüngliche Glyphe Informationen bereit, die mit der entsprechenden Alternativenliste übereinstimmen.
Wenn eine alternative Glyphe als Basissymbol verwendet wird, wird keine übereinstimmende Ausgabeliste gefunden. Die Benutzeroberfläche verwendet das ausgewählte endgültige Formular, ohne die Möglichkeit zu bieten, eine andere Alternative auszuwählen.
Die Vorgänge von ScriptGetFontAlternateGlyphen können von ScriptSubstituteSingleGlyph emuliert werden. Die Anwendung sollte die Parameter nacheinander ausprobieren, während Glyphen ersetzt werden.
Für das Strukturieren von Schriftarten mit Uniscribe wird ScriptShapeOpenType gegenüber der älteren ScriptShape-Funktion bevorzugt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | usp10.h |
Bibliothek | Usp10.lib |
DLL | Usp10.dll |
Verteilbare Komponente | Usp10.dll Version 1.600 oder höher unter Windows XP |