Mobile app version of vmapp.org
Login or Join
Fox8063795

: Scale text in Illustrator I have a layer of text in illustrator. All text has a fill and an outline stroke. However, all text/words are different font size. i want to scale all text by 33%

@Fox8063795

Posted in: #AdobeIllustrator #Scale #Text

I have a layer of text in illustrator. All text has a fill and an outline stroke. However, all text/words are different font size. i want to scale all text by 33% for example. I have tried, select a word (all other layers locked) - select same fill (also same fill and stroke) - transform - transform each. This does scale text but it shifts the text to different position. Any suggestions appreciated! Thanks!

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Fox8063795

2 Comments

Sorted by latest first Latest Oldest Best

 

@Vandalay110

As @paulmz points out, the transformation point is critical for scaling to work the way you expect. However you're right to have tried to use Transform Each.

After selecting all the text objects to transform (perhaps with the direct selection tool if any of your text is in groups), you can actually set the transformation point of the Transform Each function. For left-justified text you want to select the bottom-left point, bottom-right for right-justified, etc.





The above straightforward solution will work great if the text all has the same justification.

However, if your text has different justification settings, you can use Illustrator's scripting facility to scale text sizes.

Paste the following into a plain text file called "scale-text.js". Select the text objects you want to scale, then drop scale-text.js onto your document to run the script.

This works similarly to Transform Each, but will only affect text objects. When it runs, it asks for a percentage to scale the selected text by.

function scaleTextRecursively(collection) {
for (var i=0; i<collection.length; i++) {
var t = collection[i];
if (t.typename == "TextFrame") {
t.textRange.characterAttributes.size *= (scale/100);
} else if (t.typename == "GroupItem") {
// also search inside groups for more text frames
scaleTextRecursively(t.pageItems);
}
}
}

var doc = app.activeDocument;

var scale = prompt("Scale selected textnScale factor:", "100%");

if ( scale !== null ) {
scale = parseFloat(scale);

if (isNaN(scale)) {
alert( "Invalid scale. Try '100%'." );
} else {
scaleTextRecursively(doc.selection);
}
}

10% popularity Vote Up Vote Down


 

@YK2262411

This sounds like you might just need to set your transformation point.



If your transformation point (on the left of the image above) isn't set to the center, the object won't remain in the same place when scaled. Granted, this will scale a group of objects on the center of the entire group. To scale individual items and keep them in the same position, you will need to scale them individually -or- copy the whole group, scale the new group and then realign the new scaled versions to the objects in the old group.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme