Menggunakan Mesin Pembentukan

Uniscribe menggunakan beberapa mesin pembentukan yang berisi pengetahuan tata letak untuk skrip tertentu. Ini juga memanfaatkan mesin pembentukan tata letak OpenType untuk menangani fitur skrip khusus font, seperti pembuatan glyph, pengukuran jangkauan, dan dukungan pemecahan kata. Uniscribe mengelola susunan ulang karakter dua arah menggunakan algoritma dua arah Unicode, dan memahami format font tata letak non-OpenType untuk pembentukan Arab, Ibrani, dan Thailand.

Karena rentang titik kode yang tepat yang ditetapkan untuk setiap mesin pembentukan mungkin bervariasi, nomor skrip tidak diterbitkan, dengan pengecualian SCRIPT_UNDEFINED. Namun, aplikasi Anda dapat menguji atribut skrip dengan memanggil fungsi ScriptGetProperties , yang mengakses tabel properti skrip global. Aplikasi dapat menggunakan properti skrip global untuk membantu menggabungkan aturan tata letaknya sendiri dengan pembentukan divisi mesin yang diperlukan.

Aplikasi mengakses mesin pembentukan dengan panggilan ke fungsi ScriptShape . Semua mesin pembentukan skrip kompleks, mesin pembentukan digit, dan mesin pembentukan ASCII memvalidasi font yang ditunjukkan dalam handel konteks perangkat sebelum membentuk. Skrip kompleks harus dibentuk menggunakan skrip yang dikembalikan oleh fungsi ScriptItemize agar dapat terbagi. Eksekusi lain tetap dapat terbayangkan jika dibentuk dengan SCRIPT_UNDEFINED yang ditentukan dalam anggota eScript struktur SCRIPT_ANALYSIS , meskipun mungkin kehilangan kualitas tipografi.

ScriptShape mengembalikan 0 jika berhasil, atau USP_E_SCRIPT_NOT_IN_FONT jika font yang disediakan oleh aplikasi tidak berisi glyph atau tabel pembentukan yang memadai. Jika aplikasi menentukan SCRIPT_UNDEFINED dan beberapa karakter tidak didukung oleh font, fungsi masih berhasil. Dalam hal ini, aplikasi harus memindai buffer output glyph untuk keberadaan glyph yang hilang. Untuk strategi menangani glyph yang hilang, lihat Menggunakan Fallback Font.

Menggunakan Uniscribe