Разработчики Adobe добавляют новые функции и медленно исправляют старые ошибки. Или обновления ломают рабочий инструмент. Это произошло при создании объектов textFrames через JS, что привело к сбою Illustrator.
Я обнаружил ошибку, когда тестировал скрипт NumeratesPoints. При активном предварительном просмотре сценарий создает текстовые кадры, а после того, как пользователь вводит новый номер, он запускает undo()
и создает новые номера.
С выпуском CC 2020 v.24.3 Illustrator начал аварийно завершать работу при включенном предварительном просмотре. Я обнаружил, что проблема не во всей функции предварительного просмотра, а только в той части, которая воссоздает текст.
Демонстрация ошибок
Простой тест на коротком скрипте подтвердил подозрения. Создайте любой текстовый фрейм, вернитесь к истории на один шаг и снова создайте текст — Illustrator v.24.3 (Mac OS) аварийно завершает работу.
addText(); redraw(); alert('Done'); undo(); addText(); function addText() { var str = activeDocument.textFrames.add(); str.textRange.characterAttributes.size = 16; str.contents = 'Example'; str.top = 0; str.left = 0; }
Заключение
После CC 2020 v.24.3 Adobe выпустила Illustrator CC 2021, в котором эта проблема исчезла. И добавил патч в скрипт NumeratesPoints — отключение функции предпросмотра для пользователей версии 24.3.
var AI_VER = app.version.slice(0, 4); if (AI_VER == '24.3') isPreview.enabled = false;