Алексей Федорчук
6 августа 2008 г
Казалось бы, шрифты — это такая консервативная штука, что за короткий срок каких-либо принципиальных изменений в этой сфере ожидать трудно. Однако едва прошло три года со времени публикации статьи Система X Window и шрифты, как она оказалась несколько устаревшей. Не принципиально, но ряд моментов определенно требует корректив.
Для начала отмечу те моменты из указанной статьи, которые остались неизменными. Это:
- представление о семействах и типах гарнитур, шрифтоначертаниях и тому подобных полиграфических аспектах (что более подробно описано здесь);
- понятие о растровых и векторных шрифтах и их форматах;
- принципы описания шрифтов в оконной системе X;
- базовые методы установки шрифтов и настройки доступа к ним.
Однако местами и тут требуются некоторые дополнения, которые, правда, далеко не всегда затрагивают конечного пользователя, так как привели только к упрощению его жизни.
По отношению к полиграфии в шрифтовом хозяйстве ничего не меняется веками. Добавляются, конечно, новые гарнитуры, — но это, если не считать отчетливо декоративных шрифтов, не более чем модификации гарнитур, существующих с конца XVIII столетия.
Ничего не поменялось и с растровыми шрифтами. А вот для векторных шрифтов получил распространение относительно новый формат — Open Type, представляющий собой расширение формата True Type, в частности, так называемой расширенной типографики.
Расширенная типографика основывается на разделении понятий символа (в смысле character), то есть численного кода некоего знака (пардон, тут получается сплошная тавтология, но ничего не поделаешь, думаю, вы меня понимаете) и его визуального представления (глифа или, на исконно праславянском языке, графемы).
Разницу между символом (для определенности далее будем рассматривать только алфавитные символы, но это относится и ко всем остальным) и его графическим представлением легко поймет каждый, кому приходилось видеть старые книги с буквицами в начале глав и подзаголовками, набранными капителью (small caps — строчные буквы, выглядящие как заглавные): это разные графические представления букв, имеющих один и тот же численный код.
Ранее для воспроизведения различных глифов одного набора символов требовалось создавать специальные шрифтоначертания в дополнение к основным. Формат же Open Type позволяет по определённым правилам осуществлять подмену базового глифа каким-либо из дополнительных внутри одного и того шрифтового файла.
Собственно, Open Type — это не столько формат, сколько некий контейнер, который может вмещать в себя как контуры шрифтов в формате True Type, так и PostScript-контуры. Шрифтовые файлы первых имеют в названии суффикс ttf, то есть неотличимы от обычных шрифтов True Type. Однако они поддерживают все расширения Open Type — если, конечно, они поддерживаются операционной системой и конкретными приложениями. Если нет — то шрифты Open Type ведут себя как обычные True Type.
Имена файлов шрифтов, данные которых описываются в формате PostScript, отличаются суффиксом oft. В остальном о них можно сказать то же самое, что и об Open Type в TrueType-версии.
Все шрифты формата Open Type отличаются сквозной поддержкой Unicode и, следовательно, потенциально могут быть русифицированы. Впрочем, следует помнить, что, вопреки распространенному заблуждению, поддержка Unicode сама по себе не добавляет волшебным образом в шрифтовой набор глифов кириллические символы: глифы эти предварительно кто-то должен создать. Если для данного шрифтового набора этого до сих пор никто не сделал, то никаких русских букв в нём не появится, будь он хоть трижды юникодовым.
В одной системе могут сосуществовать обе версии шрифтов Open Type. Однако при наличии выбора резонные люди рекомендуют использовать TTF-версию. Тому есть ряд причин, в обсуждение которых мы вдаваться не будем, а просто последуем совету. Тем более, что шрифтов Open Type в OTF-версии мало вообще, а свободных, да еще и поддерживающих кириллицу — и того меньше.
Принципы описания шрифтов в Иксах ничуть не изменились. Новым теперь является только то, что к этой процедуре приходится прибегать всё реже и реже. Во-первых, всё больше и больше часто используемых приложений позволяет настроить шрифты своими внутренними средствами, и необходимость в создании файлов типа .Xdefaults, требующего ручного описания используемых шрифтов, постепенно отпадает.
Во-вторых, с некоторых пор пропала нужда и в наполнении файлов fonts.dir и fonts.scale, Для установки шрифтов нынче достаточно поместить их в соответствующий каталог и, если раньше он не фигурировал среди путей в файле /etc/X11/xorg.conf, исправить это упущение, внеся в секцию
Section «Files»
соответствующую строку (какую — скажу чуть позже). Пререзапуск сеанса Иксов (и тем более рестарт машины) не нужен: достаточно обновить кэш шрифтов командой
$ fc-cache -fv
данной от лица суперпользователя. Пошелестев некоторое время винчестером, она выведет на экран нечто вроде такого:
/usr/share/fonts/OTF: caching, new cache contents: 5 fonts, 0 dirs /usr/share/fonts/TTF: caching, new cache contents: 95 fonts, 0 dirs ... /var/cache/fontconfig: cleaning cache directory /root/.fontconfig: not cleaning non-existent cache directory fc-cache: succeeded
Теперь установленные шрифты будут доступны всем вновь запущенным приложениям. Приложения, начавшие работу до очистки кеша, надо будет перезапустить.
Обратим внимание на пути, приведённые в выводе последней команды. Да, теперь все шрифты для Иксов собираются в подкаталогах каталога /usr/share/fonts/. В данном примере, данном для дистрибутива Zenwalk, это подкаталоги /usr/share/fonts/TTF (для шрифтов True Type), /usr/share/fonts/Type1 (для шрифтов Adobe Type) и /usr/share/fonts/misc (для различных растровых немасштабируемых шрифтов), прочие подкаталоги в этом дистрибутиве пусты.
В других дистрибутивах имена подкаталогов могут несколько отличаться. Так, в Ubuntu каталог /usr/share/fonts/ содержит подкаталоги X11 (для шрифтов из комплекта Xorg), truetype и type1 (для TTF- и ATM-шрифтов соответственно). Однако базовый каталог для шрифтовых файлов во всех современных дистрибутивах Linux (но не во FreeBSD) остаётся одним и тем же.
Правда, часто (например, в том же Zenwalk’е) можно видеть и старые хранилища шрифтовых каталогов с неуклюжими путями вроде /usr/X11R6/lib/X11/fonts или /usr/X11/lib/X11/fonts, но это символические ссылки на /usr/share/fonts/, сохранённые совместимости ради. А в Ubuntu и от этих ссылок избавились.
В общем-то, всё это мелочи, которые, однако, здорово упрощают жизнь. Из числа же более кардинальных изменений главное — это резкое расширение ассортимента доступных шрифтов вообще и кириллических — в частности.
Кое-кому ещё памятно время, когда список кириллических шрифтов в Иксах исчерпывался сначала растровым набором фирмы Cronix, удостоившимся чести стать штатным компонентом XFree86, а потом и Xorg — именно он размещается в подкаталоге cyrillic и поныне (если, конечно, этот подкаталог не пуст).
Потом к базовому набору присоединились, с одной стороны, растровые шрифты Дмитрия Болховитянова (расширенный и улучшенный вариант шрифтов Cronix), а с другой — масштабируемые Adobe Type 1, правда, в очень ограниченном количестве, поддерживающие только восьмибитные кодировки и не всегда безупречные лицензионно.
Однако время восьмибитных кодировок уходило в прошлое, а вместе с ними уходили и прежние шрифты, как растровые, так и Type 1, поскольку и для тех, и для других поддержка Unicode или отсутствовала, или была реализована кривовато. Наступало время UTF8 и шрифтов TrueType.
Не то чтобы их у нас совсем не было. Еще на заре тысячелетия появился свободный, лицензионно чистый шрифтовой набор Валентина Филиппова, включавший как Type1, так и TTF, причем изначально в кодировке UTF8. Однако он не получил широкого распространения даже в своём отечестве, а уж в других отечествах — и подавно. Почему — сказать трудно. Лично для меня главной причиной отказа от этого набора послужил моноширинный шрифт, мало подходящий для терминала или текстового редактора. В настоящее время развитие этого пакета, насколько мне известно, прекратилось, и сами шрифты отыскать в сети нелегко.
На многие годы любимыми шрифтами линуксоидов всех стран и народов стали, как ни странно, шрифты от Microsoft. Они ни разу не свободны, но их можно легально и бесплатно скачать из сети и использовать в личных целях. Правда, распространяться в составе дистрибутивов они не могут — пакеты под названиями mscorefonts, ms-ttfonts и тому подобными представляют собой, в сущности, просто сценарии для их получения с соответствующих серверов, распаковки и установки. При отсутствии же в составе данного дистрибутива пакета такого рода пользователь должен был установить шрифты от MS вручную.
Конечно, в нашей стране это мало кто делал (и делает) по понятным причинам. Тем не менее, опишу соответствующую процедуру чисто для представления о том, как законопослушный гражданин должен использовать продукцию Самой Великой Софтверной компании, если за него об этом не подумали майнтайнеры его дистрибутива.
Для начала следовало скачать архивированные шрифтовые файлы с одного из полуофициальных их источников. Главный из таковых — сайт
Полный список бесплатных шрфтов от MS включает следующие файлы: andale32.exe, arial32.exe, arialb32.exe, comic32.exe, courie32.exe, georgi32.exe, impact32.exe, times32.exe, trebuc32.exe, verdan32.exe, webdin32.exe, из которых comic имеет декоративный характер, а webdin — вообще не столько шрифт, сколько набор картинок в ttf-формате.
Всё это — самораспаковывающиеся cab-архивы, ибо их распространение в любом другом виде где-то когда-то кем-то запрещено. Самораспаковывающаяся их сущность проявляется, естественно, только под Windows. Так что для начала нам потребуется автономное средство для работы с cab-архивами. И таковое имеется в лице утилиты cabextract — подозреваю, специально написанной для извлечения микрософтовских шрифтов. Если в данном дистрибутиве она отсутствует, тянем её с
Теперь переходим в каталог с нашими скачанными cab-шрифтами и даём команду типа
$ cabextract *.exe
или перечисляем нужные нам шрифты поименно. И в итоге получаем полный или сокращенный набор ttf-файлов, с которыми остаётся только поступить так, как было описано выше для любых шрифтов.
Имеет ли смысл описанная процедура? Чтобы ответить на этот вопрос, рассмотрим, что же собой представляют шрифты от Microsoft с точки зрения типографики.
Если исключить декоративный comic и webdings неясного (по крайней мере, для меня) назначения, оставшиеся гарнитуры можно разделить на группы — «пропорциональную» и «моноширинную», в каждой из которых по два семейства — Sans Serif и Serif.
В составе пропорциональных Sans Serif — Arial, Trebuchet и Verdana.
Можно видеть, что они достаточно похожи друг на друга. Что и не удивительно — все они производные классической гельветики. Разве что Trebuchet наиболее компактен, а Verdana — самая «развесистая», тогда как Arial занимает промежуточное положение. Как ни странно, Trebuchet при этом чуть ли не наиболее «плотный», что делает его предпочтительным для web-страниц, когда требование компатности должно сочетаться с читаемостью.
Переходим к пропорциональным серифам. В этом семействе две гарнитуры — Georgia и Times New Roman.
Здесь различия более существенные — Times New Roman отличается от Georgia не только большей компактностью, но и меньшей «плотностью». Эти свойства подходят для передачи сплошного печатного текста, тогда как Georgia более подходит для заголовков.
И, наконец, моноширинные шрифты. Это — Courier New с отсечками и Andale Mono без оных.
Традиционно у моноширинных шрифтов две сферы применения: во-первых, они используются в терминальных окнах и текстовых редакторах, чему есть масса причин, на которых мы останавливаться не будем (сомневающимся достаточно попробовать в терминале что-нибудь вроде Times New Roman). И здесь более «плотный» Andale, безусловно, выигрывает у бледноватого Courier’а, разве что для последнего избрать полужирное начертание — но тогда он, как и большинство серифов, становится менее читаемым.
Вторая же сфера применения моноширинных шрифтов — достаточно специализированная: они служат для передачи команд внутри обычного текстового абзаца и листингов программ сплошным блоком. По крайней мере, мне другие примеры использования в голову не приходят — прочие выделения обычно осуществляются шрифтоначертаниями. Этой цели можно достигнуть с помощью любой из гарнитур — разве что Andale, как более «плотный», скорее подошел бы для внутриабзацных вставок.
Таким образом, мы видим, что шрифты от Microsoft перекрывают все основные пользовательские потребности — и даже с некоторым избытком. Ведь на самом деле минимально необходимый шрифтовой набор должен включать три гарнитуры: по одному пропорциональному Sans Serif и Serif для передачи основного текста и заголовков (когда и что использовать — посмотрим чуть позже) и одну моноширинную — для указанных выше специальных применений. Хотя и вторая моноширинная гарнитура не помешает.
Когда и для чего использовать пропорциональные серифы и санс-серифы? Ответ был дан в Полиграфическом введении: на бумаге для передачи сплошного текста больше подходят шрифты с засечками, на экране же в этом качестве обычно лучше смотрятся (и, главное, читаются) беззасечечные.
В отношении заголовков принято обратное: Sans Serif на бумаге и Serif на экране. Хотя во втором случае я безусловный сторонник использования сквозной гарнитуры и для основного контента, и для заголовков (с различными кеглями и шрифтоначертаниями). В случае же с бумагой вопрос неоднозначный — иногда различие гарнитур основного текста и заголовков способствует оживлению материала, иногда — создаёт впечатление пестроты.
Что же касается шрифтов для интерфейсных элементов на экране, то тут в полной мере применимо всё, сказанное в заключительной части Полиграфического введения, описывающей эксперименты с восприятием серифов и гротесков различными категориями читатейлей в различных условиях. То есть тут предпочтение безусловно должно отдаваться шрифтам без засечек. Но применение различных их гарнитур кажется вполне правомерным: для заголовков окон, например, вполне уместен более «разлапистый» шрифт, для подписей к иконкам, спискам и так далее — более компактный.
Итак, на примере шрфтов от Microsoft мы рассмотрели основные пользовательские потребности. Теперь стоит поглядеть, способны ли удовлетворить их активно разрабатываемые сейчас свободные шрифты в форматах True Type и OpenType, изначально ориентированные на поддержку Unicode.
Речь пойдет, разумеется, исключительно о шрифтах, штатно поддерживающих кириллицу. Таких семейств в настоящее время насчитывается несколько. Наиболее известны (и, пожалуй, распространены) среди них три: Bitstream Vera, DejaVu, Liberation. Меньшей известностью и распространённостью пользуется набор GNU/Freefonts. Все они самодостаточны — удовлетворяют минимальным пользовательским требованиям, очерченным выше, то есть включают по одному представителю от каждого типа пропорциональных и моноширинных гарнитур — с отсечками и без отсечек.
Кроме того, есть еще несколько «внесемейных» гарнитур и их наборов, не образующих полного комплекса шрифтов, и потому самодостаточными не являющихся. О них я скажу чуть позднее.
Семейство гарнитур
Потомок этот — семейство шрифтов
Впрочем, недавно (с весны 2007 года) за первое место в десятке сильнейших (при трех участниках) претендует семейство шрифтов
И, наконец,
Теперь посмотрим, что из себя представляют наши «семейные» свободные гарнитуры в сравнении. Начнем, естественно, со шрифтов без отсечек, как более важных для экрана (и, соответственно, пользователей за ним). Это: Bitstream Vera Sans, DejaVu Sans, Liberation Sans, FreeSans.
Как и следовало ожидать, Bitstream Vera Sans и DejaVu Sans очень похожи между собой. Только первая из этих гарнитур — более широкая и как будто бы чуть-чуть более «плотная». Что же касается Liberation Sans, она безусловно наиболее компактна, хотя плотностью мало уступает DejaVu Sans. Между Liberation Sans и FreeSans выявляется весьма мало различий (разве что первый чуть более компактен), что, учитывая «возраст» последнего, заставляет предположить его влияние на разработчиков Red Hat/Fedora.
«Отсечные» представители каждого семейства — Bitstream Vera Serif, DejaVu Serif, Liberation Serif и FreeSerif.
Про них можно сказать то же самое, что и про одноимённых представителей «безотсечечного» семейства. Опять же отметим сходство между Liberation Serif и FreeSerif.
Ну и моноширинные шрифты — все принадлежат к группе Sans Serif: Bitstream Vera Sans Mono, DejaVu Sans Mono, Liberation Mono за исключением FreeMono, который имеет курьероподобный облик.
Рис. 16. Bitstream Vera Sans Mono
В общем — та же закономерность, естественно, менее чёткая ввиду самой природы моноширинных гарнитур: чуть более заметное возрастание компактности и уменьшение «плотности» в «алфавитном порядке», от Bitstream Vera Sans Mono до Liberation Mono. Лишь FreeMono, естественно, выпадает из этого ряда, так как принадлежит к другому семейству гарнитур. Кстати, этот шрифт является и ощутимо более компактным, чем «безотсечечные моноширинники».
Подведём предварительный итог. Любое из четырех свободных семейств в состоянии удовлетворить те самые минимальные шрифтовые потребности пользователя, о которых речь шла ранее, и потому в первом приближении может считаться самодостаточным. При этом никто не возбраняет комбинировать шрифты из разных семейств в единой системе для использования в разных целях. В частности, моноширинный шрифт с отсечками из набора GNU/Freefonts будет совсем не лишним дополнением к любому из «безотсечечных моноширинников».
Тем более, что все описанные выше шрифты легко доступны. Набор Bitstream Vera по умолчанию входит во все распространённые дистрибутивы Linux’а очень давно — еще с тех времён, когда в нём не было и намёка на поддержку кириллицы. Шрифты DejaVu нынче выглядят сладкой парочкой к Bitstream Vera: вряд ли какой из современных дистрибутивов общего назначения обходится без них.
Следует отметить, что Bitstream Vera и DejaVu идут ноздря в ноздрю и с точки зрения качества: по наблюдениям StraNNik’а (см.
С пакетом Liberation дела немного хуже — по умолчанию его нет даже в таком фронтирном дистрибутиве, как Ubuntu, хотя он и доступен в репозиториях. Но, скажем, в дистрибутиве Zenwalk шрифты эти представлены. И, думаю, не за горами то время, когда Liberation сравнится по распространённости с Bitstream Vera и DejaVu. Пока же, если вам не повезло с наличием его в дистрибутиве, набор этот легко скачать с
А вот GNU/Freefonts не проявляет стремления к экспансии, что для проектов GNU довольно странно. Мне этот шрифтовой набор попадался в редких дистрибутивах, хотя в репозиториях Debian и Ubuntu он обнаруживается; а вот в Zenwalk’е, напротив, этих шрифтов нет ни на установочном диске, ни даже в репозитории. Тем не менее, и этот набор без проблем можно скачать с
Являются ли описанные выше наборы свободных шрифтов (по отдельности или в сочетании) полноценной заменой джентельменскому набору от Microsoft? На этот вопрос каждый должен ответить для себя сам.
Я, например, перестал пользоваться микрософтовскими шрифтами с того времени, как получили распространение шрифты DejaVu (момент, когда в Bitstream Vera стала поддерживаться кириллица, как-то пропустил). Сочиняя настоящую статью, я их установил впервые за три, наверное, года — исключительно на предмет иллюстрирования. И заодно оживил в памяти процедуру их легальной установки (почему, на радостях, что смог вспомнить, её и описал).
С другой стороны, многие сайты в Сети жестко привязаны к шрифтам от Microsoft — их разработчикам, видимо, невдомёк, что бывают какие-то ещё шрифты, — и при отсутствии таковых сайты могут выглядеть не вполне адекватно. Я на такие сайты не хожу принципиально — не из-за ненависти к Microsoft, просто полагаю жесткое определение шрифтов на web-страницах в принципе порочным: разработчик сайта ведь по определению не может знать, какие шрифты установлены на машине посетителя. И потому максимум, который полагаю допустимым, — это определение семейств monospace, sans и serif. Но если сайты такого рода нужны позарез, то без шрифтов от Microsoft, похоже, не обойтись.
Нужны микрософтовские шрифты, как выяснилось, и блоггерам: на
Однако давайте вернёмся к свободным шрифтам и посмотрим, чем нас порадуют «внеcемейные» пакеты. Я далеко не уверен, что смогу описать их все — остановлюсь только на тех, которые использую сам.
Первым в этом ряду будет шрифт Libertine или, точнее,
Как можно видеть, шрифт вполне симпатичен. Не будучи самодостаточным, он способен украсить любую шрифтовую коллекцию «оживляжу для». Впрочем, свои главные достоинства он проявляет для печати — видимо, с этой целью и разрабатывался.
Следующие два шрифта — Old Standard и Tempora, — разработаны нашим соотечественником, Алексеем Крюковым. Будучи историком-византиевистом и по совместительству линуксоидом с большим стажем (а еще говорят, что Linux — не для гуманитариев), он предназначал свои разработки для специальных применений — в частности, адекватного воспроизведения старинных рукописей на греческом и балканских языках. Однако, как можно видеть из рисунков, оба эти щрифта вполне пригодны для текстов общего характера.
Скачать шрифты можно с авторского сайта СОЛУНЬ, собственно шрифты лежат здесь. На этом же сайте можно обнаружить одноименный пакет утилит, предназначенных для упрощения работы с многоязычными текстами в OpenOffice.org (есть версия и для Microsoft Word 97/2000/XP/2003, но она более развиваться не будет).
И в заключение — несколько слов о чисто терминальных шрифтах.
В свое время на этих страницах рассказывалось о пакете terminus-fonts
— безусловно, лучшем наборе шрифтов для консольного режима Linux и Unix. Однако в него входят и шрифты для терминалов оконной системы X, как растровые, так и векторные.
Правда, множественное число в данном случае — некоторое преувеличение: в пакете имеется один растровый шрифт — собственно Terminus, с вариациями самых различных размеров и один векторный (в формате TTF) — Terminus Re33.
Последний мне настолько понравился, что вытеснил из всех моих терминальных окон другие моноширинные свободные шрифты. Казалось бы, ничего особенного, но давайте глянем на него в «родной» терминальной обстановке:
Рис. 25. Terminus Re33 в окне терминала Xfce
Пакет terminus-fonts уже давно входит в состав большинства дистрибутивов или доступен из их репозоториев. Установка его штатными средствами автоматически приводит и к установке шрифтов для Иксовых терминалов. Если же вам опять-таки не повезло с дистрибутивом — скачать пакет можно с
Вот и всё, что я имел сказать о свободных шрифтах для Иксов на современном этапе.
Гран мерси за наводку на Libertine! Для статей с формулами — отличный компромисс между замозоливающим глаза Times New Roman и моим любимым Academy, в котором катастрофически не хватает глифов.