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?

enter image description here

I will probably need this for 2-3 sentences.

  • 2
    You could use a script?
    – joojaa
    Nov 10, 2016 at 20:30
  • I'd like to avoid it if possible. Nov 10, 2016 at 20:36
  • Let us continue this discussion in chat.
    – joojaa
    Nov 11, 2016 at 7:53
  • @GeMir If you want to not be constrained by your tool and outside the odds learn scripting then I canteach you in one day just holler me on the chat i created and well see what we can do.
    – joojaa
    Nov 11, 2016 at 7:57

2 Answers 2


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.

enter image description here

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


/* 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');
  • Comments are not for extended discussion; this conversation has been moved to chat.
    – Vincent
    Nov 11, 2016 at 9:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.