Моноширинный шрифт
Моноширинный, или непропорциональный шрифт, — шрифт, в котором все знаки (точнее, кегельные площадки знаков) имеют одинаковую ширину[1]. Этим он отличается от пропорционального шрифта, в котором буквы отличаются по ширине друг от друга[2].
Следует различать моноширинный и равноширинный шрифты: в последних знаки стремятся к одинаковой ширине, но кегельные площадки знаков неодинаковы[3].
История
Первые моноширинные шрифты были разработаны для пишущих машинок, так как реализация механической печати пропорциональным шрифтом требовала значительного усложнения печатающего узла[4]. Существовали и наборно-печатающие машинки, использующие пропорциональный шрифт и изменение межбуквенных интервалов, но они применялись лишь в оперативной полиграфии[5]. Конструкция электромеханических печатных машинок и телеграфных аппаратов в большинстве своём также предполагала использование моноширинных шрифтов.
Жизнь моноширинных шрифтов продолжилась на компьютерах: в качестве устройства ввода-вывода во многих ранних ЭВМ использовался телетайп[6][7]. Долгое время алфавитно-цифровые печатающие устройства (например — принтеры типа «ромашка») и знакогенераторы видеотерминалов и графических адаптеров также позволяли использовать исключительно моноширинные шрифты. Текст на экран выводился в виде матрицы знакомест, в которую могло поместиться строго определённое количество знаков (как правило, 80 символов в строке, что соответствовало объёму одной перфокарты), а видеоизображение динамически создавалось по кодам символов и их изображениям — это давало экономию дорогой (в те времена) памяти и упрощало программирование.
В наборы символов подобных устройств часто включались также символы псевдографики для оформления разного рода таблиц и бланков, а также простых графиков и рисунков[8]. В дальнейшем моноширинные шрифты и псевдографика легли в основу расширенного текстового интерфейса пользователя, включающего в себя элементы оконного.
Особенности начертания символов
Буквы многих алфавитов (латинского — в большей степени, современного русского — в меньшей) имеют разную ширину знаков. Некоторые знаки (такие, как i) занимают в кегельной площадке место шириной в один основной штрих, а другие (такие, как w) — в несколько раз больше[3]. Поэтому вокруг узких знаков образуется много пустого места, а широкие становятся тёмными и сложноразличимыми, особенно в небольшом разрешении и жирном начертании.
Чтобы эти недостатки не были столь заметны, к буквам применяются дополнительные меры оптической компенсации. Узким буквам добавляют засечки, даже если остальные символы шрифта выполнены без засечек[4]. У широких символов иногда уменьшают некоторые элементы, как средний штрих у буквы «Ш». Ещё при проектировании моноширинных шрифтов возникает проблема схожести цифры 0 и буквы O, и чтобы их можно было отличить, первую нередко перечёркивают по диагонали, либо вносят другие элементы внутрь овала.
Все эти меры искажают привычный рисунок букв[4]. К тому же строки, набранные моноширинным шрифтом, не выглядят сплошными, а разбиваются на колонки шириной в одно знакоместо, и для компенсации приходится увеличивать межстрочный интервал. Поэтому в больших объёмах текста моноширинные шрифты значительно менее удобочитаемы, чем пропорциональные, и имеют меньшую ёмкость, что делает их малопригодными для книг или журнальных статей[4].
Применение в современной типографике
Несмотря на то, что современные видеосистемы и принтеры компьютеров позволяют работать с пропорциональными шрифтами, моноширинные шрифты продолжают использоваться прежде всего потому, что они предоставляют простой способ форматирования текста, хоть и ограниченный в возможностях, зато не требующий использования специальных языков разметки и программного обеспечения, а также легко воспроизводимый на различных устройствах. Примеры применения моноширинных шрифтов:
- Среды разработки и редакторы исходного текста программ — благодаря использованию моноширинных шрифтов упрощается выравнивание строк и расстановка отступов согласно стандартам оформления, что позволяет лучше ориентироваться в коде[4];
- Интерфейс командной строки и эмуляторы терминала — в них, кроме форматирования вывода, моноширинный шрифт вместе с псевдографикой даёт возможность пользоваться расширенным текстовым интерфейсом пользователя;
- В технической литературе моноширинным шрифтом выделяют любой компьютерный текст — не только блоки исходного кода, но и ключевые слова языков программирования, имена файлов и каталогов, вводимую в программу информацию и т. д.
- В биологии моноширинным шрифтом пишут цепочки нуклеотидов и аминокислот;
- Выполняемые моноширинными шрифтом ASCII-рисунки позволяют менять шрифт на другой моноширинный без особых помех качеству изображения.
- Для печати простых документов вроде кассовых чеков;
- Системы оптического распознавания текста надёжнее работают с моноширинными шрифтами, поэтому такими шрифтами печатают документы, которые, возможно, будут автоматически сканироваться;
- Табулатуры для гитар;
- В западной театральной традиции сценарий печатают шрифтом Courier-12. Одна страница такого сценария длится примерно одну минуту[9][10]. Такой способ оформления до появления компьютеров помогал вносить в сценарий изменения, сохраняя удобочитаемость и единство оформления.
- Частично моноширинные шрифты используются в автомобильных номерах — в частности, Европейского Союза, Украины, России.
В типографском наборе числовых данных есть тонкость: в таблицах все цифры должны иметь одинаковую ширину (то есть выровненные по разрядам), с выравниванием чисел по правому краю, даже если набор идёт пропорциональным шрифтом[11]. В Юникоде есть знак «цифровой пробел» (\u2007), по ширине равный моноширинной цифре. Плюс и минус обычно имеют такую же ширину.
В компьютерных интерфейсах моноширинными цифрами набирают не только таблицы, но и «скачущие» числовые индикаторы. Поэтому обычно цифры в компьютерных шрифтах делают по умолчанию моноширинными. В шрифте PT Sans к «узкой» единице применили обычные для моноширинных шрифтов меры оптической компенсации.
Режим пропорциональных цифр включается командами OpenType[12]; в CSS3 для этого используется конструкция font-variant-numeric:tabular-nums / proportional-nums[13], либо font-feature-settings:"tnum" / "pnum". Пример:
1234567890 — пропорциональные цифры.
1234567890 — моноширинные цифры.
Элементы китайского, корейского и японского письма принципиально вписаны в квадраты одинакового размера, поэтому восточноазиатские шрифты являются моноширинными по своей природе.
Часто используются также «двухширинные шрифты»: иероглифы имеют «полную» ширину, а символы ASCII — ровно в 2 раза уже иероглифа. При этом в шрифтах имеются также и полноширинные версии символов ASCII и «узкие» версии некоторых восточноазиатских символов (например, катаканы).
В разметке HTML существует несколько тегов, которые должны отображать текст моноширинным шрифтом[14]:
Теги HTML для отображения текста моноширинным шрифтом
<plaintext>...</plaintext>(простой текст, использование тега не рекомендовано);<pre>...</pre>(преформатирование, все пробелы, символы переноса строк и табуляции сохраняются при выводе);<tt>...</tt>(имитация телетайпа, устаревший тег);<code>...</code>(код программы);<xmp>...</xmp>(пример вывода программы, использование тега не рекомендовано);<samp>...</samp>(пример вывода программы);<kbd>...</kbd>(сочетание клавиш, или ввод с клавиатуры).
В CSS моноширинный шрифт в общем виде выбирается с помощью конструкции font-family: monospace (хотя можно также указать название конкретного моноширинного шрифта, например font-family: Lucida Console, monospace или font-family: Courier New, monospace).