Fungsi ScriptGetFontScriptTags (usp10.h)

Mengambil daftar skrip yang tersedia dalam font untuk pemrosesan OpenType. Skrip yang terdiri dari daftar diambil dari font yang terletak dalam konteks perangkat yang disediakan atau dari mesin pembentuk skrip yang memproses font dari eksekusi saat ini.

Sintaks

HRESULT ScriptGetFontScriptTags(
  [in, optional] HDC             hdc,
  [in, out]      SCRIPT_CACHE    *psc,
  [in, optional] SCRIPT_ANALYSIS *psa,
  [in]           int             cMaxTags,
  [out]          OPENTYPE_TAG    *pScriptTags,
  [out]          int             *pcTags
);

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, optional] psa

Penunjuk ke struktur SCRIPT_ANALYSIS yang diperoleh dari panggilan sebelumnya ke ScriptItemizeOpenType. Parameter ini mengidentifikasi mesin pembentukan, sehingga tag skrip font yang sesuai dapat diambil. Aplikasi ini menyediakan nilai non-NULL untuk parameter ini untuk mengambil tag skrip yang sesuai untuk eksekusi saat ini.

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

[in] cMaxTags

Panjang array yang ditentukan oleh pScriptTags.

[out] pScriptTags

Penunjuk ke buffer tempat fungsi ini mengambil array struktur OPENTYPE_TAG yang menentukan tag skrip dari konteks perangkat atau mesin skrip yang terkait dengan eksekusi saat ini. Jika nilai anggota eScript dari struktur SCRIPT_ANALYSIS yang disediakan dalam parameter psa memiliki tag skrip pasti yang terkait dengannya dan tag ada di font, pScriptTags hanya berisi tag ini.

[out] pcTags

Arahkan ke jumlah elemen dalam array tag skrip yang ditunjukkan oleh pScriptTags.

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 tag yang cocok melebihi nilai cMaxTags, fungsi gagal dengan E_OUTOFMEMORY. Aplikasi dapat mencoba memanggil lagi dengan buffer yang lebih besar.

Keterangan

Sementara secara resmi dinyatakan sebagai jenis ULONG, OPENTYPE_TAG mendefinisikan array 4-byte yang berisi empat nilai spasi ASCII 8-bit, A-Z atau a-z. Misalnya, tag skrip untuk skrip Latin dan Arab masing-masing adalah "latn" dan "arab".

Fungsi ini mengambil satu tag dari font dalam kasus berikut:

  • Nilai psa dikaitkan dengan teks untuk satu skrip kompleks.
  • Parameter psa menunjukkan NULL dan font mendukung satu skrip.
Jika ScriptGetFontScriptTags mengambil semua tag dari font, tag biasanya untuk item netral, seperti digit. Perhatikan bahwa lebih dari satu tag mungkin berlaku karena beberapa eksekusi teks item netral tidak spesifik untuk skrip.

Jika tag yang sesuai dengan skrip tertentu ada, mesin pembentuk mungkin tidak dapat menggunakan font untuk membentuk item yang diberikan karena mesin tidak memiliki item yang diperlukan, seperti sistem bahasa tertentu atau fitur tertentu.

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

Uniscribe

Fungsi Uniscribe