Fungsi ScriptPlaceOpenType (usp10.h)
Menghasilkan glyph dan atribut visual untuk eksekusi Unicode dengan informasi OpenType dari output ScriptShapeOpenType.
Sintaks
HRESULT ScriptPlaceOpenType(
[in, optional] HDC hdc,
[in, out] SCRIPT_CACHE *psc,
[in, out] SCRIPT_ANALYSIS *psa,
[in] OPENTYPE_TAG tagScript,
[in] OPENTYPE_TAG tagLangSys,
[in, optional] int *rcRangeChars,
[in, optional] TEXTRANGE_PROPERTIES **rpRangeProperties,
[in] int cRanges,
[in] const WCHAR *pwcChars,
[in] WORD *pwLogClust,
[in] SCRIPT_CHARPROP *pCharProps,
[in] int cChars,
[in] const WORD *pwGlyphs,
[in] const SCRIPT_GLYPHPROP *pGlyphProps,
[in] int cGlyphs,
[out] int *piAdvance,
[out] GOFFSET *pGoffset,
[out, optional] ABC *pABC
);
Parameter
[in, optional] hdc
Menangani konteks perangkat. Untuk informasi selengkapnya, lihat Penembolokan.
[in, out] psc
Arahkan ke struktur SCRIPT_CACHE yang mengidentifikasi cache skrip.
[in, out] psa
Penunjuk ke struktur SCRIPT_ANALYSIS yang diperoleh dari panggilan sebelumnya ke ScriptItemizeOpenType. Struktur ini mengidentifikasi mesin pembentukan yang mengatur daftar glyph yang dihasilkan dan lebar terkait, dan offset penempatan x dan y.
Atau, aplikasi dapat mengatur parameter ini ke NULL untuk menerima hasil yang tidak difilter.
[in] tagScript
Struktur OPENTYPE_TAG yang berisi tag skrip OpenType untuk digunakan sistem penulisan.
[in] tagLangSys
Struktur OPENTYPE_TAG yang berisi tag bahasa OpenType untuk sistem penulisan.
[in, optional] rcRangeChars
Array jumlah karakter di setiap rentang. Jumlah anggota ditunjukkan dalam parameter cRanges . Total nilai harus sama dengan nilai cChars.
[in, optional] rpRangeProperties
Array struktur TEXTRANGE_PROPERTIES menentukan properti untuk setiap rentang. Jumlah elemen ditentukan oleh parameter cRanges .
[in] cRanges
Jumlah rentang fitur OpenType.
[in] pwcChars
Penunjuk ke array karakter Unicode yang berisi eksekusi. Jumlah elemen ditentukan oleh parameter cRanges .
[in] pwLogClust
Penunjuk ke array informasi kluster logis. Setiap elemen dalam array sesuai dengan karakter dalam array yang ditentukan oleh pwcChars. Nilai setiap elemen adalah offset dari glyph pertama dalam eksekusi ke glyph pertama dalam kluster yang berisi karakter yang sesuai. Perhatikan bahwa, ketika anggota fRTL struktur SCRIPT_ANALYSIS diatur ke TRUE, elemen dalam pwLogClust berkurang saat array dibaca.
[in] pCharProps
Penunjuk ke array nilai properti karakter dalam eksekusi Unicode.
[in] cChars
Jumlah karakter dalam eksekusi Unicode.
[in] pwGlyphs
Pointer ke buffer glyph yang diperoleh dari panggilan sebelumnya ke fungsi ScriptShapeOpenType .
[in] pGlyphProps
Arahkan ke array atribut untuk masing-masing glyph yang akan diambil. Jumlah nilai sama dengan nilai cGlyph. Karena ada satu properti glyph per glyph, parameter ini memiliki jumlah elemen yang ditunjukkan oleh cGlyphs.
[in] cGlyphs
Jumlah glyph dalam buffer array glyph.
[out] piAdvance
Penunjuk ke array, panjang yang ditunjukkan oleh cGlyphs, di mana fungsi ini mengambil informasi lebar lanjutan .
[out] pGoffset
Pointer ke array struktur GOFFSET di mana struktur ini mengambil offset x dan y dari menggabungkan glyph. Array ini harus memiliki panjang yang ditunjukkan oleh cGlyphs.
[out, optional] pABC
Pointer ke struktur ABC di mana fungsi ini mengambil lebar ABC untuk seluruh eksekusi.
Menampilkan nilai
Mengembalikan 0 jika berhasil. Fungsi mengembalikan nilai HRESULT bukan nol jika tidak berhasil. Dalam semua kasus kesalahan, nilai output tidak terdefinisi. Aplikasi dapat menguji nilai pengembalian dengan makro BERHASIL dan GAGAL .
Fungsi mengembalikan E_OUTOFMEMORY jika panjang buffer output yang ditunjukkan oleh cGlyphs terlalu kecil. Aplikasi dapat mencoba memanggil lagi dengan buffer yang lebih besar.
Fungsi mengembalikan E_PENDING jika cache skrip yang ditentukan oleh parameter psc tidak berisi informasi yang cukup untuk menempatkan glyph, dan parameter hdc diteruskan sebagai NULL sehingga fungsi tidak dapat menyelesaikan proses penempatan. Aplikasi harus menyiapkan konteks perangkat yang benar untuk eksekusi, dan memanggil fungsi ini lagi dengan nilai yang sesuai dalam hdc dan dengan semua parameter lain yang sama.
Keterangan
Fungsi ini lebih disukai daripada fungsi ScriptPlace yang lebih lama. Beberapa keuntungan dari ScriptPlaceOpenType meliputi yang berikut ini:
- Parameter secara langsung sesuai dengan tag OpenType dalam tabel tata letak font.
- Parameter menentukan fitur yang diterapkan pada setiap karakter. Input dibagi menjadi rentang, dan setiap rentang memiliki properti OpenType yang terkait dengannya.
Semua array berada dalam urutan visual kecuali anggota fLogicalOrder diatur dalam struktur SCRIPT_ANALYSIS yang ditunjukkan oleh parameter psa .
Persyaratan
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | usp10.h |
Pustaka | Usp10.lib |
DLL | Usp10.dll |
Redistribusi | Usp10.dll versi 1.600 atau lebih tinggi di Windows XP |