フォント設定にface-font-rescale-alistを使う

@さんのブログで、Emacsのフォントサイズを簡単に変える方法があることを知った。
Emacs のテキストサイズを簡単に変更できるようにした - さとうようぞうのblog

どうやらM-x text-scale-adjustを使ってもサイズの変更できるようで、C-x C-+もしくはC-x C-=で拡大、C-x C--で縮小、C-x C-0でリセット、ということができるらしい。

自分のフォント設定はBitstream Vera Sans Monoヒラギノ丸ゴを使って以下のように設定していた。

(create-fontset-from-ascii-font "-apple-Bitstream_Vera_Sans_Mono-medium-normal-normal-*-14-*-*-*-m-0-iso10646-1" nil "BitstreamMarugo")
(set-frame-font "fontset-bitstreammarugo")
(set-fontset-font (frame-parameter nil 'font)
                  'unicode
                  (font-spec :family "Hiragino Maru Gothic ProN" :size 16)
                  nil
                  'append)

…が、上記text-scale-adjustでフォントサイズを変えると、

こういうのが

こうなってしまう。ASCIIだけデカくなって、日本語フォントのサイズが変わらない。

で、先程のyoozoosatoさんの記事の参照先の記事を読むと、

16ptとサイズを直接指定するのではなく、face-font-rescale-alist で比を指定すれば良いようです。

Re: Cocoa Emacs フォント設定での不具合(?) (Macemacsjp-users 1686) - MacEmacs JP - OSDN

ということが書いてある。これに倣って

(create-fontset-from-ascii-font "-apple-Bitstream_Vera_Sans_Mono-medium-normal-normal-*-14-*-*-*-m-0-iso10646-1" nil "BitstreamMarugo")
(set-frame-font "fontset-bitstreammarugo")
(set-fontset-font (frame-parameter nil 'font)
                  'unicode
                  (font-spec :family "Hiragino Maru Gothic ProN")
                  nil
                  'append)
(setq face-font-rescale-alist '(("Hiragino.*" . 1.2)))

face-font-rescale-alistを指定する方式に変えたところ、

このように日本語フォントもあわせて綺麗に拡大されるようになった。
安心。


emacs: modify font settings · sugyan/dotfiles@a5b115f · GitHub