Я думаю, что проблема может заключаться в том, что используемый вами конструктор ожидает, что размер будет в точках:
public Font(FontFamily family, float emSize)
emSize
Тип: System.Single
Размер em, в пунктах, нового шрифта.
Похоже, что вы можете использовать другую перегрузку , которая принимает GraphicsUnit
параметр, который можно установить на GraphicsUnit.Pixel
:
gfx.DrawString(
thisTempLabel.LabelText,
new Font("Arial", (float)thisTempLabel.fontSize, GraphicsUnit.Pixel),
Brushes.Black,
new PointF(thisTempLabel.x, thisTempLabel.y)
);
Примечаниечто вы устанавливаете размер em, который примерно равен высоте символа "M".