Fungsi ScriptTextOut (usp10.h)
Menampilkan teks untuk bentuk skrip dan informasi tempat yang ditentukan.
Sintaks
HRESULT ScriptTextOut(
[in] const HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in] int x,
[in] int y,
[in] UINT fuOptions,
[in, optional] const RECT *lprc,
[in] const SCRIPT_ANALYSIS *psa,
[in] const WCHAR *pwcReserved,
[in] int iReserved,
[in] const WORD *pwGlyphs,
[in] int cGlyphs,
[in] const int *piAdvance,
[in, optional] const int *piJustify,
[in] const GOFFSET *pGoffset
);
Parameter
[in] hdc
Menangani konteks perangkat. Untuk informasi selengkapnya, lihat Penembolokan. Perhatikan bahwa, tidak seperti beberapa fungsi Uniscribe terkait lainnya, fungsi ini mendefinisikan handel sebagai wajib.
[in, out] psc
Arahkan ke struktur SCRIPT_CACHE yang mengidentifikasi cache skrip.
[in] x
Nilai koordinat x dari glyph pertama.
[in] y
Nilai koordinat y dari glyph pertama.
[in] fuOptions
Opsi yang setara dengan parameter fuOptionsextTextOut. Parameter ini dapat diatur ke ETO_CLIPPED atau ETO_OPAQUE, ke kedua nilai, atau ke tidak ada nilai.
[in, optional] lprc
Penunjuk ke struktur RECT yang berisi persegi panjang yang digunakan untuk mengklip tampilan. Aplikasi dapat mengatur parameter ini ke NULL.
[in] psa
Penunjuk ke struktur SCRIPT_ANALYSIS yang diperoleh dari panggilan sebelumnya ke ScriptItemize.
[in] pwcReserved
Dipesan; harus diatur ke NULL.
[in] iReserved
Dipesan; harus 0.
[in] pwGlyphs
Pointer ke array glyph yang diperoleh dari panggilan sebelumnya ke ScriptShape.
[in] cGlyphs
Jumlah glyph dalam array yang ditunjukkan oleh pwGlyphs. Jumlah maksimum glyph adalah 65.536.
[in] piAdvance
Penunjuk ke array lebar muka yang diperoleh dari panggilan sebelumnya ke ScriptPlace.
[in, optional] piJustify
Penunjuk ke array lebar muka rata-rata rata (lebar sel). Aplikasi dapat mengatur parameter ini ke NULL.
[in] pGoffset
Pointer ke struktur GOFFSET yang berisi offset x dan y untuk menggabungkan glyph.
Menampilkan nilai
Mengembalikan 0 jika berhasil. Fungsi mengembalikan nilai HRESULT bukan nol jika tidak berhasil. Aplikasi dapat menguji nilai pengembalian dengan makro BERHASIL dan GAGAL .
Keterangan
Fungsi ini memanggil fungsi ExtTextOut sistem operasi untuk tampilan teks. Untuk informasi selengkapnya, lihat Menampilkan Teks dengan Uniscribe.
Semua array dalam urutan tampilan kecuali anggota fLogicalOrder diatur dalam struktur SCRIPT_ANALYSIS yang ditunjukkan oleh psa.
Untuk setiap eksekusi yang dirender kanan-ke-kiri dan dihasilkan dalam urutan logis dengan memaksa anggota fLogicalOrderSCRIPT_ANALYSIS, aplikasi harus memanggil SetTextAlign (hdc, TA_RIGHT) dan memberikan koordinat sisi kanan sebelum memanggil ScriptTextOut.
Array yang ditunjukkan oleh piJustify menyediakan lebar sel untuk setiap glyph. Saat lebar glyph berbeda dari lebar yang tidak dibenarkan, ditentukan oleh piAdvance, spasi ditambahkan ke atau dihapus dari sel glyph di tepi berikutnya. Glyph selalu diselaraskan dengan tepi depan selnya. Aturan ini berlaku bahkan dalam urutan visual.
Ketika sel glyph diperluas, ruang ekstra biasanya terdiri dari penambahan spasi putih. Namun, untuk skrip Arab, ruang ekstra terdiri dari satu atau beberapa glyph kashida, kecuali ruang ekstra tidak mencukupi untuk glyph kashida terpendek dalam font. Lebar kashida terpendek tersedia dengan memanggil ScriptGetFontProperties.
Aplikasi harus meneruskan nilai untuk piJustify hanya jika string harus dibenarkan oleh ScriptTextOut. Biasanya, aplikasi harus melewati NULL.
Aplikasi tidak boleh menggunakan ScriptTextOut untuk menulis ke metafile kecuali metafile akan diputar kembali tanpa penggantian font apa pun, misalnya, segera pada sistem yang sama untuk pratinjau halaman yang dapat diskalakan. ScriptTextOut merekam angka glyph dalam metafile. Karena angka glyph sangat bervariasi dari satu font ke font lainnya, file tidak mungkin diputar kembali dengan benar ketika font yang berbeda diganti. Misalnya, ketika metafile diputar kembali pada skala yang berbeda, permintaan CreateFont yang direkam dalam metafile dapat mengatasi bitmap alih-alih font TrueType. Demikian juga, jika metafile diputar kembali pada komputer yang berbeda, font yang diminta mungkin tidak diinstal. Untuk menulis skrip kompleks dalam metafile secara independen font, aplikasi harus menggunakan ExtTextOut untuk menulis karakter logis secara langsung, sehingga pembuatan dan penempatan glyph tidak terjadi sampai teks diputar kembali.
Persyaratan
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 |