Insert superscript 2 in text field Illustrator Javascript scripting
Copy link to clipboard
Copied
Dear All,
I've been trying to add and remove certain pieces of text based on their font and whenever I need to add a certain piece of text back into it's original place again I need to insert a superscript 2 after this text.
This is the piece of code in which I add the text back in again:
if (textGroupItem.textRange.characterAttributes.textFont.toString().toLowerCase().match(regP attern)){
textGroupItem.textRange.characters.removeAll()
textGroupItem.textRange.characters.add(un + " - " + sm + "m" + "²")
}
This doens't give a superscript 2 but some kind of broken token as text.
So far i've also tried:
- translatePlaceholderText("c2b2")
- "2".sup()
- <sup> 2</sup>
- textGroupItem.textRange.characterAttributes.baselineShift = height; <-- height = 2 but this shifts the whole text item
How can you succesfully add a supercript 2 to a group of characters?
Explore related tutorials & articles
Copy link to clipboard
Copied
Here is a basic code of superscript.
app.selection[0].characters[1].characterAttributes.baselinePosition = FontBaselineOption.SUPERSCRIPT;
Copy link to clipboard
Copied
Thanks a lot for this code. I can see that the baseline position of the text item is indeed NORMALBASELINE
But if I try to execute the code last character of the text with: textGroupItem.textRange.characters[-1]
I get that this is undefined.
Is it possible to acess this last character and change just the baseline of that character?
Copy link to clipboard
Copied
Hi marca12945532,
unfortunately, Illustrator Scripting is a bit more complicated in this regard.
One possibility
var aDoc = app.activeDocument;
aDoc.textFrames[0].textRange.characters[aDoc.textFrames[0].textRange.characters.length-1].characterAttributes.baselinePosition = FontBaselineOption.SUPERSCRIPT;
Have fun

