The question has come up before, and here is the answer:
How to auto-size text and images
If you want your text to stay on a single line, there is the one-liner package:
One-liner is a package containing a helper function to fit text to the available width, without wrapping, by adjusting the text size based upon the context.