Bagikan melalui


Menggunakan MS Shell Dlg dan MS Shell Dlg 2

Windows tersedia dalam edisi yang dilokalkan untuk banyak bahasa. Namun, edisi bahasa Inggris juga dapat digunakan untuk menjalankan aplikasi yang ditulis dalam bahasa selain bahasa Inggris. Ini berlaku bahkan ketika skrip yang digunakan untuk bahasa-bahasa ini berbeda, seperti ketika aplikasi ditulis dalam bahasa Yunani atau Jepang. Aplikasi ini memerlukan antarmuka pengguna dengan kotak dialog, ikon, dan utilitas yang menyediakan informasi dalam bahasa aplikasi, yang mungkin berbeda dari bahasa yang digunakan di antarmuka pengguna Windows saat ini.

Masalah dalam memilih font untuk antarmuka pengguna sudah jelas. Misalnya, font shell, juga dikenal sebagai sistem atau font default, untuk bahasa Inggris (Amerika Serikat) Windows 98 adalah MS Sans Serif, sedangkan font shell untuk Yunani (Yunani) Windows 98 adalah MS Sans Serif Yunani. Untuk Jepang (Jepang) Windows 98, font shell adalah MS UI Gothic. Set karakter ini tidak dapat langsung dipetakan satu sama lain. Mengganti MS Sans Serif dengan MS Sans Serif Greek ketika lokal diatur ke Yunani (Yunani) tidak memungkinkan aplikasi yang ada berjalan secara memadai atau menampilkan karakter Yunani di menu sistem, kotak dialog, dan kontrol edit.

Windows memecahkan masalah ini dengan menggunakan font logis MS Shell Dlg dan MS Shell Dlg 2 untuk memungkinkan pemilihan font yang sesuai untuk tampilan skrip. Bagian ini membahas beberapa pertimbangan pemrograman untuk menggunakan font logis untuk mengimplementasikan kotak dialog, menu, dan sejenisnya untuk antarmuka pengguna fleksibel yang ditampilkan dengan baik di semua sistem operasi Windows yang didukung dan di semua bahasa. Untuk informasi selengkapnya, lihat Pembuatan dan Pemilihan Font. Lihat juga Antarmuka Pengguna Multibahasa untuk diskusi tentang penggunaan teknologi Antarmuka Pengguna Multibahasa (MUI) dalam membuat antarmuka pengguna untuk aplikasi multibahasa Anda.

Tentang Font Logis

Font logis MS Shell Dlg dan MS Shell Dlg 2 pada dasarnya adalah nama wajah yang digunakan untuk pemetaan untuk mengaktifkan dukungan untuk lokal/budaya yang memiliki karakter yang tidak terkandung dalam halaman kode 1252, karakter Windows yang ditetapkan untuk Amerika Serikat dan Eropa Barat. MS Shell Dlg memetakan ke font shell default yang terkait dengan budaya/lokal saat ini dan mendukung tampilan desktop Windows klasik. Nama wajah MS Shell Dlg 2 diperkenalkan di Windows 2000 untuk mendukung tampilan yang diperkenalkan dengan Windows 2000.

Misalnya, jika aplikasi Anda menggunakan MS Shell Dlg atau MS Shell Dlg 2 untuk kotak dialognya, tim pelokalan yang membuat sumber daya bahasa Yunani untuk aplikasi Anda dapat fokus menerjemahkan teks. Mereka tidak perlu khawatir dengan masalah seperti perbedaan antara MS Sans Serif dan MS Sans Serif Yunani.

Catatan

Font yang dihasilkan oleh MS Shell Dlg dan MS Shell Dlg 2 berbeda pada versi Windows yang berbeda. Oleh karena itu, Anda harus memastikan bahwa elemen antarmuka pengguna Anda ditampilkan dengan baik di semua platform.

 

Menangani Nama Font Hard-Coded

Penggunaan Unicode memungkinkan aplikasi untuk menangani ribuan karakter yang berbeda, tetapi sebagian besar font tidak mencakup semua set karakter Unicode. Aplikasi Anda tidak boleh mengkodekan nama font secara permanen. Salah satu alasannya adalah bahwa hard-coding nama font yang menampilkan karakter untuk satu bahasa dan bukan karakter untuk bahasa lain menyebabkan semua teks yang dilokalkan dalam bahasa kedua ditampilkan dengan tidak benar. Alasan lain untuk tidak mengkodekan nama font secara permanen adalah bahwa font yang diinginkan mungkin tidak dimuat pada sistem operasi yang menampilkan teks aplikasi.

Cara terbaik untuk memperlakukan nama font adalah dengan menganggapnya sebagai sumber daya yang dapat dilokalkan. Menggunakan font logis memecahkan masalah menjalankan antarmuka Anda menggunakan bahasa apa pun di Windows NT atau Windows 2000, untuk bahasa apa pun. Mengatur nama font sebagai sumber daya yang dapat dilokalkan memungkinkan localizer Anda mengubah font untuk antarmuka pengguna yang dilokalkan.

Menangani Ukuran Font Hard-Coded

Beberapa skrip rumit dan memerlukan sejumlah besar piksel untuk ditampilkan dengan benar. Misalnya, sebagian besar karakter bahasa Inggris ditampilkan pada kisi 5x7, tetapi karakter Jepang membutuhkan setidaknya kisi 16x16 untuk dilihat dengan jelas. Sedangkan Cina membutuhkan kisi 24x24, Thailand hanya membutuhkan 8 piksel untuk lebar tetapi setidaknya 22 piksel untuk tinggi. Sangat mudah untuk memahami bahwa beberapa karakter mungkin tidak dapat terbaca pada ukuran font kecil.

Antarmuka pengguna aplikasi Anda harus memperlakukan ukuran font sebagai sumber daya yang dapat dilokalkan. Menggunakan font logis memecahkan masalah menjalankan antarmuka Anda menggunakan bahasa apa pun di Windows NT atau Windows 2000, untuk bahasa apa pun. Mengatur ukuran font sebagai sumber daya yang dapat dilokalkan memungkinkan localizer Anda mengubah font untuk antarmuka pengguna yang dilokalkan.

Memetakan Font Logis

Masing-masing font logis dipetakan oleh entri dalam registri ke font shell yang sesuai untuk lokal yang saat ini aktif. Ketika salah satu font logis digunakan, Windows beralih ke font untuk lokal yang saat ini dipilih pada runtime. Operasi ini memungkinkan tampilan antarmuka pengguna Windows Bahasa Inggris (Amerika Serikat) yang benar, serta karakter yang tidak ada di halaman kode 1252. Dengan demikian, saat ini pengiriman aplikasi yang dilokalkan dapat berjalan pada versi Bahasa Inggris (Amerika Serikat) Windows tanpa modifikasi.

Setiap komputer Windows memetakan MS Shell Dlg dan MS Shell Dlg 2 ke font fisik yang sesuai, berdasarkan bahasa yang ditentukan untuk program non-Unicode, yang dijelaskan dalam Terminologi NLS. Pemetaan aktual disimpan dalam kunci registri HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\FontSubstitutes.

Pemetaan Font pada Windows Me/98/95

MS Shell Dlg umumnya memetakan ke versi MS Sans Serif khusus halaman kode.

Pemetaan Font pada Windows NT 4.0

MS Shell Dlg memetakan ke MS Sans Serif untuk Eropa Barat dan Tengah, Yunani, Turki, Baltik dan bahasa menggunakan skrip Sirilik; MS UI Gothic untuk bahasa Jepang; Gulim untuk Korea; Simsun untuk Bahasa Tionghoa Sederhana; PMinglu untuk Tionghoa Tradisional; Dll.

Pemetaan Font pada Windows 2000, Windows XP, Windows Server 2003, Windows Vista, dan Windows 7

Kedua font logis memetakan ke font TrueType berbasis Unicode. MS Shell Dlg menggunakan Microsoft Sans Serif (berbeda dari MS Sans Serif) jika bahasa penginstalan bukan bahasa Jepang. MS Shell Dlg memetakan ke MS UI Gothic jika bahasa penginstalannya adalah bahasa Jepang.

Pada sistem WINDOWS XP MUI, MS Shell Dlg memetakan ke MS UI Gothic hanya ketika lokal sistem dan bahasa UI diatur ke bahasa Jepang. Jika tidak, MS Shell Dlg memetakan ke Microsoft Sans Serif.

Pada Windows Vista dan Windows 7, MS Shell Dlg memetakan ke MS UI Gothic jika bahasa UI default mesin diatur ke bahasa Jepang (terlepas dari bahasa penginstalan). MS Shell Dlg memetakan ke Microsoft Sans Serif jika bahasa UI default komputer diatur ke bahasa selain bahasa Jepang.

MS Shell Dlg 2 hanya menggunakan font Tahoma terlepas dari bahasa. Keuntungan utama Tahoma daripada Microsoft Sans Serif adalah Tahoma memiliki wajah font tebal asli. Kerugian utamanya adalah bahwa sistem operasi yang lebih lama mungkin tidak menginstalnya, dan mungkin mengganti font yang kurang menarik.

Karakter yang tidak diimplementasikan dalam Tahoma atau Microsoft Sans Serif dapat diimplementasikan di font Windows lain yang digunakan untuk tampilan teks di antarmuka pengguna. Bergantung pada kontrol atau API apa yang digunakan untuk menampilkan teks, berbagai mekanisme seperti penautan font dapat digunakan oleh sistem untuk secara otomatis memilih font tersebut untuk menampilkan karakter tersebut.

Aplikasi dapat menggunakan Microsoft Sans Serif atau Tahoma secara eksplisit, dan menyimpan tingkat tidak langsung yang terlibat dalam penggunaan MS Shell Dlg atau MS Shell Dlg 2. Karena penautan font, menentukan Microsoft Sans Serif atau Tahoma menyediakan glyph yang sesuai untuk semua bahasa.

Menggunakan MS Shell Dlg untuk Aplikasi Non-Bahasa Inggris pada Windows Me/98/95

Pada Windows Me/98/95, MS Shell Dlg tidak dimaksudkan untuk digunakan dengan aplikasi antarmuka pengguna statis non-Inggris yang berjalan ketika pengguna telah memilih lokal dengan kumpulan karakter dasar Windows yang berbeda. Dalam hal ini, bahasa antarmuka pengguna aplikasi mungkin tidak didukung dengan font yang digantikan untuk MS Shell Dlg.

Misalnya, jika pengguna menggunakan Windows versi bahasa Jerman dan ingin menginstal aplikasi bahasa Yunani non-Unicode, pengguna mencoba mengubah lokal menjadi Yunani (Yunani). Tindakan ini mengatur ulang MS Shell Dlg ke font Yunani, tetapi font ini tidak berisi semua glyph yang diperlukan untuk ditampilkan dalam bahasa Jerman. Oleh karena itu, setiap karakter non-ASCII dalam antarmuka pengguna bahasa Jerman tidak akan ditampilkan dengan benar. Untuk mendukung skenario ini, aplikasi harus mengatur MS Shell Dlg ke font yang berisi glyph Eropa Barat dan Yunani.

Enumerasi dan Pilihan Font Internasional

Antarmuka Pengguna Multibahasa