- 半角と全角の幅が1:2であること
- 視認性を重視して半角と全角の幅を3:5にしているフォントもあります。ただ、テキストで表組みをすることが多く、そういうときには場合は1:2の方が便利です。
- 英数文字がClearTypeに対応していること
- 100dpi前後(FullHDで21インチくらい)のモニタならビットマップフォントの方が視認性がよいのですが、200dpi近い(4Kで24インチくらい)モニタを使う場合はビットマップフォントの方が視認性がよいようです。
- 日本語文字がClearTypeに対応していること
- 日本語英数まじりの文書を書くので、文字だけClearTypeに対応していても仕方ないですね。
- いちとアイとエルの区別が強調されていること
- コードを書くなら重視しておきたいです。
- ゼロとオーとディーの区別が強調されていること
- これもコードを書くなら重視しておきたいです。
- 濁点と半濁点の区別が強調されていること
- MSゴシックは悪くないフォントだと思うのですが、ビットマップフォントで濁点と半濁点の区別がつきにくいのだけは困ります。
- JIS X 0213:2004に対応していること
- 文字セットの話をするときに「𩸽」が表示できないのは困ります。
- 乗算記号が全角であること
- 乗算記号(×)などJIS X 0208に含まれる記号類が半角幅になっているフォントがあって、日本語文の中で乗算記号を使いたいときに困ってしまいます。
- 行間が広すぎないこと(フルHDで15ポイントのとき40行以上表示できること)
- Emacsだとフォント設定でマイナスの行間を指定できないんですよね。Notoフォントや源ノ角ゴシックは行間が妙に広くなっており、そのまま使うと画面上に表示できる情報量が減ってしまいます。
- WindowsのEmacsで✗が表示できる
- 英語で文章を書くときは文章中に✔や✗を多様します。Font Linkの関係か、フォントによってはこれらの文字が豆腐になってしまいます。
- 全角カッコの位置がバウンディングボックスの端になっている(2021/07/31追記)
- 日本語フォントでは全角カッコの位置は端になっています。一方、繁体字フォントではバウンディングボックスの中央になっていることが多く、日本語で使うと違和感があります。
- setq default-frame-alistのwidthが半角文字幅と同じになる(2021/09/01追記)
- setq default-frame-alistで(width . 80)と指定したら、ウィンドウ幅は半角80文字ぶんになってほしいところです。一部のフォントではその通りになりません。
A | B | C | D | E | F | G | H | I | ||
MS ゴシック | Ricty Diminished Discord | Noto Sans Mono CJK JP Regular | 源ノ角ゴシック Code JP R | Consolas | NasuM | Cascadia Mono | BIZ UDゴシック | HackGenNerd | ||
1 | 半角と全角の幅が1:2 | ✔ | ✔ | ✔ | ✗ | ✗ | ✔ | ✗ | ✔ | ✔ |
2 | 英数ClearType対応 | ✗ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
3 | 日本語ClearType対応 | ✗ | ✔ | ✔ | ✔ | ✗ | ✔ | ✗ | ✔ | ✔ |
4 | いちとアイとエルの区別を強調 | ✗ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
5 | ゼロとオーとディーの区別を強調 | ✗ | ✔ | ✗ | ✔ | ✔ | ✔ | ✔ | ✗ | ✔ |
6 | 濁点と半濁点の区別を強調 | ✗ | ✔ | ✗ | ✗ | ✗ | ✔ | ✗ | ✗ | ✔ |
7 | JIS X 0213:2004対応 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
8 | 乗算記号が全角 | ✔ | ✗ | ✔ | ✔ | ✗ | ✔ | ✗ | ✔ | ✔ |
9 | 行間が広すぎないこと | ✔ | ✔ | ✗ | ✗ | ✔ | ✔ | ✗ | ✔ | ✔ |
10 | WindowsのEmacsで✗が表示できる | ✔ | ✔ | ✗ | ✗ | ✔ | ✔ | ✔ | ✔ | ✔ |
11 | 全角カッコの位置がbboxの端 | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✗ |
11 | widthが半角文字幅と同じ | ✔ | ✔ | ✗ | ✗ | ✔ | ✔ | ✔ | ✗ | ✔ |
すべてOKなのはHackGenNerdくらいのようです。Ricty Diminished Discordは半濁点の強調が強めで非常に好みなのですが、×が半角な点だけが残念です。
(set-face-attribute 'default nil :family "HackGenNerd" :height 150) (setq-default line-spacing 0)
2021/07/31追記: HackGenNerdは、全角カッコの位置が文字のバウンディングボックスの中央になっています(微軟正黑體など繁体字フォントと同じ)。日本語フォントではバウンディングボックスの端にあることが多いので、その点は違和感があります。
2021/09/01追記: BIZ UDゴシックを含む一部フォントは、(setq default-frame-alist)で(width . 80)と指定しても、ウィンドウ幅が半角80文字ぶんになりません。