public float GetWidthCorrected(float charSpacing, float wordSpacing)
{
if (image != null) {
return image.ScaledWidth + charSpacing;
}
int numberOfSpaces = 0;
int idx = -1;
while ((idx = value.IndexOf(' ', idx + 1)) >= 0)
++numberOfSpaces;
return Width + (value.Length * charSpacing + numberOfSpaces * wordSpacing);
}