Bentuk Digit

Bahasa Arab dan banyak bahasa lainnya memiliki bentuk klasik untuk angka yang berbeda dari digit barat konvensional yang paling sering digunakan pada komputer. Untuk menghindari ambiguitas dalam menamai bentuk-bentuk ini, dokumen ini menggunakan nama berikut dari standar Unicode.

Nama unicode digit Negara/wilayah tempat digunakan
Digit Eropa Eropa, Amerika, dan banyak negara/wilayah lainnya
Arabic-Indic digit Negara/wilayah Arab (meskipun banyak yang menggunakan digit Eropa)
Digit nasional lainnya: Digit indeks, digit Thailand, dan sesukanya Berbagai negara/wilayah

 

Unicode menyediakan titik kode terpisah untuk setiap bentuk digit. Dengan demikian, untuk mengakses bentuk digit bahasa khusus, aplikasi Anda dapat menggunakan kode karakter Unicode yang relevan untuk digit di atas, U+0030 hingga U+0039. Kode-kode ini selalu ditampilkan dengan bentuk yang sesuai, tergantung pada ketersediaan font.

Kode karakter Unicode U+0030 hingga U+0039 secara nominal mewakili digit Eropa 0 sampai 9, tetapi bentuk digitnya dapat diubah. API teks GDI dan DirectWrite menyediakan mekanisme bagi aplikasi untuk mengontrol perilaku ini. (Lihat, misalnya, ScriptApplyDigitSubstitution atau IDWriteTextAnalysisSink::SetNumberSubstitution.) Perilaku dalam beberapa kontrol shell dan kerangka kerja antarmuka pengguna dapat merespons pengaturan lokal pengguna untuk penggantian digit; LOCALE_IDIGITSUBSTITUTION LCTYPE dapat digunakan untuk mendapatkan pengaturan substitusi digit default untuk lokal yang berbeda atau pengaturan desktop pengguna saat ini untuk penggantian digit.

Digit Asli

Digit asli adalah bentuk digit yang dipilih oleh pengguna di lembar properti Angka di bagian opsi regional dan bahasa dari Panel Kontrol. Untuk menemukan digit presentasi yang disukai oleh pengguna, aplikasi Anda menggunakan fungsi GetLocaleInfo atau GetLocaleInfoEx dengan konstanta LOCALE_SNATIVEDIGITS yang mewakili informasi lokal.

Catatan

Biasanya, kode digit Unicode dihasilkan dalam rutinitas sistem operasi runtime. Oleh karena itu, sistem operasi runtime umum harus ditingkatkan agar aplikasi memeriksa LOCALE_SNATIVEDIGITS dengan tepat.

 

Penggantian Digit

Aplikasi dapat menggunakan substitusi digit untuk memberi tahu sistem operasi cara mencetak digit U+0030 hingga U+0039. Konstanta LOCALE_IDIGITSUBSTITUTION mengontrol operasi ini.

Pembentukan Digit untuk Satu Fungsi

Fungsi ExtTextOut, GetCharacterPlacement, dan GCP_RESULTS memiliki bendera yang mengatur penggantian kode Unicode U+0030 hingga U+0039 selama panggilan fungsi. Bendera ini mengambil alih pengaturan regional di Panel Kontrol, tetapi tidak mengatur ulang pengaturan. Selain itu, mereka tidak mengambil alih NADS dan NODS kode Unicode. Bendera berikut tersedia.

Bendera Digit yang digunakan Digunakan dalam
ETO_NUMERICSLATIN Digit Eropa ExtTextOut
ETO_NUMERICSLOCAL Digit yang sesuai dengan lokal ExtTextOut
GCP_NUMERICSLATIN Digit Eropa GetCharacterPlacement
GCP_NUMERICSLOCAL Digit yang sesuai dengan lokal GetCharacterPlacement
GCPCLASS_LATINNUMBER Digit Eropa GCP_RESULTS
GCPCLASS_LOCALNUMBER Digit yang sesuai dengan lokal GCP_RESULTS

 

Tentang Dukungan Bahasa Nasional

GetLocaleInfo

GetLocaleInfoEx