Funzione ScriptGetFontAlternateGlyphs (usp10.h)
Recupera un elenco di glifi alternativi per un carattere specificato accessibile tramite una funzionalità OpenType specificata.
Sintassi
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
);
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 definisce 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 modellazione, in modo che sia possibile creare la matrice di glifi alternativi con l'ambito corretto.
In alternativa, l'applicazione può impostare questo parametro su NULL per ricevere risultati non filtrati.
[in] tagScript
Struttura OPENTYPE_TAG che definisce il tag di script associato a glifi alternativi.
[in] tagLangSys
Struttura OPENTYPE_TAG che definisce il tag di lingua associato a glifi alternativi.
[in] tagFeature
Struttura OPENTYPE_TAG che definisce il tag di funzionalità associato a glifi alternativi.
[in] wGlyphId
Identificatore del glifo originale mappato dalla tabella della mappa caratteri.
[in] cMaxAlternates
Lunghezza della matrice specificata da pAlternateGlyphs.
[out] pAlternateGlyphs
Puntatore al buffer in cui questa funzione recupera una matrice di identificatori di glifo. La matrice include il glifo originale, seguito da glifi alternativi. Il primo elemento è sempre il glifo originale. I moduli alternativi vengono identificati da un indice nella matrice. L'indice è un valore maggiore di uno e minore del valore di pcAlternates.
Quando l'utente sceglie un modulo alternativo dall'interfaccia utente, il glifo alternativo viene applicato al carattere corrispondente e il rendering viene riformattato.
[out] pcAlternates
Puntatore al numero di elementi nella matrice specificata da pAlternateGlyphs.
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 glifi alternativi supera il valore di cMaxAlternates, la funzione ha esito negativo con E_OUTOFMEMORY. L'applicazione può provare a chiamare di nuovo con buffer di dimensioni maggiori.
Commenti
Quando si usano glifi alternativi, l'applicazione modifica prima di tutto il glifo originale senza applicare alcun tag di funzionalità, quindi seleziona un'alternativa. Il glifo originale viene stabilito come glifo di base. Se è necessaria un'altra alternativa, il glifo originale fornisce informazioni che corrispondono all'elenco di alternative corrispondenti.
Se un glifo alternativo viene usato come glifo di base, non viene trovato alcun elenco di output corrispondente. L'interfaccia utente usa il modulo finale selezionato senza fornire la possibilità di scegliere un'altra alternativa.
Le operazioni di ScriptGetFontAlternateGlyphs possono essere emulate da ScriptSubstituteSingleGlyph. L'applicazione deve provare i parametri uno per uno mentre i glifi vengono sostituiti.
Per la modellazione dei tipi di carattere con Uniscribe, ScriptShapeOpenType è preferibile rispetto alla funzione ScriptShape precedente.
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 |