Menggunakan Fungsi ScriptString

Untuk aplikasi yang berurusan dengan teks yang tidak diformat, Uniscribe menyediakan fungsi ScriptString* . Fungsi-fungsi ini mirip dengan ExtTextOut, DrawText, dan GetTextExtent, tetapi menyediakan dukungan skrip yang kompleks penuh, termasuk penempatan caret. Fungsi-fungsi ini mirip dengan fungsi Uniscribe lainnya, tetapi disesuaikan dengan persyaratan pemrosesan teks biasa yang lebih sederhana.

Tabel berikut merinci fungsi ScriptString* dan rekan-rekan apa pun dalam fungsi Uniscribe lainnya.

Fungsi Deskripsi
ScriptStringAnalyse Menganalisis teks biasa. Fungsi ini sesuai dengan fungsi berikut:
ScriptItemize
ScriptShape
Tempat Skrip
ScriptBreak
ScriptGetCMap
ScriptJustify
ScriptLayout
ScriptStringCPtoX Mengambil koordinat x untuk posisi karakter. Fungsi ini sesuai dengan ScriptCPtoX.
ScriptStringFree Membebaskan struktur SCRIPT_STRING_ANALYSIS .
ScriptStringGetLogicalWidths Mengonversi lebar visual menjadi lebar logis. Fungsi ini sesuai dengan ScriptGetLogicalWidths.
ScriptStringGetOrder Memetakan posisi glyph karakter dengan cara yang sama dengan GetCharacterPlacement, hanya untuk penggunaan warisan. Fungsi ini tidak berfungsi dengan baik dengan skrip yang menghasilkan lebih dari satu glyph per titik kode.
ScriptStringOut Menampilkan teks biasa. Fungsi ini sesuai dengan ScriptTextOut.
ScriptString_pcOutChars Mengembalikan penunjuk ke panjang string teks biasa yang diklip.
ScriptString_pLogAttr Mengembalikan penunjuk ke buffer atribut logis untuk string teks biasa yang dianalisis.
ScriptString_pSize Mengembalikan penunjuk ke ukuran (lebar dan tinggi) untuk string teks biasa yang dianalisis.
ScriptStringValidate Mengidentifikasi urutan titik kode yang tidak valid dalam skrip yang diberikan. Fungsi ini berbeda dari ScriptGetCMap, yang mengidentifikasi titik kode yang tidak ada dalam font.
ScriptStringXtoCP Mengonversi koordinat x menjadi posisi karakter. Fungsi ini sesuai dengan ScriptXtoCP.

Untuk hanya menampilkan teks biasa tanpa modifikasi apa pun, aplikasi harus memanggil ScriptStringAnalyse, ScriptStringOut, lalu ScriptStringFree. Fungsi lainnya digunakan untuk memodifikasi teks biasa sebelum ditampilkan.

Menggunakan Uniscribe