NTEmacsのフォント設定検討
Table of Contents
はじめに
(2010年7月11日時点で行った検討である)
これまで、NTEmacsでは http://www.kaoriya.net/ で配布されている BDF東雲フォント を使っていた。
フォントを小さく(12ピクセル/9ポイント)設定した場合の文字数(列数)の多さと、読みやすさが、使っていた理由である。
ただし、BDF東雲フォントは、丸囲み文字等の機種依存文字が表示できないという問題がある。
また、BDF東雲フォントを使用した場合、NTEmacs 23.2 だと起動画面が寂しい表示になってしまうことも、どういう関連があるのかはわかっておらず、気になっている。
というわけで様々なフォントをインストールして試してみる。
要件
これは全く、私の個人的な好みもしくは希望なのだが、要件としては下記の通りである。
- できるだけ、多くの文字を表示できる
- 東雲フォントでは、1280x1024の画面解像度、12ピクセル(9ポイント)だと、メニューバー、ツールバー無しのフルスクリーンのNTEmacsで79行表示できる。これを基準としている
- 読みやすい
- 12ピクセル(9ポイント)で、読みやすいこと。実質ビットマップフォントでないと厳しいと考えている。
結論
(あくまで、私が使う上での)結論は、”東風フォント代用品” に変更。
東風フォント代用品は、BDF東雲ゴシック とほぼ同等の形で、丸囲み文字が使える為。
東風フォント代用品と、さざなみフォントはほぼ同じものであるはずなのだが、さざなみフォントは行間のスペースが大きく、表示文字数が確保できない。
また、M+系は、行数はある程度確保できるのだが、字体が好きになれなかった。
検証
- BDF東雲ゴシック
- 79行/丸囲み文字NG/起動画面NG
- MS ゴシック
- 79行/丸囲み文字OK/起動画面NG
- 東風フォント代用品 (http://sourceforge.jp/projects/efont/)
- 79行/丸囲み文字OK/起動画面NG
- さざなみフォント (http://sourceforge.jp/projects/efont/)
- 67行/丸囲み文字OK/起動画面OK
- BDF M+
- BDF UM+
- 元は、M+ BITMAP FONTS (http://mplus-fonts.sourceforge.jp/mplus-bitmap-fonts/index.html)
- 73行/丸囲み文字OK/起動画面OK
- M+ と IPAフォントの合成フォント Terminus-ja (http://mix-mplus-ipa.sourceforge.jp/terminus-ja/)
- 73行/丸囲み文字OK/起動画面OK
- M+ と IPAフォントの合成フォント MigMix 1M/MigMix 1P (http://mix-mplus-ipa.sourceforge.jp/migmix/)
- 55行/丸囲み文字OK/起動画面OK
- メイリオ
- 52行/丸囲み文字OK/起動画面OK
- VL ゴシック
- 59行
- 列間が広い。綺麗なのだが、アンチエイリアスは切りたい
- 梅ゴシック
- フォントとして全然綺麗でない(ギザギザ)ので使えない
- 79行/丸囲み文字OK/起動画面NG
- IPAモナーフォント
- フォントとしてあまり綺麗でない
- 79行/丸囲み文字OK/起動画面NG
- IPAゴシック
- フォントとしてあまり綺麗でない
- 73行/丸囲み文字OK/起動画面OK
- M+2VM+IPAG circle
- 67行/丸囲み文字OK/起動画面OK
- Konatsu Font (http://www.masuseki.com/rnote.php?u=be/konatu.htm)
- フォントとしてはちょっと見にくい
- 79行/丸囲み文字OK/起動画面NG
検証の際に使用した .emacs
(tool-bar-mode nil) ; アイコンの付いたツールバーの表示/非表示(t[default]/nil) (menu-bar-mode -1) ;メニューバーの表示/非表示(t[default]/nil) (setq default-frame-alist (append (list '(foreground-color . "white") '(background-color . "black") # '(width . 30) # '(height . 8) '(width . 100) '(height . 50) '(line-spacing . 0) '(cursor-color . "white") ) default-frame-alist)) ;(setq frame-background-mode 'dark) ;(set-face-attribute 'fixed-pitch nil :family "BDF東雲ゴシック") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "BDF東雲ゴシック") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "BDF東雲ゴシック-9")) (set-face-attribute 'fixed-pitch nil :family "東風ゴシック") ;; 固定等幅フォント (set-face-attribute 'variable-pitch nil :family "東風ゴシック") ;; 可変幅フォント (add-to-list 'default-frame-alist '(font . "東風ゴシック-9")) ;(set-face-attribute 'fixed-pitch nil :family "さざなみゴシック") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "さざなみゴシック") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "さざなみゴシック-9")) ;(set-face-attribute 'fixed-pitch nil :family "BDF M+") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "BDF M+") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "BDF M+-9")) ;(set-face-attribute 'fixed-pitch nil :family "BDF UM+") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "BDF UM+") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "BDF UM+-9")) ;(set-face-attribute 'fixed-pitch nil :family "メイリオ") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "メイリオ") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "メイリオ-9")) ;(set-face-attribute 'fixed-pitch nil :family "MS ゴシック") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "MS ゴシック") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "MS ゴシック-9")) ;(set-face-attribute 'fixed-pitch nil :family "MS UI Gothic") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "MS UI Gothic") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "MS UI Gothic-9")) ;(set-face-attribute 'fixed-pitch nil :family "VL ゴシック") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "VL ゴシック") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "VL ゴシック-9")) ;(set-face-attribute 'fixed-pitch nil :family "Terminus-ja") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "Terminus-ja") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "Terminus-ja-9")) ;(set-face-attribute 'fixed-pitch nil :family "MigMix 1M") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "MigMix 1M") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "MigMix 1M-9")) ;(set-face-attribute 'fixed-pitch nil :family "MigMix 1P") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "MigMix 1P") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "MigMix 1P-9")) ;(set-face-attribute 'fixed-pitch nil :family "梅ゴシック") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "梅ゴシック") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "梅ゴシック-9")) ;(set-face-attribute 'fixed-pitch nil :family "IPA モナー ゴシック") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "IPA モナー ゴシック") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "IPA モナー ゴシック-9")) ;(set-face-attribute 'fixed-pitch nil :family "IPAゴシック") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "IPAゴシック") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "IPAゴシック-9")) ;(set-face-attribute 'fixed-pitch nil :family "M+2VM+IPAG circle") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "M+2VM+IPAG circle") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "M+2VM+IPAG circle-9")) ;(set-face-attribute 'fixed-pitch nil :family "") ;; 固定等幅フォント ;(set-face-attribute 'variable-pitch nil :family "") ;; 可変幅フォント ;(add-to-list 'default-frame-alist '(font . "-9")) (add-hook 'window-setup-hook (lambda () (modify-frame-parameters (selected-frame) default-frame-alist))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; 日本語環境の設定 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (set-language-environment "Japanese") (set-keyboard-coding-system 'japanese-shift-jis) (dolist (coding-system '(sjis euc-jp iso-2022-jp iso-2022-7bit shift_jis-2004 euc-jis-2004 iso-2022-jp-2004)) (coding-system-put coding-system :decode-translation-table 'japanese-ucs-jis-to-cp932-map) (coding-system-put coding-system :encode-translation-table 'japanese-ucs-cp932-to-jis-map)) ;; UTF-8⇔Legacy Encoding (EUC-JP や Shift_JIS など)をWindowsで変換 ;;http://nijino.homelinux.net/emacs/emacs23-ja.html ;; encode-translation-table の設定 (coding-system-put 'euc-jp :encode-translation-table (get 'japanese-ucs-cp932-to-jis-map 'translation-table)) (coding-system-put 'iso-2022-jp :encode-translation-table (get 'japanese-ucs-cp932-to-jis-map 'translation-table)) (coding-system-put 'cp932 :encode-translation-table (get 'japanese-ucs-jis-to-cp932-map 'translation-table)) ;; charset と coding-system の優先度設定 (set-charset-priority 'ascii 'japanese-jisx0208 'latin-jisx0201 'katakana-jisx0201 'iso-8859-1 'cp1252 'unicode) (set-coding-system-priority 'utf-8 'euc-jp 'iso-2022-jp 'cp932) ;; === recentf === (when (locate-library "recentf") (require 'recentf) (setq recentf-auto-cleanup 'never) (setq recentf-save-file-coding-system 'japanese-shift-jis) (recentf-mode 1) (setq recentf-max-menu-items 50) ;メニューバーで表示する数 (setq recentf-max-saved-items 70) ;最大で保存する数 (define-key global-map "\C-crf" 'recentf-open-files) (define-key global-map "\C-cre" 'recentf-edit-list) (setq recentf-exclude '(".*\.cache")) ) (set-face-font 'font-lock-function-name-face "東風ゴシック-9") (set-face-bold-p 'font-lock-function-name-face t) (set-face-underline-p 'font-lock-function-name-face t)