ptとemSize

StringFormatを使って、装飾付きのテキストを描こうとしたときの話。

フォントの大きさの指定が、

  • StringFormatではemSize単位
  • Labelとかでは普通 ポイント(pt)単位

というわけで両者の変換が必要になった。

調べたところ、変換式は以下の通りらしい。

pt数×DPI数÷72 = emSize

DPI数はWindowsデフォルト*1では96なので

pt数×96÷72 = emSize

となる模様。

72ってのは 1pt = 1/72インチ の 72らしい。

*1:確認方法は、画面のプロパティ→設定タブ→詳細設定ボタン→全般タブのDPI設定