LoginSignup
4
3

More than 5 years have passed since last update.

emacsのフォントサイズを変更する

Last updated at Posted at 2016-06-01

windows上のemacsのフォントの設定はなんとかできたので、次はfirefoxなどのwebブラウザでCtrl-+, Ctrl--でフォントサイズを変更するように、emacsでも簡単にフォントサイズを変更したい。

(defun font0 (size)
  (interactive "P")
  (if (not size)
      (setq size 12))       ;デフォルトのサイズ
   (set-frame-font (font-spec :size (* size 1.0))) ;整数:pixels 実数:points
  )
(defun font10 () (interactive) (font0 10)) ;13
(defun font11 () (interactive) (font0 11)) ;14
(defun font12 () (interactive) (font0 12)) ;16
(defun font13 () (interactive) (font0 13))
(defun font14 () (interactive) (font0 14)) ;18
(defun font15 () (interactive) (font0 15))
(defun font16 () (interactive) (font0 16)) ;21
(defun font18 () (interactive) (font0 18)) ;24
(defun font20 () (interactive) (font0 20))
(defun font22 () (interactive) (font0 22))
(defun font24 () (interactive) (font0 24))

とりあえず一つずつ関数を作って使っていた。

C-x C-0, C-x C-=, C-x C--, C-x C-+ (text-scale-decrease)を使うとバッファごとのフォントサイズは変更できる。しかし、バッファ単位ではなくフレーム単位で変更したいので試行錯誤した。

(defun font+ ()
  (interactive)
  (set-frame-font
   (font-spec :size (+ (* (default-font-height) .6428571428) 1))))
(defun font- ()
  (interactive)
  (set-frame-font
   (font-spec :size (- (* (default-font-height) .6428571428) 1))))

(global-set-key (kbd "C-c C-=") 'font+)
(global-set-key (kbd "C-C C--") 'font-)

このようにしたらC-cC-=, C-cC--で拡大、縮小できた。
フォントサイズが72のとき(default-font-height)が112だったので、比率が.6428571428。
しかし、これとC-x C-0, C-x C-=, C-x C--, C-x C-+ (text-scale-decrease)を同時に使うとおかしくなる。

バッファ単位の拡大は使わないので問題ないが、何かいい方法はありますか。
ありました。zoom-frm.el 10年前から。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3