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
  • 18826 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 26, 2014

WOW thnaks for the quick reply man, appreciate it.....

but Not 100% certain if this depicts destortion, as i borrowed second image from online as looked similar to what i am trying to achieve....

but here is another exaple of effect i am trying to get.... sorta effect of text falling down a spiral, and smaller as it gets deeper down(hopefully makes sense)........ I WILL DEF give yours a try and see if this works well for me..... thanks so much man for taking the time.

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

Here's what it does.