Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

Vine Linux 3.2 になったら kterm と Emacs の行間が広がっていた件 (2)

id:satob:20051207:p2 の方法で上手くいかなかった *1 ため、他の方法を探す。
Vine 2.6r4 なシステムから東風フォントを持ってくるという手もあったが、ライセンス的に多分アウトだし、入手経路も限られている。そこで、 k14goth フォントを使うことにした。このフォントは、東風ゴシックの 14 ドット埋め込みビットマップに使われていた k14goth フォントを使うことにする。
なお、以降の手順では、フォントの名前は "-Misc-Gothic-Medium-R-Normal--14-130-75-75-C-140-JISX0208.1990-0" といった感じになります。他の名前にしたい場合は、 k14goth-1.6.10.tar.bz2 に含まれている INSTALL ドキュメントに方法が書いてありますのでご参考までに。

$ wget http://openlab.jp/efont/dist/shinonome/orig/k14goth-1.6.10.tar.bz2
$ bzcat k14goth-1.6.10.tar.bz2 | tar xv
$ cd k14goth-1.6.10
$ ./configure --enable-bolditalic
$ make (フォントの生成に結構時間がかかります)
$ su
# make install
# cp /usr/X11R6/lib/X11/fonts/misc/fonts.dir /usr/X11R6/lib/X11/fonts/misc/fonts.dir.org
# cp /usr/X11R6/lib/X11/fonts/misc/fonts.alias /usr/X11R6/lib/X11/fonts/misc/fonts.alias.org
# mkfontdir /usr/X11R6/lib/X11/fonts/misc/
# chmod 644 /usr/X11R6/lib/X11/fonts/misc/fonts.alias
# cat fonts.alias >> /usr/X11R6/lib/X11/fonts/misc/fonts.alias
# chmod 444 /usr/X11R6/lib/X11/fonts/misc/fonts.alias
# xset fp rehash
# /etc/rc.d/init.d/xfs restart

xfontsel でフォント -misc-gothic-{medium,bold}-{i,r}-normal--14-... が無事インストールされていることを確認する。
KTerm の設定は、 /usr/X11R6/lib/X11/ja/app-defaults/KTerm で行う。

*fontMenu*fontdefault*Label:    標準
*VT100*fontList:      -alias-fixed-medium-r-normal--14-*
*VT100*boldFontList:  -alias-fixed-bold-r-normal--14-*

この部分を次のように変更する。

*fontMenu*fontdefault*Label:    標準
*VT100*fontList:        -misc-gothic-medium-r-normal--14-*
*VT100*boldFontList:    -misc-gothic-bold-r-normal--14-*

Emacs の設定は、 ~/.emacs-fontset.el あたりで行う。

;; fontset-14
(create-fontset-from-fontset-spec
 "-alias-fixed-medium-r-normal-*-14-*-*-*-c-*-fontset-14,
  japanese-jisx0208:-alias-fixed-medium-r-normal-*-14-*-JISX0208.1983-0,
  katakana-jisx0201:-alias-fixed-medium-r-normal-*-14-*-JISX0201.1976-0,
  japanese-jisx0213-1:-alias-fixed-medium-r-normal-*-14-*-JISX0213.2000-1,
  japanese-jisx0213-2:-alias-fixed-medium-r-normal-*-14-*-JISX0213.2000-2"
nil t)
(create-fontset-from-fontset-spec
 "-alias-fixed-medium-i-normal-*-14-*-*-*-c-*-fontset-14,
  japanese-jisx0208:-alias-fixed-medium-i-normal-*-14-*-JISX0208.1983-0,
  katakana-jisx0201:-alias-fixed-medium-i-normal-*-14-*-JISX0201.1976-0,
  japanese-jisx0213-1:-alias-fixed-medium-i-normal-*-14-*-JISX0213.2000-1,
  japanese-jisx0213-2:-alias-fixed-medium-i-normal-*-14-*-JISX0213.2000-2"
nil t)
(create-fontset-from-fontset-spec
 "-alias-fixed-bold-r-normal-*-14-*-*-*-c-*-fontset-14,
  japanese-jisx0208:-alias-fixed-bold-r-normal-*-14-*-JISX0208.1983-0,
  katakana-jisx0201:-alias-fixed-bold-r-normal-*-14-*-JISX0201.1976-0,
  japanese-jisx0213-1:-alias-fixed-bold-r-normal-*-14-*-JISX0213.2000-1,
  japanese-jisx0213-2:-alias-fixed-bold-r-normal-*-14-*-JISX0213.2000-2"
nil t)

この部分を次のように変更する(あるいは、別のフォントセットを作って、 .emacs-faces.el で参照させてもよい)。

(create-fontset-from-fontset-spec
 "-misc-gothic-medium-r-normal-*-14-*-*-*-c-*-fontset-14,
  japanese-jisx0208:-misc-gothic-medium-r-normal-*-14-*-JISX0208.1983-0,
  katakana-jisx0201:-misc-gothic-medium-r-normal-*-14-*-JISX0201.1976-0,
  japanese-jisx0213-1:-misc-gothic-medium-r-normal-*-14-*-JISX0213.2000-1,
  japanese-jisx0213-2:-misc-gothic-medium-r-normal-*-14-*-JISX0213.2000-2"
nil t)
(create-fontset-from-fontset-spec
 "-misc-gothic-medium-i-normal-*-14-*-*-*-c-*-fontset-14,
  japanese-jisx0208:-misc-gothic-medium-i-normal-*-14-*-JISX0208.1983-0,
  katakana-jisx0201:-misc-gothic-medium-i-normal-*-14-*-JISX0201.1976-0,
  japanese-jisx0213-1:-misc-gothic-medium-i-normal-*-14-*-JISX0213.2000-1,
  japanese-jisx0213-2:-misc-gothic-medium-i-normal-*-14-*-JISX0213.2000-2"
nil t)
(create-fontset-from-fontset-spec
 "-misc-gothic-bold-r-normal-*-14-*-*-*-c-*-fontset-14,
  japanese-jisx0208:-misc-gothic-bold-r-normal-*-14-*-JISX0208.1983-0,
  katakana-jisx0201:-misc-gothic-bold-r-normal-*-14-*-JISX0201.1976-0,
  japanese-jisx0213-1:-misc-gothic-bold-r-normal-*-14-*-JISX0213.2000-1,
  japanese-jisx0213-2:-misc-gothic-bold-r-normal-*-14-*-JISX0213.2000-2"
nil t)

*1:-misc-fixed-bold-r-normal--14------jisx0208.1983-0" の本体が "-sazanami-sazanami fixed-bold-r-normal--------jisx0208.1983-0 だったため、表示するドキュメントに bold な日本語が混ざっていた場合に行間が開いてしまう。 nvsysv(8) などで表示が崩れるのが分かりやすい