昨天心血來潮,用 Google 查了一下 emacs fonts,結果出現了很有趣的資料。在 Kanru's 探險日誌中,Emacs 使用 Xft 提到 Emacs 可以使用 Xft 的字型,能夠讓字型變得較好看。 Emacs 雖然功能很強大,但是在字型的表現上一直覺得不夠美觀。因為 Emacs 一直都是使用 bitmap 的字型,而中文字型中只有 16 pt 和 24 pt 兩種尺寸,對於小尺寸的螢幕 16 pt 的字型可能都會太大了,更不要說是 24 pt 了。
雖然個人覺得 bitmap 的字型不怎麼合意,但也有人認為 bitmap 的字型才是最佳的選擇。好像有點離題了。回歸正題,按照 Kanru 所說 Emacs 23 將可能採用 emacs-unicode-2 這個分支,不過 Emacs 22 好像一直沒有釋出, Debian 和 Ubuntu 官方所收錄的 emacs-snapshot 是所謂 Emacs 22 CVS,但是並不是 emacs-unicode-2 這個 CVS 分支。
找了很多資料,都只有提到該如何編譯 emacs-unicode-2,如 EmacsWiki: XftGnuEmacs。本來已經決定移除 emacs-snapshot-gtk 和 emacs21 這兩個套件了,自己來編譯 emacs-unicode-2。後來覺得還是再找找,終於讓我找到了 Alexandre Vassalotti 的 blog。他將 XftGnuEmacs 預先編譯好了 Ubuntu 的套件。只要在 /etc/apt/source.list
中加入
deb http://debs.peadrop.com edgy backports deb-src http://debs.peadrop.com edgy backports然後執行
sudo aptitude update sudo aptitude install emacs-snapshot-gtk
最後要再弄一些設定,在 Emacs.FontBackend: xft
Emacs.font: Monospace-13
使用下列的指令,或重新啟動 X 讓 X 使用新的設定 xrdb -merge ~/.Xresources
至此,我們就能使用 Xft 了。不過中文字可能還是會使用 bitmap font,主要是由於 Xft 設定上的問題,關於 Xft 的設定可以參考 Tetralet 的 介紹。也可以直接在 ~/.emacs
中設定字型 (set-default-font "Bitstream Vera Sans Mono-13")
(set-fontset-font (frame-parameter nil 'font)
'han '("AR HeiU30" . "unicode-bmp"))
在這個範例中,英文的部分使用 Bitstream Vera Sans Mono 13 pt,而中文則是使用 文鼎黑體。
2007/08/09 更新: 上述的設定,在我的 desktop 上是乎有些奇怪,對於標點符號 "," emacs 好像找不到字型居然以方塊來表示。上網找了很久,昨天終於看到一個不一樣的設定。將設定改成
(set-default-font "Bitstream Vera Sans Mono-13") (set-fontset-font (frame-parameter nil 'font) 'unicode '("AR HeiU30" . "unicode-bmp") 'nil 'append)就能夠正確地抓到字型了。
沒有留言:
張貼留言