appropriately scaling text size so text width is guaranteed to fit in the view