フォント設定

meadowからemacs24に乗り換えました。これを機にinit.elの手直しをしました。特にフォント周りです。
色々なサイトの設定方法を試行してみましたが、サイトSOTAの設定が僕の環境の場合、最も端的で効果的でした。
彼(か)のサイトはMac向けらしく、ヒラギノフォントなので、Win7の僕としては、Consolas(半角)+MeiryoKe(全角)の構成に変更しました。

[01/03追記]
結局メイリオ一発にしてしまいました。
(set-face-attribute 'default nil :family "MeiryoKe_Console" :height 105)

(set-face-attribute 'default nil :family "Consolas" :height 104)
(set-fontset-font nil 'japanese-jisx0208 (font-spec :family "MeiryoKe_Console"))
(setq face-font-rescale-alist '(("MeiryoKe_Console" . 1.08)))


半角フォント選定

数字の「0(ゼロ)」と英大文字の「O(オー)」、および、数字の「1(イチ)」、英小文字の「l(エル)」、記号「|(縦棒)」が判読しやすいものが選定の基準です。Consolas以外に検討したのは、Inconsolata、Migu 1M、IPAゴシックでした。Inconsolateはフォワァとしてる、Migu 1Mはチリチリしてる、IPAチルダ、サーカムフレックスがバーになっているので、Consolasにしました。

全角フォント選定

固定幅であることが選定の基準です。IPAゴシックはちょっとがたつきがあり、Migu 1M はチリチリしてたので、MeiryoKe_Console にしましたが、環境や文字サイズ、倍率などにより良し悪しは変化します。

init.el抜粋

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

;; server start for emacs-client
;(require 'server)
(server-start)

;; 日本語入力
(setq default-input-method "W32-IME")
(setq-default w32-ime-mode-line-state-indicator "[--]")
(setq w32-ime-mode-line-state-indicator-list '("[--]" "[あ]" "[--]"))
(w32-ime-initialize) 
(global-set-key [M-kanji] 'ignore)

;; 文字コード
(set-language-environment  'utf-8)
(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq default-file-name-coding-system 'shift_jis) ;dired文字化け対策

;; フォント
;; abcdefghijklmnopqrstuvwxyz 
;; ABCDEFGHIJKLMNOPQRSTUVWXYZ
;; `1234567890-=\[];',./
;; ~!@#$%^&*()_+|{}:"<>?
;;
;; 壱弐参四五壱弐参四五壱弐参四五壱弐参四五壱弐参四五壱弐参四五
;; 123456789012345678901234567890123456789012345678901234567890
;; ABCdeABCde
;;
;; ┌─────────────────────────────┐
;; │             罫線                            │
;; └─────────────────────────────┘
;;

(set-face-attribute 'default nil :family "Consolas" :height 104)
(set-fontset-font nil 'japanese-jisx0208 (font-spec :family "MeiryoKe_Console"))
(setq face-font-rescale-alist '(("MeiryoKe_Console" . 1.08)))

;;
;; リストを評価する(Ctrl-j)
;;   フォントファミリ (pp (font-family-list))
;;   文字セット       (pp (charset-list))
;;   フェース         (pp (face-list))

;; フレーム
(setq default-frame-alist
       (append (list 
                '(left . 990)
                '(top  . 10)
                '(width  .  80)
                '(height .  30)
 	       )
 	      default-frame-alist))

クラッチバッファ

にて、pp(プリティプリント)をCtrl+j することで、設定に必要な名前を得ることができます。

fontfamily

WindowsOSにインストールされたフォントファミリがemacs起動時に与えられます。

(pp (font-family-list))
charset

文字集合のリストは、次で得られます。

(pp (charset-list))
face

face名は今回は default、つまり全部を指定していますが、個々の名前は、次で得ることができます。

(pp (face-list))

もし、個々のfaceに異なるフォントを割り当てたならば、次のようなコードが有用です。

(setq face-font-rescale-alist
      '(("Migu 1M.*" . 1.1)
	("MeiryoKe_Console.*" . 1.09)))