多くの例は、ポイント サイズからフォントの論理サイズを計算する次の方法を示しています。これは、私のコードが何年にもわたって行ってきた方法でもあります。
SizeLogical = -MulDiv(SizePt, GetDeviceCaps(hdc, LOGPIXELSY), 72);
しかし、最近、このような例では 72 ではなく 96 の係数を使用していることに気付きました。これは、モニターの物理的な解像度が長年にわたって向上しているためでしょうか?タイポグラフィの従来の 72 ポイント/インチとは対照的に、1 インチあたり 96 ピクセルを表示するのでしょうか? もしそうなら、正しい解決策は要因を動的に決定することですが、それを行うためにどの Windows API を呼び出すのでしょうか? それとも、とにかくすべてを誤解していますか?