Freigeben über


DWRITE_SCRIPT_PROPERTIES-Struktur (dwrite_1.h)

Die DWRITE_SCRIPT_PROPERTIES-Struktur gibt Skripteigenschaften für die Caretnavigation und -begründung an.

Syntax

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

Member

isoScriptCode

Der standardisierte Vierzeichencode für das angegebene Skript.

Hinweis Dazu gehören nur die allgemeinen Unicode-Skripts, keine zusätzlichen ISO 15924-Skripts zur bibliografischen Unterscheidung.
 

isoScriptNumber

Der standardisierte numerische Code im Bereich von 0 bis 999.

clusterLookahead

Anzahl der Zeichen zum Schätzen des Look-Aheads für komplexe Skripts. Lateinisch und alle Kana sind im Allgemeinen 1. Indische Skripts sind bis zu 15, und die meisten anderen sind 8.

Hinweis Die Kombination von Markierungen und Variationsselektoren kann Cluster erzeugen, die länger als diese Blickvorschauen sind, daher wird diese Schätzung als typischer Sprachgebrauch betrachtet. Diakritische Zeichen müssen explizit separat getestet werden.
 

justificationCharacter

Geeignetes Zeichen, um das angegebene Skript zur Begründung zu verlängert. Beispiel:

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

restrictCaretToClusters

Beschränken Sie das Caret auf ganze Cluster, z. B. Thai und Devanagari. Skripts wie Arabisch lassen standardmäßig die Navigation zwischen Clustern zu. Andere wie Thai navigieren immer über ganze Cluster.

usesWordDividers

Die Sprache verwendet Trennzeichen zwischen Wörtern, z. B. Zwischenräume zwischen lateinisch oder ethiopischem Wortraum. Beispiele hierfür sind Lateinisch, Griechisch, Devanagari und Ethiopisch. Chinesisch, Koreanisch und Thailändisch sind ausgeschlossen.

isDiscreteWriting

Die Zeichen sind separate Einheiten voneinander. Dies umfasst sowohl Blockskripts als auch gruppierte Skripts. Beispiele hierfür sind Lateinisch, Griechisch, Kyrillisch, Hebräisch, Chinesisch und Thailändisch.

isBlockWriting

Die Sprache ist ein Blockskript, das zwischen Zeichen erweitert wird. Beispiele hierfür sind Chinesisch, Japanisch, Koreanisch und Bopomofo.

isDistributedWithinCluster

Die Sprache ist innerhalb von Glyphenclustern gerechtfertigt, nicht nur zwischen Glyphenclustern, wie der Zeichenfolge von Thai Lu und Sara Am (U+E026, U+E033), die einen einzelnen Cluster bilden, aber immer noch zwischen ihnen erweitern. Beispiele hierfür sind Thai, Lao und Khmer.

isConnectedWriting

Die Cluster des Skripts sind miteinander verbunden (z. B. das mit der Baseline verknüpfte Devanagari), und es wird keine Trennung zwischen Zeichen hinzugefügt.

Hinweis Schreibweise verknüpfte Skripts wie Arabisch sind ebenfalls miteinander verbunden (aber nicht alle verbundenen Skripts sind cursive).
 
Beispiele hierfür sind Devanagari, Arabisch, Syrisch, Bengala, Gurmukhi und Ogham. Lateinisch, Chinesisch und Thaana sind ausgeschlossen.

isCursiveWriting

Das Skript ist von Natur aus kursiv (arabisch und syrisch), d. h. es verwendet andere Rechtfertigungsmethoden wie kashida-Erweiterung anstelle von Zeichenabstand.

Hinweis Obwohl andere Skripts wie Lateinisch und Japanisch handschriftliche schreibweise Formen unterstützen, werden sie nicht als schreibive Schriften betrachtet.
 
Beispiele hierfür sind Arabisch, Syrisch und Mongolisch. Thaana, Devanagari, Lateinisch und Chinesisch sind ausgeschlossen.

reserved

Reserviert

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 und Plattformupdate für Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 und Plattformupdate für Windows Server 2008 R2 [nur Desktop-Apps]
Kopfzeile dwrite_1.h

Weitere Informationen

IDWriteTextAnalyzer1::GetScriptProperties