Bagikan melalui


Enumerasi dan Pilihan Font Internasional

Dalam setiap rilis utama Windows, ada font yang ditambahkan untuk mendukung bahasa dan skrip internasional. Silakan referensikan Dukungan Skrip dan Font di Windows untuk font yang telah ditambahkan di setiap versi Windows sejak Windows 2000, serta skrip, wilayah, dan bahasa yang didukung.

EnumFontFamiliesEx

Untuk menghitung font internasional dalam aplikasi Anda, Anda dapat menggunakan fungsi EnumFontFamiliesEx . EnumFontFamiliesEx memungkinkan Anda menghitung font berdasarkan nama typeface dan charset dengan meneruskan pointer ke struktur LOGFONT yang berisi nama typeface dan informasi charset. Untuk memanggil EnumFontFamiliesEx, Anda dapat menentukan nama typeface atau charset, atau Anda dapat meminta apa pun yang tersedia. Mengatur nama typeface LOGFONT ke NULL menghitung semua nama typeface. Mengatur bidang charset ke DEFAULT_CHARSET menghitung semua charset.

Perhatikan bahwa charset adalah gagasan warisan yang sesuai dengan set karakter pra-Unicode. Saat ini, tidak ada mekanisme untuk menghitung font yang mendukung skrip arbitrer atau rentang karakter di Unicode. Struktur NEWTEXTMETRICEX yang diteruskan oleh EnumFontFamExProc mencakup struktur FONTSIGNATURE , yang mencakup deklarasi lebih rinci yang disediakan oleh pengembang font tentang halaman kode apa dan rentang Unicode apa yang didukung font. Untuk menentukan dengan lebih tepat rentang karakter yang didukung font tertentu, pilih font ke dalam konteks perangkat dan panggil GetFontUnicodeRanges. Perhatikan bahwa API ini tidak mendukung bidang tambahan Unicode.

PilihFont

Anda dapat menggunakan fungsi SelectFont untuk menampilkan kotak dialog umum yang memungkinkan pengguna memilih font internasional berdasarkan charset. Anda dapat menentukan salah satu dari tiga bendera untuk ditentukan, berdasarkan charset, font mana yang ditampilkan dalam dialog PilihFont: CF_SCRIPTSONLY, CF_SELECTSCRIPT, atau CF_NOSCRIPTSEL.

Bendera CF_SCRIPTSONLY memberi tahu API untuk mencantumkan font untuk semua set karakter yang bukan Simbol atau OEM.

Jika Anda hanya ingin menampilkan font yang mencakup set karakter tertentu, Anda perlu menentukan bendera CF_SELECTSCRIPT. Sebelum memanggil ChooseFont, inisialisasi bidang lfCharSet dari struktur LOGFONT . Jika Anda tertarik untuk menentukan hanya charset, atur bidang lain dari struktur LOGFONT ke NULL. Agar ChooseFont melihat struktur LOGFONT , Anda juga perlu menentukan bendera CF_INITTOLOGFONTSTRUCT .

Terakhir, seperti halnya bidang lain dalam kotak dialog Font, Anda dapat memilih untuk menampilkan kotak daftar skrip kosong. Kemampuan ini berguna jika pengguna telah menyoroti beberapa font berbeda yang mencakup beberapa set karakter. Dalam hal ini, Anda akan memanggil ChooseFont dengan bendera CF_NOSCRIPTSEL .

Dimulai dengan Windows 7, ChooseFont mengimplementasikan dukungan untuk persembunyian font dari daftar pilihan font. PilihFont hanya akan mencantumkan font yang ditampilkan dan memfilter font tersembunyi saat menampilkan font dalam kotak daftar. Bendera tambahan (CF_INACTIVEFONTS) di anggota bendera dari struktur ChooseFont ditambahkan untuk memungkinkan Anda menampilkan semua font yang diinstal dalam daftar font, sama seperti PilihFont berperilaku sebelum Windows 7. Untuk detail perbedaan perilaku di Windows 7 untuk fungsi ChooseFont , silakan lihat Dialog Umum ChooseFont() Win32 di Buku Masak Kualitas Aplikasi Windows 7. Silakan referensikan fungsi ChooseFont dan struktur CHOOSEFONT untuk perbedaan pengalaman pengguna akhir di Windows 7.

Perhatikan bahwa charset adalah gagasan warisan yang sesuai dengan set karakter pra-Unicode. Saat ini, tidak ada mekanisme untuk memfilter font berdasarkan skrip Unicode atau rentang karakter.

Kontrol Font di Pita Pemandangan Windows

Windows 7 memperkenalkan Pita Windows Scenic yang dilengkapi dengan sekumpulan kontrol yang ditargetkan untuk pemilihan font. Kontrol font ini mendukung perilaku persembunyian font Windows 7 baru. Anda bisa menggunakan kontrol font tersebut untuk mencantumkan font yang ditampilkan saja dan memperbolehkan pengguna memilih font.

Catatan

Dukungan untuk menyembunyikan font tidak tersedia ketika Pita Pemandangan Windows berjalan pada platform apa pun sebelum Windows 7.

 

EnumFontFamiliesEx

PilihFont

Struktur CHOOSEFONT

Kontrol Font di Pita Pemandangan Windows

Pilih Dialog Umum Win32Font()