emacs23でのフォント設定

emacs23が標準提供になっていたので、emacs22から23へ移行する。emacs 23からはTrueTypeフォントが使えるらしいので、そちらを使う。

% sudo aptitude install emacs23

まずは、emacs 22では、.Xresourcesでフォントの設定をしていたのでそれをコメントアウトする。

% cp -p .Xreasorces .Xresources.org

そして、以下を追加する。

Emacs.FontBackend: xft

差分は以下のとおり。

% diff .Xresources.org .Xresources
5,12c5,12
< Emacs.Fontset-0: -*-fixed-medium-r-normal--14-*-*-*-*-*-fontset-14
< Emacs.Fontset-1: -*-fixed-medium-r-normal--12-*-*-*-*-*-fontset-12
< Emacs.Fontset-2: -*-fixed-medium-r-normal--24-*-*-*-*-*-fontset-24
< Emacs.Fontset-3: -*-fixed-medium-r-normal--16-*-*-*-*-*-fontset-16,\
< ascii:-shinonome-gothic-medium-r-normal-*-17-*-*-*-*-*-iso8859-*,\
< japanese-jisx0208:-shinonome-gothic-medium-r-normal-*-17-*-*-*-*-*-jisx0208*,\
< katakana-jisx0201:-shinonome-gothic-medium-r-normal-*-17-*-*-*-*-*-jisx0201*
< Emacs.Font: fontset-16
---
> !Emacs.Fontset-0: -*-fixed-medium-r-normal--14-*-*-*-*-*-fontset-14
> !Emacs.Fontset-1: -*-fixed-medium-r-normal--12-*-*-*-*-*-fontset-12
> !Emacs.Fontset-2: -*-fixed-medium-r-normal--24-*-*-*-*-*-fontset-24
> !Emacs.Fontset-3: -*-fixed-medium-r-normal--16-*-*-*-*-*-fontset-16,\
> !ascii:-shinonome-gothic-medium-r-normal-*-17-*-*-*-*-*-iso8859-*,\
> !japanese-jisx0208:-shinonome-gothic-medium-r-normal-*-17-*-*-*-*-*-jisx0208*,\
> !katakana-jisx0201:-shinonome-gothic-medium-r-normal-*-17-*-*-*-*-*-jisx0201*
> !Emacs.Font: fontset-16
15c15
< 
---
> Emacs.FontBackend: xft

いままでの設定は .emacs に書いていたが、今後は .emacs.el に書くことが推奨されているそうなので、リネームする。

% mv .emacs .emacs.el
% cp -p .eamcs.el dot.emacs.el.org

フォントの設定を行う。 .eamcs.el に以下を追加する。

(add-to-list 'default-frame-alist '(font . "標準のTrueTypeフォントの種類-フォントサイズ"))
(cond ((string-match "^23\." emacs-version)
       (cond (window-system
              (set-default-font "標準のTrueTypeフォントの種類-フォントサイズ")
              (set-fontset-font (frame-parameter nil 'font)
                                'japanese-jisx0208
                                '("日本語のTrueTypeフォントの種類-フォントサイズ" . "unicode-bmp"))
              ))))

使用したいTrueTypeフォントは、パッケージにあるかどうかを調べる場合は以下のコマンド。

% aptitude search ^ttf-

既にインストール済みのパッケージを調べたい場合は以下のコマンド。

% fc-list

いろいろ検討した結果、ttf-bitstream-vera と ttf-ipafont を使うことにした。私の設定は以下のとおり。

(add-to-list 'default-frame-alist '(font . "Bitstream Charter-15"))
(cond ((string-match "^23\." emacs-version)
       (cond (window-system
              (set-default-font "Bitstream Charter-15")
              (set-fontset-font (frame-parameter nil 'font)
                                'japanese-jisx0208
                                '("IPAPGothic-14" . "unicode-bmp"))
              ))))

その他の設定はemacs 22の設定を引き継いでいる。