🔡
Jetbrains IDEで等幅フォントを使っても文字がずれる時
忙しい人向け
日本語対応等幅フォントにしてもずれる時は、フォントサイズの指定を 偶数 にすると治ります
事の始まり
業務でAndroid Studioを使っている友人から「等幅フォントを使っているのに、全角半角を混ぜるとズレるのだが?」と相談を受けました。
確かに言われてみると、PyCharmでMarkdown書いている際に表を揃えたくても微妙にずれていた覚えがあり、調べてみることにしました。
1. Jetbrains Monoは日本語等幅フォントではない
大前提としてJetbrains IDEの標準フォントになっている Jetbrains Mono は、公式ページを見るとサポート言語に書かれていないように、日本語は非対応です。
そのため日本語を表示する際は、フォールバックでMSゴシックが表示されてしまいます。UDEV Gothic
のような日本語対応等幅フォントを指定する必要があります。
2. フォントサイズが奇数だとずれる
日本語対応の等幅フォントを使ってもずれる場合、フォントサイズが 奇数 になっている可能性があります。
大半の等幅フォントは 全角:半角 = 2:1
で作られていますが、フォントサイズが奇数になっている時に計算誤差(?)なのか、全角と半角が混じった行で少しずつズレてしまいます。
特にJetbrains IDEはデフォルト設定のフォントサイズが 13.0
になっているので、この問題が発生しやすい前提があります。
おまけ
どうやらSublimeでも同様の問題があるようです。
Visual StudioとかVSCodeはどうなんだろう… 普段使ってないので同じような事象が発生するか分かりませんが、もしかしたら同様の解決法で治るかも?
Discussion