全角文字が半角文字の2倍幅になるフォントの選び方
|
等幅フォントを使っても、全角文字と半角文字を混ぜて使うと、桁の位置がずれて見づらくなってしまう場合があります。これは、特定のフォントサイズ以外では、全角文字が半角文字の2倍の幅にならないことに起因しています。
ピクセル単位とポイント単位の変換は以下のようになっています。
Point = 72 * ( Pixels / GetDeviceCaps(hDC, LOGPIXELS_) )
Pixels = Point / 72 * GetDeviceCaps(hDC, LOGPIXELS_)
ここで、LOGPIXELS_ は LOGPIXELSX または LOGPIXELSY ですが、幅を問題にする場合には、LOGPIXELSX を使います。
Pixels が整数になるような Point 数の等幅フォントを使えば、全角文字がちょうど半角文字二つ分の幅になり、エディタのように使った場合に、「ずれ」が生じません。
たとえば、画面の設定が 96dpi の時、第2式は
Pixels = 4 * Point / 3
となりますので、適するサイズは、3の倍数ポイントのフォントということになります。 |
|