I would create partial screen whose parent is the screen. The partial screen would cover an entire row. I would then create a region inside the partial screen which would cover the entire row as well. You could then iterate through the partial screens and assemble the text property of each region into a single string. If you create a giant region covering the entire screen, all of the line breaks would be removed, so this approach, while slower, makes more sense to perform in an automation. Programmatically though, you could just insert a line break into every 80 characters (or however wide your screen is) into the string covering the entire screen.