Skip to main content
Participating Frequently
February 25, 2014
Answered

illustrator Spiral Shrinking/Growin text, scaling down/up on spiral path

  • February 25, 2014
  • 9 replies
  • 18924 views

First of all thanks in advance for anyone who may assist, or make this even possible...... (please contanct me ADAM    razo.ad1985     --->G.mail)

In dire need of expertise assistante. Years ago I DLded this script and got this working and older illustrator. NOW i have Illustrator CS6. I would love/like to TYpe text on a spiral path, then have the abitly for "user input(entering custom values)" as far as

Font Start Size/Pt = 80

Font End Size/Pt = 12

Just a concept......(maybe someone can do this)


Then have illustrator(script) perform action and make my spiral big(80pt) at beggning of text and end at small(12pt) there for looking as FONT/TEXT Gradually shrinks in size from beggining(80pt) unitl end of font/text(12pt)

   similar to this(end result after srcipt ran and values entered)

I know there is an older script out there..... but if someone can perhaps undate this and modernize it with prompt for user input/customization interaction

         ChangeSizesOfTextSelection.js  ----->    http://forums.adobe.com/thread/447657

This topic has been closed for replies.
Correct answer CarlosCanto

Hi Pixxxel, remember the new forum format broke the loop indexes

 

here's the fixed version

// CharSizeChangeFromFirst2LastInProportion.jsx

// http://forums.adobe.com/thread/1414597?tstart=0

// select a text frame or pathtext before running this script 

// test this script at first with only a few characters!

// The more letters, the longer it takes

// If the screen seems to be frozen - please wait for a while

// regards pixxxelschubser  25/Febr./2014

var aDoc = app.activeDocument;

if (aDoc.selection.length > 0) {

    if (aDoc.selection.length < 2 && aDoc.selection[0].typename == "TextFrame") {

        var aTFrame = aDoc.selection[0];

        var theChars = aTFrame.characters;

        var charLength = theChars.length;

        var startSize = prompt("size of first character", 25,"start size");

        var endSize = prompt("size of last character", 5,"end size");

        var step = (startSize-endSize)/(charLength-1);

        for (i = 0; i < charLength; i++) {

            theChars[i].size = (startSize - i*step).toFixed (2);

            redraw();

            }

        } else {alert("Please select only one text frame")}

    } else {alert("No selection")}

9 replies

Participant
June 8, 2022

Im trying to make spiral shrinking text with warped letters like in the second picture. I need it to say "CHANGE YOUR MIND". Can someone help with this please? Im having the hardest time. 

CarlosCanto
Community Expert
Community Expert
May 20, 2020

you're saving the script as Rich Text, you need to save it as Plain Text

Participating Frequently
October 9, 2021

Hello Everyone,

I am now on Adobe Illustrator CC 2018 and the script no longer works, can some please please help check it and update to work?? Thanks much in advance.

femkeblanco
Legend
October 9, 2021

What error do you get?  This works for me:

 

// CharSizeChangeFromFirst2LastInProportion.jsx
// http://forums.adobe.com/thread/1414597?tstart=0
// select a text frame or pathtext before running this script 
// test this script at first with only a few characters!
// The more letters, the longer it takes
// If the screen seems to be frozen - please wait for a while
// regards pixxxelschubser  25/Febr./2014
var aDoc = app.activeDocument;
if (aDoc.selection.length > 0) {
    if (aDoc.selection.length < 2 && aDoc.selection[0].typename == "TextFrame") {
        var aTFrame = aDoc.selection[0];
        var theChars = aTFrame.characters;
        var charLength = theChars.length;
        var startSize = prompt("size of first character", 25,"start size");
        var endSize = prompt("size of last character", 5,"end size");
        var step = (startSize-endSize)/(charLength-1);
        for (i = 0; i < charLength; i++) {
            theChars[i].size = (startSize - i*step).toFixed (2);
            redraw();
            }
        } else {alert("Please select only one text frame")}
    } else {alert("No selection")}

 

CarlosCanto
Community Expert
Community Expert
March 23, 2020

it is a problem, forum upgrade has been a big disappointment

Participant
May 20, 2020

I am getting error code. Anyone available to help?

Larry G. Schneider
Community Expert
Community Expert
May 20, 2020

Resave the text of the script as Plain Text in order to have it work. Right now you have it saved as RTF.

pixxxelschubser
Community Expert
Community Expert
March 23, 2020

Upps,

now I see

… theChars[i].size …

 

That's really annoying.

 

CarlosCanto
Community Expert
CarlosCantoCommunity ExpertCorrect answer
Community Expert
March 23, 2020

Hi Pixxxel, remember the new forum format broke the loop indexes

 

here's the fixed version

// CharSizeChangeFromFirst2LastInProportion.jsx

// http://forums.adobe.com/thread/1414597?tstart=0

// select a text frame or pathtext before running this script 

// test this script at first with only a few characters!

// The more letters, the longer it takes

// If the screen seems to be frozen - please wait for a while

// regards pixxxelschubser  25/Febr./2014

var aDoc = app.activeDocument;

if (aDoc.selection.length > 0) {

    if (aDoc.selection.length < 2 && aDoc.selection[0].typename == "TextFrame") {

        var aTFrame = aDoc.selection[0];

        var theChars = aTFrame.characters;

        var charLength = theChars.length;

        var startSize = prompt("size of first character", 25,"start size");

        var endSize = prompt("size of last character", 5,"end size");

        var step = (startSize-endSize)/(charLength-1);

        for (i = 0; i < charLength; i++) {

            theChars[i].size = (startSize - i*step).toFixed (2);

            redraw();

            }

        } else {alert("Please select only one text frame")}

    } else {alert("No selection")}
Participating Frequently
October 9, 2021

Hi Any chance you can help update/fix for CC 2018??

pixxxelschubser
Community Expert
Community Expert
March 23, 2020

Hi @girolamoa72754650,

the script assumes the following:

  • text as areatext  or
  • text as pathtext  or
  • text as pointtext  and finally

 

  • the text frame selected with the Selection Tool (black arrow)

 

Then the script also works as well (and as expected) in Illustrator 24 (CC2020)

 

Participating Frequently
June 19, 2019

Can someone please help update this script to work with Illustrator 2017/CC and upload ??? Thanks much to that kind person or people.

pixxxelschubser
Community Expert
Community Expert
June 20, 2019

What kind of problems do you have?

The script works in CC2017+ as well.

Have fun

Participant
October 9, 2014

Great script. Works like a wonder. Thanks

pixxxelschubser
Community Expert
Community Expert
February 26, 2014

Hi razo.ad1985,

Your second picture shows a distortion, right?

 

But no matter. Try this:

 

 

// CharSizeChangeFromFirst2LastInProportion.jsx

// http://forums.adobe.com/thread/1414597?tstart=0
// https://community.adobe.com/t5/illustrator-discussions/illustrator-spiral-shrinking-growin-text-scaling-down-up-on-spiral-path/m-p/5851146#M152777
// thread: illustrator Spiral Shrinking/Growin text, scaling down/up on spiral path

// select a text frame or pathtext before running this script
// test this script at first with only a few characters!
// The more letters, the longer it takes

// If the screen seems to be frozen - please wait for a while

// regards pixxxelschubser  25/Febr./2014

var aDoc = app.activeDocument;
if (aDoc.selection.length > 0) {
    if (aDoc.selection.length < 2 && aDoc.selection[0].typename == "TextFrame") {
        var aTFrame = aDoc.selection[0];
        var theChars = aTFrame.characters;
        var charLength = theChars.length;
        var startSize = prompt("size of first character", 25,"start size");
        var endSize = prompt("size of last character", 5,"end size");
        var step = (startSize-endSize)/(charLength-1);
        for (i = 0; i < charLength; i++) {
            theChars[i].size = (startSize - i*step).toFixed (2);
            redraw();
            }
        } else {alert("Please select only one text frame")}
    } else {alert("No selection")}

 

 

 

Have fun

 

 

[ edited by pixxxelschubser ]

Justification: Due to the change to the new forum software Khoros in 2019, the loop index in the code was destroyed.

Participating Frequently
February 27, 2014

@pixxxel schubse

Yes....... tested this and so far worked marvels for the effect i am trying to achieve. As you mentioned the screen does at times freeze up a bit, then flahses black but despite that does the job. Thank you, thank you thank you. One question for you, on another note, is it possibly to edit and already created spiral.....for exaple if i create a spiral>apply script> once processed see that maybe the spiral can be a bit tigher >can i edit the values originally set(radius, decay segments) ...... sorry for the 21 questions man.. dont want to come off as Barbara Walters on investigative report.... but im a bit amatuer to Illustrator, photoshop i think i got down.....

Larry G. Schneider
Community Expert
Community Expert
February 27, 2014

Just select the text and rerun the script adjusting the values. I did it several times last night while fiddling with the script. Option clicking with the Spiral tool will allow you to change the parameters but after you create the path it is just a path and not a configurable primative.