とにかく簡単にEmacsのフォントを設定する方法

最近仕事場のマシンを新しくし、Mac をやめて Windows にしました。でもエディタはどの OS でも Emacs を使う人間なので、Windows にも Emacs をインストールし、その際に久々に Emacs の設定を色々いじったのですが、フォントについてもプログラミング向け等幅フォントを使うように設定したりしました。

Emacs の設定で良く鬼門とされるのがフォント設定です。Emacs文字集合別にきめ細かくフォントを設定できるようになっているので、よく知らない人にはすごく難しいように思われています。でも、実は最近の Emacs ではとりあえず Ascii と日本語の文字集合に対してサクッとフォントを設定すればいいのならば実に簡単に設定できるようになっています。Emacs のフォント設定をぐぐっても小難しい方法ばかり出てきて、一番簡単な方法にたどり着かない人が多いのではないかと思い、メモっておくことにしました。

メニューから [Options] - [Set Default Font...] を選択します。 f:id:aoe-tk:20190224235803p:plain

すると、次のようなフォント選択ダイアログが出てきます。ここで使いたいフォントを選択します。日本語と Ascii 文字で同じフォントが使われるようにするため、[欧文] に対して選択します。この例ではプログラミング向けフォントとして割と定番の Takaoゴシック を選んでいます。 f:id:aoe-tk:20190224235819p:plain

選択すると Emacs のフォント設定が変わります。ここで再びメニューから [Options] - [Save Options] をクリックして設定を保存します。 f:id:aoe-tk:20190224235836p:plain

以上です。

え、 .emacs ファイルに S 式をごちゃごちゃ書くんじゃないの? と思われた方がいるかもしれません。実は Emacs はこのように GUI で結構設定変更ができるように進化しているのです。「Emacs って小難しい設定ファイルをいじくり回さないといけない古くさいエディタなんでしょ?」なんてと思っている方は認識を改めてください!

とは言え、この設定結果は結局 .emacs に書き込まれます。non ascii な文字が入っているフォントファミリーを選ぶ場合、.emacs には予めマジックコメントを入れてファイルエンコーディングを明記しておいた方がいいかもしれません (やっぱり .emacs 覗かないといけないじゃねーか、って突っ込まれそうですがw) 。

;;; -*- coding: utf-8 -*-

なお、「自分はあくまで .emacs をいじる派だ!」という方は次のように default-frame-alist 変数にフォントファミリーと文字の大きさをハイフンでつなげて設定すれば OK です。ざっくり設定ならばこれで十分です。

;; Initial frame settings
(setq default-frame-alist
      (append (list
              '(font . "Takaoゴシック-10"))
              default-frame-alist))

以上、Emacs のフォント設定を行う一番簡単な方法についてでした。