Maybe it's just how I have things organized but this is a major pain. Partly because there's so many things that can modify the result, partly because the font is hidden by the api-independent abstraction, partly because I wasn't a CS major so the binary partition to find the 'best fit' font size doesn't roll right off my fingers...
Anyways, it's all done. Should be useful for icons where a character is used rather than an image (since images stretch to fit the rect, and chars didn't), generic MessageBox sorta things resizing the font to fit, auto-sizing text buttons due to internationalization concerns, resizing things independent of the user's font choice (if I get around to that)... mostly though it'll allow me to not think about making the font the right size in UI construction. I can just specify the font face, a rectangle and fuggedeboutit.