Fungsi ScriptLayout (usp10.h)
Mengonversi array tingkat penyematan eksekusi ke peta posisi visual-ke-logis dan/atau posisi logis-ke-visual.
Sintaks
HRESULT ScriptLayout(
[in] int cRuns,
[in] const BYTE *pbLevel,
[out, optional] int *piVisualToLogical,
[out, optional] int *piLogicalToVisual
);
Parameter
[in] cRuns
Jumlah eksekusi yang akan diproses.
[in] pbLevel
Penunjuk ke array, panjang yang ditunjukkan oleh cRuns, berisi tingkat penyematan eksekusi. Tingkat penyematan untuk semua eksekusi pada baris harus disertakan, diurutkan secara logis. Untuk informasi lebih lanjut, lihat bagian Keterangan.
[out, optional] piVisualToLogical
Penunjuk ke array, panjang yang ditunjukkan oleh cRuns, di mana fungsi ini mengambil tingkat penyematan eksekusi yang diurutkan ulang ke urutan visual. Elemen array pertama mewakili eksekusi untuk ditampilkan di paling kiri, dan entri berikutnya harus ditampilkan kemajuan dari kiri ke kanan. Fungsi mengatur parameter ini ke NULL jika tidak ada output.
[out, optional] piLogicalToVisual
Penunjuk ke array, panjang yang ditunjukkan oleh cRuns, di mana fungsi ini mengambil posisi eksekusi visual. Elemen array pertama adalah posisi visual relatif di mana eksekusi logis pertama harus ditampilkan, posisi tampilan paling kiri adalah 0. Fungsi mengatur parameter ini ke NULL jika tidak ada output.
Nilai kembali
Mengembalikan 0 jika berhasil. Fungsi mengembalikan nilai HRESULT bukan nol jika tidak berhasil. Aplikasi dapat menguji nilai pengembalian dengan makro BERHASIL dan GAGAL .
Keterangan
Lihat Menampilkan Teks dengan Uniscribe untuk diskusi tentang konteks di mana fungsi ini biasanya dipanggil.
Fungsi ini hanya menangani data yang berkaitan dengan satu baris teks.
Tingkat penyematan eksekusi didefinisikan dalam algoritma dua arah Unicode. Mereka menjelaskan arah eksekusi, arah setiap eksekusi di mana ia disematkan, dan arah paragraf. Tidak ada input lain yang diperlukan untuk panggilan ke fungsi ini. Untuk informasi selengkapnya, lihat Unicode.
Tabel berikut mencantumkan tingkat penyematan yang telah ditentukan sebelumnya. Aplikasi dapat menambahkan tingkat sesuai kebutuhan.
Tingkat | Makna |
---|---|
0 | Eksekusi kiri-ke-kanan dalam paragraf kiri-ke-kanan. |
1 | Eksekusi kanan-ke-kiri yang disematkan dalam eksekusi kiri-ke-kanan dalam paragraf kiri-ke-kanan. Atau, eksekusi kanan-ke-kiri, tidak disematkan dalam eksekusi lain, dalam paragraf kanan-ke-kiri. |
2 | Eksekusi kiri-ke-kanan yang disematkan dalam eksekusi kanan-ke-kiri tipe 1. |
3 | Eksekusi kanan-ke-kiri yang disematkan dalam eksekusi kiri-ke-kanan tipe 2. |
"Posisi logis" mengacu pada penempatan eksekusi relatif terhadap eksekusi lain. Ini adalah posisi di penyimpanan backing, dan sesuai dengan urutan di mana pengguna membaca teks dengan keras. "Posisi visual" dari eksekusi mengacu pada cara eksekusi ditampilkan secara visual pada baris, dengan mempertimbangkan kemungkinan arah yang dapat dimiliki eksekusi.
Aplikasi dapat memanggil pengaturan fungsi ini baik piLogicalToVisual atau piVisualToLogical, atau keduanya.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | usp10.h |
Pustaka | Usp10.lib |
DLL | Usp10.dll |
Redistribusi | Internet Explorer 5 atau yang lebih baru pada Windows Me/98/95 |