установкой свойства appliedParagraphStyle ИЛИ appliedCharacterStyle.
Отличие между этими свойствами состоит в том, что метод appiyStyleO позволяет сбросить локальное форматирование текста, в то время как свойства этого лишены. Присваивать стиль можно как отдельным абзацам, так и любому фрагменту текста (используя itemByRange () совместно с appliedCharacterStyle). Кроме того, InDesign CS3 поддерживает вложенные стили (nestedstyies), т. е., например, первое слово форматируется одним стилем, второе слово- другим и т. п., что часто используется для сохранения уникальности изданий.
6.4.1. Создание стиля символов
Пример создания стиля символов приведен в листинге 6.4.
| Листинг 6.4. Создание стиля символов
// Создаем стиль символов "myCharacterStyle" myCharacterStyle =
myDocument.characterStyles.add((name:"myCharacterStyle"})
//На данном этапе мы просто получили ссылку на новый стиль.
// Пока он пустой, поэтому займемся установкой его параметров. myCharacterStyle.fillColor = myColorl myCharacterStyle.size = 14
6.4.2. Создание стиля абзаца
Пример создания стиля абзаца приведен в листинге 6.5.
f Листинг 6.5. Создание стиля абзаца
myParagraphStyle = 'Ь
myDocument.paragraphStyles.add({name:"myParagraphStyle"})
// Стиль также пуст, занимаемся его форматированием myParagraphStyle.fillColor = myColor2 myParagraphStyle. fontSize = 18
6.4.3. Создание вложенного стиля
Вложенные стили поддерживаются лишь в InDesign CS3, позволяя автоматически задать определенный стиль последовательности символов, оканчивающейся заданным символом. Вот как, например, будет выглядеть скрипт, присваивающий стиль myCharacterStyle первому предложению (разделение идет по точке) в абзаце (листинг 6.6).
| Листинг 6.6. Присвоение стиля предложению
var myNestedStyle = myParagraphStyle.nestedStyles.add 'Ъ
({appliedCharacterStyle:myCharacterStyle, delimiter:".", 'Ъ inclusive:true, repetition:1}); Рассмотрим пример форматирования текста стилями (листинг 6.7).
{ Листинг 6.7. Форматирование текста стилями
// Создаем текстовый фрейм на странице 1 var myTextFrame = myDocument.pages[0].textFrames.add(); myTextFrame.geometricBounds =[0,0,100,100]; myTextFrame.contents = "Тестовый фрейм";
myCharacterStyle = 'Ъ
myDocument. characterStyles. add ({name: "myCharacterStyle" })
myCharacterStyle.fillColor = myColorl; myCharacterStyle.size = 14;
// Создадим стиль абзаца "myParagraphStyle" myParagraphStyle = 'Ъ
myDocument.paragraphStyles.add({name:"myParagraphStyle"})
}
// Установки форматирования стиля myParagraphStyle.fillColor = myColor2 myParagraphStyle.fontSize = 18
// И присваиваем его всему тексту
myTextFrame.parentStory.texts[0].applyStyle(myParagraphStyle, true)
var myStartCharacter = myTextFrame.parentStory.characters[13] var myEndCharacter = myTextFrame.parentStory.characters[54]
// Присваиваем стиль только некоторым абзацам, сбрасывая // все их предыдущие параметры оформления
myTextFrame.parentStory.texts.itemByRange(myStartCharacter, 4» myEndCharacter).applyStyle(myCharacterStyle, true);