Введение

Ранняя программа для обработки текстов, текстовый процессор Bravo, была первой программой подготовки документов, реализующей принцип WYSIWYG. Она обеспечивала возможность использования нескольких шрифтов на растровых дисплеях персонального компьютера Xerox Alto. Программа была разработана в Xerox PARC Батлером Лэмпсоном, Чарльзом Симоньи и их коллегами в 1974 году.

Обзор

Bravo был модальным редактором — символы, вводимые с клавиатуры, обычно являлись командами для Bravo, за исключением режимов "вставка" или "добавление", когда они помещались в буфер символов. Bravo активно использовал мышь для указания позиций в тексте и выделения фрагментов, но не для ввода команд. (Будучи одним из первых примеров разработки графического пользовательского интерфейса, интерфейс, не основанный на командах, считался слишком амбициозным и, возможно, даже неэффективным и неудобным.) Помимо обширного набора команд для управления форматированием текста (например, возможности регулировки левых и правых полей для разделов текста, выбора шрифтов и т. д.), Bravo поддерживал работу с несколькими буферами (то есть файлами), а также с несколькими окнами. Хотя Bravo обычно отображал текст с форматированием (например, с выравниванием, шрифтами и пропорциональным межсимвольным интервалом), он обычно не пытался точно воспроизвести вид страницы при печати. Это было связано с тем, что монитор Alto обеспечивал разрешение 72 пикселя на дюйм, а лазерные принтеры, использовавшиеся в PARC, — 300 точек на дюйм (PPI). Это означало, что экран мог предоставить лишь приблизительное представление о том, как будет выглядеть страница при печати. Вместо этого в обычном режиме отображения текст показывался с размерами символов и другими параметрами, более подходящими для возможностей дисплея. Существовал специальный режим отображения, который пытался показать текст точно так, как он будет выглядеть при печати, и в этом режиме работал обычный набор команд. Однако, поскольку изображение на экране неизбежно было приближением, иногда можно было заметить небольшие смещения символов и слов (проблема, которая сохраняется и сегодня в системах обработки текста). Размер пикселя 72 PPI был близок к 72,27 точкам на дюйм, используемым в полиграфической промышленности, поэтому пиксель в Bravo имел тот же размер, что и типографский пункт. Bravo стал основой для Gypsy — более поздней системы документов на Alto, первой с современным графическим пользовательским интерфейсом. За Bravo последовал BravoX, разработанный в 1979 году под руководством Симони в группе Advanced Systems Development (ASD) компании Xerox. BravoX был "немодальным", как и Gypsy. Изначально Bravo (и BravoX) были реализованы на BCPL для Xerox Alto, но BravoX позже был переписан на язык под названием "Butte" ("Butte — это небольшая меса", как любил говорить Чарльз Симони). BCPL для Alto компилировался в машинные инструкции Data General Nova, которые, в свою очередь, интерпретировались микрокодом Alto. Butte компилировался в байт-код, специфичный для Butte, который интерпретировался специальным микрокодом Alto, аналогичным интерпретатору байт-кода Mesa.

Команда EDIT

Ранние версии Bravo имели командный интерфейс, устроенный так, что при попытке пользователя ввести команду "EDIT" в командном режиме, весь текст необратимо заменялся на "T". Буква "e" интерпретировалась как команда выделить всё. Буква "d" удаляла всё выделенное. Буква "i" возвращала в режим ввода, при этом на экране оставалась только буква "t". Отменить можно было только одно действие, поэтому отменить можно было только вставку буквы "t".