Приложение В. Шрифты и LaTeX
Гарнитуры
Если при чтении книжек вы больше интересовались содержанием, чем оформлением, то могли и не заметить, что они набираются разными шрифтами. Здесь мы имеем в виду не шрифтовые выделения (скажем, жирный — или, как сказали бы полиграфисты, полужирный шрифт), а различные рисунки шрифтов. Полиграфисты называют их гарнитурами. Заглянув в выходные данные книги (особенно изданной несколько десятилетий назад), можно найти там слова " Гарнитура обыкновенная новая" или "Литературная гарнитура". Эти слова означают разные рисунки букв; каждая из гарнитур может включать в себя шрифты различных начертаний (прямые, курсивные, полужирные) и размеров.
Вот несколько образцов различных гарнитур:
Вначале показаны четыре начертания гарнитуры Times1Строго говоря, нельзя называть эту гарнитуру " Times", поскольку она лишь очень напоминает гарнитуру Times, но во избежание юридических проблем так не называется. Мы опускаем подобные оговорки в дальнейшем. — прямое светлое, курсивное светлое, прямое полужирное и курсивное полужирное. Аналогичные варианты есть и для других гарнитур нашего примера, но для экономии места они не показаны. Кроме того, не показаны (также входящие в число символов) цифры, знаки препинания и т.п.
Что нужно LaTeX'у от шрифта?
Допустим, нам понравилась какая-то гарнитура и мы хотим использовать такой (точнее говоря, очень похожий) на нее шрифт в системе LaTeX. Чтоб для этого нужно?
Прежде всего нужно иметь файлы, описывающие формы букв выбранной нами гарнитуры. Проще всего, если эти файлы подготовлены в формате METAFONT (как это сделано Кнутом для шрифтов Computer Modern). Тогда с помощью программы METAFONT из них можно получить tfm-файлы с описанием размеров букв.
Немного сложнее обстоит дело со шрифтами в формате Type 1. Но и для этого формата написаны программы, позволяющие полуавтоматически изготавливать tfm-файлы (основная проблема, требующая ручного вмешательства, — несовпадение кодировок).
После этого можно попросить LaTeX использовать эти файлы вместо обычно используемых им tfm-файлов для шрифтов Computer Modern, и получить dvi-файл. (Подробнее об этом см. ниже). Но чтобы использовать этот файл, dvi-драйвер должен либо иметь pk-файлы с матрицами букв, либо уметь использовать вместо них описания шрифтов в формате Type 1 (и иметь эти описания). Обе возможности встречаются на практике. Например, программа xdvi (показывающая dvi-файлы на экране в X Window System под UNIX) использует pk-шрифты. Эти шрифты программа xdvi получает из шрифтов в формате Type 1 с помощью программы gsftopk. А программа dvips просто вставляет в результирующий PostScript-файл описания соответствующих шрифтов в формате Type 1. (При этом используется механизм "виртуальных шрифтов", но его описывать мы не будем.)
При этом получающийся файл имеет то достоинство, что он не зависит от разрешения: в нем содержатся не матрицы букв того или иного размера (как будет с pk-шрифтами), а векторные описания форм букв. Такие PostScript-файлы лучше выдерживают увеличение.
Для примера посмотрите на надпись "Это строка (string)!" в приложении Б. При изготовлении соответствующего PostScript-файла были использованы pk-шрифты разрешения dpi. Затем эта надпись была включена в текст с увеличением вдвое, поэтому в итоговом оригинал-макете она соответствовала разрешению dpi и выглядела хуже, чем такая же надпись в разрешении dpi. Такого не случается с векторными шрифтами: сравните с надписью "This is a string", которая использует (предусмотренные стандартом PostScript) векторные шрифты. Впрочем, заметить разницу в плавности линий можно только на хорошем принтере и при внимательном разглядывании.