Fungsi ScriptPlace (usp10.h)
Menghasilkan lebar glyph advance dan informasi offset dua dimensi dari output ScriptShape.
Sintaks
HRESULT ScriptPlace(
[in] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in] const WORD *pwGlyphs,
[in] int cGlyphs,
[in] const SCRIPT_VISATTR *psva,
[in, out] SCRIPT_ANALYSIS *psa,
[out] int *piAdvance,
[out] GOFFSET *pGoffset,
[out] ABC *pABC
);
Parameter
[in] hdc
Pilihan. Menangani konteks perangkat. Untuk informasi selengkapnya, lihat Penembolokan.
[in, out] psc
Arahkan ke struktur SCRIPT_CACHE yang mengidentifikasi cache skrip.
[in] pwGlyphs
Pointer ke buffer glyph yang diperoleh dari panggilan sebelumnya ke fungsi ScriptShape .
[in] cGlyphs
Jumlah glyph dalam buffer glyph.
[in] psva
Penunjuk ke array struktur SCRIPT_VISATTR yang menunjukkan atribut visual.
[in, out] psa
Penunjuk ke struktur SCRIPT_ANALYSIS . Pada input, struktur ini diperoleh dari panggilan sebelumnya ke ScriptItemize. Pada output, struktur ini berisi nilai yang diambil oleh ScriptPlace.
[out] piAdvance
Penunjuk ke array tempat fungsi ini mengambil informasi lebar lanjutan.
[out] pGoffset
Opsional. Pointer ke array struktur GOFFSET di mana fungsi ini mengambil offset x dan y dari menggabungkan glyph. Array ini harus memiliki panjang yang ditunjukkan oleh cGlyphs.
[out] pABC
Pointer ke struktur ABC di mana fungsi ini mengambil lebar ABC untuk seluruh eksekusi.
Mengembalikan nilai
Mengembalikan 0 jika berhasil. Fungsi mengembalikan nilai HRESULT bukan nol jika tidak berhasil. Aplikasi dapat menguji nilai pengembalian dengan makro BERHASIL dan GAGAL .
Fungsi mengembalikan E_PENDING jika cache skrip yang ditentukan oleh parameter psc tidak berisi informasi yang cukup untuk menempatkan glyph, dan parameter hdc diatur ke NULL sehingga fungsi tidak dapat menyelesaikan proses penempatan. Aplikasi harus menyiapkan konteks perangkat yang benar untuk eksekusi, dan memanggil fungsi ini lagi dengan konteks perangkat yang sesuai dan dengan semua parameter lain yang sama.
Keterangan
Lihat Menampilkan Teks dengan Uniscribe untuk diskusi konteks di mana fungsi ini biasanya dipanggil.
Lebar ABC komposit untuk seluruh item mengidentifikasi berapa banyak glyph yang melapisi di sebelah kiri posisi awal dan di sebelah kanan panjang yang tersirat oleh jumlah lebar muka. Lebar total pergerakan garis persis abcA+abcB+abcC. Nilai abcA dan abcC dipertahankan sebagai proporsi tinggi sel yang diwakili dalam 8 bit dan dengan demikian kira-kira +/-1 persen. Lebar total yang diambil, yang merupakan jumlah nilai abcA+abcB+abcC yang ditunjukkan oleh piAdvance, akurat terhadap resolusi mesin pembentukan TrueType.
Semua array berada dalam urutan visual kecuali anggota fLogicalOrder diatur dalam struktur SCRIPT_ANALYSIS yang ditunjukkan oleh parameter psa .
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 |