Compartir a través de


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

Analiza la cadena de texto de entrada y la asigna al conjunto de glifos y datos de glifos asociados según la fuente y las reglas de representación del sistema de escritura.

Sintaxis

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*

Matriz de caracteres que se va a convertir en glifos.

textLength

Tipo: UINT32

Longitud de textString.

fontFace

Tipo: IDWriteFontFace*

La cara de fuente que es el origen de los glifos de salida.

isSideways

Tipo: BOOL

Marca booleana establecida en TRUE si el texto está pensado para dibujarse verticalmente.

isRightToLeft

Tipo: BOOL

Marca booleana establecida en TRUE para texto de derecha a izquierda.

[in] scriptAnalysis

Tipo: const DWRITE_SCRIPT_ANALYSIS*

Puntero a un resultado de análisis de script de una llamada a AnalyzeScript .

[in, optional] localeName

Tipo: const WCHAR*

Configuración regional que se va a usar al seleccionar glifos. Por ejemplo, el mismo carácter puede asignarse a glifos diferentes para ja-jp frente a zh-chs. Si es NULL, se usa la asignación predeterminada basada en el script.

[optional] numberSubstitution

Tipo: IDWriteNumberSubstitution*

Puntero a una sustitución de números opcional que selecciona los glifos adecuados para dígitos y caracteres numéricos relacionados, según los resultados obtenidos de AnalyzeNumberSubstitution. Pasar NULL indica que no se necesita sustitución y que los dígitos deben recibir glifos nominales.

[in, optional] features

Tipo: const DWRITE_TYPOGRAPHIC_FEATURES**

Matriz de punteros a los conjuntos de características tipográficas que se van a usar en cada intervalo de características.

[in, optional] featureRangeLengths

Tipo: const UINT32*

Longitud de cada intervalo de características, en caracteres.
La suma de todas las longitudes debe ser igual a textLength.

featureRanges

Tipo: UINT32

Número de intervalos de características.

maxGlyphCount

Tipo: UINT32

Número máximo de glifos que se pueden devolver.

[out] clusterMap

Tipo: UINT16*

Cuando este método vuelve, contiene la asignación de intervalos de caracteres a intervalos de glifos.

[out] textProps

Tipo: DWRITE_SHAPING_TEXT_PROPERTIES*

Cuando este método vuelve, contiene un puntero a una matriz de estructuras que contiene propiedades de forma para cada carácter.

[out] glyphIndices

Tipo: UINT16*

Índices de glifo de salida.

[out] glyphProps

Tipo: DWRITE_SHAPING_GLYPH_PROPERTIES*

Cuando este método vuelve, contiene un puntero a una matriz de estructuras que contienen propiedades de forma para cada glifo de salida.

[out] actualGlyphCount

Tipo: UINT32*

Cuando este método vuelve, contiene el número real de glifos devueltos si la llamada se realiza correctamente.

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.

Observaciones

Tenga en cuenta que la asignación de caracteres a glifos es, en general, de varios a varios. La estimación recomendada para los búferes de salida por glifo es (3 * textLength / 2 + 16). Esto no se garantiza que sea suficiente.

El valor del parámetro actualGlyphCount solo es válido si la llamada se realiza correctamente. En caso de que maxGlyphCount no sea lo suficientemente grande, se devolverá HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER). La aplicación debe asignar un búfer mayor e intentarlo de nuevo.

Requisitos

   
Cliente mínimo compatible Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado dwrite.h
Library Dwrite.lib
Archivo DLL Dwrite.dll

Consulte también

IDWriteTextAnalyzer