Método IDWriteTextAnalyzer::GetGlyphs (dwrite.h)

Analisa a cadeia de caracteres de texto de entrada e mapeia-a para o conjunto de glifos e dados de glifo associados de acordo com a fonte e as regras de renderização do sistema de gravação.

Sintaxe

HRESULT GetGlyphs(
  [in]           WCHAR const                       *textString,
                 UINT32                            textLength,
                 IDWriteFontFace                   *fontFace,
                 BOOL                              isSideways,
                 BOOL                              isRightToLeft,
  [in]           DWRITE_SCRIPT_ANALYSIS const      *scriptAnalysis,
  [in, optional] WCHAR const                       *localeName,
  [optional]     IDWriteNumberSubstitution         *numberSubstitution,
  [in, optional] DWRITE_TYPOGRAPHIC_FEATURES const **features,
  [in, optional] UINT32 const                      *featureRangeLengths,
                 UINT32                            featureRanges,
                 UINT32                            maxGlyphCount,
  [out]          UINT16                            *clusterMap,
  [out]          DWRITE_SHAPING_TEXT_PROPERTIES    *textProps,
  [out]          UINT16                            *glyphIndices,
  [out]          DWRITE_SHAPING_GLYPH_PROPERTIES   *glyphProps,
  [out]          UINT32                            *actualGlyphCount
);

Parâmetros

[in] textString

Tipo: const WCHAR*

Uma matriz de caracteres a serem convertidos em glifos.

textLength

Tipo: UINT32

O comprimento de textString.

fontFace

Tipo: IDWriteFontFace*

A face da fonte que é a origem dos glifos de saída.

isSideways

Tipo: BOOL

Um sinalizador booliano definido como TRUE se o texto se destina a ser desenhado verticalmente.

isRightToLeft

Tipo: BOOL

Um sinalizador booliano definido como TRUE para texto da direita para a esquerda.

[in] scriptAnalysis

Tipo: const DWRITE_SCRIPT_ANALYSIS*

Um ponteiro para um resultado de análise de script de uma chamada AnalyzeScript .

[in, optional] localeName

Tipo: const WCHAR*

A localidade a ser usada ao selecionar glifos. Por exemplo, o mesmo caractere pode ser mapeado para glifos diferentes para ja-jp versus zh-chs. Se for NULL, o mapeamento padrão com base no script será usado.

[optional] numberSubstitution

Tipo: IDWriteNumberSubstitution*

Um ponteiro para uma substituição de número opcional que seleciona os glifos apropriados para dígitos e caracteres numéricos relacionados, dependendo dos resultados obtidos de AnalyzeNumberSubstitution. Passar NULL indica que nenhuma substituição é necessária e que os dígitos devem receber glifos nominais.

[in, optional] features

Tipo: const DWRITE_TYPOGRAPHIC_FEATURES**

Uma matriz de ponteiros para os conjuntos de recursos tipográficos a serem usados em cada intervalo de recursos.

[in, optional] featureRangeLengths

Tipo: const UINT32*

O comprimento de cada intervalo de recursos, em caracteres.
A soma de todos os comprimentos deve ser igual a textLength.

featureRanges

Tipo: UINT32

O número de intervalos de recursos.

maxGlyphCount

Tipo: UINT32

O número máximo de glifos que podem ser retornados.

[out] clusterMap

Tipo: UINT16*

Quando esse método retorna, contém o mapeamento de intervalos de caracteres para intervalos de glifo.

[out] textProps

Tipo: DWRITE_SHAPING_TEXT_PROPERTIES*

Quando esse método retorna, contém um ponteiro para uma matriz de estruturas que contém propriedades de formatação para cada caractere.

[out] glyphIndices

Tipo: UINT16*

Os índices de glifo de saída.

[out] glyphProps

Tipo: DWRITE_SHAPING_GLYPH_PROPERTIES*

Quando esse método retorna, contém um ponteiro para uma matriz de estruturas que contêm propriedades de formatação para cada glifo de saída.

[out] actualGlyphCount

Tipo: UINT32*

Quando esse método retorna, contém o número real de glifos retornados se a chamada for bem-sucedida.

Retornar valor

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Observe que o mapeamento de caracteres para glifos é, em geral, muitos para muitos. A estimativa recomendada para os buffers de saída por glifo é (3 * textLength / 2 + 16). Não há garantia de que isso seja suficiente.

O valor do parâmetro actualGlyphCount só será válido se a chamada for bem-sucedida. Caso maxGlyphCount não seja grande o suficiente, HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) será retornado. O aplicativo deve alocar um buffer maior e tentar novamente.

Requisitos

   
Cliente mínimo com suporte Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 R2, Windows Server 2008 com SP2 e Platform Update para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho dwrite.h
Biblioteca Dwrite.lib
DLL Dwrite.dll

Confira também

IDWriteTextAnalyzer