Я использую GDI + в С++. (Эта проблема может существовать и на С#).
Я замечаю, что всякий раз, когда я вызываю Graphics:: MeasureString() или Graphics:: DrawString(), строка заполняется пробелом слева и справа.
Например, если я использую шрифт Courier (не курсив!), и я измеряю "P", я получаю 90, но "PP" дает мне 150. Я ожидаю, что моноширинный шрифт даст ровно вдвое большую ширину для "PP".
Мой вопрос: это намеренное или задокументированное поведение и как его отключить?
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;