Método IDWriteTextAnalyzer1::GetJustifiedGlyphs (dwrite_1.h)
Rellena nuevos glifos para scripts complejos donde la justificación aumentó los avances de glifos, como el árabe con kashida.
Sintaxis
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*
Cara de fuente usada para dar forma.
Puede ser NULL.
fontEmSize
Tipo: FLOAT
Tamaño de fuente em usado para la ejecución del glifo.
scriptAnalysis
Tipo: DWRITE_SCRIPT_ANALYSIS
Script del texto del elementoizador.
textLength
Tipo: UINT32
Longitud del texto.
glyphCount
Tipo: UINT32
Número de glifos.
maxGlyphCount
Tipo: UINT32
Número máximo de glifos de salida asignados por el llamador.
[in, optional] clusterMap
Tipo: const UINT16*
Mapa de clúster generado a partir de la forma.
[in] glyphIndices
Tipo: const UINT16*
Glifos originales producidos a partir de la forma.
[in] glyphAdvances
Tipo: const FLOAT*
El glifo original avanza producido a partir de la forma.
[in] justifiedGlyphAdvances
Tipo: const FLOAT*
El glifo justificado avanza de IDWriteTextAnalyzer1::JustifyGlyphAdvances.
[in] justifiedGlyphOffsets
Tipo: const DWRITE_GLYPH_OFFSET*
El glifo justificado se desplaza de IDWriteTextAnalyzer1::JustifyGlyphAdvances.
[in] glyphProperties
Tipo: const DWRITE_SHAPING_GLYPH_PROPERTIES*
Propiedades de cada glifo, de IDWriteTextAnalyzer::GetGlyphs.
[out] actualGlyphCount
Tipo: UINT32*
Nuevo número de glifos escritos en las matrices modificadas o el recuento de glifos necesario si el tamaño no es lo suficientemente grande.
[out, optional] modifiedClusterMap
Tipo: UINT16*
Mapa de clúster actualizado.
[out] modifiedGlyphIndices
Tipo: UINT16*
Glifos actualizados con nuevos glifos insertados cuando sea necesario.
[out] modifiedGlyphAdvances
Tipo: FLOAT*
Se ha actualizado el glifo.
[out] modifiedGlyphOffsets
Tipo: DWRITE_GLYPH_OFFSET*
Se han actualizado los desplazamientos del glifo.
Valor devuelto
Tipo: HRESULT
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Se llama a GetJustifiedGlyphs después de que se haya justificado la línea y se ejecuta por ejecución.
Debe llamar a GetJustifiedGlyphs si IDWriteTextAnalyzer1::GetScriptProperties devuelve un DWRITE_SCRIPT_PROPERTIES.justificationCharacter distinto de NULL para ese script.
Use GetJustifiedGlyphs principalmente para scripts cursivos como árabe. Si maxGlyphCount no es lo suficientemente grande, GetJustifiedGlyphs devuelve el error E_NOT_SUFFICIENT_BUFFER y rellena la variable a la que realGlyphCount apunta con el recuento de glifos necesario.
Requisitos
Cliente mínimo compatible | Windows 8 y Platform Update para Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2012 y actualización de plataforma para Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | dwrite_1.h |
Library | Dwrite.lib |
Archivo DLL | Dwrite.dll |
Consulte también
IDWriteTextAnalyzer1::GetScriptProperties