最終更新日: 2016-06-26 日 01:23
ホーム | 文書トップ | 目次

NTEmacsのフォント設定検討

Table of Contents

はじめに

(2010年7月11日時点で行った検討である)

これまで、NTEmacsでは http://www.kaoriya.net/ で配布されている BDF東雲フォント を使っていた。

フォントを小さく(12ピクセル/9ポイント)設定した場合の文字数(列数)の多さと、読みやすさが、使っていた理由である。

ただし、BDF東雲フォントは、丸囲み文字等の機種依存文字が表示できないという問題がある。

また、BDF東雲フォントを使用した場合、NTEmacs 23.2 だと起動画面が寂しい表示になってしまうことも、どういう関連があるのかはわかっておらず、気になっている。

というわけで様々なフォントをインストールして試してみる。

要件

これは全く、私の個人的な好みもしくは希望なのだが、要件としては下記の通りである。

  1. できるだけ、多くの文字を表示できる
    • 東雲フォントでは、1280x1024の画面解像度、12ピクセル(9ポイント)だと、メニューバー、ツールバー無しのフルスクリーンのNTEmacsで79行表示できる。これを基準としている
  2. 読みやすい
    • 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+ と 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)
ホーム | 文書トップ | 目次
Created by Emacs 27.1 (Org mode 9.3)