Linux для пользователя - Виктор Костромин
Шрифт:
Интервал:
Закладка:
Субъективное замечание:
Вместе с широким распространением компьютеров в русском языке появился новый термин - фонт. Первоначально это была простая подмена русскоязычного термина его английским эквивалентом, применявшаяся только в компьютерном сленге. Однако постепенно стало проявляться различие в употреблении этих терминов. Понятие "фонт" стало охватывать понятие "шрифт", но начало трактоваться в более широком смысле, подразумевая не только собственно шрифт, как набор изображений символов, но и способ формирования этих изображений на экране и/или бумаге, и способ сохранения этих изображений в файле. Кроме того, словом "фонт" называют просто файл, содержащий закодированные неким образом изображения символов шрифта (например, битовые карты изображений символов). Мне кажется, что в последнем случае правильнее употреблять термин "файл фонта", а термин "фонт" следует употреблять во втором смысле: как совокупность собственно шрифта (как набора изображений символов), способа вывода этих изображений символов на печать или экран и способа сохранения шрифта в виде файла. Таким образом, можно сказать, что шрифт - понятие типографское, а фонт - компьютерное. Впрочем, такая трактовка этих терминов не является пока общепринятой и всюду ниже употребляется единый термин - шрифт.
Существует два основных типа шрифтов: растровые и контурные (их еще называют векторными).
В растровых шрифтах изображение символа составляется из отдельных точек и сохраняется в файле в виде двоичной матрицы или "битовой карты" (bitmap). Поэтому такие шрифты можно назвать матричными. Растровые шрифты являются аппаратно-зависимыми - они предназначены для получения только определенных разрешений. Матричный шрифт с разрешением 75 точек на дюйм (75 DPI) даст только 75 точек на дюйм даже на принтере, обеспечивающем разрешение 1200 DPI. Для обеспечения возможности изменения размера шрифта приходится либо хранить в файле битовые карты для разных размеров шрифта, либо изображение приходится увеличивать или уменьшать в целое число раз, что приводит к деформации изображений символов. Кроме того, при использовании растровых шрифтов для печати необходимы дополнительные принтерные шрифты, соответствующие экранным.
Матричные экранные шрифты обычно используются в терминальных окнах, в консоли и в простых текстовых редакторах, где отсутствие масштабируемости и тот факт, что они не могут использоваться для печати, не так существенны.
В контурных (или векторных) шрифтах для вывода изображения символа применяется математический аппарат, основанный на использовании кривых Безье. Как известно, для описания прямой линии нам необходимо и достаточно задать только две точки - начало и конец прямой. Кривая Безье задается своими начальной и конечной точками, и, кроме того, набором промежуточных точек, к которым стремится данная кривая. Регулируя отклонение кривой от этих промежуточных точек, можно достичь гладких изгибов кривой Безье. Каждый символ (точнее говоря, глиф, см. ниже) контурного шрифта представляется набором контуров, задающих границы изображения. Контура описываются замкнутыми кривыми Безье. При выводе изображения на экран или принтер производится преобразование заданного таким образом изображения символа в матрицу точек (грубо говоря, в растровое изображение соответствующего размера).
Достоинством контурных шрифтов является их независимость от устройства вывода - они одинаково выглядят как на экране, так и на принтере. Каждый символ может иметь различное начертание: курсив, полужирный, подчеркивание и обычное. Кроме того, он может иметь абсолютно любой размер (т. е. эти шрифты являются масштабируемыми), что невозможно в случае с растровыми шрифтами.
Отдельным элементом контурного шрифта, выводимым на экран или принтер, является не символ, что казалось бы более естественным для незнакомого с предметом человека, а так называемый глиф (этот термин является прямым заимствованием соответствующего английского термина "glyph"). Глиф может представлять либо отдельный символ, либо два или большее число символов (так называемые лигатуры), либо часть изображения символа.
Еще одно понятие, которое необходимо для описания и классификации шрифтов - это сериф. Серифы - это небольшие выступы у оснований символов и в верхней части изображений символов. Например, буква "i" в таких шрифтах как Times Roman имеет серифы у основания и в верхней части вертикальной черты. Серифы появились в изображениях символов шрифтов относительно недавно и позволили улучшить зрительное восприятие символов. Шрифты, в которых используются серифы, считаются более читабельными, чем шрифты без серифов. При малых размерах символов серифы обычно не используются, так как отсутствие лишних элементов позволяет легче их воспринимать. Например, фирма Microsoft рекомендует шрифт Verdana как наиболее подходящий для очень малых размеров символов при выводе на экран.
Межсимвольное расстояние задает интервал, на который символы шрифта отстоят друг от друга. Бывают шрифты с фиксированным межсимвольным расстоянием и фиксированным размером символов (речь идет о ширине, высота символов у обычных шрифтов и так фиксирована) или fixed width fonts, и шрифты переменной ширины - variable width fonts. Шрифт фиксированной ширины выглядят как текст, напечатанный на пишущей машинке, поскольку все буквы имеют одну и ту же ширину. Это качество желательно для таких применений как компьютерная консоль, но нежелательно для больших печатных документов. Шрифты с фиксированной шириной символов часто используются, например, в примерах, иллюстрирующих компьютерные команды.
В шрифтах переменной ширины для повышения читабельности и улучшения внешнего вида текста варьируется как ширина отдельных символов, так и межсимвольное расстояние, для чего используется техника трекинга и кернинга.
Трекинг - это специальные приемы улучшения оптических свойств текста при больших и малых размерах за счет изменения расстояния между символами. Трекинг определяет межсимвольное расстояние как функцию от размера шрифта.
Кернинг улучшает качество восприятия текста, изменяя межсимвольное расстояние в некоторых парах символов, которые называются парами кернинга. Например, при изображении пары символов "То" маленькая буква "о" должна быть приближена к заглавной "Т", и даже размещаться частично "под" этой "Т", что повышает качество изображения.
Для достижения наилучшего качества отображения символов шрифта при работе с малыми размерами используется такое средство, как хинтинг (hinting). При отображении символа в малом размере учитывают, какие части контура символа следует использовать, а какие нет. Для этого в описание контура символа помещаются "хинты" - специальные инструкции, указывающие каким образом надо изменять форму контура для достижения наилучшего качества. Как правило, редакторы шрифтов сами выполняют хинтинг, избавляя пользователя от дополнительной работы над шрифтом.
Совокупность данных о ширине символов, межсимвольном расстоянии, а также информации, необходимой для кернинга и трекинга, называют метриками шрифта.
Варианты шрифтов. Каждый шрифт обычно содержит несколько вариантов изображений каждого символа. Большинство шрифтов содержат такие варианты как полужирный (bold), курсив (italic) и полужирный курсив (bold-italic). Некоторые шрифты имеют дополнительные варианты, например, жирный или small caps, когда строчные буквы заменяются уменьшенными заглавными (этот вариант шрифта чаще всего используется для создания заголовков).
11.4.2. Форматы файлов шрифтов
В недавние времена буквально каждый графический редактор или издательская программа использовали свой формат файлов шрифтов и, как правило, одни программы не поддерживали форматы других. Со временем число реально используемых форматов существенно сократилось, так как происходит своеобразный "естественный отбор".
Растровые шрифты (Bitmap Fonts)Существует два типа матричных шрифтов - принтерные матричные шрифты (bitmap printer fonts), такие как шрифты pk, генерируемые программой dvips, и матричные экранные шрифты, используемые в системе X Window и в консольном режиме. Файлы матричных шрифтов обычно имеют расширения bdf или pcf.
Шрифты Type1В Linux ведущим форматом шрифтов является Adobe PostScript. Вообще, PostScript - это язык для описания страницы документа, он используется для вывода страницы с текстом и графикой на экран и на принтер (который поддерживает этот язык). Шрифты Adobe Type основаны на данном языке. Существуют две основные разновидности: Type 1 PostScript font и Type 3 PostScript font. Стандартом является Type 1. Шрифт Type 3 используется довольно редко. Шрифты Type 1 применяются в различных графических и издательских программах, например Adobe PageMaker, но они не являются стандартными в Microsoft Windows и поэтому их использование ограничивается программами, специально разработанными для поддержки данных шрифтов.