Emacs on UbuntuでNasuMフォントを使う
Emacs on Ubuntuでやっとしっくりくるフォント設定ができた。
先人の設定
先人たちの知恵により今までは以下のような設定をしていた。
でも、日本語とスペースが混じったコードでは悲しいことに少しずれる。
(set-fontset-font t 'japanese-jisx0208 "TakaoGothic")
(add-to-list 'face-font-rescale-alist '(".*Takao .*" . 0.85))
例えばフォントをNotoの等幅にして、face-font-rescaleを1.1にしたりとか色々やってみたが日本語の有無で行間に影響を与えたりとどうもしっくりこない。
そういえば、VSCode on WindowsでNasuMフォント (Nasuフォントの等幅版) というフォントを利用しているのを思い出した (作者様、公開に感謝申し上げます)。これを、Ubuntuでも使えるようにすれば良いと天啓を受けた。
Ubuntuへのインストール
以下のリンクからアーカイブを取得。
https://itouhiro.hatenablog.com/entry/20140917/font
適切なディレクトリ (~/tmp
など) で以下のコマンドを実行して取得したZIPファイル (バージョン相当の日付は取得したファイルに合わせる) を展開する。
unzip NasuFont-20200227.zip
展開されたファイルを /etc/fonts/fonts.conf
に登録されているディレクトリにコピーする。今回は無難に /usr/local/share/fonts
を選択した。用途を考えるとNasuMフォントだけでも良いのだが、他で使うかもしれないので全部コピーした。
sudo cp NasuFont20200227/*.ttf /usr/local/share/fonts
フォントが登録されていることを確認。
fc-list | grep -i nasu
Emacsへの登録
もう、init.el
を個別に書くのも面倒になってきたので、横着をしてOptionsから登録する。
- これまでのフォント設定はコメントアウト。
- メニューバーの「Options」から「Set Default fonts」を選択。
- 検索ボックスに「NasuM」を入力して「NasuM Regular」を選んで、「選択(S)」をクリック。
- メニューバーの「Options」から「Save Options」を選択。
私の環境 (Ubuntu 21.04) では、以下のコードが ~/.emacs.d/init.el
に追加されていた。
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:family "NasuM" :foundry "Mig " :slant normal :weight normal :height 98 :width normal)))))
あとは、Emacsを再起動すれば反映されているはず。
あ、でも、まだ微妙に (全角1文字当たり1pxくらい) ズレている?
2021年10月15日追記
Optionsからフォントサイズを9pt (出力としては :height 90
) にしたらズレなくなった。
レンダリングの誤差だろうか。