A possible solution could be to use an image for the font and for the text.

If each character is equal in size, you can use copyPixels to copy a character image onto the bitmap representing the text.

If you start with drawing the shape the text should flow around onto the bitmap, you can detect the transparent areas to know where a character can be placed.

In theory such an approach should be possible but it might not be fast enough. I have never tried it.