Compartir a través de


estructura de DWRITE_SCRIPT_PROPERTIES (dwrite_1.h)

La estructura de DWRITE_SCRIPT_PROPERTIES especifica las propiedades del script para la navegación y justificación del símbolo de intercalación.

Sintaxis

struct DWRITE_SCRIPT_PROPERTIES {
  UINT32 isoScriptCode;
  UINT32 isoScriptNumber;
  UINT32 clusterLookahead;
  UINT32 justificationCharacter;
  UINT32 restrictCaretToClusters : 1;
  UINT32 usesWordDividers : 1;
  UINT32 isDiscreteWriting : 1;
  UINT32 isBlockWriting : 1;
  UINT32 isDistributedWithinCluster : 1;
  UINT32 isConnectedWriting : 1;
  UINT32 isCursiveWriting : 1;
  UINT32 reserved : 25;
};

Miembros

isoScriptCode

Código estandarizado de cuatro caracteres para el script especificado.

Nota Estos solo incluyen los scripts Unicode generales, no los scripts ISO 15924 adicionales para la distinción bibliográfica.
 

isoScriptNumber

Código numérico estandarizado, comprendido entre 0 y 999.

clusterLookahead

Número de caracteres para calcular la búsqueda anticipada de scripts complejos. Latín y todos los Kana son generalmente 1. Los scripts indicos son de hasta 15, y la mayoría de los demás son 8.

Nota La combinación de marcas y selectores de variación puede generar clústeres que son más largos que estos aspectos previos, por lo que esta estimación se considera un uso típico del lenguaje. Los diacríticos se deben probar explícitamente por separado.
 

justificationCharacter

Carácter adecuado para elongar el script especificado para la justificación. Por ejemplo:

  • Árabe - U+0640 Tatweel
  • Ogham - Marca espacial de Ogham U+1680

restrictCaretToClusters

Restrinja el símbolo de intercalación a clústeres enteros, como Thai y Devanagari. Los scripts como árabe permiten de forma predeterminada la navegación entre clústeres. Otros, como Thai, siempre navegan por clústeres enteros.

usesWordDividers

El lenguaje usa divisores entre palabras, como espacios entre latín o el espacio de palabras Ethiopic. Entre los ejemplos se incluyen latín, griego, devanagari y ethiopic. Se excluyen chino, coreano y tailandés.

isDiscreteWriting

Los caracteres son unidades discretas entre sí. Esto incluye scripts de bloque y scripts en clúster. Entre los ejemplos se incluyen latín, griego, cirílico, hebreo, chino y tailandés.

isBlockWriting

El lenguaje es un script de bloque, que se expande entre caracteres. Algunos ejemplos son chino, japonés, coreano y bopomofo.

isDistributedWithinCluster

El idioma está justificado en clústeres de glifos, no solo entre clústeres de glifos, como la secuencia de caracteres de Lu tailandés y Sara Am (U+E026, U+E033), que forman un único clúster pero se expanden entre ellos. Algunos ejemplos son Thai, Lao y Khmer.

isConnectedWriting

Los clústeres del script se conectan entre sí (como el Devanagari vinculado a línea base) y no se agrega ninguna separación entre caracteres.

Nota Los scripts vinculados cursivamente, como el árabe, también están conectados (pero no todos los scripts conectados son cursivos).
 
Algunos ejemplos son Devanagari, Árabe, Siriac, Bengala, Gurmukhi y Ogham. Se excluyen latín, chino y thaana.

isCursiveWriting

El script es naturalmente cursivo (árabe y siria), lo que significa que usa otros métodos de justificación como la extensión kashida en lugar de espaciado entre caracteres.

Nota Aunque otros scripts como latino y japonés pueden admitir realmente formas cursivas manuscritas, no se consideran scripts cursivos.
 
Entre los ejemplos se incluyen árabe, siria y mongolia. Se excluyen Thaana, Devanagari, Latino y Chino.

reserved

Reservado

Requisitos

   
Cliente mínimo compatible Windows 8 y Actualización de plataforma para Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 y Actualización de plataforma para Windows Server 2008 R2 [solo aplicaciones de escritorio]
Encabezado dwrite_1.h

Consulte también

IDWriteTextAnalyzer1::GetScriptProperties