Shammer's Philosophy

My private adversaria

MacのEmacsフォント設定(Emacs 24.1)

MacEmacs を利用するときのフォント設定備忘録。自分のフォントの条件としては、

  • アルファベットや数字はInconsolataを使用
  • 日本語の全角文字とアルファベットの2文字が等幅になること

簡単にできると思っていたが、やってみるとかなり繊細な設定であることが判明した。MacEmacs(Cocoa)のフォント設定がこんなに大変だったとは・・・結局、以下で条件を満たすことを確認。

  • フォントサイズは12
  • 日本語フォントはTakaoExGothicを使用

以下、設定内容。

(create-fontset-from-ascii-font "Inconsolata-12:weight=normal:slant=normal" nil "myfavoritefontset")
(set-fontset-font "fontset-myfavoritefontset"
		  'japanese-jisx0208
		  (font-spec :family "TakaoExGothic" :size 12)
		  nil
		  'append)
(add-to-list 'default-frame-alist '(font . "fontset-myfavoritefontset"))
(setq face-font-rescale-alist
	'(("^-apple-hiragino.*" . 1.2)
	  (".*osaka-bold.*" . 1.2)
	  (".*osaka-medium.*" . 1.2)
	  (".*courier-bold-.*-mac-roman" . 1.0)
	  (".*monaco cy-bold-.*-mac-cyrillic" . 0.9)
	  (".*monaco-bold-.*-mac-roman" . 0.9)
	  ("-cdac$" . 1.3)
	  (".*Inconsolata.*" . 1.0)))

最後のface-font-rescale-alistは誰が調べたのだろうか。。。いろいろなサイトで紹介されていて、最初に調べた人わからなかったけれども感謝しています。最後のInconsolataの部分だけ自分仕様。倍率1倍という意味だと思うからなくても問題ないものだろうけれども。Emacs フォントの達人になりたいわけではないので自分の要望を満たす設定ができたところで終了。フォントサイズ15くらいで使いたいのだが、15にすると日本語の文字幅とASCII文字の幅の要件を満たさなくなる。この場合、face-font-rescale-alistを使って調整しないとダメなのだろうか。さすがにこれは厳しそうだ。