ZX Forum #04
19 ноября 1997

Секреты успешного дизайна - глава для книги "Дизайн Ваших программ"

<b>Секреты успешного дизайна</b> - глава для книги
М.Рожнова, С.Крушинский

   СЕКРЕТЫ УСПЕШНОГО ДИЗАЙНА

  (глава для книги "Дизайн Ваших
программ")

  По качеству дизайна компьютер-
ные программы можно  разбить  на
три категории:
  1) Те, в работе  над  которыми
участвовали профессиональные ху-
дожники. Это блестящие  продукты
фирм  Microsoft, Borland  Inter-
national  и  Norton, игры, поль-
зующиеся мировой  известностью -
словом, творения "капиталистиче-
ских монстров, борющихся за  ми-
ровое господство". По сути дела,
речь идет о "законодателях  мод"
на  компьютерном  рынке.   Новые
идеи,  ходы  появляются   именно
здесь.
  2) Написанные  опытными  прог-
раммистами.  Эти люди, возможно,
никогда и  не  задумываются  над
чисто  эстетическими  вопросами.
Но работая в рамках сформирован-
ной  культуры  и  установившихся
стандартов, они знают, как  при-
нято поступать в  том  или  ином
случае.  Получаются  вполне кон-
курентоспособные  вещи.  Иногда,
правда, проскальзывают  "ляпы" -
например, когда программист, со-
здавая русский шрифт, механичес-
ки  решает  тонкие  вопросы, над
которыми билось не одно  поколе-
ние художников.
  3) Программы, где дизайн вооб-
ще  игнорируется - либо  по  не-
знанию, либо по нежеланию  (дес-
кать, ну их, все эти штучки! Ра-
ботает - и ладно...)
  Осознаем  мы  это  или  нет, а
компьютер - это особый мир. Кто-
то в нем работает, кто-то  отды-
хает, а  некоторые  уходят  туда
жить. От программистов  зависит,
будет ли этот мир удобным и кра-
сивым или уподобится  неприбран-
ному  вещевому   рынку,  который
хоть и выполняет какие-то полез-
ные функции, все  же  не  лучшее
место для времяпровождения.  Ди-
зайн - средство "очеловечивания"
механического  мира.  Бывает, от
одного текстового редактора быс-
тро устаешь, а за другим  сидишь
весь день  и хоть бы что. Специ-
алист,  взглянув  на  утомляющую
программу, сразу  поймет, в  чем
дело: возможно, ряд букв  "выпа-
дает" из общепринятой  стилисти-
ки - чтобы  прочитать их, прихо-
дится невольно лишний раз напря-
гать  зрение, - или  информация,
выведенная на экран, плохо орга-
низована, что опять-таки застав-
ляет напрягаться. Или цвета  по-
добраны неудачно... Программист,
накапливая опыт, учась  на  соб-
ственных   ошибках,   постепенно
приходит к оптимальным решениям,
а  то  и   находит   собственный
стиль. Но  стоит  ли  изобретать
велосипед, когда существует  це-
лая культура, в которую  вносили
свой вклад поколения  профессио-
налов? Порой самые непретенциоз-
ные программы, написанные  чеха-
ми, англичанами, поляками,  нем-
цами  выглядят  привлекательнее,
чем наши, только потому, что мы,
в отличие от них, с детства при-
выкли  к  некрасивым   игрушкам,
уродливым витринам, некачествен-
но изданным книгам. Цель настоя-
щей  главы - познакомить  непро-
фессионалов   с    общепринятыми
принципами и  приемами  дизайна,
которые могли бы помочь им в ра-
боте.

            1. ШРИФТ

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

        Регулярный шрифт

  Роль регулярного шрифта  самая
скромная и в то же  время  самая
ответственная: служить идеальным
посредником, слугой.  Его  глав-
ные качества - читаемость и про-
стота.  Он  не должен привлекать
к себе внимание, его  начертание
максимально  узнаваемо и привыч-
но для глаза, иначе он  отвлекал
бы  от  смысла  написанного.  За
столетия своего существования он
мало изменился, и любой  новатор
рискует потратить силы впустую.
  Риск взяли на себя  производи-
тели компьютеров.  Ясно, что  на
заре эпохи  компьютеризации  они
были поставлены в такие же  жес-
ткие условия, как  первопечатни-
ки: технические  ограничения  не
позволяли приблизиться к привыч-
ным полиграфическим  стандартам.
Настолько  же, насколько  книги,
вышедшие  из-под  первых  печат-
ных станков, уступали рукописям,
шрифты первых персоналок уступа-
ли  полиграфическим  шрифтам.  С
развитием вычислительной  техни-
ки, появлением все более  совер-
шенных графических  адаптеров  и
лазерных  принтеров  дело  меня-
лось;  графическим  возможностям
сегодняшних  компьютеров, кажет-
ся,  нет   предела,  программная
среда "Microsoft Windows" позво-
ляет  гибко  работать  с  какими
угодно гарнитурами - от  "таймс"
до "елизаветинской".

 Стандартный синклеровский набор

   Что  сказать  о  "Спектруме"?
Перед ним не ставилась цель вер-
стать книжные макеты, но  шрифт,
приближенный  к регулярному, не-
обходим и тут. Концепция  графи-
ки "Спектрума" (а она была приз-
вана решить сразу несколько про-
блем - быстрота, экономия  памя-
ти, дешевизна, использование бы-
тового  телевизора  -  в  рамках
возможностей начала 80-х) поста-
вила разработчиков перед необхо-
димостью   вместить   регулярный
шрифт в матрицу  8*8 точек.  Что
же из этого вышло?
  Глядя на строку в 32 знакомес-
та, невольно вспоминаешь  школь-
ную тетрадку в клеточку и урок в
первом классе, на  котором  учи-
тель ставит задание  вписать  по
букве в каждую  клеточку.  Между
знаками  большой  разрыв, строка
не выглядит слитно  и  убористо,
отчего замедляется чтение.  Ког-
да мы смотрим на  набранный  аб-
зац, пробелы между словами в со-
седних строках в некоторых  мес-
тах объединяются, и абзац выгля-
дит "продырявленным". Стоит при-
щуриться, как строки пропадают -
текст превращается  в  кашу.  32
знакоместа  -  далеко  не  опти-
мальный  размер строки, информа-
ции на экране  в  несколько  раз
меньше, чем при плотном  наборе.
Это затрудняет создание  таблиц,
которые  не  полагается  перено-
сить с экрана на  экран.  Налицо
неэкономное обращение  с  форма-
том страницы. Что касается  кон-
струкции букв, то некоторые выг-
лядят довольно непривычно. Набе-
рем отрывок из песни Beatles:

 In the town where I was born
 Lived the man, who saled to see
 And he told us of his life
 In the yellow submarine...

   Для того, чтобы вписать лите-
ры в матрицу 8*8 и при этом сох-
ранить, насколько это  возможно,
единство стиля, некоторые из них
пришлось искусственно  растянуть
("e","h","y"), а  другие - сжать
("w","m").  Не все буквы  подда-
лись  насильственному  втискива-
нию в шаблон: "l","t","f" сохра-
нили свое привычное  начертание.
Но если рассматривать их в  кон-
тексте строки  или  даже  просто
набранного слова, то как раз они
вносят  в строку  изъян: подобно
тому, как пробелы между  словами
влияют на цельность строки, т.е.
на "горизонталь", пробелы  между
буквами объединяют буквы в  сло-
ва. Стоит слегка  увеличить  эти
пробелы, как слово  распадается.
Так  получается  в  словах "yel-
low", "believe", "life".
  Часто   межбуквенный    пробел
больше, чем интерлиньяж (рассто-
яние между строчками). Если про-
белы в  соседних  строках  стоят
один  под   другим,  усиливается
ощущение разрыва в тексте.  Ког-
да текст набран белым по  черно-
му, фон работает  активнее - пе-
ред нами  не текст, а  созвездия
ночного неба.
  Буквы  как  латинского, так  и
русского алфавита  имеют  вынос-
ные элементы (торчащие  ножки  и
рожки). Все тот  же  злополучный
шаблон искажает их и по вертика-
ли: "h","b","d" словно  приседа-
ют; "y","g", наоборот, "подтяги-
ваются на руках". Вот и кажется,
что буквы скачут. Особый  разго-
вор об "i". Рядом с соседями она
выглядит  коротышкой.  Возможно,
кому-то  из  читателей  приходи-
лось иметь дело с русифицирован-
ным компьютером MSX.  Там  такая
же ошибка допущена  в  конструк-
ции "й": верхние ножки  урезаны,
а "галочка" опущена вниз.

  По-видимому, недостатки  шриф-
та  "Спектрума"  обусловлены  не
халтурой, а "прокрустовым ложем"
системных  требований.  Програм-
мист, который целиком использует
этот шрифт и стандартные  проце-
дуры печати, все же может  сгла-
дить в  какой-то  мере  основные
недостатки.  Можно  порекомендо-
вать следующее:
  1) Печатайте черным по белому,
а не наоборот. Черный  цвет  ак-
тивнее, поэтому пробелы  не  бу-
дут слишком бросаться в глаза.
  2) Вставляйте  между  строками
пустую строку, выделяя таким об-
разом "горизонталь".
  3) Садясь за  компьютер,  съе-
дайте  морковку  -  это  поможет
сберечь зрение.
  К счастью, сэр Синклер  позво-
лил  программистам  с  минимумом
усилий создавать свои  собствен-
ные наборы литер и печатать их с
помощью системных  процедур  об-
щеизвестными способами:  либо  с
использованием  области  графики
пользователя  (UDG), либо  через
изменение  системной  переменной
CHARS. Разумеется, и здесь  при-
ходится вписывать буквы в  стан-
дартный шаблон.

           Стилизации

  Конечно,   регулярный    шрифт
обедняет и делает  скучной  ком-
пьютерную  игру.  Поэтому  редко
встретишь игрушку, где нет  соб-
ственного шрифта. Тут встречают-
ся удачи и неудачи.
  Возьмем, к примеру, полюбившу-
юся всем "Elite". Принципом сти-
лизации здесь послужил  "скошен-
ный угол".  Так  обработан  весь
стандартный набор литер. Но сде-
лано  это  слишком  механически.
Если буквам "n","m","u" это "ук-
рашение"  не  навредило, то "v",
"t" и особенно "i" выглядят бес-
помощно, они лишены  устойчивос-
ти. Когда смотришь на  набранный
текст, под некоторые  буквы  хо-
чется подставить костыли. В  ре-
зультате нет легкого бега  глаза
по строке, а есть скачка и  ощу-
щение раздробленности. Дело усу-
губляется тем, что в данной  иг-
ре текст играет далеко  не  пос-
леднюю  роль - шрифт  по  замыс-
лу  выполняет  роль   регулярно-
го.  Жаль, что  игра, обладающая
столькими "плюсами" с точки зре-
ния графики и сюжета, теряет  на
этом очки.
  Заметьте, шрифт "Elite" - пре-
тензия  на  нечто  оригинальное.
Большинство же стилизаций  приб-
лижаются к тому или иному  стан-
дарту. Встречается подобие "Бро-
двея", "Футуры" и некоторых дру-
гих известных стилей.  Если  от-
влечься от  беспомощных  попыток
воспроизвести  готику  в  рамках
стандартного знакоместа, эти ре-
шения выглядят в целом удачными.
Вот несколько примеров.
  1) Современный  чисто  компью-
терный шрифт, подобный тому, ко-
торый применялся в фильме  "Тер-
минатор".
  Рассмотрите  страницу   помощи
музыкального редактора "Wham".
  Редкий для "Спектрума" случай,
когда  удалось  решить  проблему
межбуквенного пробела!  И сдела-
но это просто.  Излишек  пустого
места компенсируется  утолщением
буквы.  Нарушают выбранную логи-
ку только  "d" и "y".  В  первом
случае  толстым  лучше  было  бы
сделать ствол - главную  ось, на
которой  буква  держится - а  не
очко.  Во  всех остальных  лите-
рах ось угадана (сравните "d"  c
"b").  А букву "y" почему-то во-
обще  освободили  от  утолщения,
из-за чего она  оказалась  слиш-
ком светлой по сравнению  с  ос-
тальной  гарнитурой.  Вы  можете
возразить:  "w" и "m"  тоже  ху-
денькие. Но эти буквы изначально
широкие,  они  полностью  запол-
няют сетку 8*8  и  не  оставляют
места для утолщений. Зато  буква
"i" найдена удачно.  Она  такого
же роста, как  "i" в "Elite", но
не воспринимается такой коротыш-
кой, потому что ее вертикаль  не
придавливается    горизонтальной
планочкой (засечкой).

  В пакете  "Supercode"  похожий
шрифт назван "Scifi" (от англий-
ского  Science Fiction - научная
фантастика). Здесь применен  ин-
тересный ход:  прописные  и  ма-
ленькие буквы одинаковой величи-
ны. Разница лишь в начертании. К
сожалению, они не едины по  сти-
листике: маленькие буквы не  так
уж сильно отличаются от стандар-
тных, если не принимать во  вни-
мание  их  увеличенную  толщину,
заглавным же присущ  ярко  выра-
женный стиль. Не случайно в  ме-
ню самой  программы  "Supercode"
используются  только  прописные.
По вертикали  буквы  занимают  5
пикселов, поэтому гарнитура  вы-
тягивается в ширину. Это  решает
проблему  межбуквенных  расстоя-
ний  во всех  ситуациях... кроме
тех, где  принимает участие "i".
Увы, из-за нее  появляются  при-
вычные "дыры". Еще один недоста-
ток: "D" не  отличается  от  "O"
ничем, кроме утолщения:  у  пер-
вой оно справа, у  второй - сле-
ва. Целесообразнее было бы  сре-
зать правый верхний угол "D".  В
целом же, утолщение в рассматри-
ваемом шрифте произведено  впол-
не грамотно.

           Утолщение

  ...Вполне естественный  ход  в
доработке  спектрумовского шриф-
та, многие авторы идут по  этому
пути. Решаются  сразу  несколько
проблем.
  Во-первых, становится удобочи-
таемым текст, набранный не толь-
ко темным по светлому, но и све-
тлыми буквами на  темной  "бума-
ге". Существует понятие формы  и
контрформы. "Скелет" буквы в на-
шем случае  можно  рассматривать
как форму, а пространство, кото-
рое ее окружает - как  контрфор-
му.  Когда буква  темная, а  фон
светлый,  форма  более  активна.
Если наоборот  -  темный  фон  и
светлая буква  -  побеждает кон-
трформа. Но стоит сделать  букву
толще, контрформа опять уйдет на
второй план.  Таким образом, по-
является  возможность  использо-
вать самые разные сочетания цве-
тов. Желтая буква на синем  фоне
выглядит не хуже, чем  синяя  на
желтом.  В  игровых  программах,
где экраны  отличаются  цветовой
пестротой, это особенно актуаль-
но. (см. меню игры "The  Eagle's
Nest").
  Во-вторых, утолщение "съедает"
излишки межбуквенного  простран-
ства  (извечная   спектрумовская
проблема).

  В-третьих,  обогащается  форма
буквы. Ведь утолщают  ее  обычно
по вертикали, перемычки  же  ос-
таются  прежними.   Перебивается
утомительная монотонность линии.
  Утолщать шрифт ни в коем  слу-
чае нельзя  механически, пренеб-
регая логикой  построения  буквы
(несколько опубликованных недав-
но в  "ZX-РЕВЮ"  процедур, кото-
рые автоматически утолщают  бук-
вы, бесспорно, остроумны, но не-
эстетичны.  Следует  помнить:  у
каждой буквы есть  главная  ось,
опора, а также центр  тяжести, с
которыми надо  обращаться  акку-
ратно, чтобы не "повалить"  бук-
ву.  Например,  в  литерах  "а",
"y","ч","я","d","g" опора  спра-
ва, очко слева. Они как  бы  по-
вернуты лицом влево. Есть наобо-
рот, направленные лицом  вправо:
"р","к","в","h","е","с","п","f",
"ь" и др.  Третья  группа - бук-
вы равнонаправленные, статичные:
"ж","ф","ш","w","о","и","т","i".
Впрочем, с перечисленными буква-
ми редко  допускают  ошибки.  Не
так просто с "А" и "Л". Их иног-
да неправильно утолщают слева, в
то время как основной осью  слу-
жит правая вертикаль.
  Разные участки  любой  изобра-
зительной  поверхности, будь  то
лист бумаги, экран, шаблон  8*8,
воспринимаются   нашим   зрением
неодинаково. Сделаем простое уп-
ражнение. Нарисуем лесенку, сое-
диняющую левый верхний и  правый
нижний угол листа бумаги. И дру-
гую картинку  -  лесенка  соеди-
няет левый нижний и правый  вер-
хний углы. По первой взгляд  бу-
дет спускаться, а  по  второй  -
подниматься. Именно поэтому, ес-
ли говорить о конструкции  букв,
диагональ  из  верхнего  угла  в
правый  нижний  обычно  тяжелее,
шире, чем  стремительная  диаго-
наль из нижнего левого в  правый
верхний. Этим обусловлено  прин-
ципиальное отличие латинской "N"
от русской "И", а также  особен-
ности косых букв "Л", "А" и "Д".

      Кириллический шрифт

  По чисто  историческим  причи-
нам с латинскими  шрифтами  дело
всегда  обстояло  благополучнее:
любая страница, набранная  клас-
сическим латинским шрифтом, выг-
лядит красивее и чище, чем стра-
ница  на русском.  В  свое  вре-
мя  царь  Петр I  собственноруч-
но произвел реформу  отечествен-
ной письменности, скорректировав
форму  одних  букв  и  вычеркнув
другие. Это была  насильственная
европеизация, произведенная  ди-
летантом, и плоды  ее  мы  пожи-
наем до сих пор.  Увы, Петр пре-
сек возможность создать  поисти-
не  гармоничную  гарнитуру  рус-
ского  шрифта,  равную  по  дос-
тоинствам,  скажем,   английской
"Таймс".
   Наверняка  читатель, работав-
ший над  русификацией  программ,
сталкивался со следующей пробле-
мой: как сделать так, чтобы  "з"
заметно  отличалась  от  "э",  а
"ч" - от "у"?  Благодарите Петра
Великого!  Очевидно: иногда мож-
но без ущерба скопировать латин-
ские начертания. Например, "Я" -
это перевернутая  латинская  "R"
плюс диагональная ножка. В то же
время, есть ряд  коварных  букв,
которые всегда доставляли  много
хлопот шрифтовикам. В  их  числе
Й. Между буквой  и  ее  выносным
элементом (галочкой)  существует
пробел, из-за которого буква  по
росту  превосходит  соседей   по
строке. Японцы, русифицируя  бы-
товой  компьютер  MSX-Yamaha, не
мудрствовали лукаво - они  прос-
то укоротили букву. То есть  по-
жертвовали высотой, дабы  сохра-
нить  формальный  признак - про-
бел.  Лучше  было  бы  сохранить
цельность строки за счет измене-
ния  формы  и  размера  галочки.
Важно  помнить, что  произвольно
менять высоту букв  нельзя, ина-
че строка "запрыгает".
  "Щ" также обладает "неудобным"
выносным элементом.  Буква  при-
надлежит к разряду широких, ее и
так трудно втиснуть в матрицу. А
тут еще "хвостик"!
  Двух   приведенных    примеров
вполне достаточно, чтобы понять:
одна из основных трудностей  при
создании русского шрифта в  рам-
ках  восьмиклеточного  шаблона -
это выносные элементы. Хуже все-
го  обстоит  дело  со  строчными
буквами. У  английских  строчных
тоже имеются выносные  элементы,
но  все  петли  направлены  вниз
("g","j","q","y"), а все тянуще-
еся вверх может быть  сведено  к
простой   вертикальной   палочке
("b", "d", "h", "t")  или  точке
("i", "j"). Что касается "f", то
для того, чтобы верхняя петля не
опускалась на горизонтальную па-
лочку,  можно   последнюю   чуть
опустить. Набор русских  пропис-
ных  изобилует  петлями, направ-
ленными  как вверх, так  и  вниз
("б","в","д","з","у", "ц", "щ").
Напомним,  первое   обязательное
условие: сохранить структуру ли-
теры, чтобы та была  узнаваемой.
Второе:   сохранить    цельность
строки - тела букв должны распо-
лагаться на одной линии (нельзя,
например, опускать очко  "б"  на
один пиксел вниз, в зону  нижних
выносных элементов  и  поднимать
очко "д" на  столько  же  вверх:
строка стала бы прыгающей).  Для
петель необходимы, как  минимум,
2 пиксела сверху  и  два  снизу.
Кроме того, желательно  оставить
один ряд, самый верхний или са-
мый нижний, пустым, чтобы  стро-
ки не влипали одна в другую. Та-
ким образом, для основной  части
букв остается всего 3-4  пиксела
по  вертикали.  Горизонталь  при
этом занимает 6-8 пикселов.  Ли-
бо буквы  будут сплюснутыми, ли-
бо  межбуквенные пробелы - чудо-
вищными.

  Если, обходя процедуры ПЗУ, на
уровне  ассемблера  организовать
печать в  матрице, скажем, 8  по
вертикали и  6  по  горизонтали,
пропорции изменятся  к  лучшему.
Но об этом чуть позже.

       Сочетаемость букв

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

 Нестандартные процедуры печати

  Как читатель, наверное, убеди-
лся, даже  при  самом  грамотном
подходе  к  делу, матрица  8*8 -
прокрустово ложе  для  шрифта, и
добиться по-настоящему  удовлет-
ворительных результатов, исполь-
зуя  стандартные  спектрумовские
процедуры печати, как бы  мы  ни
старались, невозможно.  Конечно,
это можно игнорировать, если со-
здается программа, где текст  не
играет решающей роли (зависит от
жанра). Но для прикладной  прог-
раммы с  какими-нибудь  сложными
таблицами или просто  содержащей
много "писанины" требуется нечто
совершенно  другое.  Разработчи-
ки программного обеспечения  для
"Спектрума" - текстовых редакто-
ров, расширенных версий Бейсика,
редакторов Ассемблера  и  других
языков  -  поняли  это  в первую
очередь.  На  уровне   машинного
языка  пишутся  процедуры, кото-
рые обходят стандартную RST  10H
и позволяют  печатать  в  рамках
практически   любого   заданного
шаблона. Пример такой  программы
содержится в  книге  "Прикладная
графика". Там речь идет о шабло-
не 5 по горизонтали на 6 по вер-
тикали. Ее  легко  перенастроить
на  любой другой шаблон - доста-
точно  лишь  поменять  параметры
циклов (ведь  в основе  процедур
печати, в том числе  и  стандар-
тной, лежит  "рисование"  точек;
матрица - по сути дела, два вло-
женных цикла: рисовать в  n пик-
сельных строках  n-ное  количес-
тво пиксельных колонок).

        Очень узкий набор

  Чаще всего символы узкого  на-
бора занимают  4 пиксела  по го-
ризонтали.  Один  дополнительный
(справа или слева)  обеспечивает
межбуквенный пробел. По вертика-
ли букве можно отвести  от  пяти
до  семи  "клеточек",  но  лучше
всего оставить семь для  символа
и один под пробел, чтобы не воз-
никало  проблем  с  межстрочными
интервалами и выносными  элемен-
тами.  Таким образом, для  очень
узкого набора  самой  подходящей
является матрица 5*8.  При  этом
шрифт  можно  сделать вполне уз-
наваемым, если взяться  за  дело
грамотно. Текст, набранный таки-
ми буквами, будет  воспринимать-
ся даже лучше стандартного, пос-
кольку  строки  более  убористы.
Между  прочим,  вопрос  о  числе
символов в строке не должен  ре-
шаться произвольно. От этого то-
же зависит легкость  зрительного
восприятия.  В  полиграфии  счи-
тается идеалом 50-60 символов  в
строке.
  Требования к набору  здесь  те
же самые, что были упомянуты ра-
нее, пожалуй,  даже  повышенные,
поскольку речь идет о строго ре-
гулярном шрифте. К сожалению, не
все разработчики учли их.  Авто-
ры широко известного  текстового
редактора  "The Last Word"  пош-
ли  по пути, остроумному с точки
зрения  программиста, но  совер-
шенно неудобному для пользовате-
ля - они вообще не создавали но-
вого шрифта для мелкой печати (в
режиме  "Video 80"), а  написали
процедуры,  которые  в  соответ-
ствии с заданными векторами  об-
рабатывают символы  стандартного
набора  и  выдают  на  экран  их
уменьшенные копии. В результате,
когда видишь  набранную  строку,
создается впечатление, что  сов-
мещены несколько  разных  гарни-
тур. С каких это пор у "b" и "d"
разного размера  очко?!  "i" со-
вершенно не вписывается в ряд...
Судя по  количеству  "проколов",
важнейшие вопросы либо вообще не
решались, либо решались  наспех.
Печать в режиме  "Video 40"  вы-
глядит получше, но здесь  какая-
то неудачная "a" и те же пробле-
мы с "дырами". Если вы обнаружи-
те, что через полтора часа рабо-
ты в текстовом редакторе  разбо-
лелась  голова, не  удивляйтесь:
это из-за того, что строка "пры-
гает", "i" меньше соседних  букв
и т.д.
  Редактор Tasword - давний кон-
курент  "The  Last Word" - обра-
щается не к набору  из  ПЗУ, а к
собственному  шрифту,  предельно
мелкому (64 символа  в  строке),
который, пусть и не идеален, все
же выполняет поставленные  зада-
чи. Авторам даже удалось сделать
его закругленным!
  Шрифт - дело тонкое и  требует
крайне внимательного к себе  от-
ношения;  не  стоит  поддаваться
искушению переложить  задачу  по
его переработке на плечи компью-
тера. Не случайно в языках  Beta
и  Mega Basic, где  в  остальных
случаях довольно активно перера-
батывается  исходный   шрифтовой
набор, для мелкой печати предус-
мотрена   отдельная   гарнитура,
кстати  сказать, вполне  прилич-
ная.  В  графическом   редакторе
"The  Artist"  имеются  средства
для создания мелкого  шрифтового
набора. В целом, мелкие шрифты в
этих и прочих западных  програм-
мах ("PRODOS", "Gens50"  и  пр.)
практически одинаковы  и  вполне
отвечают своему  назначению.  На
их фоне драйвер  Basic64  (после
его загрузки  компьютер  перехо-
дит в режим 64 символа в строке)
выглядит нелепо. Там использует-
ся матрица 8*4, как в Tasword'е,
но авторы, решив увеличить  раз-
мер  букв, не  оставили  пустого
вертикального столбца  для  меж-
буквенных пробелов, в результате
чего читаемость равна нулю.
  Основное поле применения  пре-
дельно узкого  шрифта - объемные
таблицы и  текстовые  редакторы.
Помимо прочего, он удобен и тем,
что на экране  пользователь  ви-
дит то же самое, что на  бумаге,
если используется  принтер.  Что
же касается прикладных  программ
тех жанров, где нет необходимос-
ти помещать уйму текста на  один
экран, в нем нет  необходимости,
поскольку при всех  достоинствах
мелкого набора, читать  его  все
же  трудно  человеку  со  слабым
зрением, а тот, кто не носит оч-
ки, скорее всего  через  некото-
рое время обзаведется ими.

  Другие нестандартные шаблоны

  Давно вошел в употребление ша-
блон,  который  по   горизонтали
лишь на 2 клеточки меньше  стан-
дартного (8*6 вместо 8*8). Боль-
шинство  символов  умещается   в
пять клеточек, один столбец  ос-
тается пустым.
   Чем удобен такой шаблон?  Во-
первых, он позволяет помещать  в
строку  42  символа  -  не  ахти
сколько, но  во  многих  случаях
больше и не  требуется.  Разница
заметная по сравнению со смехот-
ворными 32-мя символами в  стро-
ке. Во-вторых,  решается  вполне
на уровне проблема  межбуквенных
пробелов и  выносных  элементов.
В-третьих, в  отличие  от  очень
узкого набора, такой  шрифт  до-
пускает  разные  варианты   кон-
струкций   букв,  стилизацию   и
утолщение. Довольно гладко  про-
ходит и русификация. Такому шри-
фту можно  найти  самое  широкое
применение, стоит только нарисо-
вать его один раз  и  поработать
над процедурами печати. Рассмот-
рим несколько примеров.
  Остроумно сконструирован шрифт
в стареньком пакете Editas/Moni-
tor (это ассемблер  и  дисассем-
блер).  Трудно предположить, что
его создали профессиональные ди-
зайнеры,  но  заглавные   решены
прямо-таки в  стиле  конструкти-
визма! Самые удачные буквы полу-
чены  из  сочетания  квадрата  и
треугольника.   По  сути   дела,
обыграно  то,  что  как  правило
служит  ограничением  -  несчас-
тная прямоугольная матрица.
  Наверное,   многим   читателям
знакома увлекательная  космичес-
кая игра "Академия". Ее  написал
англичанин Пит Кук. Меньше изве-
стна другая  его программа, обу-
чающе-прикладного жанра  -  "Ас-
троном", выдающая карту звездно-
го неба и информацию о  звездах.
В обеих работах дизайн и, в час-
тности, шрифт, великолепно  про-
думан. В разных  программах  ис-
пользованы одни и те же  приемы,
позволяющие сразу же узнать  ав-
торский почерк.  Видимо, он  ис-
пользовал свои стандартные  биб-
лиотеки экранных процедур. Шрифт
6*8, жирный.  Производит впечат-
ление, что это единственный слу-
чай,  когда  выдержан  полностью
стиль   "гельветика".   Поясним:
шрифты делятся  на  две  катего-
рии - антиква и гельветика. Пер-
вый характеризуется  "засечками"
(скажем,  ножка  "Т"  стоит   на
"подставке",  а  уголки  "крыши"
опускаются вниз).  Типичный  ан-
тиквенный набор у пишущей машин-
ки. Второй тип шрифта, наоборот,
"рубленный".  Подавляющее  боль-
шинство  системных  компьютерных
шрифтов, конечно  же,  относится
ко  второй  категории, поскольку
"гельветика" "экономичнее".  Хо-
роший тон - придерживаться одно-
го или  другого стиля, чего, как
правило, не делают  синклеристы.
Букву "i" почему-то всегда стре-
мятся сделать  антиквенной, хотя
в этом  нет  необходимости.  Пит
Кук,  в  отличие  от  остальных,
придерживаясь принципов  гельве-
тики, оставил "i" без "ступни" и
"плеча".
  Жирность  шрифта  делает   его
чрезвычайно   активным.   Строка
воспринимается так,  словно  это
толстая  лента.  Поэтому   между
строками должен быть, как  мини-
мум,  интервал  в  одну  строку.
Впрочем,  столь  активный  шрифт
выдержит и больший интерлиньяж.
  В силу  своей  тяжеловесности,
эта гарнитура не может быть  ис-
пользована в текстовом  редакто-
ре, но  прекрасно  подходит  для
вывода  сообщений,  для  меню  и
т.д.
  Проблема межбуквенных интерва-
лов решена настолько хорошо, что
создается   впечатление:   автор
присоединил к  процедурам печати
какие-то подпрограммы, проверяю-
щие, какие символы  соседствуют,
и в соответствии с этим увеличи-
вающие или  уменьшающие  межбук-
венное расстояние.  Потому  что,
если просто попытаться  печатать
его шрифтом, такого  эффекта  не
получится.

  Похожий набор применяет в сво-
их программах Николай  Родионов.
К сожалению, при  всех  достоин-
ствах дизайна Н.Родионова  (цве-
та,  диалоговые  окна,  компози-
ция), шрифт - самое слабое  зве-
но.  Рассмотрим  программу   DCU
(Disk Control Utility).
  Здесь уже  не  жирный, а  кон-
трастный шрифт (сочетающий  тол-
стые и тонкие линии).  Бросаются
в глаза несколько недостатков.
  1) Плохое соотношение по  раз-
меру строчных и заглавных  букв.
Строчная "h"  выше, чем  заглав-
ная "C", в то время  как  "A"  и
"b" одинаковой  высоты.  Пропис-
ные легче, невесомее, такое ощу-
щение, что они вот-вот взлетят.
  2) Неудачная конструкция букв.
К  примеру, "d"  ниже, чем  "k".
"A" дана в зеркальном  отражении
(толстой  должна быть  правая, а
не левая сторона). Для  "v"  ес-
тественнее  симметрия, здесь  же
утолщение слева делает  ее  нап-
равленной вправо.  То  же  самое
можно сказать по поводу "O". "m"
слишком широка и жирна даже  для
данной расширенной гарнитуры.
  3) Буквы "влипают" друг в дру-
га.  Например, в  слове  "drive"
ножки "d и "r", а  также  "i"  и
"v" соединяются в сплошную кляк-
су.
  Текст воспринимается, как  иг-
ра солнца сквозь листву, он сос-
тоит из неравномерно чередующих-
ся просветов и пятен. Для подоб-
ного шрифта  подошел  бы  шаблон
побольше, чем 6*8.

  Печать сорока двух символов  в
строке - стандарт  в  операцион-
ной системе IS-DOS. В этом режи-
ме работает и файловая оболочка,
и  текстовый редактор, и  много-
численные  приложения.  Шрифт  -
как русский, так и  латинский  -
не утолщен. Чувствуется, что ав-
торы в этом, как и  в остальном,
стремились уподобить  "Спектрум"
IBM.  Однако, крайне  неграмотно
разработанный шрифт  может  пос-
лужить лишь  примером  того, как
НЕЛЬЗЯ ДЕЛАТЬ.  Строчные  "ф"  и
"ю"  почему-то квадратные, в  то
время как остальные буквы с ана-
логичными  "очками"  -  круглые.
Абсолютно  нарушено  соотношение
букв по горизонтали и вертикали.
Нелепые   стилизации    строчных
(например, латинская "с"  с  ка-
ким-то  подбородком;  одна  нога
"й" ниже другой, непонятная  "ч"
и т.д.). Читатель, которому дос-
тупна система IS-DOS, и сам  без
труда  найдет  множество  других
стилистических неувязок.

 Можно ли обойтись без матрицы?

  До сих пор речь шла о так  на-
зываемом непропорциональном шри-
фте, то  есть  таком, в  котором
все буквы вписываются в  одну  и
ту же матрицу без учета их  соб-
ственных пропорций. Мы сравнива-
ли разные матрицы и рассуждали о
том, какая  лучше.  Естественно,
какой бы она ни была, всегда бу-
дут трудности, связанные  с  из-
начально  неодинаковой   шириной
букв, с  межбуквенными  интерва-
лами, "дырами" в  тексте, негар-
моничным  соседством   некоторых
букв. Зато строки абсолютно оди-
наковы по длине, а буквы  распо-
лагаются точно друг под  другом.
Непропорциональный шрифт исполь-
зуется также в печатной машинке,
таковы встроенные наборы принте-
ров  и  подавляющее  большинство
компьютерных шрифтов. Полиграфи-
ческие шрифты, наоборот, пропор-
циональны, вы можете в этом убе-
диться, рассмотрев в лупу  текст
любой прилично  изданной  книги.
Между прочем, в  полиграфии  ин-
тервал между  соседними  словами
меньше знакоместа. Глаз не "спо-
тыкается"! Если кому-то из чита-
телей  приходилось  работать   в
среде  "Microsoft  Windows", он,
наверное, обратил  внимание, что
там можно использовать  как  не-
пропорциональные  (скажем, "Cou-
rier"), так  и  пропорциональные
шрифты ("Times"  и др.), послед-
них даже больше.
   В общем-то, написать знакоге-
нератор пропорционального  шриф-
та  теоретически  не  так  уж  и
сложно.  Синклеристам   придется
учитывать лишь два  вечных  пре-
пятствия - быстродействие и объ-
ем  памяти.  Есть  два  способа.
Первый: в обычную процедуру шаб-
лонной печати вставить ряд  про-
верок, которые в зависимости  от
следующего и предыдущего  симво-
ла будут изменять параметр гори-
зонтального цикла  -  это  самый
экономный метод. Второй  способ:
каждую букву рисовать  отдельной
процедурой.

    2. ОРГАНИЗОВАННЫЙ ЭКРАН

  Материал, с которым  приходит-
ся работать компьютерному дизай-
неру,  невероятно  разнообразен:
это и учебные, и игровые, и при-
кладные программы.  Стратегичес-
кая задача дизайнера плотно  со-
прягается  с задачей  программи-
ста - расчленение и  организация
самых разных структур. При  этом
все силы должны быть  направлены
на  достижение  главной  цели  -
согласовать функцию и форму. Ра-
бота программы  (ее  функция)  и
внешний вид  (форма)  -  понятия
нерасторжимые.  Вот  почему  так
важно, чтобы  каждый  программи-
рующий хотя бы  элементарно  был
образован и в  области  дизайна.
Каждый программный продукт  дол-
жен быть тонко продуман и с точ-
ки зрения  внешней организации -
в  конце  концов,  он   является
средством общения.
  Попробуем разобраться с  зако-
нами  организации   изображения.
Залог красоты - четкая  компози-
ция с ясно выраженными соотноше-
ниями  частей,  говоря  иначе  -
гармония всех элементов.  Необъ-
ятный  текст  программы  следует
разделить функционально и  пред-
ставить себе, как это  проявится
на  экране.  Всевозможные  "Hel-
p"-ы,  меню,  таблицы, заставки,
графика игр и  текстовые блоки -
вот  все то, что  будет  состав-
лять внешнюю сторону и  заботить
собственно дизайнера.
  Как  известно,  хороший  стиль
программирования    предполагает
четко  разработанную   структуру
программы, строгую иерархичность
процедур. То же  относится  и  к
дизайну. В любом случае  следует
избегать хаоса.  Если  программа
написана путано, изобилует  пря-
мыми  переходами, но  работает -
об этом, возможно, никто не  до-
гадается. А вот небрежное  офор-
мление способно  навсегда  отва-
дить пользователя. По сути дела,
чем лучше структурирована  прог-
рамма, тем легче и радостнее  ее
оформлять: то, что является гла-
вным по ее логике, будет главен-
ствовать и  изобразительно.  До-
пустим, предусмотрено, что  если
пользователь нажал клавишу <BRE-
AK>, прекращается работа  в  ос-
новном режиме, появляется  сооб-
щение: "НАЖАТА BREAK!". Произош-
ло нечто чрезвычайное - это  все
равно, что дернуть  стоп-кран  в
поезде.   Естественно,  подобное
сообщение  должно  привлекать  к
себе внимание -  цветом,  местом
на экране, может быть, даже зву-
ком.  С другой  стороны, индика-
ция  текущего  времени, информа-
ция явно второстепенная, не дол-
жна отвлекать внимание. Ей  мес-
то в правом верхнем углу экрана,
пусть сидит  себе  там  с  видом
слуги, которого не сажают за об-
щий обеденный стол. В  общем-то,
это и так всем ясно.  Но  бывают
случаи посложнее.
  Начнем  по порядку.  Допустим,
Вы   спроектировали   программу,
четко  представляете   себе   ее
структуру, что  она  делает, ка-
кую информацию получает и  какую
выдает. Стиль  оформления  зави-
сит в первую очередь  от  жанра.
Какая это  программа:  текстовая
или изобразительная?  Служит  ли
она для работы или  развлечения?
Сухая,  академичная  или  живая,
общительная? От этого зависит  и
количество шрифтов, которые пот-
ребуются, и  цветовое решение, и
звук - короче говоря, весь арсе-
нал изобразительных средств.

        Учебная программа

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

      Системная программа

   По преданию, Юлий Цезарь, ре-
формируя язык, на котором  гово-
рило древнее  население  Британ-
ских  островов, руководствовался
принципом  Аристотеля:  "Рассуж-
дать следует не так, чтобы чело-
века  могли понять, но так, что-
бы его не могли не понять".  Так
надо оформлять и системные прог-
раммы, где ошибка пользователя -
как ошибка сапера. Попробуй оши-
бись, если дело касается  тести-
рования и "починки" диска!  Пес-
трота и разнообразие здесь ни  к
чему. В хорошей системной  прог-
рамме ничто не отвлекает  внима-
ние от текста  и  рабочих  схем,
все дышит лаконизмом.
  Системная программа не  должна
утомлять. Чем полнее "внешность"
раскрывает  логику  работы,  тем
лучше. Для каждого рода  сообще-
ний -  например,  об  ошибках  -
лучше зарезервировать определен-
ное место на экране, чтобы поль-
зователь никогда не задумывался,
где что искать (о  так  называе-
мых окнах в этой главе еще  пой-
дет речь). Дизайн должен  помочь
ему довести работу до автоматиз-
ма. Скорее всего, вы  обойдетесь
одной хорошо  читаемой  гарниту-
рой, минимумом цветов.  С другой
стороны,  необходимо   продумать
систему акцентировки - те же га-
лочки и стрелочки  или  какой-то
цвет (тогда этот цвет нельзя ис-
пользовать для других целей).

              Игры

  В большинстве  случаев  основ-
ная нагрузка приходится на изоб-
ражение. Разумеется, чем оно бо-
гаче - тем лучше.  Хотя  не сто-
ит  злоупотреблять разнообразием
цветов. Двух-трех вполне  доста-
точно. Об этом хорошо написано в
статье  Стива Тернера, опублико-
ванной "ZX РЕВЮ".
  Текст,  играющий   подчиненную
роль, следует набирать  шрифтом,
стилистически близким к  изобра-
жению или отвечающим тематике. В
игре "Cobra", например, где бра-
вые ребята-коммандос сражаются с
террористами, на каждого из  ге-
роев заведено досье. Текст досье
набран, как  полагается, шрифтом
пишущей машинки  (Courier).  Как
удалось такое сделать на  "Спек-
труме", уму непостижимо.

         Этапы анализа

  ... Автор выяснил, какие сред-
ства будут использоваться в кон-
кретном случае и как  бы  разло-
жил их перед собой на столе. Са-
мое время принимать стратегичес-
кие решения.
  Практически  всегда  изобрази-
тельный  материал  можно  разде-
лить по смыслу на несколько  ка-
тегорий. Как правило, выделяется
следующее:
  1) Основная  рабочая  информа-
ция - то, что, собственно,  сос-
тавляет суть программы.  Страни-
ца текста для текстового  редак-
тора, карта звездного  неба  для
астрономической программы, пульт
управления и монитор космическо-
го корабля в игре, диалоговые  и
информационные окна в  системной
программе и т.д.
  2) Различные меню.
  3) Строки  для  ввода  данных.
Скажем, "Введите Ваш возраст _".
  4) Актуальные служебные  сооб-
щения  ("Нажмите клавишу", "Game
over", "Подождите,  я  думаю"  и
т.п.).
  5) Чрезвычайные     сообщения:
"Нажата <BREAK>!", "Старые  дан-
ные будут  стерты!!!" - все  то,
после чего можно было бы  поста-
вить восклицательный знак.
  6) Система помощи  (инструкции
для пользователя).
  7) Рабочая  информация  второ-
степенного  порядка.   Например,
данные об  уровне  игрока, коли-
честве  неизрасходованных  бомб,
текущее  время  и  т.д.  То, что
необязательно иметь перед глаза-
ми постоянно в ходе "сеанса".
  Каждая из  основных  категорий
может быть разбита на подгруппы,
те, в  свою очередь - тоже.  Чем
полнее  мы  все  продумаем,  тем
легче  будет  принимать  решения
впоследствии. Уже на этом  этапе
вырисовывается определенная  ие-
рархия.

  Пора переходить  собственно  к
оформлению. Здесь удобно  ввести
понятие  "окно"  -  назовем  так
часть экрана, на которой  распо-
лагается информация той или иной
смысловой группы: окно для сооб-
щений, для меню и т.д.
  Начнем  с  основного  окна, на
котором расположена главная  ра-
бочая информация. Большую  часть
времени это окно  перед  глазами
пользователя, хотя оно не обяза-
тельно появляется  первым  после
запуска программы. Но стиль  бу-
дет диктовать именно это  окно -
своего рода  ключ  к  оформлению
остальных. Выясним  его  формат.
Сначала нужно решить,  будет  ли
оно равно по величине собственно
экрану (256*192 пикселов) или же
можно обойтись участком  помень-
ше. Это зависит от многих факто-
ров.  Скажем, сложные  графичес-
кие изображения потребуют макси-
мум  места, редактор  текстов  -
тоже. С другой  стороны, изобра-
зительную плоскость надо исполь-
зовать как можно экономнее и ра-
циональнее. Если  основное  окно
не равно  по величине  экрану, в
свободном  пространстве  удается
расположить другие  информацион-
ные окна, которые не  обязатель-
но, но удобно также  иметь  пос-
тоянно перед глазами - например,
служебные  сообщения   (см. п.5)
или второстепенную информацию  -
часы, копирайт  и пр. (см. п.7).
В  противном  случае  приходится
либо  создавать  накладывающиеся
окна  (серьезный  шаг, требующий
массу ресурсов) либо утомительно
"листать" экраны. В  большинстве
случаев на экране могут сосущес-
твовать несколько окон. По своей
функциональной  логике  основное
будет, конечно  же, самым  круп-
ным. И располагаться оно  должно
либо в центре, либо в самой  ак-
тивной зоне изобразительной  по-
верхности - ближе к левому  вер-
хнему краю. Размер будет продик-
тован объемом помещенной на  нем
информации, а пропорции  -  дело
вкуса и здравого смысла.
   Посмотрите на экран уже  упо-
мянутой программы Пита Кука "As-
tronomer".
   Вы водите стрелкой по  карте;
найдя  нужную  звезду, нажимаете
"огонь", и на основное окно  на-
кладывается маленькое  окошко  с
информацией о  звезде.  Диалого-
вые  окна, относящиеся  к  меню,
накладываются на  область  меню.
Благодаря столь четкой организа-
ции изображения, с программой за
каких-нибудь полчаса  может  ос-
воиться  пользователь,  даже  не
владеющий английским языком.

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

        Динамические окна

  Накладывающиеся окна - общеиз-
вестный прием.  В  IBM  это  уже
стандарт.  Нет  смысла  подробно
рассказывать  о  нем;  читатель,
обратившись  к современным  IBM-
овским программам, найдет в  них
немало  общего  с  точки  зрения
оформления.   Скажем,   типичный
ход:  верхняя  строка  отводится
под  меню, пользователь, переме-
щая курсор, выбирает нужную  оп-
цию, нажимает <ENTER>  и  из-под
нее вываливается подчиненное ме-
ню. Опция "File" (различные опе-
рации ввода-вывода), как  прави-
ло,  с  левого,  а  "Help"  (по-
мощь) - с правого  края  строки.
Можно даже не обращаться к  IBM,
взгляните на спектрумовские "The
Artist"  и  "Art Studio" - почти
то же самое. В  стандартах  есть
свой смысл: на освоение програм-
мы с привычной системой  диалога
у  пользователя  уходит  гораздо
меньше  времени,  чем  на  нечто
оригинальное, но  непривычное  -
как бы красиво оно ни выглядело.
  Программирующий для IBM  поль-
зуется  готовыми   библиотеками,
давно отлаженными, испытанными -
достаточно лишь указать: куда, и
под каким  соусом  подать, а  до
технических подробностей снисхо-
дить не надо. За один вечер мож-
но перепробовать с  десяток  ва-
риантов. Спектрумовский  инстру-
ментарий тоже не  лишен  средств
для  организации   многооконного
интерфейса: в Бета и Мега-Бейси-
ке, ProDos'е имеются все  нужные
команды. Кое в чем они превосхо-
дят даже стандартные  библиотеки
старых  версий  Турбо-Паскаля  и
Бейсика Microsoft.  Беда  в том,
что не хватает памяти и  скорос-
ти. Изысканный экран съедает все
ресурсы.  Поэтому   единственное
пригодное средство для  создания
многооконного интерфейса  -  Ас-
семблер.
  Несмотря на то, что  опублико-
вано немало  отдельных  полезных
машинно-кодовых  процедур, объе-
динить их в одну гибкую  и  уни-
версальную   систему    способен
только  очень  опытный  програм-
мист. Согласитесь, "The  Artist"
и "Art Studio" - это своего  ро-
да шедевры. Наверное, если бы на
рынке  появился  пакет  программ
типа "Supercode", поддерживающий
многооконный вывод  и  в  то  же
время не столь расточительный  с
точки  зрения  ресурсов  памяти,
как упомянутые Beta-Basic и Pro-
Dos, он пользовался  бы  немалым
спросом. Пока же  каждый  вынуж-
ден бороться с проблемой в  оди-
ночку.

  Традиционный  прием  наложения
окон получил название "водопад".
Самое первое (или самое главное)
окошко  располагается  в   левом
верхнем углу, остальные последо-
вательно накладываются на него и
друг на друга в направлении сле-
ва направо  и  сверху  вниз, при
этом  остаются  видны  заголовки
всех. Что касается  направления,
то именно такое - слева  направо
и сверху вниз - наиболее привыч-
но для европейца,  ведь  он  так
читает и пишет.  Движение  слева
направо воспринимается как  дви-
жение вперед.  Конечно, как нак-
ладывать друг на  друга  окна  -
еще и дело вкуса, так что  выбор
остается за вами. Важно  помнить
одно: какой бы ход вы ни  избра-
ли, его надо  придерживаться  на
протяжении  всей  программы, со-
храняя единство стиля.
  Так выглядит файловая  оболоч-
ка Н.Родионова. В накладывающих-
ся друг на друга окнах  выводит-
ся каталог диска. Таким  образом
удается  избежать  вертикального
скроллинга экрана.
  Если разобраться, тут нет пол-
ного единства смысла и изображе-
ния. Страницы с каталогом привя-
заны к верхней строке, как  буд-
то бы "листать вперед"  и  "лис-
тать назад" - это  опции меню, а
окна с каталогом -  подменю.  На
самом деле это не  так.  Каталог
является основным рабочим окном,
а не подменю, тогда как листание
вперед-назад - скорее  операция,
а  большинство  операций   автор
расположил в  правом  раскрываю-
щемся окне.
  Другая программа Н.Родионова -
Disk Control Utility - также от-
личается раскрывающимися окнами.
Здесь дизайн продуман лучше.
  Расположение и  размер  окошек
не вполне привычны: второе  мас-
сивнее первого, а для  подчинен-
ного  меню, казалось  бы, естес-
твеннее меньший  размер.  Однако
"тень" создает иллюзию объема, и
мы воспринимаем  очередное  окно
так, словно оно находится  ближе
к нам, а не к правому краю экра-
на. Все окна  привязаны  к  оси,
проходящей через  центр  экрана.
Их функциональная  разница  под-
черкивается цветом.

  IS-DOS, как и любая операцион-
ная система, представляет  собой
достаточно  сложную   структуру,
которую было бы гораздо  тяжелее
освоить, если бы  раскрывающиеся
одни поверх других окна не помо-
гали нам ориентироваться в  этом
лабиринте. Поскольку с появлени-
ем новых меню старые  не исчеза-
ют, мы легко прослеживаем  "мар-
шрут",  по  которому  двигались.
Это похоже на рабочий стол:  од-
ни бумаги кладутся  поверх  дру-
гих.
   Обратите  внимание:  все  три
прямоугольных  окна  расположены
так, словно через  них  проходит
невидимая ниточка, привязанная к
левому верхнему углу экрана. Это
важный момент, особенно для сло-
жного  изображения - оно  всегда
должно строиться по определенно-
му ритму, не обязательно  прими-
тивному.
  ...Бесспорно, динамические ок-
на выглядят впечатляюще. Но  ес-
ли у вас нет особого желания во-
зиться с ними - и не надо.  Слу-
чаи, когда  динамичные окна  по-
настоящему нужны, редки.  Прежде
всего тогда, когда  одновременно
приходится работать с двумя  не-
зависимыми списками  данных  или
выполнять одновременно несколько
задач и контролировать результа-
ты. То есть, по нашей терминоло-
гии, когда основное рабочее  ок-
но делится на две или более  не-
зависимых области. С другой сто-
роны, хороший дизайн  -  это  не
следование   стандартам  IBM,  а
прежде всего осмысленная органи-
зация изобразительного  материа-
ла. Можно ошеломить  пользовате-
ля  десятком  прыгающих  прямоу-
гольников  с  текстом, тенями  и
рамками и при этом ни на йоту не
облегчить ему жизнь.

     Дополнительные средства

  Вернемся  к основной  задаче -
организации экрана. Для  нагляд-
ности окна различными  способами
отделяют друг от друга.
  Обособленность окна часто под-
черкивают одиночными или двойны-
ми рамками. Рамки выделяют  окно
на фоне остального экранного ма-
териала и группируют текст внут-
ри. Их можно рассматривать и как
дань моде, в общем-то  уже  про-
шедшей. Обратившись к классичес-
ким программам для  IBM, скажем,
к утилиткам Нортона - легко  за-
метить, что в ранних версиях  ни
одно окно не обходилось без  яс-
но вычерченных рамок, в  послед-
них же версиях они если  и  при-
сутствуют,  то  выглядят   более
скромно, в стиле  Microsoft Win-
dows. А там рамка, как и  прочие
элементы окна, выполняет  совер-
шенно определенные функции. Ска-
жем, за нее можно потянуть  кур-
сором и окно изменит свои разме-
ры.  Поэтому  в "Windows"  рамки
узкие, плотные, как бы выступают
вперед, словно  края  подноса, и
всем своим видом говорят:  "Мыш-
ка, зацепись за меня!"...
   Никто не принуждает  нас  де-
лать  рамки  квадратными.  Можно
обойтись  двумя отбивками, свер-
ху и снизу. Если рамка  толстая,
а шрифт легкий, она будет отвле-
кать все внимание на себя.
  Подобного  эффекта  можно  до-
биться и многими другими  спосо-
бами.  Вместо того, чтобы  выде-
лять  окно  рамками,  попробуйте
по-другому набрать текст: с  из-
мененным  интерлиньяжем, с  дру-
гой межбуквенной разрядкой, дру-
гим  шрифтом, с  подчеркиванием.
Измените цвет "бумаги" или  сим-
волов в границах окна.  Нарисуй-
те сверху или снизу  ряд  симво-
лов псевдографики... Дело вкуса.
Только не все сразу. Окошко  яр-
кое  по цвету, с  тенью, рамкой,
да еще  утолщенным шрифтом - это
уже слишком...

      Единство стиля и ритм

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

          Особенности
  изобразительной поверхности

  Когда  речь шла  о  шрифте, мы
уже обращали  ваше  внимание  на
то, что  изобразительная  повер-
хность не "мертва" и  даже  раз-
ные участки чистого листа  бума-
ги по-разному активны  (вспомни-
те упражнение с правой  и  левой
диагональными  лесенками).   Вот
еще несколько свойств  изобрази-
тельной плоскости.
  1) Геометрический квадрат глаз
воспринимает  укороченным, "при-
севшим", поэтому изображая квад-
рат  на экране, увеличьте  чуть-
чуть его вертикальные стороны.
  2) При точном  членении  квад-
ратной плоскости на две  полови-
ны по горизонтали  нижняя  будет
казаться тяжелее и меньше.
  3) Жирная  горизонтальная  ли-
ния  выглядит толще, чем  верти-
кальная линия такой же толщины.
  4) Геометрически    правильную
окружность наше восприятие  чуть
сплющивает.
  5) Кружок в верхней части пло-
скости легче, чем такой же  кру-
жок внизу.
  6) Треугольник,  стоящий,  как
пирамида, выглядит устойчивым, а
в перевернутом виде та же  форма
кажется шаткой.
  7) Светлый квадрат  на  темном
фоне как бы раздвигает свои гра-
ницы и потому  выглядит  крупнее
такой же величины черного  квад-
рата на белом фоне.
  8) Квадрат, состоящий из гори-
зонталей, зрительно расширяется,
а горизонтальные линии зрительно
увеличивают его высоту.
  9) Квадратное поле, ограничен-
ное горизонтальными линиями, ка-
жется шире, а ограниченное  вер-
тикальными линиями - выше.
  Воспринимайте сказанное  здесь
как шпаргалку - она  пригодится,
когда  вы будете  решать, делать
ли рамки,  отбивки,  где  и  как
располагать  окна;  вообще,  это
нужно  в  ста  и  одном  случае.
Упражнения с простыми  геометри-
ческими  фигурами  помогут   вам
лучше ощутить скрытые возможнос-
ти плоскости.

           *   *   *




Другие статьи номера:

Help - Описание оболочки электронного издания "ZX-FORUM 4".

Секреты успешного дизайна - глава для книги "Дизайн Ваших программ"

Экранные эффекты - Бегущая строка из R-Type.

Экранные эффекты - гашения экрана из Zynaps.

Экранные эффекты - "сворачивание" экрана из Comando Tracer.

Экранные эффекты - плавное "затухание" экрана из Сommando Tracer.

Экранные эффекты - модификация символьного набора для получения оригинального стилизованного шрифта из игры Rockstar.

Экранные эффекты - "выбегающая строка" из игры Rockstar.

Экранные эффекты - "наливающийся" экран из игры Rockstar.

Экранные эффекты - сложный многоступенчатый эффект из игры Bubbler.

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

Технология спрайтов - часть 1: введение.

Технология спрайтов - часть 2: охота на спрайты (поиск и выдирание).

Технология спрайтов - часть 3: форматы спрайтов.

Технология спрайтов - часть 4: форматы спрайтов с маской.

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

Технология спрайтов - часть 6: подготовка данных к печати.

Технология спрайтов - часть 8: печать спрайтов (координаты заданы в знакоместах).

Технология спрайтов - часть 9: печать спрайтов (координаты заданы в пикселях).

Технология спрайтов - часть 10: обзор программ для работы со спрайтами и графикой.

Мир звуков Спектрума - глава 1: Физика звука.

Мир звуков Спектрума - глава 2: Оператор BEEP, Создание эффектов на BEEPе, Создание музыки на BEEPе.

Мир звуков Спектрума - глава 3: Как получается звук (устройство BEEP'ра и способы звукоизвлечения).

Мир звуков Спектрума - глава 4: Программирование звука на ассемблере.

Мир звуков Спектрума - глава 4.1: Программирование звуковых эффектов - Тон, Шум, Комплексы эффектов.

Мир звуков Спектрума - глава 4.2: Программирование звуковых эффектов - Управление громкостью.

Мир звуков Спектрума - глава 4.3: Программирование звуковых эффектов - Управление тембром.

Мир звуков Спектрума - глава 4.4: Программирование звуковых эффектов - Программирование музыки.

Мир звуков Спектрума - глава 4.5: Программирование звуковых эффектов - Многоголосые мелодии (полифония).

Мир звуков Спектрума - глава 4.6: Обработка внешних сигналов - оцифровка.

Мир звуков Спектрума - глава 4.7: Обработка внешних сигналов - Реверберация.

Мир звуков Спектрума - глава 4.8: Синтезирование речи.

Мир звуков Спектрума - глава 4.9: воспроизведение звука на прерываниях.

Мир звуков Спектрума - глава 5: Оператор PLAY для музыкального сопроцессора AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 5.1: Создание эффектов оператором PLAY.

Мир звуков Спектрума - глава 5.2: Создание музыки на PLAYе.

Мир звуков Спектрума - глава 6.1: описание регистров музыкального сопроцессора AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 6.2: Программирование эффектов и музыки под музыкальный сопроцессор AY- 3-8910 (AY-3-8912).

Мир звуков Спектрума - глава 7: Обзор программного обеспечения ZX-Spectrum для создания звуков и музыки.

Мир звуков Спектрума - глава 7.1: Редактор звуковых эффектов SUPER SOUND.

Мир звуков Спектрума - глава 7.2: Музыкальный редактор Wham the Music Box.

Мир звуков Спектрума - приложения 1, 2: листинги звуковых эффектов SUPER SOUND'а, советы по использованию ассемблера.

Дом из клееного бруса цена двухэтажные дома из клееного бруса.

Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Бывальщина - Юность Гейтса.
От авторов - У газеты появилась своя BBS.
Список BBS - Список станций BBS.
Разберемся - Описание игры HACKER.
График BBS - График работы BBS на неделю.

В этот день...   20 апреля