Condividi tramite


DWRITE_SCRIPT_PROPERTIES struttura (dwrite_1.h)

La struttura DWRITE_SCRIPT_PROPERTIES specifica le proprietà dello script per lo spostamento e la giustificazione del caret.

Sintassi

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

Members

isoScriptCode

Codice di quattro caratteri standard per lo script specificato.

Nota Questi includono solo gli script Unicode generali, non altri script ISO 15924 per la distinzione bibliografica.
 

isoScriptNumber

Codice numerico standardizzato, compreso tra 0 e 999.

clusterLookahead

Numero di caratteri da stimare per gli script complessi. Il latino e tutti i Kana sono in genere 1. Gli script indic sono fino a 15 e la maggior parte degli altri è 8.

Nota La combinazione di segni e selettore di varianti può produrre cluster più lunghi di questi look-ahead, quindi questa stima è considerata un uso tipico del linguaggio. I diacritici devono essere testati in modo esplicito separatamente.
 

justificationCharacter

Carattere appropriato per allungare lo script specificato per la giustificazione. Ad esempio:

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

restrictCaretToClusters

Limitare il caret a tutti i cluster, ad esempio Thai e Devanagari. Gli script come l'arabo per impostazione predefinita consentono lo spostamento tra cluster. Altri utenti come Thai si spostano sempre tra tutti i cluster.

usesWordDividers

La lingua usa i divisori tra parole, ad esempio spazi tra il latino o lo spazio delle parole Ethiopic. Gli esempi includono Latino, Greco, Devanagari e Ethiopic. I cinesi, coreani e thai sono esclusi.

isDiscreteWriting

I caratteri sono unità discrete tra loro. Ciò include script di blocco e script cluster. Gli esempi includono latino, greco, cirillico, ebraico, cinese e thai.

isBlockWriting

Il linguaggio è uno script a blocchi, espandendo tra caratteri. Gli esempi includono cinese, giapponese, coreano e Bopomofo.

isDistributedWithinCluster

La lingua è giustificata all'interno di cluster glifi, non solo tra i cluster glifi, ad esempio la sequenza di caratteri di Thai Lu e Sara Am (U+E026, U+E033), che formano un singolo cluster ma si espandono ancora tra di essi. Gli esempi includono Thai, Lao e Khmer.

isConnectedWriting

I cluster dello script sono connessi l'uno all'altro (ad esempio la linea di base collegata a Devanagari) e non viene aggiunta alcuna separazione tra i caratteri.

Nota Gli script collegati in modo curvo come l'arabo sono anche connessi (ma non tutti gli script connessi sono curvi).
 
Gli esempi includono Devanagari, Arabo, Siriaco, Bengala, Gurmukhi e Ogham. I caratteri latini, cinesi e Thaana sono esclusi.

isCursiveWriting

Lo script è naturalmente curvo (arabo e siriaco), significa che usa altri metodi di giustificazione come estensione kashida anziché spaziatura tra caratteri.

Nota Anche se altri script come latini e giapponesi potrebbero effettivamente supportare forme curvi scritte a mano, non sono considerati script curvi.
 
Gli esempi includono arabo, siriaco e mongolo. Thaana, Devanagari, Latino e Cinese sono esclusi.

reserved

Riservato

Requisiti

   
Client minimo supportato Windows 8 e Platform Update per Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2012 e Aggiornamento della piattaforma per Windows Server 2008 R2 [solo app desktop]
Intestazione dwrite_1.h

Vedi anche

IDWriteTextAnalyzer1::GetScriptProperties