Compartilhar via


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.

Importante Começando com Windows 8: para manter a capacidade de execução no Windows 7, um módulo que usa Uniscribe deve especificar Usp10.lib antes de gdi32.lib em sua lista de bibliotecas.
 

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

Confira também

Cache

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

ScriptShapeOpenType

ScriptSubstituteSingleGlyph

Uniscribe

Funções Uniscribe