то, что вы можете сделать, это измерить строку в размере по умолчанию с помощью этого метода: (g - это графический объект)
g.MeasureString("area", Font, maxWidth)
вы масштабируете размер шрифта в зависимости от пропорции измеренной высоты к доступной высоте.После того, как вы можете измерить строку с высотой доступной области
или просто измерить ее, чтобы получить пропорции и рассчитать ожидаемую ширину следующим образом:
float measureFontSize = 5;
SizeF measuredBox = g.MeasureString("my string", new Font("Arial", measureFontSize));
double measuredProportion = measuredBox.Width / measuredBox.Height;
double expectedWidth = measuredProportion * wishedHeight;