試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

GNU Emacs 23におけるフォント設定に関する覚え書き

GNU Emacsのバージョンが23.1となり、Xftライブラリによる文字の高品質な描画が行われるようになっている。

  1. 設定例
  2. Emacs 23でpcfフォントを使用する
  3. 動作やスクロールなどの重さ

設定例

以下の設定では

  • 英数部分に「Liberation Mono」
  • 日本語部分に「M+1P+IPAG」

を用いてサイズは12となっている。これらの部分は好みで変更可能。
フォント名はfontconfigフォント管理システム上の名前で、デスクトップ環境上のフォント選択ダイアログで出るものと同じ。

ファイル名: ~/.emacs.el より

(if (>= emacs-major-version 23)
 (progn
  (set-default-font "Liberation Mono-12")
  (set-fontset-font (frame-parameter nil 'font)
                     'japanese-jisx0208
                     '("M+1P+IPAG" . "unicode-bmp")))
)

下に並べる2つの画像の内、上がバージョン22上のmilkjfフォント、下がバージョン23上のLiberation Mono/M+1P+IPAGの組み合わせ。


どちらが見やすいかは「好み」の世界。行間は広くなっている。

Emacs 23でpcfフォントを使用する

既定ではTrueTypeフォントが用いられるが、以下の設定により(従来通りの)X11のpcf形式のビットマップフォントのみを用いることができるようになる。
ファイル名: ~/.Xresources

Emacs.FontBackend: x

下はこれを適用(設定反映)する作業例。

$ xrdb -merge ~/.Xresources

(2009/9/21)リソース設定ファイルと作業例を好ましい形に修正
解除する場合は[ホームディレクトリ]/.Xresourcesの上記記述を削ってからxrdbコマンドを再実行する。Emacs.FontBackend: xft」などと書く必要はない。
(2009/9/21)設定を解除するには

$ xrdb -remove Emacs.FontBackend

としたほうが好ましい。また、Emacs.FontBackendはそのままでも、上の設定の代わりに

(add-to-list 'default-frame-alist '(font . "\
-milkjf-fixed-medium-r-normal--16-150-75-75-c-*"))

でmilkjfフォントは使用できている。

動作やスクロールなどの重さ

バージョン22と比べるとやはり重い。GTK+の代わりにLUCIDのGUIツールキットを使用してビルドしてもみたが、バージョン22のLUCID使用ビルドと比べるとやや重さを感じる。pcfフォントを使用する設定をしてもバージョン22より少し重い。
特にCtrl+P/Ctrl+N/上下矢印キーを押しっ放しにしたときに(少し固まって)カーソルが飛ぶように見えることが出た。*1スクロールについてはマウスホイールやCtrl+V/Meta+Vでの移動をすればよいので、対応できなくもないのだが...
また、標準となったGTK+版は(バージョン22からではあるが)メニューの切り離しをしてバッファ切り替えなどをグラフィカル操作で簡単に行えたりもするので、バージョン22を残しつつ、場面に応じて使い分けるのもよいかもしれない。

使用したバージョン:

*1:Athlon64 3500+で最低クロックの1000MHzでの動作時