環境によってEmacsの挙動を変える
cocoa emacs でのフォントの設定 - daharuの日記の設定後
terminalからCocoa emacsを起動するとフォント関連のエラーが出てしまったので.emacsでのフォントの設定をGUIのときのみ適用するよう変更しました。
その際調べたことをまとめておきます。
自分のための日記: ターミナルから Emacs を起動すると Symbol's function definition is void: fixed-width-set-fontset のエラー
によると、変数 "window-system"を評価することによってemacsがどの環境で実行されたのかを知ることができるようです。
例えば、window-sytem "hoge" で、のみfugaを実行するには次の様に書きます。
(if (eq window-system 'hoge) fuga )
Cocoa EmacsでGUIの時のみフォントの設定を適用するには、
;;; 日本語のフォント設定 (if (eq window-system 'ns) (progn (create-fontset-from-ascii-font "Menlo-12:weight=normal:slant=normal" nil "menlokakugo") (set-fontset-font "fontset-menlokakugo" 'unicode (font-spec :family "Hiragino Kaku Gothic ProN" ) nil 'append) (add-to-list 'default-frame-alist '(font . "fontset-menlokakugo")) (setq face-font-rescale-alist '((".*Hiragino.*" . 1.2) (".*Menlo.*" . 1.0)))))