Можно ли настроить BulletCS.js

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

saintano

Участник
Топикстартер
Сообщения
15
Реакции
0
В связи с тем, что плагин из Пейджмейкерского пэка, который должен расставлять буллетсы, валит CE-версию, и это не лечится, такой вопрос: можно ли настроить (вернее, кастомизировать) скрипт BulletCS, который расставляет лишь круглешки?
 
Ответ: Можно ли настроить BulletCS.js

Да.
Доступны: собственно пули, символы секции (§), короткое и длинное тире, арабские и латинские символы, а также собственные знаки пользователя :)
Кроме того можно указать символ до пули и после, указать отступ и пробельный элемент (табуляция или шпация).
 
Ответ: Можно ли настроить BulletCS.js

Хорошо, но если, например, я хочу использовать пулю из шрифта Вингдингс? А этот скрипт расставляет из текущего шрифта.
 
Ответ: Можно ли настроить BulletCS.js

Напомню вопрос :)
можно ли настроить (вернее, кастомизировать) скрипт BulletCS, который расставляет лишь круглешки?

"Кастомизировать" можно все, тем более скрипт на JS, ведь это обычный текстовый файл, откройте и исправьте по своему разумению :)

Или следует воспринимать сию тему, как заявку на развитие данного скрипта?
 
Ответ: Можно ли настроить BulletCS.js

vbatushev сказал(а):
Или следует воспринимать сию тему, как заявку на развитие данного скрипта?

:) :) :) !!!
 
Ответ: Можно ли настроить BulletCS.js

Очень бы хотелось, чтобы были опции выбора шрифта и символа, расстояний текста от буллетов и буллета от края фрейма.
 
Ответ: Можно ли настроить BulletCS.js

Очень бы хотелось, чтобы были опции выбора шрифта и символа, расстояний текста от буллетов и буллета от края фрейма.
Символ есть, выбора шрифта не будет, точно говорю, слишком это медленно получается, но можно, скажем, сделать текстовую строчку, где пользователь вписывает название шрифта.
Отступы сделать можно, тем более они в несколько усеченном виде есть.
 
Ответ: Можно ли настроить BulletCS.js

vbatushev сказал(а):
Символ есть, выбора шрифта не будет, точно говорю, слишком это медленно получается, но можно, скажем, сделать текстовую строчку, где пользователь вписывает название шрифта.
Отступы сделать можно, тем более они в несколько усеченном виде есть.
хотя бы в строчку, где можно прописать шрифт
 
Ответ: Можно ли настроить BulletCS.js

Ждите.
 
Ответ: Можно ли настроить BulletCS.js

Как вариант, можно ли расставлять в качестве "пули" символ скопированный в буфер? Или вставленный в первую строку будущего списка символ?

И ещё, было-бы не плохо сделать и скрипт удаляющий эти "пули" или нумерацию (например все символы до первой Tab).
 
Ответ: Можно ли настроить BulletCS.js

Угу, было бы. Проще на обычном CS сидеть и пользоваться существующим плагином.
 
Ответ: Можно ли настроить BulletCS.js

это немного подправленный вариант скрипта BulletCs.js
позволяет расставлять в качестве bullet сивол выставленный в первой позиции выделенного списка.

/* =========================================================================

InDesign ExtendScript

NAME: BulletCs (Bullets And AutoNumbering)
VERSION: 1.2

AUTHOR: Vitaly Batushev, Stepan Tsap (нумерация буквами алфавитов), dtp (использование произвольного символа в качестве bullet)
DATE : 26.12.2003

DESCRIPTION:
Скрипт автонумерации и расстановки bullets ("пуль") в тексте.
7 видов предабзацных знаков: автонумерация (латинскими и арабскими цифрами,
буквами русского, украинского и латинского алфавитом),
пули (•), знаки параграфа (§), тире (En-тире и Em-тире).
После предабзацного символа можно добавить один из пяти знаков: точку, закрывающуюся
круглую скобку, слэш (знак деления), треугольную скобку (знак "больше чем"),
закрывающуюся квадратную скобку (]), или ничего не добавлять.
Также можно ввести символы (любой текст) перед предабзацным символом.
Кроме того предабзацный символ может быть отбит от остального абзаца на выбор пользователя
либо пробелом, либо табуляцией.

SUPPORT: http://indesign.rudtp.ru
E-MAIL: vbatushev@indesign.rudtp.ru

============================================================================ */

with (app)
{
if (documents.length < 1) {
alert("No open documents!");
exit(); }

var myDoc = activeDocument;
if (selection.length < 1) {
alert("No selection texts!");
exit(); }

var mySelection = selection[0];
if (mySelection.constructor.name != "Text") {
alert("No selection texts!");
exit(); }

var myText = mySelection;

var TypeOfBullets = new Array("Bullet (•)",
"Section Sign (§)", "En Dash (–)", "Em Dash (—)",
"Arabic Digital (1,2,3...)", "Latin Digital (I,II,III...)", "Small Latin Digital (i,ii,iii...)",
"Ukraine (а,б,в,г,ґ,д...)", "Russia (а,б,в,г,д,е...)", "English (a,b,c,d,e,f...)", "Before Bullet Symbol", "use 1'st Symbol in 1'st line");
var AfterBullet = new Array("None", "Dot .", "Right Parenthesis )",
"Solidius /", "Greater Than Sign >",
"Right Square Bracket ]");
var Spaces = new Array ("Tab", "Space");
var BigLatins = new Array ("I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX", "X",
"XI", "XII", "XIII", "XIV", "XV", "XVI", "XVII", "XVIII", "XIX", "XX");
var LetterUkraine = new Array ("а", "б", "в", "г", "ґ", "д", "е", "є", "ж", "з", "и", "і", "ї", "й", "к", "л", "м", "н", "о",
"п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ь", "ю", "я");
var LetterRussia = new Array ("а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с",
"т", "у", "ф", "х", "ц", "ч", "ш", "щ","ъ", "ы", "ь", "э", "ю", "я");
var LetterEnglish = new Array ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q",
"r", "s", "t", "u", "v", "w", "x", "y", "z");
var myDlg = dialogs.add({name: "Bullets And Numbering"})

with (myDlg){
with (dialogColumns.add()) {
var myLabel1 = staticTexts.add({staticLabel:"Type of Bullets:"});
var myLabel2 = staticTexts.add({staticLabel:"Before Bullet:"});
var myLabel3 = staticTexts.add({staticLabel:"After Bullet:"});
var myLabel4 = staticTexts.add({staticLabel:"Space After Bullet:"});
var myLabel5 = staticTexts.add({staticLabel:"Indent (mm):"});
}
with (dialogColumns.add()) {
var myDrop1 = dropdowns.add({stringList: TypeOfBullets, selectedIndex: 0, minWidth: 200});
var myText0 = textEditboxes.add({});
var myDrop2 = dropdowns.add({stringList: AfterBullet, selectedIndex: 0, minWidth: 200});
var myDrop3 = dropdowns.add({stringList: Spaces, selectedIndex: 0, minWidth: 200});
var myText1 = realEditboxes.add({editValue:5});
}
}
result = myDlg.show();

myBullets1stLine=myText.characters[0];

if (result == true) {

for (i = 0; i < myText.paragraphs.length; i++)
{
var myPara = myText.paragraphs;

myBullet = myText0.editContents;

switch (myDrop1.selectedIndex)
{
case 0:
myBullet = myBullet + "\u2022";
break;
case 1:
myBullet = myBullet + "\u00A7";
break;
case 2:
myBullet = myBullet + "–";
break;
case 3:
myBullet = myBullet + "—";
break;
case 4:
myBullet = myBullet + (i + 1);
break;
case 5:
myBullet = myBullet + BigLatins;
break;
case 6:
myBullet = myBullet + BigLatins.toLowerCase();
break;
case 7:
myBullet = myBullet + LetterUkraine.toLowerCase();
break;
case 8:
myBullet = myBullet + LetterRussia.toLowerCase();
break;
case 9:
myBullet = myBullet + LetterEnglish.toLowerCase();
break;
case 10:
myBullet = myBullet + "";
break;
case 11:
myBullet = myBullet + myBullets1stLine.contents;
break;
default:
myBullet = myBullet + "•";
break;
}
switch ( myDrop2.selectedIndex )
{
case 0:
myBullet = myBullet;
break;
case 1:
myBullet = myBullet + ".";
break;
case 2:
myBullet = myBullet + ")";
break;
case 3:
myBullet = myBullet + "/";
break;
case 4:
myBullet = myBullet + ">";
break;
case 5:
myBullet = myBullet + "]";
break;
default:
myBullet = myBullet;
break;
}
switch ( myDrop3.selectedIndex )
{
case 0:
myBullet = myBullet + "\t";
break;
case 1:
myBullet = myBullet + " ";
break;
default:
myBullet = myBullet + "\t";
break;
}
myPara.contents= myBullet + myPara.contents;
myPara.leftIndent = myText1.editValue + " mm";
myPara.firstLineIndent = "-" + myText1.editValue + " mm";
if (myDrop1.selectedIndex==11)
{
myPara.characters[0].appliedFont=myBullets1stLine.appliedFont;
myPara.characters[0].appliedCharacterStyle=myBullets1stLine.appliedCharacterStyle;
}
}
if (myDrop1.selectedIndex==11)
{
len=0;
if (myDrop2.selectedIndex!=0) len=1;
myTemp=myText.paragraphs[0].characters.itemByRange(0, myBullet.length-1).contents+myText.paragraphs[0].characters.itemByRange(myBullet.length+1, myText.paragraphs[0].characters.length-myBullet.length+1+len).contents;
myText.paragraphs[0].contents=myTemp;
}

}
myDlg.destroy();
exit();
}
 
Ответ: Можно ли настроить BulletCS.js

Правильнее было бы опубликовать скрипт на indesign.rudtp.ru
 
Ответ: Можно ли настроить BulletCS.js

можно ли дополнить скрипт заданием character style
 
Ответ: Можно ли настроить BulletCS.js

Дополняйте :)
 
Ответ: Можно ли настроить BulletCS.js

Еще бы знать как. Я в скриптинге ни бум-бум. Я чего-то пытался кавыкать, но даже не знаю как переменные описать не говоря уже обо всем остальном.

Просто для верстки я часто использую не стандартные круглые буллеты, а квадратнинькие из шрифта windings. А это дело можно задать только через character styles
 
Ответ: Можно ли настроить BulletCS.js

Общие сведения о переменных и прочем Бутрин изложил в своем опусе о JS (http://indesign.rudtp.ru/books/).
Ничего особенного страшного и сложного в скриптинге нет, если уж я (филолог, неуч и раздолбай) смог его освоить, то освоит его любой. Тем более есть повод.
А если возникнут сложности, пиши, подтолкнем в нужную сторону :)
 
Ответ: Можно ли настроить BulletCS.js

Как применить caracter style к тексту. Выборку я научился делать, а вот применить не могу. В adobe вском guide скриптинге ничего толком не написано.
 
Ответ: Можно ли настроить BulletCS.js

vbatushev сказал(а):
... если уж я (филолог, неуч и раздолбай) смог его освоить, то освоит его любой...
Вот именно этих слов я и искал, так как тоже филолог, неуч и раздолбай. Правда, с другим результатом.
 
Статус
Закрыто для дальнейших ответов.