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 |