// Сначала проверяем наличие файлов с расширением emf // (такова специфика подготовки публикации), если нет - ищем eps fname = listFolder + '/' + next + '.emf' if (!File(fname).exists){
fname = listFolder + '/' + next + '.eps'
}
if (File(fname).exists) {
for (var i=2; i<pS.length; i++){ switch(pS[i].name){
case 'Diagram Header': pSA[ aS[0] ] = i; break;
case 'Diagram': pSA[ aS[l] ] = i; break;
case 'Diagram Footer': pSA[ aS[2] ] = i; break;
case 'Spacer': pSA[ aS[3] ] = i; break;
}
}
// В зависимости от того или иного выбора пользователя // в дальнейшем будем использовать ссылки на разные объекты target = (ask==0) ? free_tF : inline_tF
//He привязанный к тексту контейнер if(target==free_tF){
// Позицию для контейнера выбираем так, чтобы он находился //по вертикали на том же уровне, что и курсор.
// Фактически зто эквивалент in-line-графики,
// но только без привязки к тексту.
top = (mySelection.baseline < textF.geometricBounds[2] PREF_HIGHT)? mySelection.baseline : (textF.geometricBounds[2] - ^ PREF_HIGHT) target. add ({geometricBounds: Array (top,
mySelection.parentTextFrames[0].geometricBounds[1], top + PREF_HIGHT+10, _WIDTH +
mySelection.parentTextFrames[0].geometricBounds[1])})
)else{
// Контейнер, встроенный в текст target.add() with(target[0]) {
// Обновляем содержимое родительского объекта parent.recompose();
// Устанавливаем минимально необходимые размеры для фрейма geometricBounds =
[geometricBounds [0] , geometricBounds [1],
geometricBounds[0]+PREF_HIGHT, geometricBounds[1]+_WIDTH] }
}
// Вставляем в контейнер заголовок и подрисуночную подпись,
// оставляем пустой абзац для вставки в него иллюстрации
with(target[0]){
contents = startP.contents +'\r'+ endP.contents.substr(0, endP.contents.length-1)
// Сразу же форматируем текст
paragraphs[0].appiystyle(pS [pSA [ aS[0]]], true)
// В пустой абзац вставляем контейнер для иллюстрации paragraphs[1].rectangles.add({fillColor: aD.swatches[0], strokeWeight: 0})
// Стандартная процедура при внедрении в текст графических объектов paragraphs[1].recompose()
// Вставляем иллюстрацию with(paragraphs[1].rectangles[0]){ place(File(fname))
w = aiiGraphics [0] . geometricBounds [3] -aiiGraphics[0].geometricBounds[1] h = aiiGraphics [0] . geometricBounds [2] -aiiGraphics[0].geometricBounds[0]
// В зависимости от размеров иллюстрации принимаем решение:
// если они меньше, чем у контейнера, то содержимое центрируем;
// если больше - расширяем размеры контейнера до размеров // иллюстрации, чтобы ничего не осталось скрытым if (w < _WIDTH-1 || h < PREF_HIGHT-1) { geometricBounds = [geometricBounds[0],