Yes, I've thought about using invisible silhouettes, which presumably is how http://www.tagxedo.com/ works. The placement algorithm might be a bit different though, perhaps starting at the centroid of available areas and so on. I think it would work better to have a smaller pool of words and allow reuse, or alternatively they could be sized randomly (perhaps with some weighting).
The sprite collision code could certainly be reused for this, though!
I was amazed of the beauty of Wordie but then I loved Darth Vader (Figure 3-11. Do not underestimate the power of the randomized greedy algorithm). The words reuse should definitely need to be allowed, but the result will be very beautiful when applied to smoothly changing contour (shape).
Is there a problem if I try to reimplement your code in C++ (especially openframeowks)?
Yeah, I'll definitely try the randomised greedy algorithm when I get time, I think it should be fairly straightforward now that I have the sprite collision primitives in there.
No problem at all if you want to reimplement in another language, the license is BSD: https://github.com/jasondavies/d3-cloud/blob/master/LICENSE
I'm guessing it will be blazingly fast using the bitwise operations in C/C++. :)