i have done something similar with a nested vbox/hbox layout, similar to what is described in the first answer. the main problem is to get the right amount of labels into the boxes: first split the text string with words = string.split(" "), which gives an array of all the word in the text. then iterate over the words-array, count chars of any word, put a label with the word in the hbox until a limit is reached, there is the linefeed and begin a new vbox. this doesnt look good, then do some fontmetrics font.getstringsize(wordlist[i]).x, count the sizes of the words do the same label stuff as above until the a limit is reached, there is the linefeed. if it still doesnt look good, then two end-limits and some calculations can make it smooth. the positive side: you can put other objects into the vbox/hbox-layout between the labels(=words). this is not possible in a richtextlabel.