我正在尝试为Illustrator编写脚本,但是我的代码似乎无法正常工作并且对我什么也不做。 应该使“(”和“)”字符基线为3px。 寻找可以完成这项工作的人。
function test(){
var doc = app.activeDocument;
var t = doc.textFrames[0], thisChar, thisSize, thisBaseline;
for(var i=0; i<t.characters.length; i++){
thisChar = t.characters;
if(thisChar.contents == "(" || thisChar.contents == ")"){
thisSize = thisChar.characterAttributes.size;
thisBaseline = thisChar.characterAttributes.baselineShift;
thisChar.characterAttributes.baselineShift = 3;
}
};
};
test();
答案 0 :(得分:0)
var frames = app.activeDocument.selection;
for (var j=0; j<frames.length; j++) {
if (frames[j].typename == "TextFrame") {
for (var i=0; i<frames[j].characters.length; i++) {
var ch = frames[j].characters[i];
if( ch.contents == "(" || ch.contents == ")" ) ch.baselineShift = 3;
}
}
}
它会移动所有选定对象内所有括号的基线。
注意:此简单的实现无法处理分组对象。
答案 1 :(得分:0)
var frames = app.activeDocument.textFrames;
for (var j=0; j<frames.length; j++) {
for (var i=0; i<frames[j].characters.length; i++) {
var ch = frames[j].characters[i];
if( ch.contents == "(" || ch.contents == ")" ) ch.baselineShift = 3;
}
}
此脚本的变体在所有文本框架(已分组或未分组)中均起作用。您无需选择任何内容。