Vine Linux 4.0にアンチエイリアス対応XEmacsを入れる
XEmacsのβ版は、Xftを使ってフォントにアンチエイリアスをかける事が出来るので、これをVine Linux 4.0に入れてみる。
パッケージ版のXEmacs(バージョン21.4)とβ版を共存させる事にする。
したがって、事前にパッケージ版のXEmacsを入れておく。
見た目はこんな感じ
以下作業手順。
ソースの入手と改造
適当なミラーサイトから最新版のソースをダウンロードする。
ここではxemacs-21.5.27.tar.gzを使う。
ミラー:http://ring.asahi-net.or.jp/pub/text/xemacs/beta/
ダウンロードしたソースを展開し、「xemacs-21.5.27/src/faces.c」にデフォルトのフォントを指定する箇所があるので、Vine Linux 4.0に合うように書き直す。
#ifdef USE_XFT /************** Xft fonts *************/ /* Note that fontconfig can search for several font families in one call. We should use this facility. */ "Bitstream Vera Sans Mono-12", /* Western #### add encoding info? */ /* do we need to worry about non-Latin characters for monospace? No, at least in Debian's implementation of Xft. We should recommend that "gothic" and "mincho" aliases be created? */ "IPAGothic-12", /* Japanese #### add encoding info? */ "VL Gothic-12", /* Arphic for Chinese? */ /* Korean */ #else
「fc-list」の出力を参考にしながら、"フォント名-サイズ"で指定する。
なお、上記ではIPAフォントを別途インストールした場合の設定なので、IPAフォントを使ってないなら"IPAGothic-12"の行を削除する。
コンパイルとインストール
「configure」〜「make」〜「make install」でコンパイル&インストールする。
インストール場所は分かりやすい所にする。
ここでは${HOME}/opt以下にした。
configureのオプションは下記の通りにする。
$ ./configure \
--prefix=${HOME}/opt \
--with-site-includes=/usr/include \
--with-site-libraries=/usr/lib \
--enable-mule \
--enable-clash-detection \
--with-pop \
--with-xft=all \
--with-jpeg=yes \
--with-png=yes \
--with-tiff=yes
configureが通らなかったら、developmentパッケージ(*****-devel)が未インストールなので、該当パッケージを入れておく。
インストールが終わったら、下記の様にしてXEmacsのパッケージにシンボリックリンクを貼る。
$ cd ~/opt/lib/xemacs $ ln -s /usr/lib/xemacs/xemacs-packages ./
設定
${HOME}/.xemacs/init.elをバージョン毎で読み込むファイルを変える様にする。
バージョンに依存しない設定はinit.elに書いて構わない。
;; ここまでは共通設定を書く ;; バージョンで読み込むファイルを変える (if (string-match "21.4" emacs-version) (load "~/.xemacs/init.21.4.el") (load "~/.xemacs/init.21.5.el")) ; β版はこっちを読む
β版用の設定ファイルに、フォントを変えたいなら下記の様に指定をする。
;; ;; フォントの設定の見本 ;; ;; デフォルトフォント (set-face-font 'default '("Bitstream Vera Sans Mono-11" "IPAGothic-11")) ;; ボールドフォント (set-face-font 'bold "Bitstream Vera Sans Mono:style=Bold")