歡迎

本站利用 MathJax 顯示數學式子,請安裝 STIX Font 以確保數學式子顯示無誤,安裝方法請參閱 MathJax Font Help

2007年1月21日 星期日

XftGnuEmacs on Ubuntu

昨天心血來潮,用 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

最後要再弄一些設定,在 ~/.Xresources 中增加

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)
就能夠正確地抓到字型了。

沒有留言: