Função ScriptGetCMap (usp10.h)

Recupera os índices de glifo dos caracteres Unicode em uma cadeia de caracteres de acordo com a tabela cmap TrueType ou a tabela cmap padrão implementada para fontes de estilo antigo.

Sintaxe

HRESULT ScriptGetCMap(
  [in]      HDC          hdc,
  [in, out] SCRIPT_CACHE *psc,
  [in]      const WCHAR  *pwcInChars,
  [in]      int          cChars,
  [in]      DWORD        dwFlags,
  [out]     WORD         *pwOutGlyphs
);

Parâmetros

[in] hdc

Opcional. Manipule 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] pwcInChars

Ponteiro para uma cadeia de caracteres Unicode.

[in] cChars

Número de caracteres Unicode na cadeia de caracteres indicada por pwcInChars.

[in] dwFlags

Sinalizadores que especificam qualquer manipulação especial dos glifos. Por padrão, os glifos são fornecidos em ordem lógica sem tratamento especial. Esse parâmetro pode ter o valor a seguir.

Valor Significado
SGCM_RTL
A matriz de glifos indicada por pwOutGlyphs deve conter glifos espelhados para os glifos que têm um equivalente espelhado.

[out] pwOutGlyphs

Ponteiro para um buffer no qual a função recupera uma matriz de índices de glifo. Esse buffer deve ter o mesmo comprimento que o buffer de entrada indicado por pwcInChars. Cada ponto de código é mapeado para um único glifo.

Retornar valor

Retorna S_OK se todos os pontos de código Unicode estiverem presentes na fonte. A função retornará um dos valores HRESULT diferente de zero listados abaixo se não for bem-sucedida.

Valor retornado Significado
E_HANDLE A fonte ou o sistema operacional não dá suporte a índices de glifo.
S_FALSE Alguns dos pontos de código Unicode foram mapeados para o glifo padrão.

Comentários

Consulte Exibindo texto com Uniscribe para obter uma discussão sobre o contexto no qual essa função normalmente é chamada.

Essa função pode ser usada para determinar os caracteres em uma execução compatível com a fonte selecionada. O aplicativo pode verificar o buffer de glifo recuperado, procurando o glifo padrão para determinar os caracteres que não estão disponíveis. O aplicativo deve determinar o índice de glifo padrão para a fonte selecionada chamando ScriptGetFontProperties.

O valor retornado para essa função indica a presença de qualquer glifo ausente.

Nota A função pressupõe uma relação 1:1 entre os elementos nas matrizes de entrada e saída. No entanto, a função não dá suporte a essa relação para pares alternativos UTF-16. Para um par alternativo, a função não recupera o índice de glifo para o caractere de plano suplementar. Da mesma forma, a função não dá suporte a sequências de Variation-Selector Unicode (VS), cada uma delas consiste em um caractere gráfico Unicode seguido por um de um conjunto de caracteres SELETOR DE VARIAÇÃO para selecionar uma representação de glifo específica para esse caractere gráfico. Para uma sequência vs, a função recupera o índice de glifo para o glifo padrão mapeado pelo cmap para os dois caracteres, em vez do índice de glifo para o glifo específico para a sequência VS.
 
Alguns pontos de código podem ser renderizados por uma combinação de glifos, bem como por um único glifo, por exemplo, 00C9; LETRA MAIÚSCULA LATINA E COM AGUDO. Nesse caso, se a fonte der suporte ao glifo maiúsculo e ao glifo agudo, mas não a um único glifo para 00C9, ScriptGetCMap mostrará que 00C9 não tem suporte. Para determinar o suporte de fonte para uma cadeia de caracteres que contém esses tipos de pontos de código, o aplicativo pode chamar ScriptShape. Se a função retornar S_OK, o aplicativo deverá marcar a saída para glifos ausentes.
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 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho usp10.h
Biblioteca Usp10.lib
DLL Usp10.dll
Redistribuível Internet Explorer 5 ou posterior no Windows Me/98/95

Confira também

Exibindo texto com Uniscribe

SCRIPT_CACHE

ScriptGetFontProperties

Scriptshape

Uniscribe

Funções Uniscribe