Linux для пользователя
Шрифт:
11.4.2. Форматы файлов шрифтов
В недавние времена буквально каждый графический редактор или издательская программа использовали свой формат файлов шрифтов и, как правило, одни программы не поддерживали форматы других. Со временем число реально используемых форматов существенно сократилось, так как происходит своеобразный "естественный отбор".
Существует два типа матричных шрифтов - принтерные матричные шрифты (bitmap printer fonts), такие как шрифты pk, генерируемые программой dvips, и матричные экранные шрифты, используемые в системе X Window и в консольном режиме. Файлы матричных шрифтов обычно имеют расширения bdf
В Linux ведущим форматом шрифтов является Adobe PostScript. Вообще, PostScript - это язык для описания страницы документа, он используется для вывода страницы с текстом и графикой на экран и на принтер (который поддерживает этот язык). Шрифты Adobe Type основаны на данном языке. Существуют две основные разновидности: Type 1 PostScript font и Type 3 PostScript font. Стандартом является Type 1. Шрифт Type 3 используется довольно редко. Шрифты Type 1 применяются в различных графических и издательских программах, например Adobe PageMaker, но они не являются стандартными в Microsoft Windows и поэтому их использование ограничивается программами, специально разработанными для поддержки данных шрифтов.
Язык Postscript традиционно используется для печати в UNIX, и поэтому шрифты Type 1 широко применяются в Linux. Они поддерживаются в графической системе X Window и программе управления печатью ghostscript.
Обычно шрифт Type 1 для UNIX задается двумя файлами: файлом метрик с расширением afm (adobe font metric), и файлом контуров, который имеет расширение pfb (printer font binary) или pfa (printer font ascii). Файл контуров содержит все глифы, а файл метрик содержит метрики шрифта.
Шрифты Type 1 для других платформ могут поставляться в других форматах. Например, шрифты postscript для Windows часто используют формат pfm для файла метрик.
Эти шрифты распространяются примерно таким же образом, как шрифты Type1 - в виде пары afm-файла метрик и pfa-файла контуров. Хотя они поддерживаются стандартом postscript, но не поддерживаются в X Window, поэтому имеют ограниченное применение.
Технология True Type была создана фирмой Apple для использования в операционной системе MacOS в 1990 году. Позже лицензию на эту технологию приобрела фирма Microsoft. Благодаря гигантской популярности MS Windows шрифты True Type стали ведущим форматом для компьютерных шрифтов. Шрифты True Type хранят метрики и информацию о начертаниях символов в одном файле (обычно с расширением ttf). Недавно были разработаны серверы шрифтов, или фонт-серверы, которые сделали шрифты True Type доступными для X Window. С некоторых пор стандарты postscript и ghostscript тоже поддерживают True Type шрифты. В силу этого, а также из-за того, что имеется большое количество высококачественных и доступных шрифтов True Type, они становятся все более популярными в Linux.
Шрифты Type42 в действительности являются просто шрифтами True Type с дополнительным заголовком, что делает возможным обработку их интерпретатором PostScript. Большинство приложений, таких как ghostscript и SAMBA могут работать с этими шрифтами. Однако, если вы имеете postscript-принтер, может оказаться необходимым явно создать файлы шрифтов типа Type42.
Несмотря на длительное противостояние между сторонниками шрифтов Type1 и True Type, эти форматы имеют много общего. Оба они представляют масштабируемые контурные шрифты. Разница в том, что шрифты Type1 используют для построения глифов кривые Безье третьей степени в отличие от квадратичных кривых, на которых строятся шрифты True Type. Теоретически это является преимуществом, поскольку тем самым Type1 включает все кривые, которые можно построить с помощью True Type. На практике, однако, разница очень незначительна.
Шрифты True Type имеют преимущество, заключающееся в том, что обеспечивают лучшую поддержку хинтинга (шрифты Type1 тоже поддерживают хинтинг, но не так эффективно). Это существенно только для устройств с низким разрешением, таких как экраны (улучшение хинтинга не дает заметной разницы на принтерах с разрешением 600dpi, даже при малых размерах точки). Улучшенный хинтинг не имеет большого практического значения еще и потому, что шрифты True Type с хорошим хинтингом встречаются достаточно редко. Причина этого в том, что пакеты программного обеспечения для создания шрифтов, поддерживающих хинтинг, слишком дороги для большинства дизайнеров шрифтов. Только крупные фирмы, такие как Monotype, создают шрифты с полноценной поддержкой хинтинга.
Основная разница между шрифтами True Type и Type1 состоит в доступности и поддержке приложениями. Широкое распространение шрифтов True Type для Windows привело к тому, что многие страницы на сайтах Интернета создаются в предположении, что определенные шрифты True Type установлены на компьютере пользователя. Многие пользователи имеют на своих компьютерах большое число шрифтов True Type, поставляемых с приложениями Windows. Однако, под Linux большинство приложений поддерживают шрифты Type1, но не поддерживают на том же уровне шрифты True Type. Кроме того, некоторые из основных производителей шрифтов поставляют свои шрифты в формате Type1. Например, фирма Adobe выпускает очень мало шрифтов True Type. Учитывая, что преобразование из одного формата в другой не может быть проведено без определенных потерь качества, надо стараться использовать в каждом приложении те шрифты, на использование которых это приложение рассчитано.
Метафонт был разработан Дональдом Кнутом (Donald E Knuth) как часть его типографской системы TEX. Метафонт - это язык программирования графики (a graphics programming language), подобный Postscript. Сфера применения этого языка шире, чем просто вывод изображений символов. У метафонта имеется ряд очень привлекательных качеств. Одна из очень важных особенностей, - то, что масштабирование выполняется очень изящно. Символы метафонта Computer Modern имеют различный вид при размере 20 точек и 10 точек. Изображения символов изменяются при изменении размера, потому что для малых размеров желательно увеличить ширину несколько больше, чем высоту (это делает символы больших размеров более элегантными, а символы маленьких размеров более читабельными).
Файлы метафонтов обычно имеют расширение mf. При выводе на печать или экран они преобразуются в растровые шрифты, определяемые устройством вывода. Это преобразование, хотя и дает высокое качество, осуществляется медленно, так что эти шрифты не очень удобны для использования в WYSIWYG-приложениях.
11.4.3. Конфигурация X-сервера
Теперь, когда введены все используемые в последующем термины и даны необходимые сведения о форматах шрифтов, можно перейти к рассмотрению того, как настроить ваш Linux на корректную работу со шрифтами. При этом я буду ориентироваться на пользователей дистрибутива Red Hat и его аналогов (я проверял изложенные ниже рекомендации на дистрибутиве Black Cat 6.02).
Выводом изображений и, в частности, изображений символов, на экран занимается X-сервер. Когда приложение обращается к X-серверу с требованием вывести на экран какой-то текст, X-сервер обращается к своему конфигурационному файлу XF86Config, в котором должен быть определен перечень каталогов со шрифтами (FontPath). Откройте файл XF86Config (обычно он находится в каталоге /etc/X11/ или /usr/X11R6/lib/X11/) с помощью любого текстового редактора. Недалеко от начала файла в секции "Files" вы должны увидеть примерно такие строки: