I have a custom control that is doing a lot of 2D drawing straight to the canvas.
canvas
Some of this drawing is text, so I am using the Canvas.drawText() meth
You can use Paint.getTextBounds() to measure the size of the entire string or Paint.getTextWidths() to get the width of each character. Then split the string appropriately before drawing it.