Fungsi ScriptGetCMap (usp10.h)

Mengambil indeks glyph karakter Unicode dalam string sesuai dengan tabel cmap TrueType atau tabel cmap standar yang diimplementasikan untuk font gaya lama.

Sintaks

HRESULT ScriptGetCMap(
  [in]      HDC          hdc,
  [in, out] SCRIPT_CACHE *psc,
  [in]      const WCHAR  *pwcInChars,
  [in]      int          cChars,
  [in]      DWORD        dwFlags,
  [out]     WORD         *pwOutGlyphs
);

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] pwcInChars

Penunjuk ke string karakter Unicode.

[in] cChars

Jumlah karakter Unicode dalam string yang ditunjukkan oleh pwcInChars.

[in] dwFlags

Bendera yang menentukan penanganan khusus dari glyph. Secara default, glyph disediakan dalam urutan logis tanpa penanganan khusus. Parameter ini dapat memiliki nilai berikut.

Nilai Makna
SGCM_RTL
Array glyph yang ditunjukkan oleh pwOutGlyphs harus berisi glyph cermin untuk glyph yang memiliki cermin yang setara.

[out] pwOutGlyphs

Penunjuk ke buffer tempat fungsi mengambil array indeks glyph. Buffer ini harus memiliki panjang yang sama dengan buffer input yang ditunjukkan oleh pwcInChars. Setiap titik kode memetakan ke satu glyph.

Nilai kembali

Mengembalikan S_OK jika semua titik kode Unicode ada dalam font. Fungsi mengembalikan salah satu nilai HRESULT bukan nol yang tercantum di bawah ini jika tidak berhasil.

Mengembalikan nilai Makna
E_HANDLE Font atau sistem operasi tidak mendukung indeks glyph.
S_FALSE Beberapa titik kode Unicode dipetakan ke glyph default.

Keterangan

Lihat Menampilkan Teks dengan Uniscribe untuk diskusi konteks di mana fungsi ini biasanya dipanggil.

Fungsi ini dapat digunakan untuk menentukan karakter dalam eksekusi yang didukung oleh font yang dipilih. Aplikasi dapat memindai buffer glyph yang diambil, mencari glyph default untuk menentukan karakter yang tidak tersedia. Aplikasi harus menentukan indeks glyph default untuk font yang dipilih dengan memanggil ScriptGetFontProperties.

Nilai pengembalian untuk fungsi ini menunjukkan adanya glyph yang hilang.

Catatan Fungsi ini mengasumsikan hubungan 1:1 antara elemen dalam array input dan output. Namun, fungsi ini tidak mendukung hubungan ini untuk pasangan pengganti UTF-16. Untuk pasangan pengganti, fungsi tidak mengambil indeks glyph untuk karakter bidang tambahan. Demikian pula, fungsi ini tidak mendukung urutan Unicode Variation-Selector (VS), yang masing-masing terdiri dari karakter grafik Unicode diikuti oleh salah satu set karakter VARIATION SELECTOR untuk memilih representasi glyph tertentu untuk karakter grafis tersebut. Untuk urutan VS, fungsi mengambil indeks glyph untuk glyph default yang dipetakan oleh cmap untuk dua karakter, alih-alih indeks glyph untuk glyph tertentu untuk urutan VS.
 
Beberapa titik kode dapat dirender dengan kombinasi glyph, serta dengan satu glyph, misalnya, 00C9; HURUF LATIN KAPITAL E DENGAN AKUT. Dalam hal ini, jika font mendukung modal E glyph dan glyph akut, tetapi tidak satu glyph untuk 00C9, ScriptGetCMap menunjukkan bahwa 00C9 tidak didukung. Untuk menentukan dukungan font untuk string yang berisi titik kode semacam ini, aplikasi dapat memanggil ScriptShape. Jika fungsi mengembalikan S_OK, aplikasi harus memeriksa output untuk glyph yang hilang.
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

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
Redistribusi Internet Explorer 5 atau yang lebih baru pada Windows Me/98/95

Lihat juga

Menampilkan Teks dengan Uniscribe

SCRIPT_CACHE

ScriptGetFontProperties

ScriptShape

Uniscribe

Fungsi Uniscribe