Bagikan melalui


struktur DWRITE_SCRIPT_PROPERTIES (dwrite_1.h)

Struktur DWRITE_SCRIPT_PROPERTIES menentukan properti skrip untuk navigasi karet dan justifikasi.

Sintaks

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

Anggota

isoScriptCode

Empat kode karakter standar untuk skrip yang diberikan.

Catatan Ini hanya termasuk skrip Unicode umum, bukan skrip ISO 15924 tambahan untuk perbedaan bibliografi.
 

isoScriptNumber

Kode numerik standar, berkisar 0-999.

clusterLookahead

Jumlah karakter untuk memperkirakan look-ahead untuk skrip kompleks. Latin dan semua Kana umumnya 1. Skrip indeks hingga 15, dan sebagian besar lainnya adalah 8.

Catatan Menggabungkan tanda dan pemilih variasi dapat menghasilkan kluster yang lebih panjang dari tampilan ini, sehingga perkiraan ini dianggap sebagai penggunaan bahasa umum. Diakritik harus diuji secara eksplisit secara terpisah.
 

justificationCharacter

Karakter yang sesuai untuk memanjangkan skrip yang diberikan untuk pembenaran. Contohnya:

  • Arab - U+0640 Tatweel
  • Ogham - Tanda Ruang Angkasa U+1680 Ogham

restrictCaretToClusters

Batasi tanda sisipan ke seluruh kluster, seperti Thai dan Devanagari. Skrip seperti Arab secara default memungkinkan navigasi antar kluster. Yang lain seperti Thai selalu menavigasi seluruh kluster.

usesWordDividers

Bahasa ini menggunakan pembagi antara kata-kata, seperti spasi antara latin atau ruang kata Ethiopic. Contohnya termasuk Latin, Yunani, Devanagari, dan Ethiopic. Cina, Korea, dan Thailand dikecualikan.

isDiscreteWriting

Karakter adalah unit diskrit satu sama lain. Ini termasuk skrip blok dan skrip terkluster. Contohnya termasuk Latin, Yunani, Sirilik, Ibrani, Cina, dan Thailand.

isBlockWriting

Bahasa ini adalah skrip blok, memperluas antar karakter. Contohnya termasuk Tionghoa, Jepang, Korea, dan Bopomofo.

isDistributedWithinCluster

Bahasa ini dibenarkan dalam kluster glyph, bukan hanya antara kluster glyph, seperti urutan karakter Thai Lu dan Sara Am (U+E026, U+E033), yang membentuk satu kluster tetapi masih berkembang di antara mereka. Contohnya termasuk Thai, Lao, dan Khmer.

isConnectedWriting

Kluster skrip terhubung satu sama lain (seperti Devanagari yang terkait garis besar), dan tidak ada pemisahan yang ditambahkan di antara karakter.

Catatan Skrip yang ditautkan secara kursif seperti Bahasa Arab juga terhubung (tetapi tidak semua skrip yang terhubung cursive).
 
Contohnya termasuk Devanagari, Arab, Suriah, Bengala, Gurmukhi, dan Ogham. Bahasa Latin, Cina, dan Thaana dikecualikan.

isCursiveWriting

Skrip ini secara alami kurva (Arab dan Suriah), yang berarti menggunakan metode pembenaran lain seperti ekstensi kashida daripada spasi antar karakter.

Catatan Meskipun skrip lain seperti Latin dan Jepang mungkin benar-benar mendukung bentuk kutukan tulisan tangan, skrip tersebut tidak dianggap sebagai skrip kutukan.
 
Contohnya termasuk Arab, Suriah, dan Mongolia. Thaana, Devanagari, Latin, dan Cina dikecualikan.

reserved

Dicadangkan

Persyaratan

   
Klien minimum yang didukung Pembaruan Windows 8 dan Platform untuk Windows 7 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2012 dan Pembaruan Platform untuk Windows Server 2008 R2 [hanya aplikasi desktop]
Header dwrite_1.h

Lihat juga

IDWriteTextAnalyzer1::GetScriptProperties