Partager via


DWRITE_SCRIPT_PROPERTIES structure (dwrite_1.h)

La structure DWRITE_SCRIPT_PROPERTIES spécifie les propriétés de script pour la navigation et la justification de l’insertion.

Syntaxe

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;
};

Membres

isoScriptCode

Code standardisé à quatre caractères pour le script donné.

Note Ceux-ci incluent uniquement les scripts Unicode généraux, pas les scripts ISO 15924 supplémentaires pour la distinction bibliographique.
 

isoScriptNumber

Code numérique standardisé, compris entre 0 et 999.

clusterLookahead

Nombre de caractères permettant d’estimer l’avance des scripts complexes. Le latin et tous les kanas sont généralement 1. Les scripts indics peuvent aller jusqu’à 15, et la plupart des autres sont 8.

Note La combinaison de marques et de sélecteurs de variantes peut produire des clusters qui sont plus longs que ces aperçus, de sorte que cette estimation est considérée comme une utilisation typique du langage. Les diacritiques doivent être testés explicitement séparément.
 

justificationCharacter

Caractère approprié pour allonger le script donné à des fins de justification. Par exemple :

  • Arabe - U+0640 Tatweel
  • Ogham - U+1680 Ogham Space Mark

restrictCaretToClusters

Limitez le caret aux clusters entiers, comme le thaï et le devanagari. Les scripts tels que l’arabe autorisent par défaut la navigation entre les clusters. D’autres, comme thaï, naviguent toujours sur des clusters entiers.

usesWordDividers

La langue utilise des séparateurs entre les mots, tels que des espaces entre le latin ou l’espace lexical éthiopien. Par exemple, le latin, le grec, le dévanagari et l’éthiopien. Le chinois, le coréen et le thaï sont exclus.

isDiscreteWriting

Les caractères sont des unités discrètes les uns des autres. Cela inclut à la fois les scripts de bloc et les scripts cluster. Par exemple, le latin, le grec, le cyrillique, l’hébreu, le chinois et le thaï.

isBlockWriting

La langue est un script de bloc, qui se développe entre des caractères. Par exemple, le chinois, le japonais, le coréen et le bopomofo.

isDistributedWithinCluster

La langue est justifiée dans les clusters de glyphes, pas seulement entre les clusters de glyphes, comme la séquence de caractères de Thai Lu et Sara Am (U+E026, U+E033), qui forment un seul cluster, mais continuent de se développer entre eux. Les exemples incluent le thaï, le lao et le khmer.

isConnectedWriting

Les clusters du script sont connectés les uns aux autres (par exemple, le Devanagari lié à la base de référence) et aucune séparation n’est ajoutée entre les caractères.

Note Les scripts liés de manière cursive comme l’arabe sont également connectés (mais tous les scripts connectés ne le sont pas).
 
Par exemple, le devanagari, l’arabe, le syriaque, le bengala, le gurmukhi et l’ogham. Le latin, le chinois et le thaana sont exclus.

isCursiveWriting

Le script est naturellement cursif (arabe et syriaque), ce qui signifie qu’il utilise d’autres méthodes de justification comme l’extension kashida plutôt que l’espacement entre les caractères.

Note Bien que d’autres scripts comme le latin et le japonais puissent prendre en charge les formes cursives manuscrites, ils ne sont pas considérés comme des scripts cursifs.
 
Par exemple, l’arabe, le syriaque et le mongol. Le thaana, le dévanagari, le latin et le chinois sont exclus.

reserved

Réservé

Spécifications

   
Client minimal pris en charge Windows 8 et mise à jour de plateforme pour Windows 7 [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2012 et Platform Update pour Windows Server 2008 R2 [applications de bureau uniquement]
En-tête dwrite_1.h

Voir aussi

IDWriteTextAnalyzer1::GetScriptProperties