emacs で linum-mode + Ricty フォントを使おうとすると、余計な空白が含まれてしまう件
イントロ
linum-modeの余計な余白をなくす方法 - handlename's blogと同じ現象。
ただこの方のコードをコピペしても、私の環境では治らず。おまけにググっても情報が少ない。
しかし font が怪しいという考察は非常に参考になりました。
環境は
試行錯誤
- font が怪しいとはいえど、Ricty を使いたい。
- ググって emacs の font 変更のやり方を探して片っ端から試してみた。
- font 設定にオプション付けて何とかならないかと思ったが、うまくいかず。
- しまいにはRictyの公式の以下のコードでやっても、ずれるという始末。
- 公式ではあまり想定していないことなのかもしれない、と考えた。
(set-face-attribute 'default nil :family "Ricty Discord" :height 120) (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0208 (cons "Ricty Discord" "iso10646-1")) (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0212 (cons "Ricty Discord" "iso10646-1")) (set-fontset-font (frame-parameter nil 'font) 'katakana-jisx0201 (cons "Ricty Discord" "iso10646-1"))
結論
(set-face-attribute 'default nil :family "Ricty Discord" :height 135)
を入れてはダメ、絶対。
それ以外の
(set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0208 (cons "Ricty Discord" "iso10646-1")) (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0212 (cons "Ricty Discord" "iso10646-1")) (set-fontset-font (frame-parameter nil 'font) 'katakana-jisx0201 (cons "Ricty Discord" "iso10646-1"))
で日本語のみ Ricty を使いましょう。
え? それだと英数字が Ricty じゃない?
(set-face-attribute 'default nil :family "Inconsolata" :height 135)
で妥協しましょう。
Ricty の一部は Inconsolata なので綺麗に見えるはず。
まとめ
問題なく半角と全角が 1:2 になってます。
これで私は満足しました。