Fungsi ScriptGetFontAlternateGlyphs (usp10.h)

Mengambil daftar glyph alternatif untuk karakter tertentu yang dapat diakses melalui fitur OpenType tertentu.

Sintaks

HRESULT ScriptGetFontAlternateGlyphs(
  [in, optional] HDC             hdc,
  [in, out]      SCRIPT_CACHE    *psc,
  [in, optional] SCRIPT_ANALYSIS *psa,
  [in]           OPENTYPE_TAG    tagScript,
  [in]           OPENTYPE_TAG    tagLangSys,
  [in]           OPENTYPE_TAG    tagFeature,
  [in]           WORD            wGlyphId,
  [in]           int             cMaxAlternates,
  [out]          WORD            *pAlternateGlyphs,
  [out]          int             *pcAlternates
);

Parameter

[in, optional] hdc

Menangani konteks perangkat. Untuk informasi selengkapnya, lihat Penembolokan.

[in, out] psc

Penunjuk ke struktur SCRIPT_CACHE yang menentukan cache skrip.

[in, optional] psa

Penunjuk ke struktur SCRIPT_ANALYSIS yang diperoleh dari panggilan sebelumnya ke ScriptItemizeOpenType. Parameter ini mengidentifikasi mesin pembentukan, sehingga array glyph alternatif dapat dibuat dengan cakupan yang benar.

Atau, aplikasi dapat mengatur parameter ini ke NULL untuk menerima hasil yang tidak difilter.

[in] tagScript

Struktur OPENTYPE_TAG yang menentukan tag skrip yang terkait dengan glyph alternatif.

[in] tagLangSys

Struktur OPENTYPE_TAG yang menentukan tag bahasa yang terkait dengan glyph alternatif.

[in] tagFeature

Struktur OPENTYPE_TAG yang menentukan tag fitur yang terkait dengan glyph alternatif.

[in] wGlyphId

Pengidentifikasi glyph asli yang dipetakan dari tabel peta karakter.

[in] cMaxAlternates

Panjang array yang ditentukan oleh pAlternateGlyphs.

[out] pAlternateGlyphs

Pointer ke buffer di mana fungsi ini mengambil array pengidentifikasi glyph. Array mencakup glyph asli, diikuti dengan glyph alternatif. Elemen pertama selalu merupakan glyph asli. Formulir alternatif diidentifikasi oleh indeks ke dalam array. Indeks adalah nilai yang lebih besar dari satu dan kurang dari nilai pcAlternates.

Ketika pengguna memilih formulir alternatif dari antarmuka pengguna, glyph alternatif diterapkan ke karakter yang sesuai dan penyajian diformat ulang.

[out] pcAlternates

Arahkan ke jumlah elemen dalam array yang ditentukan oleh pAlternateGlyphs.

Nilai kembali

Mengembalikan 0 jika berhasil. Fungsi mengembalikan nilai HRESULT bukan nol jika tidak berhasil. Aplikasi dapat menguji nilai pengembalian dengan makro BERHASIL dan GAGAL .

Jika jumlah glyph alternatif melebihi nilai cMaxAlternates, fungsi gagal dengan E_OUTOFMEMORY. Aplikasi dapat mencoba memanggil lagi dengan buffer yang lebih besar.

Keterangan

Saat menggunakan glyph alternatif, aplikasi pertama-tama memetakan ulang glyph asli tanpa menerapkan tag fitur apa pun, lalu memilih alternatif. Glyph asli ditetapkan sebagai glyph dasar. Jika alternatif lain diperlukan, glyph asli menyediakan informasi untuk dicocokkan dengan daftar alternatif yang sesuai.

Jika glyph alternatif digunakan sebagai glyph dasar, tidak ada daftar output yang cocok yang ditemukan. Antarmuka pengguna menggunakan formulir akhir yang dipilih tanpa menyediakan kemampuan untuk memilih alternatif lain.

Operasi ScriptGetFontAlternateGlyphs dapat ditiru oleh ScriptSubstituteSingleGlyph. Aplikasi harus mencoba parameter satu per satu sementara glyph diganti.

Untuk membentuk font dengan Uniscribe, ScriptShapeOpenType lebih disukai daripada fungsi ScriptShape yang lebih lama.

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

Lihat juga

Penembolokan

OPENTYPE_TAG

SCRIPT_ANALYSIS

SCRIPT_CACHE

ScriptItemizeOpenType

ScriptShapeOpenType

ScriptSubstituteSingleGlyph

Uniscribe

Fungsi Uniscribe