Share via


ScriptGetFontScriptTags-Funktion (usp10.h)

Ruft eine Liste der Skripts ab, die in der Schriftart für die OpenType-Verarbeitung verfügbar sind. Skripts, die die Liste enthalten, werden von der Schriftart im angegebenen Gerätekontext oder von der Skriptstrukturierungs-Engine abgerufen, die die Schriftart der aktuellen Ausführung verarbeitet.

Syntax

HRESULT ScriptGetFontScriptTags(
  [in, optional] HDC             hdc,
  [in, out]      SCRIPT_CACHE    *psc,
  [in, optional] SCRIPT_ANALYSIS *psa,
  [in]           int             cMaxTags,
  [out]          OPENTYPE_TAG    *pScriptTags,
  [out]          int             *pcTags
);

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 identifiziert.

[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 die entsprechenden Schriftartskripttags abgerufen werden können. Die Anwendung stellt einen Wert ungleich NULL für diesen Parameter bereit, um Skripttags abzurufen, die für die aktuelle Ausführung geeignet sind.

Alternativ kann die Anwendung diesen Parameter auf NULL festlegen, um ungefilterte Ergebnisse abzurufen.

[in] cMaxTags

Die Länge des Arrays, das durch pScriptTags angegeben wird.

[out] pScriptTags

Zeiger auf einen Puffer, in dem diese Funktion ein Array von OPENTYPE_TAG Strukturen abruft, die Skripttags aus dem Gerätekontext oder der skriptbasierten Engine definieren, die der aktuellen Ausführung zugeordnet ist. Wenn dem Wert des eScript-Elements der SCRIPT_ANALYSIS Struktur, die im psa-Parameter bereitgestellt wird, ein bestimmtes Skripttag zugeordnet ist und das Tag in der Schriftart vorhanden ist, enthält pScriptTags nur dieses Tag.

[out] pcTags

Zeiger auf die Anzahl der Elemente im Skripttagarray, das durch pScriptTags 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 übereinstimmenden Tags den Wert von cMaxTags überschreitet, schlägt die Funktion mit E_OUTOFMEMORY fehl. Die Anwendung kann versuchen, mit größeren Puffern erneut aufzurufen.

Hinweise

Während OPENTYPE_TAG formal als ULONG-Typ deklariert ist, definiert OPENTYPE_TAG ein 4-Byte-Array, das vier 8-Bit-ASCII-Werte des Leerzeichens A-Z oder a-z enthält. Beispielsweise sind die Skripttags für lateinische und arabische Skripts "latn" bzw. "arab".

Diese Funktion ruft in den folgenden Fällen ein einzelnes Tag aus einer Schriftart ab:

  • Der psa-Wert ist Text für ein einzelnes komplexes Skript zugeordnet.
  • Der psa-Parameter gibt NULL an, und die Schriftart unterstützt ein einzelnes Skript.
Wenn ScriptGetFontScriptTags alle Tags aus einer Schriftart abruft, gelten die Tags normalerweise für neutrale Elemente, z. B. Ziffern. Beachten Sie, dass mehr als ein Tag anwendbar sein kann, da einige Textausführungen neutraler Elemente nicht skriptspezifisch sind.

Wenn ein Tag vorhanden ist, das einem bestimmten Skript entspricht, kann eine Strukturierungs-Engine die Schriftart möglicherweise nicht verwenden, um das angegebene Element zu formen, da der Engine ein erforderliches Element fehlt, z. B. ein bestimmtes Sprachsystem oder ein bestimmtes Feature.

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 der Bibliotheksliste angeben.
 

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

Weitere Informationen

Zwischenspeichern

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

Uniscribe

Uniscribe-Funktionen