... а второй я решил не писАть.
Этот скрипт является исправленой и всячески улучшеной версией моего первого скрипта
1. Добавлена морда
2. УсугУблен баг, найденый vbatushev-ым
Скрипт уменьшает значение трекинга до тех пор пока не достигнет лимита, который мы устанавливили, или пока значение строчек в параграфе не уменьшиться на одну. Если достигаем лимита - скрипт возвращает первоначальное значение трекингу. Можно применять для верстки ТВ и Обьяв. (надо твердый знак установить на клаву, млин)
Очень легко добавлять/убавлять/менять название("TV", "Частухи") и и минимальное значение трекинга - надо только в эреи добавлять элементы и все.
Этот скрипт является исправленой и всячески улучшеной версией моего первого скрипта
1. Добавлена морда
2. УсугУблен баг, найденый vbatushev-ым
Скрипт уменьшает значение трекинга до тех пор пока не достигнет лимита, который мы устанавливили, или пока значение строчек в параграфе не уменьшиться на одну. Если достигаем лимита - скрипт возвращает первоначальное значение трекингу. Можно применять для верстки ТВ и Обьяв. (надо твердый знак установить на клаву, млин)
Очень легко добавлять/убавлять/менять название("TV", "Частухи") и и минимальное значение трекинга - надо только в эреи добавлять элементы и все.
PHP:
var counter = 0;
var myStep = 1;
var mySelect = true;
var myRadiobutton = ["ТВ", "Частухи"]
var myLimit = ["-55", "-20"]
with (app) {
// Проверяем, что у нас выделено
if ((selection.length == 1)&&((selection[0].constructor.name == "TextFrame"))) {
} else {
alert("Необходимо вытTтелить один текстовый фрейм");
exit();
}
var myStory = selection[0].parentStory;
//var myStory = selection[0]
// Build dialog
var myDialog = dialogs.add({name:"Compress Text"});
with (myDialog) {
with (dialogColumns.add()){
with(borderPanels.add()){
staticTexts.add({staticLabel:"Step :"});
realEditboxes.add({editValue:myStep, minWidth:25});
staticTexts.add({staticLabel:" "});
var myRangeButtons = radiobuttonGroups.add();
with(myRangeButtons){
for (i = 0; i < myRadiobutton.length; i++) {
radiobuttonControls.add({staticLabel:myRadiobutton[i] + " : " + myLimit[i], checkedState:true, minWidth:153});
}
}
}
with (dialogRows.add()){
staticTexts.add({staticLabel:"Обрабатывать только вытТтеленый фрейм "});
var mySelectStory = checkboxControls.add({});
mySelectStory.checkedState = mySelect;
}
}
}
// Display dialog
myResult = myDialog.show();
if (!myResult) {
exit();
}
// Selection
if(mySelectStory.checkedState) {
var myStory = selection[0];
}else{
var myStory = selection[0].parentStory;
}
i = myRangeButtons.selectedButton;
for (myCounter = 0; myCounter < myStory.paragraphs.length; myCounter++) {
myPara = myStory.paragraphs[myCounter];
if (myPara.lines.length > 1) { //Если число строк в параграфе больше одной
lnCount = myPara.lines.length; //Количество строк в параграфе
counter = counter + 1;
var saveTrac = myPara.tracking;
while (myPara.lines.length > (lnCount - 1)) {
myPara.tracking = myPara.tracking - myStep;
if (myPara.tracking < myLimit[i] ) {
myPara.tracking = saveTrac;
counter = counter - 1
break;
}
}
}
}
alert("counter: " + counter);
}
// Remove the dialog box from memory.
myDialog.destroy();