var docRef = app.activeDocument; var sampleText = docRef.textFrames[0]; // var numberOfFonts = app.textFonts.length; // all the fonts; alternative on line 5 var numberOfFonts = 30; var spacing = 20; var greatestWidth = 0; var startX = 0; var startY = 792; var xPos = startX; var yPos = startY; for (var i = 0; i < numberOfFonts; i++) { var myText = docRef.textFrames.add(); myText.textRange.characterAttributes.textFont = app.textFonts[i]; myText.textRange.characterAttributes.size = 18; myText.contents = sampleText.contents; myText.top = yPos; myText.left = xPos; if (myText.width > greatestWidth) { greatestWidth = myText.width; } if ((yPos - myText.height - spacing) <= 0) { xPos += greatestWidth + spacing; yPos = startY; greatestWidth = 0; } else { yPos -= myText.height + spacing; } }