Математически точный ответ.
CharacterAttributes
. Вижу, что он подчиняется(?) классу TextRange
, но как на него выйти?alert(app.selection[0].characters.parent.constructor.name);
characters
находится в TextRange
, а мне нужно работать с отдельным знаком characters[i]
.Потому чтоНе пойму вопроса - ну так работайте с одним элементом массива characters что мешает?
app.selection[0].characters[i].parent.CharacterAttributes)
выдает ошибку. Если Вы здесь на форуме только для того, чтобы наводящие вопросы ставить, то я просто буду игнорировать Ваши вопросы.var chrs = app.selection[0].characters;
for ( var i = 0 ; i < chrs.length ; i++ ) {
if ( chrs[i].characterAttributes.size == "5" ||
chrs[i].characterAttributes.size == "7" )
{
chrs[i].characterAttributes.size = 10;
} else {
if ( chrs[i].characterAttributes.size == "4" ||
chrs[i].characterAttributes.size == "5.5" )
{
chrs[i].characterAttributes.size = 8;
}
}
}
else..if
явно не по JS. А как правильно?Нашла ответ. ПараметрСкрипт теперь не ругается, но и ничего не делает... где-то грамматика-пунктуация страдает?
characterAttributes.size
выдает неокругленное значение.for ( var j = 0 ; j < app.selection.length ; j++ ) {
var myChars = app.selection[j].characters;
for ( var i = 0 ; i < myChars.length ; i++ ) {
var num = myChars[i].characterAttributes.size;
//округляем до десятых
var num = num.toFixed(1);
//и всем условиям добавляем десятые
if ( num == "5.0" || num == "7.0" )
{
myChars[i].characterAttributes.size = 10;
myChars[i].characterAttributes.verticalScale = 70;
myChars[i].characterAttributes.horizontalScale = 75;
myChars[i].characterAttributes.tracking = 0;
} else {
if ( num == "4.0" || num == "5.5" )
{
myChars[i].characterAttributes.size = 8;
myChars[i].characterAttributes.verticalScale = 70;
myChars[i].characterAttributes.horizontalScale = 75;
myChars[i].characterAttributes.tracking = 0;
} else {
myChars[i].characterAttributes.size = num;
myChars[i].characterAttributes.tracking = 0;
}
}
}
}