Bagaimana cara Linux mengelola font?

11

Ketika saya menggunakan Windows (waktu yang sangat lama sekali!), Dan Mac OS X, selalu ada "repositori" sentral font yang dibagi dan diakses oleh OS dan semua program (folder font di Windows, dan Font Book di Mac OS X).

Bagaimana font dikelola di Linux? Apakah ada juga pusat toko untuk font yang dapat digunakan oleh semua program (shell tanpa X, dengan X, manajer jendela, perangkat lunak GUI lainnya)? Atau apakah font dikelola secara terpisah? Apa yang dapat saya lakukan untuk mengelola font saya secara efisien dan mudah di Linux?

hpy
sumber

Jawaban:

13

Ada dua mekanisme untuk font di X land: sisi server dan sisi klien.

Cara tradisional untuk merender font adalah agar klien memberi tahu server “render fooat position (x, y) dalam font F” (di mana spesifikasi font termasuk wajah, ukuran, pengodean, dan atribut lainnya). Baik server X itu sendiri, atau program khusus yang disebut server font , membuka file font untuk membangun deskripsi setiap mesin terbang. Font dapat berupa bitmap atau font vektor, tetapi font vektor dikonversi ke bitmap sebelum rendering.

Sebagian besar program modern menggunakan rendering font sisi klien, seringkali melalui xft dan fontconfig . Diperlukan mekanisme baru karena rendering font sisi server tidak mendukung anti-aliasing.

Di luar X (yaitu pada konsol VGA), ada font VGA, yang merupakan font bitmap dengan ukuran tertentu. Tetapi dibandingkan dengan X11, tidak ada yang menggunakan konsol VGA, jadi tidak banyak usaha yang dihabiskan untuk mereka.

Dalam praktiknya, Anda ingin mengonfigurasi font dengan dua cara:

  • Untuk program gaya lama: direktori font terdaftar melalui FontPatharahan xorg.confdan dapat dimanipulasi dengan xset fpperintah oleh pengguna yang menjalankan X. Jika Anda menginstal font baru, Anda mungkin perlu menjalankan mkfontdir.
  • Untuk program bergaya baru, termasuk semua program Gtk (Gnome, dll.) Dan Qt (KDE, dll.): Font ada di direktori yang ditunjukkan oleh <dir>arahan di /etc/fonts/fonts.conf, ~/.fonts.confdan beberapa tempat lainnya. Lihat dokumentasi fontconfig untuk informasi lebih lanjut. Jika Anda memasang font baru, Anda mungkin perlu menjalankan fc-cache.
Gilles 'SANGAT berhenti menjadi jahat'
sumber
3

Font konsol dan font X adalah dua hal terpisah di linux. Gunakan perintah setfontuntuk mengubah font Anda, dan showconsolefontuntuk melihat seperti apa tampilannya. Setiap distro memiliki caranya sendiri untuk mengatur font konsol default. Baca setfonthalaman manual untuk lokasi font konsol. Untuk sistem Fedora 14 saya, ini / lib / kbd / consolefonts /. Font konsol adalah format file yang menentukan font konsol EGA / VGA.

X Font adalah format yang berbeda dari font konsol. Mereka biasanya ditangani oleh definisi dalam konfigurasi X Anda (dengan FontPath di bagian Files), atau melalui server Font (xfs), yang juga diatur di bagian Files dengan FontPath. Anda juga dapat menambahkan FontPaths dengan menjalankan xset +fp path. Sistem saya memiliki semua font X di / usr / share / X11 / font.

jsbillings
sumber
Jadi apakah itu berarti semua program GUI yang berjalan pada X akan menggunakan font X?
hpy
1
@ Penyuan: Tidak harus, tetapi untuk sebagian besar kasus, ya. Banyak program GUI menggunakan pustaka tingkat yang lebih tinggi (seperti GTK atau Qt) yang mengelola font untuk Anda.
jsbillings
Perhatikan bahwa dokumen (misalnya (La) TeX) menggunakan serangkaian font lainnya.
vonbrand