Copy link to clipboard
Copied
Many maps I download from ArcGIS have all text labels as individual letters of text instances grouped together to make a word. If i change the font size or scale it can ruin the formatting.
I am aware you can copy the text group, click the type tool, make a new text object and paste the text and it will all flow properly together. I also have several scripts downloaded from the web that are supposed to combine the text into one object, but none are working.
Is there an easy /automatic fix for this, that will fix every group of text on my map (many hundreds of text labels) into easily editable united text instances?
edit: i addded "text paths.eps". When i tried to add an AI file it gave the error: "The attachment's text paths.ai content type (application/postscript) does not match its file extension and has been removed." Hopefully eps works
2 Correct answers
Copy it from the page.
Create a new file oin a text editor (no RTF, just text)
Save as with the file extension .jsx
Select all the text in the file Sergey entered and copy it. Open a new file as plain text in a text editor and paste the trxt you copied into it. Save as a plain text (not rich text) file to your desktop. To use go to AI>Scripts>Other Scripts and navigate to the file on your desktop.
Explore related tutorials & articles
Copy link to clipboard
Copied
Can you share a sample map (Illustrator file)?
Copy link to clipboard
Copied
Thanks, i was able to upload an eps file
Copy link to clipboard
Copied
As far as I can see from your EPS, if this is indeed the case, the texts in it are not made up of individual letters, but are a "Type on Path" object. In this case, you should mass detach the editable text from the vector path. There is an old script by Nathaniel Vaughn KELSO "Detatch Text from Path", I modified it a bit for your case
// Based on Detatch Text from Path by Nathaniel Vaughn KELSO
(function () {
if (!documents.length) return;
var sel = app.selection;
if (!sel.length || sel.typename === "TextRange") return;
for (i = sel.length - 1; i >= 0; i--)
if (sel[i].typename === "TextFrame" && sel[i].kind === TextType.PATHTEXT) {
var currTF = sel[i];
var newTF = currTF.parent.textFrames.add();
for (j = 0; j < currTF.lines.length; j++) {
var frame = currTF.lines[j];
if (j > 0) newTF.paragraphs.add("");
frame.duplicate(newTF);
}
currTF = currTF.createOutline();
newTF.top = currTF.top;
newTF.left = currTF.left;
currTF.remove();
newTF.selected = true;
}
})();
Copy link to clipboard
Copied
Thank you so much for this! I thought i replied earlier but i didnt - do you know how to turn that text you wrote into a script? Apologies i did look online how to make a script but couldnt find
Copy link to clipboard
Copied
Copy it from the page.
Create a new file oin a text editor (no RTF, just text)
Save as with the file extension .jsx
Copy link to clipboard
Copied
thank you so much, this will improve my life considerably!
Copy link to clipboard
Copied
Select all the text in the file Sergey entered and copy it. Open a new file as plain text in a text editor and paste the trxt you copied into it. Save as a plain text (not rich text) file to your desktop. To use go to AI>Scripts>Other Scripts and navigate to the file on your desktop.
Copy link to clipboard
Copied
Thank you!

