Mulai lebih awal hari ini saya mendapatkan masalah rendering font dengan rxvt-unicode. Khususnya dengan banyak font saya mendapatkan banyak ruang ekstra antar karakter. Di font lain rxvt menolak untuk mengubah ukuran.
Berikut adalah contoh masalah jarak antara urxvt dan xterm.
Sumber daya font:
URxvt*font: xft:Terminus:medium:size=10
xterm*faceName: xft:Terminus:medium:size=10
Dan rendering
- urxvt
- xterm
Saya telah mencoba semua permutasi dari isyarat dan antialiasing. Mengubah ukuran atau pixelsize memang mengubah ukuran font di urxvt tetapi ini juga meningkatkan jarak ekstra.
Adakah yang punya ide yang bisa saya coba perbaiki ini?
xterm
sebenarnya menggunakan font yang sama. TheJ
dan0
yang jelas berbeda. Anda dapat mengonfirmasi ini dengan menggunakan font yang tidak ada di file sumber daya (xterm*faceName: xft:Nosuchfont:medium:size=10
). Jika masih terlihat sama, itu jelas bukan Terminus.gvim
ketika menggunakan konfigurasi saya pada sistem di mana font yang saya inginkan tidak diinstal.xft
atau sesuatu jatuh kembali pada font non-monospace dan itulah yang muncul.Jawaban:
Urxvt memiliki opsi untuk kerning dasar:
letterSpace
. Lihatman urxvt
:Jadi Anda dapat menyesuaikan jarak dengan menambahkan garis ke Anda
~/.Xresources
, seperti:Catatan: sulit untuk mengetahui dari tangkapan layar pertama Anda, tetapi sepertinya Urxvt kembali ke font default karena tidak dapat menemukan atau memuat Terminus, karenanya jarak yang lebar. Terminus adalah font bitmap (yang kemungkinan dinonaktifkan secara default), jadi Anda harus menggunakan
xfontsel
untuk menyalin string font yang benar ke dalam definisi Anda.Lihat halaman Arch Wiki pada X Deskripsi Font Logis untuk deskripsi terperinci tentang bagaimana sistem ini bekerja.
sumber
urxvt -letsp -2
itu perlu bagi saya. Menggunakan-1
itu lebih baik, tetapi pada awalnya saya tidak menyadari karena itu tidak cukup.fc-match <font-name>
alih - alihxfontsel
jika tidak diinstal ( font-name adalah ekspresi yang diberikan dalamURxvt*font
nama font baris Anda ). Jika ini muncul dengan nilai yang cocok dengan ekspresi, font akan dimuat dengan benar. misalnya, jikafc-match "Noto Mono"
memberiDejaVuSans.ttf: "DejaVu Sans" "Book"
maka dapat dianggap sebagai ekspresi font yang salah.Ternyata aturan diaktifkan di sistem saya yang memblokir font yang dipetakan seperti Terminus.
Aturan ini (di sistem saya) ada di
/etc/fonts/conf.d/70-no-bitmap-fonts
dan terkandung:Saya menghapus ini dari
conf.d
direktori dan font saya sekali lagi merender dengan benarurxvt
.sumber
Harap perhatikan bahwa ada laporan bug tentang spasi surat.
Saya memiliki masalah serupa. Mengikuti rekomendasi dari diskusi bug, saya atur
Xft.rgba: none
danXft.hintstyle: hintfull
dalam~/.Xdefaults
(bukanXft.rgba: rgb
danXft.hintstyle: hintslight
). Ini memperbaikinya untuk saya - saya menggunakan Ubuntu Mono sebagai font, meskipun.sumber
Solusi saya sederhana:
Sekarang ini berfungsi dengan baik.
sumber
Ini mungkin muncul dari file font yang sebenarnya (Monospace dalam kasus saya) lebih mungkin daripada dari apa pun di urxvt. Jika font (salah) menyatakan beberapa mesin terbang terlalu lebar, urxvt terpaksa membuat grid juga lebar.
Dalam kasus saya, font "OK" yang saya temukan adalah Bitstream Vera Sans Mono.
sumber