Избранное »

22.09.2014 – 07:27 | 2 комментария | 27 541 views

Здравствуйте все, кто работает в Индизайне!
Извещаем вас о том, что на youtube.com работает канал «InDesign Мастерская вёрстки». Там уже размещены более 70 видео с полным описанием как работать с программой DoTextOK. Другие интересные темы, касающиеся работы …

Читать полностью »
Работа в InDesign

Хитрости и секреты, приемы работы, уроки

Новая версия!

Особенности новой версии Индизайна

Плагины

Описание плагинов, информация о плагинах для работы с Adobe InDesign

Скрипты

Готовые к использованию скрипты для Adobe InDesign

Скриптинг

Описание языка, приёмов и методов программирования для Adobe InDesign

Home » Скрипты

Скрипт, который меняет местами соседние буквы

Добавлено на 13.10.2008 – 21:34Без комментариев | 675 views

В тексте для верстки иногда попадаются ошибки, где две соседние буквы поменяны местами. Например, должно быть «Пётр» а набрано «Пёрт», должно быть «У меня», а набрано «У мнея» Такое случается при быстром наборе. Править подобные ошибки позволит скрипт ToggleChars (автор Dave Saunders), если вы сохраните его себе в папку скриптов и сделаете для вызова «горячие  клавиши». Для исправления ошибки поставьте курсор между неправильно стоящими буквами, вызовите скрипт, и у вас всё придет в норму.

Удивляюсь мастерству Дэва Сандерса. Вопрос «А нет ли такого скрипта…» прозвучал на mail-конференции по InDesign и буквально через час Дэв выложил для всех этот скриптик:

// Check for a selection of the right type

if (app.selection.length > 0 && app.selection[0].constructor.name == «InsertionPoint») {
toggleChars(app.selection[0]);
}

/*First thing the toggleChars function must do is check is that the
insertion point is not first or last (get text flow reference along
the way */

function toggleChars (myIP) {
myTextFlow = myIP.parent; // gives story or cell, as appropriate
if (myIP != myTextFlow.insertionPoints[0] && myIP != myTextFlow.insertionPoints[-1]) {
reallyToggleChars (myTextFlow, myIP);
}
}

/*But even the reallyToggleChars function still has a check to do,
to see if the character to the right of the insertion point is a
paragraph marker; ask user if so */

function reallyToggleChars (myTextFlow, myIP) {
myIndex = myIP.index
myChar = myTextFlow.characters[myIndex]; // Char to right has same index as insertion point
if (myChar.contents == «\r») {
if (confirm(«Are you sure you want to move the paragraph marker?») == false) {
// User said No, so get out of here
return;
}
}
// Finally, we’re ready to rumble
myTextFlow.characters[myIndex].move(LocationOptions.before,
myTextFlow.insertionPoints[myIndex-1]);
app.select(myTextFlow.insertionPoints[myIndex]);
}

Оставить комментарий!

Вы должны быть в системе чтобы оставить комментарий.