Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нем неправильно. Необходимо обновить браузер или попробовать использовать другой.
ещё покороче вариант /**
* change contents of word or string remain formatting
* autor (c)pixxxel schubser
* */
function repl (reg, replacer) {
var txtFrame = selection[0],
result;
while (result = reg.exec (txtFrame.contents)) {
try {
var aCon =...
Теперь в целом работает как мне надо:
function replaceKeepFormatting (reg, replacer, txtFrame) {
var result;
while (result = reg.exec (txtFrame.contents)) {
for (var i = 0; i < result[0].length; i++) {
txtFrame.characters[result.index + i].select (true);
}
if...
Кстати, если паттерн попадает на текст с разным форматированием, то и в MSWord и в InDesign форматирование приводится к какому-то одному - либо по первому либо по последнему символу (кажется так, но может быть там всё немного сложнее).
Попробую ещё сделать по такому алгоритму:
найти совпадение...
Вот это постепенно разбивает выделенный фрейм на блоки с одинаковым форматированием и производит поиск/замену в этих блоках. "Одинаковое форматирование" проверяется по 4-м параметрам (family, size, style, color). Границы между блоками из поиска выпадают. Всё это происходит посимвольно и медленно.
создаю area text или point text и печатаю любой текст...alert(activeDocument.textFrames[0].textRanges.length);выдаёт чётко количество напечатанных символов (включая пробелы, переводы строки и т.п.)
а можно чуть подробнее, что-то до меня пока не дошло )
Можно ли с помощью ExtendScript RegExp произвести глобальную замену в текстовом блоке с сохранением исходного форматирования?
Попробовал разные варианты - пока что 'otbline'
Поиск/замена в:
TextFrame.Words ограничивается одним символом
TextFrame.TextRanges.contents ограничивается одним словом...
Проблема решилась наилучшим образом: во всех версиях CC доступен и правильно работает объект Storage, который гораздо удобнее, чем cookies.
Для работы с JSON в ExtendScript понадобится JSON-библиотека json2.js.
Как подключить json2.js написано здесь.
@Bigroom, хорошо, что хоть как-то работает. Вот это свойство, например, больше никак не работает, начиная с CS6.
PS. Спасибо, что натолкнули на решение ;)
@Bigroom, а посмотрите стандартное руководство ADOBE ILLUSTRATOR CC 2014 SCRIPTING REFERENCE: JAVASCRIPT стр.65. Там пример создания градиента. Вроде бы понятный и рабочий.
На данном сайте используются cookie-файлы, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших cookie-файлов.