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 の行間が広がっていた件

(12/10 追記: この設定だと、 ktermvim や man を実行した途端に行間が広がったりする模様。解決法は現在調査中 → ひとまず解決。 id:satob:20051213:p1 参照)
Vine Linux 3.2 になって、インストール直後の ktermEmacs の表示が縦に長くなった気がする、というか長くなった。これは、システムで使われているフォントが、行間の比較的広いさざなみフォントになったため。
具体的なフォント名では、 -alias-fixed-medium-r-normal--14-* に相当するフォントが kochi fixed から sazanami fixed になっている。 /usr/X11R6/lib/X11/fonts/TrueType/fonts.alias によると kochi は sazanami の alias になっているので、単純に alias の指す先を kochi にするだけではダメっぽい。
xfontsel と xfd で適当なフォントがないか探してみると、-misc-fixed-medium-r-normal--14 (k14.pcf, :7x14{-*}.pcf) *1 の行間がいい感じに狭そうなので、これを使うことにする。

KTerm の設定は、 /usr/X11R6/lib/X11/ja/app-defaults で行う。

*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-fixed-medium-r-normal--14-*
*VT100*boldFontList:  -misc-fixed-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-fixed-medium-r-normal-*-14-*-*-*-c-*-fontset-14,
  japanese-jisx0208:-misc-fixed-medium-r-normal-*-14-*-JISX0208.1983-0,
  katakana-jisx0201:-misc-fixed-medium-r-normal-*-14-*-JISX0201.1976-0,
  japanese-jisx0213-1:-misc-fixed-medium-r-normal-*-14-*-JISX0213.2000-1,
  japanese-jisx0213-2:-misc-fixed-medium-r-normal-*-14-*-JISX0213.2000-2"
nil t)
(create-fontset-from-fontset-spec
 "-misc-fixed-medium-i-normal-*-14-*-*-*-c-*-fontset-14,
  japanese-jisx0208:-misc-fixed-medium-i-normal-*-14-*-JISX0208.1983-0,
  katakana-jisx0201:-misc-fixed-medium-i-normal-*-14-*-JISX0201.1976-0,
  japanese-jisx0213-1:-misc-fixed-medium-i-normal-*-14-*-JISX0213.2000-1,
  japanese-jisx0213-2:-misc-fixed-medium-i-normal-*-14-*-JISX0213.2000-2"
nil t)
(create-fontset-from-fontset-spec
 "-misc-fixed-bold-r-normal-*-14-*-*-*-c-*-fontset-14,
  japanese-jisx0208:-misc-fixed-bold-r-normal-*-14-*-JISX0208.1983-0,
  katakana-jisx0201:-misc-fixed-bold-r-normal-*-14-*-JISX0201.1976-0,
  japanese-jisx0213-1:-misc-fixed-bold-r-normal-*-14-*-JISX0213.2000-1,
  japanese-jisx0213-2:-misc-fixed-bold-r-normal-*-14-*-JISX0213.2000-2"
nil t)

システム全体に対してこの設定を行いたい場合、もしくはどこかから東雲フォントを持ってきて設定する場合の方法はまた今度。

*1:$ find /usr/X11R6/lib/X11/fonts -name "fonts.dir" | xargs grep -e 'fixed-medium-r-normal--14' とかで引っかかったものを中心に探す