Fungsi ScriptRecordDigitSubstitution (usp10.h)

Membaca pengaturan substitusi digit dan digit asli Dukungan Bahasa Nasional (NLS) dan merekamnya dalam struktur SCRIPT_DIGITSUBSTITUTE . Untuk informasi selengkapnya, lihat Bentuk Digit.

Sintaks

HRESULT ScriptRecordDigitSubstitution(
  [in]  LCID                   Locale,
  [out] SCRIPT_DIGITSUBSTITUTE *psds
);

Parameter

[in] Locale

Pengidentifikasi lokal lokal untuk dikueri . Biasanya, aplikasi harus mengatur parameter ini ke LOCALE_USER_DEFAULT. Atau, pengaturan dapat menunjukkan lokal tertentu yang dikombinasikan dengan LOCALE_NOUSEROVERRIDE untuk mendapatkan pengaturan default.

[out] psds

Penunjuk ke struktur SCRIPT_DIGITSUBSTITUTE . Struktur ini dapat diteruskan nanti ke ScriptApplyDigitSubstitution.

Menampilkan nilai

Mengembalikan S_OK jika berhasil. Fungsi mengembalikan nilai HRESULT bukan nol jika tidak berhasil.

Pengembalian kesalahan meliputi:

  • E_INVALIDARG. Parameter Lokal menunjukkan lokal yang tidak valid atau tidak diinstal.
  • E_POINTER. Parameter psds diatur ke NULL.

Keterangan

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

Fungsi ini mendukung penggantian digit konteks hanya untuk lokal Arab dan Persia. Untuk lokal lain, substitusi digit konteks dipetakan ke tanpa penggantian.

Contoh berikut menunjukkan cara umum untuk memanggil fungsi ini.

SCRIPT_DIGITSUBSTITUTE sds;
ScriptRecordDigitSubstitution(LOCALE_USER_DEFAULT, &sds);

Pada setiap itemisasi, aplikasi dapat menggunakan hasil seperti yang ditunjukkan pada contoh berikutnya.

SCRIPT_CONTROL sc = {0};
SCRIPT_STATE   ss = {0};
ScriptApplyDigitSubstitution(&sds, &sc, &ss);

Untuk alasan performa, aplikasi Anda tidak boleh sering memanggil ScriptRecordDigitSubstitution . Fungsi ini membutuhkan overhead yang cukup besar untuk memanggilnya setiap kali ScriptItemize atau ScriptStringAnalyse dipanggil. Sebagai gantinya, aplikasi dapat menyimpan struktur SCRIPT_DIGITSUBSTITUTE dan memperbaruinya hanya ketika pesan WM_SETTINGCHANGE diterima. Atau, aplikasi dapat memperbarui struktur ketika panggilan RegNotifyChangeKeyValue dalam utas khusus menunjukkan perubahan registri di bawah HKCU\Panel Kontrol\International.

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

   
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

Lihat juga

Menampilkan Teks dengan Uniscribe

SCRIPT_DIGITSUBSTITUTE

ScriptApplyDigitSubstitution

ScriptItemize

ScriptStringAnalyse

Uniscribe

Fungsi Uniscribe