Состав коллекции fonts зависит от того, каким образом происходит обращение к ней. Если это происходит на уровне публикации, то в нее входят все шрифты, доступные InDesign. Если на уровне публикации - то только используемые в ней шрифты, причем среди них могут быть и отсутствующие. Приведенный далее пример иллюстрирует разницу между двумя способами считывания шрифтов.

var myApplicationFonts = арр.fonts; var myDocumentFonts = myDocument.fonts;

var myDocument = app.documents.add(); var myPage = myDocument.pages[0];

var myTextFrame = myPage.textFrames.add(); var myString = "Document Fonts:\r";

// Сначала - использованные в публикации for(i = 0; i<myDocumentE’ontNames. length; i++) { myString += myDocument.fonts [i].name +■ "\r";}

myString += "\r=============\r"

//А затем - все доступные InDesign: myString += "\rApplication Fonts:\r"; for(i = 0; i< myApplicationFonts.length; i++){ myString += myApplicationFonts[i]. name + "\r";}

6.1. Установка свойств текста

Рассмотрим способы изменения свойств текста. Все операции достаточно прозрачны, особое внимание нужно обратить лишь на задание конкретного начертания шрифта. Как правило, название шрифта имеет вид: familyName<tab>fontStyle Здесь:

famiiyName-название семейства;

<tab> - символ табуляции;

fontstyle- начертание шрифта.

Поэтому, если необходимо указать конкретный шрифт, не прибегая к заранее предопределенному через стиль, следует помнить об этом синтаксисе, например:

Times New Roman<tab>Bold

Если нужно изменить только начертание, прибегают к использованию fontstyle, например:

texts[0].fontstyle = 'Bold'

Пример форматирования текста приведен в листинге 6.1.

Листинг 6.1. Форматирование текста

var myDocument = арр.documents.add()

var myPage = myDocument.pages[0]

var myTextFrame = myPage.textFrames.add()

myTextFrame.contents = "Пример задания свойств тексту"

var myTextObject = myTextFrame.words[0]

II Для сокращения объема скрипта и повышения читабельности II используем объект по умолчанию: with (myTextObject){

alignToBaseline = false

appliedCharacterStyle = myDocument.characterStyles[1]

appliedFont = app.fonts["Adobe Caslon Pro"]; fontStyle = "Semibold Italic";

appliedLanguage = app.languagesWithVendors["English: USA"] appliedNumberingList = myDocument.numberingLists["[Default]"] appliedParagraphStyle = myDocument.paragraphStyles[1] autoLeading = 120

balanceRaggedLines = BalanceLinesStyle.noBalancing baselineShift = 0

bulletsAlignment = ListAlignment.leftAlign

bulletsAndNumberingListType = ListType.noList

bulletsCharacterStyle = myDocument.characterStyles[1]

bulletsTextAfter = '"'t"

capitalization = Capitalization.normal

composer = "Adobe Paragraph Composer"

desiredGlyphScaling = 100

desiredLetterSpacing = 0

desiredWordSpacing = 100

dropCapCharacters = 0

dropCapLines = 0

dropCapStyle = myDocument.characterStyles[1] dropcapDetail = 0


⇐ вернуться назад | | далее ⇒