Нужно заменить один шрифт с известным названием на другой шрифт

  • Автор темы Автор темы bossrus
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

bossrus

шибка умный, аднака
Топикстартер
12 лет на форуме
Сообщения
447
Реакции
74
прислал клиент пару сотен версток с потерянным шрифтом в векторном объекте (кто-нить объясните мне почему дизайнеры рисуют красивости в индизайне, и обязательно назначают на этот вектор "текстовый бокс").
залезть в Find Font, выбрать миссинговый, выставить внизу нужный и нажать "Change All" не сложно. но не 230 же раз! :)

я сделал скрипт
Код:
app.findTextPreferences.appliedFont = "Times New Roman (TT)";
app.changeTextPreferences.appliedFont = "Times New Roman";
app.activeDocument.changeText();

но он что-то как-то вообще ничего не делает :(
подскажите, плиз. а то я уже замучился фигней страдать :)
 
я не вижу чем отличается [запуск Find Font, выбрать миссинговый, выставить внизу нужный и нажать "Change All"] от [запуск скрипта, выбрать миссинговый, выставить внизу нужный и нажать "Ok"]
те-же 200 запусков, выборов, выставлений и нажатий кнопки.

если я непонятно написал — уточню — имя шрифта, который нужно заменить известно. ну и имя шрифта на который — аналогично. и эта пара всегда одинакова. смысл скрипта свести 4 действия к 1 хоткею.

и, кстати, кусок скрипта, показанный в первом посте я взял именно с этой ссылки. и не работает :)
 
Ну я на всякий случай, вдруг там что-то полезное.
У меня он кстати тоже вроде не работал.
 
Надо проверить, как правильно вписать имя шрифта. Для этого выделите текст с отсутствующим шрифтом и запустите такой скрипт:
Код:
alert(app.activeDocument.selection[0].appliedFont.name);
Потом вручную назначьте нужный шрифт запустите скрипт ещё раз и посмотрите правильное имя этого шрифта.
 
  • Спасибо
Реакции: bossrus

Не по теме:
Просто подумал, что у вас больше шансов увидеть там что-то полезное/исправить. У меня не было ни повода в виде 200 файлов, ни умения.
 
Надо проверить, как правильно вписать имя шрифта. Для этого выделите текст с отсутствующим шрифтом и запустите

ага. название поменялось.
теперь скрипт выглядит так:
Код:
app.findTextPreferences = NothingEnum.nothing;
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences.appliedFont = "Times New Roman (TT)	Regular";
app.changeTextPreferences.appliedFont = "Times New Roman	Regular";
app.activeDocument.changeText();
(имена скопировал непосредственно из алертов)
но всё ещё не работает. причем не работает абсолютно беззвучно. ни сообщений об ошибках, ничего.
 
работу сделал руками, так что проблема плавно перетекла в теоретическую :)
 
Статус
Закрыто для дальнейших ответов.