Funzione ScriptGetFontScriptTags (usp10.h)

Recupera un elenco di script disponibili nel tipo di carattere per l'elaborazione OpenType. Gli script che comprendono l'elenco vengono recuperati dal tipo di carattere che si trova nel contesto del dispositivo fornito o dal motore di modellazione dello script che elabora il tipo di carattere dell'esecuzione corrente.

Sintassi

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
);

Parametri

[in, optional] hdc

Gestire nel contesto del dispositivo. Per altre informazioni, vedere Memorizzazione nella cache.

[in, out] psc

Puntatore a una struttura SCRIPT_CACHE che identifica la cache degli script.

[in, optional] psa

Puntatore a una struttura SCRIPT_ANALYSIS ottenuta da una chiamata precedente a ScriptItemizeOpenType. Questo parametro identifica il motore di data shaping, in modo che sia possibile recuperare i tag di script del tipo di carattere appropriati. L'applicazione fornisce un valore non NULL per questo parametro per recuperare i tag di script appropriati per l'esecuzione corrente.

In alternativa, l'applicazione può impostare questo parametro su NULL per recuperare i risultati non filtrati.

[in] cMaxTags

Lunghezza della matrice specificata da pScriptTags.

[out] pScriptTags

Puntatore a un buffer in cui questa funzione recupera una matrice di strutture OPENTYPE_TAG che definiscono i tag di script dal contesto di dispositivo o dal motore di scripting associato all'esecuzione corrente. Se il valore del membro eScript della struttura SCRIPT_ANALYSIS fornita nel parametro psa ha un tag di script definito associato e il tag è presente nel tipo di carattere, pScriptTags contiene solo questo tag.

[out] pcTags

Puntatore al numero di elementi nella matrice di tag script indicata da pScriptTags.

Valore restituito

Restituisce 0 in caso di esito positivo. Se non ha esito positivo, la funzione restituisce un valore HRESULT diverso da zero. L'applicazione può testare il valore restituito con le macro SUCCEEDED e FAILED .

Se il numero di tag corrispondenti supera il valore di cMaxTags, la funzione ha esito negativo con E_OUTOFMEMORY. L'applicazione può provare a chiamare di nuovo con buffer di dimensioni maggiori.

Commenti

Sebbene sia formalmente dichiarato come tipo ULONG, OPENTYPE_TAG definisce una matrice a 4 byte che contiene quattro valori ASCII a 8 bit di spazio, A-Z o a-z. Ad esempio, i tag di script per gli script latini e arabi sono rispettivamente "latn" e "arab".

Questa funzione recupera un singolo tag da un tipo di carattere nei casi seguenti:

  • Il valore psa è associato al testo per un singolo script complesso.
  • Il parametro psa indica NULL e il tipo di carattere supporta un singolo script.
Se ScriptGetFontScriptTags recupera tutti i tag da un tipo di carattere, i tag sono in genere per elementi neutrali, ad esempio cifre. Si noti che potrebbero essere applicabili più tag perché alcune esecuzioni di testo di elementi non indipendenti non sono specifiche dello script.

Se è presente un tag corrispondente a uno script specifico, un motore di data shaping potrebbe non essere in grado di utilizzare il tipo di carattere per modellare l'elemento specificato perché il motore non dispone di un elemento necessario, ad esempio un sistema linguistico specifico o una funzionalità specifica.

Importante A partire da Windows 8: per mantenere la possibilità di eseguire in Windows 7, un modulo che usa Uniscribe deve specificare Usp10.lib prima di gdi32.lib nell'elenco di librerie.
 

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione usp10.h
Libreria Usp10.lib
DLL Usp10.dll
Componente ridistribuibile Usp10.dll versione 1.600 o successiva in Windows XP

Vedi anche

Memorizzazione nella cache

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

Uniscribe

Funzioni Uniscribe