Bagikan melalui


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.

Penting Dimulai dengan Windows 8: Untuk mempertahankan kemampuan untuk berjalan pada Windows 7, modul yang menggunakan Uniscribe harus menentukan Usp10.lib sebelum gdi32.lib dalam daftar pustakanya.
 

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

Lihat juga

Menampilkan Teks dengan Uniscribe

GOFFSET

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptGetFontProperties

ScriptItemize

Tempat Skrip

ScriptShape

Uniscribe

Fungsi Uniscribe