Condividi tramite


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.

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

ScriptShapeOpenType

ScriptSubstituteSingleGlyph

Uniscribe

Funzioni Uniscribe