Bentuk Digit
Bahasa Arab dan banyak bahasa lain 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 segini | 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 hingga 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 penggantian 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 dalam lembar properti Angka di bagian opsi regional dan bahasa dari Panel Kontrol. Untuk menemukan presentasi digit yang disukai oleh pengguna, aplikasi Anda menggunakan fungsi GetLocaleInfo atau GetLocaleInfoEx dengan konstanta LOCALE_SNATIVEDIGITS yang mewakili informasi lokal.
Nota
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 pengganti 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 jangan reset 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 |
Topik terkait
-
Tentang Dukungan Bahasa Nasional