2011-04-13

Emacs 23.3のフォント設定

以前書いたとおり、今はEmacs 23.3にinline_patchを充てて幸せな生活をおくっています。ついでにmacemacsjp MLでフォントの設定関係の話題があったのを思い出したので、参考にしつつ、フォント周りを見なおしてみました。

参考にしたサイトはid:setoryoheiさんとsakitoさんのサイトです。参考というか、id:setoryoheiさんの設定例(2)をまるっとコピーして、必要な文字セットをsakitoさんのサイトから拾ってきただけなんですが。。。

というわけで、今は英字をMenloで日本語をヒラギノ角ゴ ProNで指定して、こんな感じでやっています。


;; http://d.hatena.ne.jp/setoryohei/20110117
;; 設定例2
(let* ((size 12) ; ASCIIフォントのサイズ [9/10/12/14/15/17/19/20/...]
       (asciifont "Menlo") ; ASCIIフォント
       ;; (jpfont "TakaoExGothic")             ; 日本語フォント
       (jpfont "Hiragino Kaku Gothic ProN") ; 日本語フォント
       (h (* size 10))
       (fontspec (font-spec :family asciifont))
       (jp-fontspec (font-spec :family jpfont)))
  (set-face-attribute 'default nil :family asciifont :height h)
  ;; http://sakito.jp/moin/moin.cgi/EmacsFont を参考にして必要そうなものを追加
  (set-fontset-font nil 'jisx0201                 jp-fontspec)
  (set-fontset-font nil 'latin-jisx0201           jp-fontspec)
  (set-fontset-font nil 'japanese-jisx0208        jp-fontspec)
  (set-fontset-font nil 'japanese-jisx0208-1978   jp-fontspec)
  (set-fontset-font nil 'japanese-jisx0212        jp-fontspec)
  (set-fontset-font nil 'japanese-jisx0213-1      jp-fontspec)
  (set-fontset-font nil 'japanese-jisx0213-2      jp-fontspec)
  (set-fontset-font nil 'japanese-jisx0213-a      jp-fontspec)
  (set-fontset-font nil 'japanese-jisx0213.2004-1 jp-fontspec)
  (set-fontset-font nil 'katakana-sjis            jp-fontspec)
  (set-fontset-font nil 'cp932-2-byte             jp-fontspec)
  (set-fontset-font nil 'cp932                    jp-fontspec)
  (set-fontset-font nil '(#x3040 . #x309f)        jp-fontspec) ; ひらがな
  (set-fontset-font nil '(#x30a0 . #x30ff)        jp-fontspec) ; カタカナ
  (set-fontset-font nil '(#xff00 . #xffef)        jp-fontspec) ; 半角・全角系
  (set-fontset-font nil '(#x0370 . #x03FF)        fontspec)    ; ギリシャ文字 
)
;; フォントサイズの比を設定
(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)))


で、実際にはこんな感じで描画されます。

実はコメントアウトしているところからわかるかもしれませんが、Emacs 23.2まではタカオ フォントを愛用していました。ただ、タカオ フォントでは一部の文字について対応されていなかったので、ちょっと残念な感じになっていました。(特に、TwitterのTLを表示するときとか。。。)

なんか、Emacsのバージョンを上げるたびにフォントの設定を書き換えているような気がしますが、今の内容で結構満足しているので、しばらくはこのままにしておきたいなぁ。。。