LoginSignup
35
25

More than 5 years have passed since last update.

エディタで等幅日本語フォントを最適に表示させるには、フォントサイズを2か3か5の倍数にするといいよ!

Last updated at Posted at 2018-12-07

等幅フォントをつかっていても、エディタで半角と全角の文字では、幅が噛み合わないことがあることがわかった。

その原因の一つに、フォントのサイズがあることがわかったので、知ったことを共有したい。

半角と全角の比率は、フォント次第

まず、大前提として、等幅フォントでも半角と全角の比率はフォント次第というのがある。

等幅フォントは、半角2文字に対して全角1文字のイメージがあったが、そんなことなかった。

Fira Codeは、半角5文字に対して、全角3文字。

Source Han Code JPは、半角3文字に対して、全角2文字。

Ricty Diminishedは、半角2文字に対して、全角1文字。

まとめると、このようになる。

フォント 比率
Fira Code 5:3
Source Han Code JP 3:2
Ricty Diminished 2:1

フォントサイズによって、幅が噛み合わないことがあった

Fira Codeはフォントサイズが5の倍数のときに幅が整う。

Source Han Code JPはフォントサイズが3の倍数のときに幅が整う。

Ricty Diminishedはフォントサイズが2の倍数のときに幅が整う。

以上の結果をまとめると次のようになる。

フォント 比率 幅が整うフォントサイズ
Fira Code 5:3 5の倍数(10, 15, 20, 25, ...)
Source Han Code JP 3:2 3の倍数(12, 15, 18, 21, ...)
Ricty Diminished 2:1 2の倍数(10, 12, 14, 16, ...)

このことをツイートしたら、 @iteman から、Rictyは「既知の問題」にあがってることを教えてもらった。

半角文字と全角文字の横幅比が 1:2 にならないことがあります。ピクセル値 (px) が偶数でないとき、どのフォントでも起こりうる問題です。一般的な 96 DPI のフォントレンダリングでは 9 pt、10.5 pt、12 pt、13.5 pt、15 pt など、1.5 の倍数を指定すると 1:2 で表示されます。
- プログラミング用フォント Ricty

「どのフォントでも起こりうる問題です」まさにこれが当てはまった。

比率とフォントサイズは関係している

さっきの表を見てみると気づくことがある。「半角に対する全角の比率」と「幅が整うフォントサイズが何倍の値か?」は同じ値であるということ。

フォント 比率 幅が整うフォントサイズ
Fira Code 5:3 5の倍数(10, 15, 20, 25, ...)
Source Han Code JP 3:2 3の倍数(12, 15, 18, 21, ...)
Ricty Diminished 2:1 2の倍数(10, 12, 14, 16, ...)

つまり、等幅フォントで日本語がきれいに出るフォントサイズの設定は、半角に対する全角の比率の値の倍数にするといいということだ。

35
25
1

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
35
25