Use WrapText (on UIFont or NGUIText, depending on which type of font you're using). This will give you formatted text. Use string.Split on that by newline character, and you will have a list of lines. Knowing the number of lines you want in each text box, you can easily do the rest.