: InDesign — Ugly "laddered" text on a path I know, it's a really bad idea to do so, but is there a way to write something longer that 3-5 letters the "bad way" (see the picture below)
I know, it's a really bad idea to do so, but is there a way to write something longer that 3-5 letters the "bad way" (see the picture below) without manual adjustments of every single letter?
I will probably need this for 2-3 sentences.
More posts by @Welton168
2 Comments
Sorted by latest first Latest Oldest Best
You are in luck, there happens to be a obscure and rarely used, mostly legacy, feature that does just what you want. This is more luck than anything else. It may or may not be practical for your particular case. Scripting is a much better solution for genral tasks like this, like if you want random values use script.
When you use type on path, there is a option box for the tool in, Type → Type on Path → Options.... This dialog has options for how to stack letters on the path, it is mostly useless, but happens to have a solution for this case. In the effect dropdown of this dialog choose stairstep.
Image 1: Stair step effect does what you want
Disclaimer: The stairstep effect rotates towards your base objects rotatin source so if you want to change the rotation direction do not rotate the object just the path under the object.
I wrote an example script for you to show that scripting is not that hard. There are comments in the script to explain what happens.
If you want to learn more about scripting checkout or wiki
github.com/ExtendScript/wiki/wiki
/* global app, Text, alert*/
// the whole script assumes you have text selected with the cursor in the box
var doc = app.activeDocument; // get the current document
var sel = app.selection; // get the selection
// the next line holds the first selected object
// this is not the first character it is the first "group" of items
// hard to explain. It could also be the first rectangle of several
// the selection of text in a text box counts as one object
var txt = sel[0];
// lets check if it actually is a text object
if(txt instanceof Text) {
// loop each character in the selection
for(var i = 0; i < txt.characters.length; i++) {
var character = txt.characters[i]; // get the current character
// now here we use the baseline shift property
// to change the offset
// this is where your experiment comes in
character.baselineShift = character.baselineShift + (Math.random() * 5);
}
} else {
alert('Please select some text with the text tool');
}
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2025 All Rights reserved.