Compartilhar via


Função ScriptGetFontScriptTags (usp10.h)

Recupera uma lista de scripts disponíveis na fonte para processamento opentype. Os scripts que compõem a lista são recuperados da fonte localizada no contexto do dispositivo fornecido ou do mecanismo de formatação de script que processa a fonte da execução atual.

Sintaxe

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

Parâmetros

[in, optional] hdc

Identificador para o contexto do dispositivo. Para obter mais informações, consulte Cache.

[in, out] psc

Ponteiro para uma estrutura SCRIPT_CACHE que identifica 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 formatação para que as marcas de script de fonte apropriadas possam ser recuperadas. O aplicativo fornece um valor não NULL para esse parâmetro para recuperar marcas de script apropriadas para a execução atual.

Como alternativa, o aplicativo pode definir esse parâmetro como NULL para recuperar resultados não filtrados.

[in] cMaxTags

O comprimento da matriz especificada por pScriptTags.

[out] pScriptTags

Ponteiro para um buffer no qual essa função recupera uma matriz de estruturas OPENTYPE_TAG definindo marcas de script do contexto do dispositivo ou do mecanismo de script associado à execução atual. Se o valor do membro eScript da estrutura SCRIPT_ANALYSIS fornecida no parâmetro psa tiver uma marca de script definida associada a ele e a marca estiver presente na fonte, pScriptTags conterá apenas essa marca.

[out] pcTags

Ponteiro para o número de elementos na matriz de marcas de script indicada por pScriptTags.

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 marcas correspondentes exceder o valor de cMaxTags, a função falhará com E_OUTOFMEMORY. O aplicativo pode tentar chamar novamente com buffers maiores.

Comentários

Embora declarado formalmente como um tipo ULONG, OPENTYPE_TAG define uma matriz de 4 bytes que contém quatro valores ASCII de 8 bits de espaço, A-Z ou a-z. Por exemplo, as marcas de script para scripts latinos e árabes são "latn" e "arab", respectivamente.

Essa função recupera uma única marca de uma fonte nos seguintes casos:

  • O valor psa está associado ao texto para um único script complexo.
  • O parâmetro psa indica NULL e a fonte dá suporte a um único script.
Se ScriptGetFontScriptTags recuperar todas as marcas de uma fonte, as marcas geralmente serão para itens neutros, como dígitos. Observe que mais de uma marca pode ser aplicável porque algumas execuções de texto de itens neutros não são específicas do script.

Se uma marca correspondente a um script específico estiver presente, um mecanismo de formatação poderá não conseguir usar a fonte para moldar o item especificado porque o mecanismo não tem um item necessário, como um sistema de idioma específico ou um recurso específico.

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

Uniscribe

Funções Uniscribe