кривить текст

Статус
Закрыто для дальнейших ответов.

Flame

Unregistered user
Топикстартер
20 лет на форуме
Сообщения
1 323
Реакции
57
всем привет

Заранее прошу прощения за ламерский вопрос, но со скриптами я сильно "на Вы".
Суть вопроса: я пишу пакетный обработчик на js, который (условно) берет кучу файлов из одной папки, производит над ними некие действия и потом все сохраняет в другую папку.
Так вот, среди этих действий, в частности есть действие перевода всех шрифтов в кривые. Вот кусок кода, который я для этого использую:

PHP:
var doc = app.activeDocument;
var myTempObj;
for (var k=0; k<doc.textFrames.length; k++)
{
currentFrame = doc.textFrames[k];
myTempObj = currentFrame.createOutline();
}

Сей кусок кода действительно кривит шрифты, но делает это почему-то весьма избирательно. Закономерности я не нашел. Как среди покривленных, так и среди непокривленных есть как point type, так и area type. Залоченные объекты в документе также отсутствуют.

Может кто-нибудь опробовать этот кусок кода на своем документе или подсказать мне, что я не учел?

P.S. да, дело происходит на OSX в AI CS3 13.0.2.
 

1998

Участник
Сообщения
1 895
Реакции
1 321
Ответ: кривить текст

возможно, вопрос уже решен (за давностью), но тем не менее:

Код:
a = app.activeDocument.textFrames; 
while (a.length > 0) a[0].createOutline()
 

Flame

Unregistered user
Топикстартер
20 лет на форуме
Сообщения
1 323
Реакции
57
Ответ: кривить текст

Вадим, спасибо за ответ, завтра попробую.

Я правильно понял Вашу мысль, что после очередного "окривления" массив TextFrames "перестраивается" заново и у меня появляется пропущенный индекс?
 

1998

Участник
Сообщения
1 895
Реакции
1 321
Ответ: кривить текст

да :)
 

kaatm

15 лет на форуме
Сообщения
1 101
Реакции
19
Ответ: кривить текст

Быстрее было бы присвоить значение doc.textFrames.length какой-нибудь другой переменной, чтобы не запрашивать его каждый раз на очередной итерации цикла.
И перебирать TextFrames с конца в обратном порядке.
 
Статус
Закрыто для дальнейших ответов.