C++でGDI+を使用しています。(この問題はC#にも存在する可能性があります)。
Graphics :: MeasureString()またはGraphics :: DrawString()を呼び出すと、文字列の左右に空白が埋め込まれることに気付きました。
たとえば、Courierフォント(イタリックではありません!)を使用していて、「P」を測定すると90になりますが、「PP」では150になります。モノスペースフォントでは、「PP」の幅がちょうど2倍になると思います。 。
私の質問は、これは意図された、または文書化された動作ですか、そしてこれを無効にするにはどうすればよいですか?
RectF Rect(0,0,32767,32767);
RectF Bounds1, Bounds2;
graphics->MeasureString(L"PP", 1, font, Rect, &Bounds1);
graphics->MeasureString(L"PP", 2, font, Rect, &Bounds2);
margin = Bounds1.Width * 2 - Bounds2.Width;