Институт

Берс А.А., Поляков В.Г. Системы и средства электронной подготовки изданий. Проект САПФИР

Уже при издании в журнале "Кибернетика" (в номерах: 6, 1969г. и 1, 1970г.) "Сообщения об АЛГОЛе-68" в Киеве мы столкнулись с ужасной бедностью наличной полиграфической технической базы. Чтобы напечатать параллельными текстами английский оригинал и его русский перевод, каждый из которых был сильно структурированным текстом с богатым ассортиментом шрифтовых выделений, пришлось буквально "стать на уши" и лично встревать в ход набора и корректуры.

С теми же проблемами пришлось встретиться и через пять лет при издании "Пересмотренного сообщения об АЛГОЛе-68". ИФИП предоставила нам готовые фотоформы оригинала описания языка, использование которых позволяло обеспечить безошибочное воспроизведение английской части, но нам было необходимо применить те же гарнитуры и начертания шрифтов и в русской его части, а требовалось шесть различных начертаний трех гарнитур. Оказалось, что это можно было сделать только в цехе фотонабора Первой Образцовой типографии им. А.А. Жданова в Москве, причем работа по подготовке качественного издания оказалась высшей по категории сложности и потребовала очень много времени. Таким образом, перед нами предстал воочию "живой пример" трудоемкого ручного использования "автоматизированной системы фотонабора на ЭВМ".

Все это привело к тому, что параллельно с изданием АЛГОЛа-68 в ВЦ СО АН СССР с 1975 г. по заказу Первой Образцовой типографии им. А.А. Жданова в Москве стала разрабатываться система САПФИР (Система СО АН Автоматизированной Подготовки Фотонаборных Изданий, обеспечивающая Редактирование), которой занялись А.А. Берс и В.В. Медведев. Работа, естественно началась с системного анализа процессов подготовки изданий, определяющих строение таких систем.

Здесь мы кратко изложим результаты этого анализа и сформированных на его основе гипотез проектных решений, воспроизводя некоторые материалы из отчетов того времени (1975г.). Они практически оседали на полках в виде внутренних отчетов, хотя, по моему мнению, именно этот системный анализ проблемных областей (включая и собственно системное программирование, как проблемную область) дает наиболее содержательное представление о нашей работе. Особенно, если вспомнить, что IBM PC XT был выпущен в 1981г., а первый "Макинтош" в 1984г.

Исходные положения

В основу системы положены принципы разделения различных сторон работы по подготовке издания между несколькими типами пользователей и отделения собственно текста от его полиграфического исполнения. Особо важным представлялось обеспечение комплексного характера полной работы над изданием для всех этапов работ с помощью ЭВМ и накопление в архиве системы не только подготовленных собственно-текстов, но и отдельно сформированных способов полиграфического исполнения изданий.

Характеристическими чертами книги как объекта, которым должна быть подчинена работа системы подготовки изданий с помощью ЭВМ, являются, по нашему мнению, следующие:

1) Обязательное соответствие и верность оригиналу — это, по-видимому, не требует разъяснений.

2) Однородность исполнения одинаковых элементов издания — это требование проходит "красной нитью" через все руководящие материалы и методические пособия по редактированию и полиграфическому оформлению книжных изданий.

Так, например, все абзацные отступы должны иметь один и тот же размер во всей книге, все заголовки рубрик одной ступени должны быть набраны одним шрифтом и одинаково расположены. Для издания в целом — это относится к формату страниц, расположению колонтитулов и колонцифр, организации подписей к иллюстрациям и т.п.; те же требования однородности применяются для многотомных или серийных изданий.

З) Книга является не только продуктом производства, но и произведением искусства — это относится к каждой книге. Выбор формата и размеров полей полосы, подбор шрифта, размещение иллюстраций и подписей к ним, расположение и способ оформления примечаний, уравновешенность композиции спусков, организация указателей, оглавления, выходных данных и конечно же титульного разворота — все это является предметом заботы и работы не только художественного редактора и художника, но и технического редактора, и всех других людей, выпускающих книгу.

1. Общие свойства

Для того чтобы обеспечить реализацию этих черт книжных изданий, удобство пользования и эффективность работы, программная система подготовки изданий с помощью ЭВМ должна обладать следующими свойствами.

1) Обеспечение комплексного подхода к подготовке издания, который начинается с ввода оригинала в память ЭВМ и завершается выдачей через фотонаборные автоматы полного комплекта форм всех полос книги. Только на этом пути можно обеспечить эффективное использование таких систем и надежность процессов переработки текста.

Обработка издания в ЭВМ должна включать в себя осуществление всей правки, как представленной издательством, так и вызванной неизбежными ошибками операторов-наборщиков. а также реализацию всех указаний технического и художественного редактора — относящихся и к особенностям текста, например, выделения, набор формул и т.п., и к его расположению на полосах, например, размещение иллюстраций, организация заголовков и т.п..

2) Возможность легкого внесения изменений в текст и его оформление в течение всего процесса подготовки издания на ЭВМ. Рассматриваемая вместе со способностью программных систем возможность осуществить безошибочную реализацию подстановок в текст на всем его протяжении даже при наличии достаточно сложных контекстных ограничений, управляющих такой подстановкой, эта возможность обеспечивает накопление улучшений в тексте издания в процессе его подготовки в ЭВМ.

Вместе с комплексностью и возможностью обеспечить защиту частей текста от непреднамеренного вмешательства и повреждения, которую предоставляют современные системы программирования, это обеспечит качественно новый уровень проведения процессов подготовки изданий.

3) Необходимо осуществить отделение текста издания от его полиграфического оформления, что обеспечит качественно новый уровень работ по сравнению с существующей технологией.

4) Накопление в системе средств осуществления общих приемов полиграфического оформления элементов изданий и возможность использовать их простым указанием на их названия.

Эти приемы и правила, накопленные за несколько веков развития книгоиздания, разбросаны в по различным методическим и учебным пособиям по полиграфии или же передаются "из уст в уста" как традиции среди полиграфических и издательских работников. Собрание этих приемов и системная организация их применения позволяет после включения их в библиотеку системы сделать применение весьма сложных способов организации текста доступным даже рядовому пользователю.

5) Правильное разделение работ, осуществляемых системой, между пользователем-человеком и ЭВМ, с учетом того, что программы для ЭВМ не могут в ходе своей работы ни опираться на смысл обрабатываемого текста, ни воспринимать художественных образов, задуманных оформителем или художественным редактором.

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

Правильный учет указанных факторов позволяет организовать выполнение работ в два этапа — однократное, разовое, принятие решения человеком и систематическое, монотонное осуществление принятого решения с помощью ЭВМ.

Отметим также, что программы обработки текста почти совсем не используют (в отличие от вычислительных задач) "длинные" машинные операции (деление, операции с плавающей точкой и т.п.) Зато программы обработки больших массивов символьной информации весьма интенсивно используют внешнюю память ЭВМ и, следовательно, ее каналы обмена.

2. Текст и носитель. Адресация

Как и всякий другой вид информации, текстовая информация всегда представлена на каком-нибудь материальном носителе. При этом способ записи в особенности строения носителя привносят дополнительное структурирование информации, накладывающееся на структуру собственно текста.

В процессе переработки текста в системе она многократно переписывается с одного вида носителя на другой. Сделать невидимыми для пользователя особенности представления информации на разных носителях, а также обеспечить независимость собственной структуры текста — одна из главных задач, возникающих при разработке системы.

Однако структуры, по крайней мере, двух носителей существенно неустранимы из поля зрения пользователя:

во-первых, представление перерабатываемого текста в главной технической распечатке (ГТР), по которой пользователь будет обращаться к тексту при его подготовке;

во-вторых, тот вид текста, который он получит по завершении всех процессов его переработки системой, т.е. комплект оригиналов печатных форм издания.

Знание структурных особенностей первой из упомянутых форм необходимо всем пользователям, а работа в терминах готовых полос может оказаться существенной для художественного (технического) редактора.

Структура текста. Основными элементами структуры текста в системе САПФИР являются: рубрикация, выделения, связи (например, внутритекстовые ссылки).

Рубрикация обеспечивается разделителями и ведется от абзаца вверх (пункт, параграф, глава и т.п.) с последовательной нумерацией уровней рубрик. Такой способ представления рубрикации выбран, поскольку число уровней и стиль рубрикации в разных изданиях могут быть различными и, в отдельных случаях, могут быть вообще отнесены к полиграфическому оформлению, а не к собственно тексту.

Более мелкие, чем абзацы, части текста (предложения, слова) не обеспечиваются явно структурой собственно текста, поскольку строение текста внутри абзаца совпадает с его же строением, обеспечиваемым структурой носителя.

В структуру собственно текста включаются только абстрактные выделения, обеспечиваемые нумерованными ограничителями, связи в тексте и из текста также обеспечиваются с помощью ограничителей, принадлежащих к "невидимой части" базового алфавита системы САПФИР.

Структура носителя. Основной, видимый носитель текста (распечатка) имеет структуру четырехмерного массива позиций.

Весь текст издания целиком рассматривается в архиве системы как один заказ. Заказ состоит из последовательно расположенных секций (первое измерение), составленных из последовательности страниц (второе измерение). Каждая страница является последовательностью строк (третье измерение), образованных следующими одна за другой позициями (четвертое измерение).

Подчеркнем, что понятия строки и страницы принадлежат только структуре носителя и не входят в понятие структуры собственно текста. Важно также понимать, что размещение текста по строкам и страницам ГТР никак не связано с будущим размещением этого текста на полосах издания.

Адресация. Самая главная проблема, которая должна быть решена при проектировании адресации, — в максимальной степени обеспечить неизменность адресов тех элементов (фрагментов) текста, которые не затрагиваются данной редактирующей операцией. При изменении текста может измениться размещение элементов структуры собственно текста по элементам структуры носителя и, кроме того, могут измениться "расстояния", выражаемые как в элементах структуры собственно текста, так и в элементах структуры носителя.

Именно из этих соображений структура носителя и способы адресации были выбраны в системе САПФИР таким образом, чтобы обеспечить пользователя отображением текущего состояния текста на основе постраничной замены в распечатке только тех ее страниц, которые были затронута при редактировании.

Адресация может базироваться на структуре текста или структуре носителя и в каждом из этих случаев может быть прямой или относительной. Кроме того, возможна адресация по содержанию текста (по образцу). С некоторыми ограничениями указанные выше способы адресации свободно могут комбинироваться друг с другой. Ограничения, накладываемые на адресацию, объясняются, главным образом, необходимостью обеспечить ее эффективную реализацию.

Всякий раз, когда для обозначения последовательности однородных элементов какой-нибудь структуры (текста или носителя) используется нумерация, система снабжает эти элементы последовательными номерами, выбираемыми с некоторым шагом. Это позволяет сохранить нумерацию элементов неизменной, при последующей вставке в последовательность других элементов.

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

Строки последовательно нумеруются в пределах секции независимо от их расположения на той или иной странице. Кроме того, можно пользоваться относительным адресом строки на странице.

Наличие двух самостоятельных способов адресации для строк создает дополнительные удобства пользователю и позволяет сохранить стабильный номер строки, даже если в процессе редактирования она перемещается с одной страницы распечатки на другую.

В процессе отдельного сеанса редактирования система следит за тем, содержание каких страниц распечатки изменяется, с тем, чтобы выдать новую распечатку только этих страниц в конце сеанса.

Вследствие небольшого объема и легкости обозримости строки в целом существует только относительная адресация позиций в строке. Поскольку в пределах абзаца структурирование текста в распечатке совпадает со структурой носителя, абзац состоит из строк, а последние - из позиций, адресация по структуре собственно текста ведется на уровне абзацев и выше.

На каждом уровне рубрикации соответствующие рубрики нумеруются последовательно. Кроме того, так как рубрики обычно имеют внешнее обозначение kназвание), возможно обращение к рубрике по ее обозначению.

Другим способом адресация по тексту является адресация по образцу. Фактически система в этом случае вырабатывает адрес по структуре носителя того места текста, которое буквально совпадает с заданным образцом. Система может обеспечить также поиск и выдачу адресов всех вхождений заданного образца в некоторую часть текста.

Выбранная система адресации предоставляет пользователю богатые возможности, являясь более мощной, чем системы адресации, допускаемые аналогичными отечественными и зарубежными системами, оставаясь при этом эффективно реализуемой. За исключением поиска по образцу, все способы задания адресов и диапазонов статически приводятся (блоком адресного анализа) к фактически реализованному в системе адресу "секция, номер-строки, позиция".

3. Рабочее окружение и пользователи

Применение системы САПФИР для подготовки изданий создает для пользователей системы некоторое качественно новое рабочее окружение. Особенности этого рабочего окружения должны способствовать существенному улучшению производительности труда и создавать дополнительные удобства пользователям, но, с другой стороны, это рабочее окружение предъявляет к пользователю новые дополнительные требования и меняет в некоторых отношениях сложившийся стиль редакционно-издательской работы.

Одним из новых требований, вызываемых рабочим окружением, является использование адресации для указания мест в тексте, подлежащих редактированию (корректуре).

Другой существенной чертой рабочего окружения служит различие между описываемым текстом в том виде, в каком он появится на полосах готового издания, и описывающим его текстом, который видит пользователь в процессе обработки издания на системе и который предъявляется ему в форме главной технической распечатки (ГТР).

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

необходимость отделения собственно текста от его конкретного полиграфического оформления, для этого необходимо оставлять в составе собственно текста указания об абстрактных выделениях, уровнях рубрикации и связях, привязывая к ним самостоятельно задаваемые указания о способах оформления соответствующих элементов собственно текста;

полиграфические издания используют шрифт с буквами различной ширины, отсутствующий на обычных воспроизводящих устройствах современных ЭВМ;

подготовка изданий на разных языках и по всем отраслям человеческой деятельности приводит к применению очень большого числа используемых символов, принадлежащих разным графическим основам (символы, используемые в разных науках, все не европейские алфавиты и т.п.);

ограничения стандартных устройств ввода в ЭВМ требуют предварительного описания двумерных (блочных) текстов с помощью некоторого линейного языка.

Упомянутый в последнем из перечисленных пунктов прием описания прямо не воспроизводимых особенностей перерабатываемого текста посредством некоторых, имеющихся более простых средств, является общим механизмом представления описываемых текстов в системе, и применим и во всех остальных перечисленных случаях. Так, например, недостающие символы представляются некоторой комбинацией из имеющихся.

Важной особенностью создаваемого САПФИРом рабочего окружения является безусловная верность выполнения редактирующих указаний пользователя, делающая ненужными процессы сверки выправленного текста. Кроме того, система обеспечивает неизменность частей текста, не затронутых при редактировании.

В процессе подготовки издания часто возникает необходимость в осуществлении серии однородных действий, применяемых к разным местам текста, определяемых некоторым явно сформулированным условием. Вводимое САПФИРом рабочее окружение позволяет осуществлять такую серию действий, задавая ее одним указанием. Исполнение этих действий во всех требуемых местах текста гарантируется системой.

Рабочее окружение, создаваемое САПФИРом, обеспечивает проверку всей информации, предъявляемой пользователем (как текстовой, так и управляющей), на непротиворечивость и безопасность применения к тексту, обеспечивая тем самым защиту обрабатываемого системой текста от непреднамеренной его порчи пользователем.

Средства текстового редактирования. В состав средств редактирования входит описание структуры распечаток, способы адресации и команды.

В связи с большой важностью обеспечения серийных работ при редактировании текста в общем случае строение команды текстового редактирования имеет следующий вид:

в ДИАПАЗОНЕ
при УСЛОВИИ
выполнить ДЕЙСТВИЕ, где

ДИАПАЗОН - указывается парой граничных адресов, УСЛОВИЕ может быть задано образцом, а ДЕЙСТВИЕ - выбирается из следующего списка команд текстового редактирования:

  • вычеркнуть текст между двумя указанными позициями,
  • вставить указанный текст в указанную позицию,
  • скопировать указанный текст в указанные места,
  • переставить указанные фрагменты текста в указанном порядке,
  • перенести указанный фрагмент текста в указанное место,
  • сменить нумерацию строк текста,
  • уплотнить указанный фрагмент текста за счет неполных строк в абзаце,
  • печатать указанную часть текста в указанном стиле.

Этот список команд может быть в дальнейшем пополнен, в частности, за счет команд, связанных с работой за дисплеем в диалоговом режиме.

В зависимости от конкретных потребностей не все компоненты структуры команды, названные выше, долины задаваться в каждом отдельном случае. Использование предоставляемых системой средств умолчания, помноженное на разнообразив задания адресации и условий, превращает этот небольшой список в мощный набор средств текстового редактирования, способный удовлетворить самого взыскательного пользователя.

К средствам редактирования относится также язык описания блочных (двумерных) текстов. Описание семантики этого языка более подробно изложено в работе [I].

В состав основных средств редактирования включены средства свертывания наборов команд, которые могут называться по их имени. Такие макросредства значительно увеличивают изобразительные возможности языка редактирования.

В состав средств редактирования включены форматные директивы (форды), которые могут быть вставлены в текст соответствующими командами. С помощью фордов осуществляется вызов процедур управления расположением и форматом текста, находящихся в системной библиотеке фордов (СБФ). Вызов этих форматных процедур может производиться также неявно через связи, устанавливаемые в спецификации заказа между некоторым типом элементов структуры текста и соответствующей процедурой.

4. Вид текста в процессе подготовки

Организация базового алфавита. Исходя из того, что система, будет перерабатывать тексты на многих языках, основной состав алфавита представляет собой объединенный полиграфический алфавит, рассчитанный на обслуживание 124 языков, письменность которых построена на латинско-кириллнческой основе. Этот алфавит, как известно [2], содержит 450 различных символов. С целью уменьшения числа символов проводится отделение акцентов от основных знаков с тем, чтобы основной регистр базового алфавита укладывался в 192 символа. Оставшиеся 64 символа образуют невидимый алфавит и используются для служебных целей.

Вследствие этого базовый алфавит включает в себя некоторое число регистров, один из которых занят акцентами, а другие могут содержать символы на других графических основах, математические символы и т.п.

Переход от одного регистра к другому осуществляется специально выделенным символом невидимого алфавита. Переход к регистру акцентов (своему для каждого основного регистра) управляется другим невидимым специальным символом, область действия которого распространяется на один следующий за ним знак. Вводится специальный (невидимый) знак "лигатура", действующий аналогично акценту, но в пределах одного и того же регистра.

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

Как было сказано, распечатки организованы в пачки страниц, каждая из которых представляет собой соответствующую секцию заказа. Число строк на странице и длина строк определяется режимом работы системы.

В заголовке каждой страницы печатается информация, позволяющая идентифицировать текст, к которому принадлежит страница (например, обозначение заказа) место данной страницы в этом тексте (например, номер секции-номер страницы) и обозначение редакции (например, дату последнего изменения на ней). Кроме того, каждой секции предшествует титульная страница, которая может содержать кроме обозначения заказа и секции служебную информацию о текущем состоянии распечатки данной секции, например: сведения о редакции каждой из страниц секции, использованный режим управления форматом распечатки данной секции и т.п.

По завершении каждого отдельного сеанса редактирования конкретной секции система определяет, какие из страниц предыдущей распечатки требуют замены, и выдает для них новую распечатку. При этом, в случае вставки новых частей текста система заводит новые промежуточные страницы с тем, чтобы по возможности уменьшить число перепечатываемых страниц. Вместе с комплексом заменяемых/добавляемых страниц всегда выдается новый титульный лист секции. Для поддержания распечатки, правильно отражающей текущее состояние текста, пользователь должен произвести замену/вставку полученных страниц в свой комплект распечатки в соответствии с указаниями нового титульного листа.

При вводе текста в систему производится его размещение по страницам и строкам ГТР, при этом система обеспечивает, чтобы элементы структуры собственно текста располагались на целом числе элементов структуры носителя. Так, например, абзац всегда начинается с новой строки, а для рубрик более высокого Уровня при вводе может быть указано, какие из них могут начинаться с новой страницы или новой секции. Система будет заполнять строки на странице в пределах заданного размера, ни делая переносов слова с одной строки на другую.

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

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

Оригинал-макет. Для того чтобы иметь возможность проверить результаты работы системы по подготовке изданий без дорогостоящей выдачи всего текста через фотонаборный автомат, предусматривается возможность распечатки оригинал-макета.

Эта распечатка проводится после отработки фордов и верстки текста и отражает точное распределение текста по строкам и страницам после выключки и с учетом расположения иллюстраций и блочных текстов на полосе. Никакая внетекстовая информация (уже отработанная при верстке-выключке) в оригинал-макете не распечатывается.

Страницы оригинал-макета содержат в точности то же число строк, что и полосы готового издания.

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

5. Архив и библиотеки

Архив системы САПФИР предназначен для хранения обрабатываемых текстов, а также ранее отработанных текстов прошедших заказов для обеспечения возможности их переиздания.

Предусматривается два уровня архива:

  • оперативный архив, в котором хранятся текста заказов, находящихся в работе,
  • неоперативный архив прошлых текстов, хранимых с целью переиздания.

Каталоги обоих уровней постоянно присутствуют в системе. Текста оперативного архива располагаются, как правило, на магнитных дисках, но, в случае недостатка на них места, могут временно размещаться и на магнитных лентах. Тексты в неоперативном архиве всегда хранятся на магнитных лентах. Перемещение текста с одного уровня архива на другой требует отдельной работа, инициируемой оператором системы.

Библиотеки системы делятся на два класса: библиотеки сокращений и библиотеки форматных директив. Они располагаются на магнитных дисках и всегда доступны обрабатывающим процессорам.

6. Организации работ и процессоров

Процесс подготовки издания в системе САПФИР складывается из некоторой последовательности сеансов обработки текста. Начальный сеанс состоит во вводе текста и выдаче ГТР. Каждый последующий сеанс включает требуемую заказанную обработку текста из архива с выдачей заменяемых страниц ГТР.

Сеанс, естественно, разбивается на два части:

  • человеческую работу, состоящую в чтении ГТР и подготовке пакета указаний для системы я набору;
  • машинную работу, состоящую во вводе указаний, в их выполнения и выдаче результатов.

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

Работы и процессоры. В ходе сеанса, как правило, выполняется одна или несколько работ. Понятие работы рассматривается с точки зрения пользователя и обозначает некоторый логически замкнутый комплекс действий, используемый для обработки текста или для изменения состояния каких-либо компонент системы. Для каждого вида пользователя определен набор работ, которые может выполнять для него система.

Структура общения пользователей и обслуживающего персонала с системой САПФИР поддерживает производственный поток информации, обслуживающей основной технологический процесс подготовки издания, и справочный поток, снабжающий пользователей информацией о текущем состоянии системы.

Оба эти потока замыкаются через пользователей, начинаясь с подготовки данных операторами—наборщиками и завершаясь соответствующими распечатками.

Такая структура общения с системой выбрана вследствие того, что она инвариантна к выполнению работ в пакетном или диалоговом режиме связи пользователей с системой. Здесь рассматривается стартовый вариант системы, рассчитанный на пакетную работу. Дальнейшее расширение будет обеспечивать возможности диалога, что потребует пополнения этой структуры при ее сохранении добавочным программным обеспечением. При этом правила задания работ останутся для пользователей почти неизменными.

Основными структурными единицами системы, обеспечивающими проведение работ, являются процессоры. При этом процессор может выполнять одну или несколько работ целиком или же одна работа может выполняться нескольким процессорами. Однако соотношение между работами и процессорами не допускает, чтобы часть какой-либо работы выполнялась частью некоторого процессора. Процессоры системы делятся на:

  • обрабатывающие процессоры, процессор текстового редактирования, процессор интерпретации фордов, процессор расчета макета, процессор верстки-выключки, процессор составления указателей,
  • процессоры ввода и вывода, процессор распечатки,
  • монитор системы, службы архива и библиотек,
  • средства подготовки фордов.

Связи обрабатывающих процессоров показаны на рисунке.

В системе предусмотрены два уровня архива (оперативный и не оперативный) и два типа библиотек (сокращений и фордов). Работа с архивами и библиотеками осуществляется специальным процессором, называемым службой архива и библиотек.

Монитор системы является процессором, предназначенным для управления другими процессорами и организации прохождения работ через систему в той степени, в какой это не обеспечивается средствами операционной системы, под управлением которой работает САПФИР. В мониторе сконцентрирована вся техническая информация о состоянии находящихся в системе заказов и подробностях запуска других процессоров.

Монитор взаимодействует с оператором ЭВМ и помогает ему в организации потока заданий при работе системы. Возможности и строение монитора существенно зависят от предоставляемых операционными системами средств и, по-видимому, для каждой используемой операционной системы монитор придется переписывать заново. Кроме того, при пополнении системы диалоговыми средствами именно монитору придется взять на себя организацию диалогового режима.

Процессор и работы текстового редактирования. Строение процессора текстового редактирования учитывает, что указания для редактирования одного и того же текста могут поступать в виде нескольких пакетов команд. Когда реализуется параллельная корректура, (приходящая от редактора, автора и т.д.), процессор производит слияние всех указаний и их упорядочение по возрастанию адресов их применения к исходному тексту.

Пакетный режим осуществления корректирующих указаний предполагает, что вся адресация в них относится к одному и тому же состоянию текста, представленному ГТР. Процессор проверяет полученные указания на их синтаксическую правильность, а также на то, чтобы для одного и того же места исходного текста не возникли противоречивые предписания по обработке.

В процессе анализа формируется финальный пакет указаний, который и будет применен к тексту, если не возникло противоречий. В противном случае выдаются сообщения, и пакет указаний возвращается пользователям на доработку. Исходный текст остается неизмененным.

Одновременно с анализом непротиворечивости указаний выделяются образцы, если они имеются, и определяются диапазоны.

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

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

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

Для тех блоков текста, расположение которых определено не жестко (иллюстрации, примечания), заводится дополнительный список, связанный с основными двусторонними ссылками.

Каждый элемент основного и дополнительного списков содержит информацию о размерах соответствующего фрагмента текста задаваемую максимальным и минимальным значением, которую данный размер может принимать. Кроме того, в состав элемента переносятся все текстовые связи соответствующего фрагмента.

Таблица полос, получаемая в качестве результата, предназначается для ссылок на элементы рабочего списка, размещаемые на каждой данной полосе в результате макетирования. И, кроме того, для указания координат для расположения соответствующих фрагментов текста на полосе.

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

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

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

При обнаружении нарушения краевых условий делается попытка назначить фрагментам текста другие размеры в пределах рассчитанных границ. Этот процесс продолжается до тех пор, пока не будут устранены все неувязки. В случае, если процессор исчерпал все заложенные в него возможности, выдается сообщение, запрашивающее указания от технического (художественного) редактора, текущее состояние макета запоминается и процесс расчета превращается вплоть до появления указаний.

После завершения расчета макета он может быть помещен в архив и/или передан процессору распечатки.

Заметим, что процессор расчета макета не производит фактического размещения текста на полосах в ходе итерационного процесса расчета, оперируя не с текстам, а только с макетом, объем которого несравненно меньше.

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

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

Процессор верстки-выключки организован таким образом, чтобы локализовать на компенсационной основе отклонения от ранее рассчитанного макета в пределах минимально возможного числа абзацев.

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

Интерфейсы системы. Для того чтобы сделать работу процессоров системы, не зависящей от специфических особенностей представления символов на устройствах ввода и вывода, а также для того, чтобы обеспечить возможность подключения в дальнейшем новых устройств, предусматриваются специальные средства отделения представлений символов в устройствах от представлений их в системе.

Для этой цели: определяются ограничения на формат представления входной и выходной информации системы, называемые входным и выходным интерфейсами, соответственно.

Для каждого типа устройств ввода-вывода предусматриваются специальные программы, называемые логическими драйверами соответствующего устройства. Они предназначены для преобразования способа представления символов на устройстве ввода во входной интерфейс или из выходного интерфейса на устройство вывода.

Другой важной задачей является обеспечение возможности обмена текстами между расположенными в разных местах экземплярами системы САПФИР. Это необходимо, чтобы различия в рамках работы системы, допускаемые средствами генерации и адаптации, не отражались в текстах, предназначенных для обмена.

С этой целью определяется ограничение на формат представления информации в не оперативном архиве, называемое обменным интерфейсом.

Необходимо отметить, что введенный выше интерфейс "экранирует" обработку текстов в системе только от представлений символов на устройствах. Очевидно, что такие различия, как разница в ширине изображения символов на разных наборных автоматах или отсутствие тех или иных символов на устройствах, придется учитывать при задании указаний на обработку.

Важной особенностью принятого подхода является то, что при нем драйверы устройств должны производить только локальную обработку (перекодировку) текста.

Ограничение, определяющее входной интерфейс, заключается в том, что представление текста в его формате рассматривается как линейно упорядоченная последовательность символов базового алфавита (как видимых, так и невидимых).

"Ограничение" накладываемое на формат представления информации в выходном интерфейсе, состоит в том, что текст представляется линейно упорядоченной последовательностью двухбайтовых полей , первым байтом которого является "представление" символа базового алфавита, а второй байт занят информацией о ширине символа, указанного первым байтом.

Те поля, второй байт которых указывает на нулевую ширину, служат для размещения в них представлений команд управления соответствующим ФНА.

Ограничение, накладываемое на формат представления информации в файлах неоперативного архива, состоит в том, что текст заказов представляется на магнитной ленте в виде одного последовательно организованного файла с блокированными записями фиксированной длины. Первый блок файла должен содержать информацию о внутреннем строении текста, формат которой будет установлен при программировании. Эта информация должна заканчиваться специальным разделителем.

Литература

  1. БЕРС А.А., ДЕТУШЕВ В.А. Управление набором блочных текстов в системе САПФИР.

Сегодня (декабрь 2000г.) эти материалы в первую очередь с очевидностью демонстрируют желание дать редакторам возможность работать по-человечески даже на тех аппаратных и технических средствах, которые были в наличии. Разумеется, это была "попытка с негодными средствами" и опытная реализация осталась сама по себе. Практическое воплощение предлагаемые принципы получили уже в производственной системе АСТРА, вписанной в терминальную диалоговую версию ОС на старших моделях ЕС ЭВМ, которая реализовывалась в НИЦЭВТе с участием некоторых из наших сотрудников (С.К. Черноножкин, В.А. Детушев).

Однако, уже на защите Эскизного проекта системы САПФИР на техсовете Госкомиздата А.П. Ершова взял за жилетную пуговицу директор издательства ЦК КПСС "Правда" Б.А. Фельдман и сказал: "Я хочу, чтобы у нас тоже была такая система. И даже — лучше."

Так началась другая история — Проект РУБИН.