Método IDWriteTextAnalyzer1::GetJustifiedGlyphs (dwrite_1.h)
Preenche novos glifos para scripts complexos em que a justificativa aumentou os avanços dos glifos, como árabe com kashida.
Sintaxe
HRESULT GetJustifiedGlyphs(
IDWriteFontFace *fontFace,
FLOAT fontEmSize,
DWRITE_SCRIPT_ANALYSIS scriptAnalysis,
UINT32 textLength,
UINT32 glyphCount,
UINT32 maxGlyphCount,
[in, optional] UINT16 const *clusterMap,
[in] UINT16 const *glyphIndices,
[in] FLOAT const *glyphAdvances,
[in] FLOAT const *justifiedGlyphAdvances,
[in] DWRITE_GLYPH_OFFSET const *justifiedGlyphOffsets,
[in] DWRITE_SHAPING_GLYPH_PROPERTIES const *glyphProperties,
[out] UINT32 *actualGlyphCount,
[out, optional] UINT16 *modifiedClusterMap,
[out] UINT16 *modifiedGlyphIndices,
[out] FLOAT *modifiedGlyphAdvances,
[out] DWRITE_GLYPH_OFFSET *modifiedGlyphOffsets
);
Parâmetros
fontFace
Tipo: IDWriteFontFace*
Face de fonte usada para modelagem.
Pode ser NULL.
fontEmSize
Tipo: FLOAT
Tamanho da fonte em usada para a execução do glifo.
scriptAnalysis
Tipo: DWRITE_SCRIPT_ANALYSIS
Script do texto do itemizer.
textLength
Tipo: UINT32
Comprimento do texto.
glyphCount
Tipo: UINT32
Número de glifos.
maxGlyphCount
Tipo: UINT32
Número máximo de glifos de saída alocados pelo chamador.
[in, optional] clusterMap
Tipo: const UINT16*
Clustermap produzido a partir da formatação.
[in] glyphIndices
Tipo: const UINT16*
Glifos originais produzidos a partir da formatação.
[in] glyphAdvances
Tipo: const FLOAT*
Avanços de glifo originais produzidos a partir da formatação.
[in] justifiedGlyphAdvances
Tipo: const FLOAT*
Avanços de glifo justificados de IDWriteTextAnalyzer1::JustifyGlyphAdvances.
[in] justifiedGlyphOffsets
Tipo: const DWRITE_GLYPH_OFFSET*
Deslocamentos de glifo justificados de IDWriteTextAnalyzer1::JustifyGlyphAdvances.
[in] glyphProperties
Tipo: const DWRITE_SHAPING_GLYPH_PROPERTIES*
Propriedades de cada glifo, de IDWriteTextAnalyzer::GetGlyphs.
[out] actualGlyphCount
Tipo: UINT32*
A nova contagem de glifos gravada nas matrizes modificadas ou a contagem de glifos necessária se o tamanho não for grande o suficiente.
[out, optional] modifiedClusterMap
Tipo: UINT16*
Clustermap atualizado.
[out] modifiedGlyphIndices
Tipo: UINT16*
Glifos atualizados com novos glifos inseridos quando necessário.
[out] modifiedGlyphAdvances
Tipo: FLOAT*
Avanços de glifo atualizados.
[out] modifiedGlyphOffsets
Tipo: DWRITE_GLYPH_OFFSET*
Deslocamentos de glifo atualizados.
Valor retornado
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
Você chama GetJustifiedGlyphs depois que a linha é justificada e ela é por execução.
Você deverá chamar GetJustifiedGlyphs se IDWriteTextAnalyzer1::GetScriptProperties retornar um DWRITE_SCRIPT_PROPERTIES.justificationCharacter não nulo para esse script.
Use GetJustifiedGlyphs principalmente para scripts cursivos como árabe. Se maxGlyphCount não for grande o suficiente, GetJustifiedGlyphs retornará o erro E_NOT_SUFFICIENT_BUFFER e preencherá a variável à qual actualGlyphCount aponta com a contagem de glifos necessária.
Requisitos
Cliente mínimo com suporte | Windows 8 e Platform Update para Windows 7 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2012 e Platform Update para Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | dwrite_1.h |
Biblioteca | Dwrite.lib |
DLL | Dwrite.dll |
Confira também
IDWriteTextAnalyzer1::GetScriptProperties