|
分類:[C#]
C#で標準のフォントダイアログ(FontDialog)ではなく、独自にフォントダイアログと同様の機能を持つダイアログを作ろうとしています。 必要なのはフォント名・選択可能なスタイル・フォントサイズの3つで、
FontFamily[] ffs = FontFamily.Families;
のように取得し、フォント名はNameで問題なく取得出来ました。
次にスタイルですが、FontStyle.IsStyleAvailable()で取得しようとしました。 標準ダイアログではフォントによっては「細字」「やや狭い」「極太」などの特殊なスタイルが選べますが FontStyleにはない要素で、どのように取得すればいいかよくわかりません。
サイズに関しても、標準のダイアログで「8」を選択しても実際には「8.25」が取得され、「20」を選択すると「20.25」がfloatで取得されます。 また、数字も連続ではなく「28, 36, 48, 72」のように飛んでいます。 インチをディスプレイのdpiに合わせる都合だと思うのですがあのサイズはどのような計算で導き出されているのでしょうか?
|