WinFormsユーザーコントロールがあり、現在のフォントの正確な水平方向の文字間隔を取得しようとしています。これは、等幅であると予想されます。
フォントのSize
プロパティがこの情報を提供しているように見えますが、明らかにポイント単位であり、ピクセル単位で作業しています。
var fontWidth = this.Font.Size; // Returns em-size in points--not pixels
自分でフォントを作成する場合は、ピクセル単位を使用するように指定できます。しかし、私の場合、フォントはユーザーコントロールのプロパティを介して設定され、フォントがどのように作成されるかを判断できません。残念ながら、フォントのUnit
プロパティは読み取り専用です。
既存のフォントがピクセル単位でメトリックを返すようにするにはどうすればよいですか?