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 |