Compartir a través de


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

IDWriteTextAnalyzer1::GetScriptProperties

IDWriteTextAnalyzer1::JustifyGlyphAdvances

IDWriteTextAnalyzer::GetGlyphs