1. Редакторы текстов ¦
Редактор текстов (text editor) обеспечивает ввод, ¦
изменение и сохранение любого символьного текста, но ¦
предназначен он для подготовки только текстов, которые ¦
в конечном итоге потребляются программами. ¦
¦
Различаясь способами управления и набором сер- ¦
висных возможностей, все они в том или ином виде позво- ¦
ляют: ¦
¦
набирать текст на экране, используя до двухсот ¦
символов; ¦
исправлять ошибочные символы в режиме замены; ¦
вставлять и удалять группы символов (слова) в пре- ¦
делах строки, не переводя неизменившуюся часть строки, ¦
а сдвигая её влево/вправо целиком и в режиме вставки; ¦
удалять одну или несколько строк, размножать их ¦
или перемещать в другое место текста; ¦
раздвигать строки существующего текста, чтобы ¦
вставить туда новый фрагмент; ¦
вставлять группы строк из других текстов; ¦
обнаруживать все вхождения определенной группы ¦
символов (контекста); ¦
заменять один контекст другим, возможно, разной ¦
длины; ¦
сохранять набранный текст для последующих коррек- ¦
ций; ¦
печатать текст на разных типах принтеров стандарт- ¦
ными программами печати одним шрифтом в пределах доку- ¦
мента. ¦
¦
Легко видеть, что использование для подготовки и ¦
печати документа редактора текста на качественном уров- ¦
не соответствует использованию пишущей машинки, разве ¦
что более производительному из-за легкости повторения ¦
печати с хранимой в электронной памяти заготовки и воз- ¦
можности как исправления описок, так и частичной пере- ¦
работки текста путем вставки или исключения новых абза- ¦
цев. ¦
¦
Можно, несколько забегая вперед, указать важный ¦
классификационный признак. Подобно пишущей машинке ре- ¦
дактор текстов не выделяет особо символ пробел, т.е. ¦
ему безразлично машинное представление этого символа - ¦
его код. ¦
¦
2. Системы подготовки текстов ¦
¦
Когда предметной областью пользователя ПЭВМ явля- ¦
ется подготовка текстов на естесственных языках для пе- ¦
чати и печать этих документов, набор операций редактора ¦
должен быть существенно расширен, и программный продукт ¦
переходит в новое качество - систему подготовки текстов ¦
(СПТ) - продукт которому соответствует англоязычный ¦
термин word processor. ¦
¦
Необходимыми и достаточными операциями для квали- ¦
фикации программного продукта, как СПТ, является вык- ¦
лючка, автоматический перенос слов и пагинация. ¦
¦
Выключкой называется операция выравнивания длины ¦
печатных строк согласно указанному размеру за счет рав- ¦
номерного расширения промежутков между словами. Резуль- ¦
татом выключки является ровный правый край всех строк ¦
абзаца (кроме последней). ¦
¦
Обычно СПТ выполняют выключку автоматически, как ¦
только заполнена текущая строчка. При этом "каретка" ¦
сама переводится на следующую строчку экрана. ¦
¦
Легко видеть, что выключка (англ. justify) явля- ¦
ется операцией интернациональной, т.е. не требует ка- ¦
кой-то особой русификации программного продукта кроме ¦
обеспечения возможности вводить русские буквы с клавиа- ¦
туры и видеть их на экране и на распечатке. А делается ¦
это "штатными" средствами ПК - драйверами - без измене- ¦
ния русифицируемой программой. ¦
¦
Перенос слов, на первый взгляд, несложно выполнять ¦
вручную. При этом программе безразлично, на каком языке ¦
текст набирается на экране. (Более того, после ручного ¦
переноса даже пишущие машинки с электронным блоком уже ¦
умеют делать выключку строки после перевода каретки). ¦
Альтруизм рано или поздно оборачивается злом для обеих ¦
сторон: стремление помогать машине ручным переносом ¦
"наказывается" после первой же описки или стилисти- ¦
ческой правки - не только изменяются места желательных ¦
переносов, но и вставленные в текст дефисы, становятся ¦
"персонами non grata". Автоматический алгоритм переноса ¦
не только избавляет пользователя от необходимости сле- ¦
дить за подходом курсора к правой границе строки, но и ¦
стимулирует свободную правку "экранного черновика", так ¦
как программа учтет знаки переноса, которые вставила ¦
сама. Не трудно понять, что алгоритм переноса привязан ¦
к конкретному естесственному языку. Например, по-анг- ¦
лийски слово talking можно перенести только как ¦
talk/ing, а гов/оря по-русски переносить нельзя. Поэто- ¦
му "ординарная" русификация на уровне драйверов внешних ¦
устройств здесь не проходит. ¦
¦
Выполнение выключки без автоматического переноса ¦
обычно серьезно ухудшает качество подготавливаемого до- ¦
кумента из-за больших межсловных промежутков. ¦
¦
Наконец, третья обязательная операция - пагинация ¦
- позволяет проверить позиции, где произойдет разделе- ¦
ние страниц при печати на форматных листах бумаги, и ¦
заранее принять меры, чтобы не допустить нежелательных ¦
разрывов страниц. ¦
¦
К типичным для СПТ операциям можно также отнести ¦
шрифтовое выделение (хотя бы подчеркивание, курсив и ¦
полужирный), переход к новому абзацу, центрирование за- ¦
головка, быстрое перемещение курсора по элементам лите- ¦
ратурного текста - словам, предложениям, абзацам. Нали- ¦
чие других возможностей определяется классом СПТ, т.е. ¦
конкретизацией предметной области. ¦
¦
Для текстовых редакторов понятие класса практи- ¦
чески отсутствует, так как при подготовке любого текста ¦
любому пользователю может понадобиться любая операция ¦
редактирования. Для СПТ набор операций определяется ха- ¦
рактером печатаемых документов. Здесь невостребован- ¦
ность дополнительных возможностей приводит только к ¦
усложнению обучения и работы с программой при увеличе- ¦
нии расходов на приобретение. ¦
¦
Среди систем подготовки текстов на естесственных ¦
языках можно выделить три больших класса, но с доста- ¦
точно размытыми границами: форматеры, текстовые про- ¦
цессоры и настольные издательства. Их интуитивное раз- ¦
личие определяется характером создаваемых документов: ¦
письма, небольшие статьи - форматеры; машинописные ра- ¦
боты (отчеты, диссертации, книги) - текстовые процессо- ¦
ры; работы, выполняемые по правилами полиграфии с по- ¦
лиграфическим качеством (в частности, готовые для фото- ¦
набора или линотипирования), - настольные издательства. ¦
¦
Такая классификация нас не устраивает, либо из нее ¦
следует правило выбора по типу документов, а не по ¦
способности программной системы удовлетворить конкрет- ¦
ного пользователя. Поэтому рискнем, без критики иных ¦
подходов, предложить классификацию более конструктив- ¦
ную. ¦
¦
Признаки, позволяющие говорить о редакторе как о ¦
СПТ, уже названы: ¦
выключка, автоматический перенос, пагинация (плюс раз- ¦
ные шрифты). Было бы соблазнительно перечислить расп- ¦
ространенные операции над элементами текста (тем более, ¦
что многолетняя практика их фактически стандартизирова- ¦
ла) и указать, что одни операции присуще всем СПТ, ¦
включая форматеры, другие - только текстовым процессо- ¦
рам, а само наличие третьих говорит о принадлежности ¦
классу настольных издательств. При этом всякий раз сле- ¦
дует руководствоваться предположительной сложностью ре- ¦
ализации операции и упомянутым уже классом документов, ¦
при наборе которых она встречается. ¦
¦
Например, можно предположить, что любой форматер ¦
(а также текстовый процессор и настольное издательство) ¦
позволит разместить заголовок посередине строки, "при- ¦
жать" фразу (например, "На правах рукописи") к правой ¦
границе и написать слово в разрядку. Если СПТ умеет ав- ¦
томатически строить оглавление документа, да ещё разме- ¦
щать его как в конце, так и в начале по желанию пользо- ¦
вателя, то это уже не форматер. А если СПТ позволяет ¦
подготовить на экране или включить в документ рисунок, ¦
выполненный другой программой, то независимо от плюсов ¦
и минусов в других графах перечня операций это - ¦
настольное издательство. ¦
¦
Такая классификация удобна пользователю-покупате- ¦
лю. Но и она не отражает сути вопроса, так как разра- ¦
ботчики сложных систем, особенно в процесс развития ¦
удачных версий, стремятся привлечь покупателя "экзоти- ¦
ческими" возможностями. При этом система, как будет по- ¦
казано ниже, не переходит в другой класс, но уловить ¦
это по перечню операций крайне трудно. ¦
¦
Итак, единого классификационного признака нам пока ¦
обнаружить не удалось, но может быть это и не нужно ¦
пользователю, к тому же только начинающему работать и ¦
жаждущему скорее приступить к делу, чем выслушивать ¦
"парламентские прения"? Говорят, "скупой платит дваж- ¦
ды", а конструктивная классификация имеет не абстракт- ¦
ный смысл, но позволяет оценить предполагаемую покупку ¦
не только по красоте упаковки... ¦
¦
3. Форматеры ¦
¦
Сначала, не заботясь о различиях других классов ¦
систем подготовки текстов, попробуем "отсечь" формате- ¦
ры. В словаре можно найти следующие определения: ¦
¦
"Форматер (formatter) - программа или часть систе- ¦
мы подготовки текстов, выполняющая форматирование. См. ¦
тж. text formatting."... ¦
¦
"Text formatting (форматирование текста) - в ¦
системах подготовки текстов - преобразование текста в ¦
вид, в котором он должен печататься: формирование абза- ¦
цев, центрирование заголовков, выравнивание полей, раз- ¦
биение на страницы."... ¦
¦
Можно сказать, что форматером будем называть такую ¦
систему подготовки текстов, которая не использует для ¦