This doesn't handle:

- Shrink set/not set. If shrink is not set, it should probably just return the measured length at the current font size.
- Wrap set/not set. If wrap is set, it should figure out how many lines it can display without shrinking the text, and return that.