Função ScriptGetFontAlternateGlyphs (usp10.h)
Recupera uma lista de glifos alternativos para um caractere especificado que pode ser acessado por meio de um recurso OpenType especificado.
Sintaxe
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
);
Parâmetros
[in, optional] hdc
Manipule para o contexto do dispositivo. Para obter mais informações, consulte Cache.
[in, out] psc
Ponteiro para uma estrutura SCRIPT_CACHE definindo o cache de script.
[in, optional] psa
Ponteiro para uma estrutura SCRIPT_ANALYSIS obtida de uma chamada anterior para ScriptItemizeOpenType. Esse parâmetro identifica o mecanismo de modelagem para que a matriz de glifos alternativos possa ser criada com o escopo correto.
Como alternativa, o aplicativo pode definir esse parâmetro como NULL para receber resultados não filtrados.
[in] tagScript
Uma estrutura OPENTYPE_TAG que define a marca de script associada a glifos alternativos.
[in] tagLangSys
Uma estrutura OPENTYPE_TAG que define a marca de idioma associada a glifos alternativos.
[in] tagFeature
Uma estrutura OPENTYPE_TAG que define a marca de recurso associada a glifos alternativos.
[in] wGlyphId
O identificador do glifo original mapeado da tabela de mapa de caracteres.
[in] cMaxAlternates
Comprimento da matriz especificada por pAlternateGlyphs.
[out] pAlternateGlyphs
Ponteiro para buffer no qual essa função recupera uma matriz de identificadores de glifo. A matriz inclui o glifo original, seguido por glifos alternativos. O primeiro elemento é sempre o glifo original. Formulários alternativos são identificados por um índice na matriz. O índice é um valor maior que um e menor que o valor de pcAlternates.
Quando o usuário escolhe um formulário alternativo na interface do usuário, o glifo alternativo é aplicado ao caractere correspondente e a renderização é reformata.
[out] pcAlternates
Ponteiro para o número de elementos na matriz especificada por pAlternateGlyphs.
Retornar valor
Retorna 0 se for bem-sucedido. A função retornará um valor HRESULT diferente de zero se não for bem-sucedida. O aplicativo pode testar o valor retornado com as macros SUCCEEDED e FAILED .
Se o número de glifos alternativos exceder o valor de cMaxAlternates, a função falhará com E_OUTOFMEMORY. O aplicativo pode tentar chamar novamente com buffers maiores.
Comentários
Ao usar glifos alternativos, o aplicativo primeiro remodela o glifo original sem aplicar nenhuma marca de recurso e, em seguida, seleciona uma alternativa. O glifo original é estabelecido como o glifo base. Se outra alternativa for necessária, o glifo original fornecerá informações para corresponder à lista de alternativas correspondente.
Se um glifo alternativo for usado como o glifo base, nenhuma lista de saída correspondente será encontrada. A interface do usuário usa o formulário final selecionado sem fornecer a capacidade de escolher outra alternativa.
As operações de ScriptGetFontAlternateGlyphs podem ser emuladas por ScriptSubstituteSingleGlyph. O aplicativo deve tentar parâmetros um a um enquanto os glifos são substituídos.
Para moldar fontes com Uniscribe, ScriptShapeOpenType é preferencial em vez da função ScriptShape mais antiga.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | usp10.h |
Biblioteca | Usp10.lib |
DLL | Usp10.dll |
Redistribuível | Usp10.dll versão 1.600 ou superior no Windows XP |