テキストエディタはMeadowから日本語版Emacs (24.5.1)の64ビット版に乗り換えて使っていますがBDFフォントの設定で苦労したMeadowと違ってこのEmacsはBDFフォントに対応してないので、初期設定のCourier Newのままで日本語がきちんと表示されるし、Courier New自体見やすいフォントなのでそのまま使ってきました。それが、ある時Emacsで作成したファイルをCygwinのmintty上でlessコマンドで見ていると異変に気づきました。

このページのようなHTMLファイルはタグで区切るまでは改行せずに記入していきますが、設定ファイルやソースファイルは一行がなるべく80桁未満で収まるように改行をしています。ところが、そのような改行を心がけているはずのファイルをlessで見たところ80桁以上にはみ出ていました。試しに半角80文字と全角40文字をそれぞれ一行に入力してみると、画像のように全角の幅が半角の倍となっていませんでした。以前にも微妙にずれているのを見かけたような気がしてましたが、これが理由でした。

emacs_courier_new

いくらきれいなフォントで見られるとは言え、これは気持ち悪い。MS ゴシックのような元からあるものもありますが、もっと見栄えがするきちんと幅の揃う等幅フォントがないかと探すと次のサイトを見つけました。

今まで何にもしてなかったフォントの設定は次を参考にしました。
  • WindowsでEmacsをセットアップ
  • (set-default-font "MeiryoKe_Console 10")
    (set-fontset-font (frame-parameter nil 'font)
                      'japanese-jisx0208
    ;                  '("MeiryoKe_Console" . "unicode-bmp")
    		  '("Ricty Diminished" . "unicode-bmp")
                      )
    
    (set-fontset-font (frame-parameter nil 'font)
                      'katakana-jisx0201
    ;                  '("MeiryoKe_Console" . "unicode-bmp")
    		  '("Ricty Diminished" . "unicode-bmp")
    		  )
    
    気分で切り替えられるように使わないフォントをコメントで残しています。

こうやって設定をすると次のように半角80文字と全角40文字が同じ幅で表示されるようになりました。

emacs_monospaced