В процессе вывода макета из файлов PostScript и PDF часто возникают проблемы со шрифтами, вызванные ошибками при подготовке макета и генерации итоговых файлов. Как правило, погрешности связаны с незнанием некоторых особенностей работы со шрифтами. В данной статье мы рассмотрим эти нюансы и покажем, как избежать недоразумений. Хотя все объяснения построены на примере QuarkXPress, большую часть изложенного можно отнести и к другим программам верстки.
PostScript и TrueType
На рынке шрифтов в основном используются два формата: PostScript и TrueType. Сейчас формат используемого шрифта не столь критичен, так как различия в качестве вывода обычно весьма незначительны. Все же существует ряд технологических и исторических моментов, которые в макетах, предназначенных для высококачественного вывода в издательствах и сервисных бюро, склоняют чашу весов в сторону использования шрифтов PostScript.
Исторически так сложилось, что большинство издательств, печатных бюро и сервисных бюро предпочитают работать с шрифтовым форматом PostScript. Поэтому если в макете используются PostScript-шрифты (Adobe Type 1, Type 3), то в сервисном бюро проблем с ними возникнуть не должно. Связано это с тем, что большинство устройств вывода (фотонаборные автоматы, цифровые печатные машины и др.) получают на входе PostScript-данные. PostScript-данные генерируются на выходе программ верстки и иллюстративных пакетов (QuarXPress и др.), а это значит, что все элементы макета конвертируются в формат PostScript, и шрифты здесь не исключение. PostScript-шрифты построены на основе языка PostScript, и их конвертирование не вызывает сложности. В свою очередь, шрифты TrueType могут приводить к ошибкам, но происходит это в основном при использовании устройств вывода, поддерживающих PostScript Level 1 или PostScript Level 2. Новая же спецификация языка PostScript 3 непосредственно поддерживает работу со шрифтами TrueType, поэтому фотонаборные автоматы, поддерживающие PostScript 3, без особых затруднений выводят TrueType шрифты.
Рис. 1а. «Фирменный» TrueType-шрифт |
Рис. 1б. Кто это сделал? |
Рис. 1в. Плоды «конверсии» |
Еще одна опасность, которая подстерегает пользователей TrueType, заключается в том, что многие шрифты этого формата, присутствующие в данный момент на рынке, получены в результате простой переделки или автоматического преобразования существующих PostScript-шрифтов. Качество таких шрифтов оставляет желать лучшего: в них слабо реализованы возможности кернинга (настройки межсимвольных интервалов), они могут неправильно выводиться на экран и печататься. Поэтому, если уж использовать шрифты TrueType, то только фирменные. Узнать происхождение TrueType шрифта можно в окне просмотра шрифта (рис. 1а). Если данные о фирме-производителе шрифта отсутствуют (рис. 1б) или имеется надпись Converted from (Преобразован из…) (рис. 1в), то такой шрифт явно не «чистых кровей» и использовать его не рекомендуется.
Шрифты в EPS-файле
Большинство иллюстраций, подготовленных в Adobe Illustrator или CorelDraw, экспортируются в макет QuarkXPress через графический формат EPS. Если в иллюстрациях использовались текстовые объекты, то их необходимо конвертировать в кривые, исключая зависимость от шрифтов. Это особенно актуально для текстовых объектов, имеющих толстые контуры, сложные заливки или другие специальные модификации. Однако преобразование в кривые больших массивов текста, особенно малого кегля, нежелательно. В подобных случаях перед сохранением иллюстрации нужно обязательно задать внедрение шрифтов в EPS-файл (рис. 2а, б). При этом нужно помнить, что все шрифты TrueType будут автоматически конвертированы в формат PostScript Type 1, так как эти шрифты не могут быть непосредственно внедрены в файл EPS. Имена новых шрифтов Type 1 в EPS-файле будут такими же, как и у соответствующих шрифтов TrueType. Такое преобразование иногда может приводить к ошибкам и ухудшению качества при выводе. В Quark XPress есть возможность сохранять страницу или разворот макета в EPS-файле командой File, Save Page as EPS. Это делается, например, для вставки страницы одного макета как изображение в другой.
Рис. 2а. Окно сохранения EPS-формата в Adobe Illustrator |
Рис. 2б. Окно экспортирования EPS-формата в CorelDraw |
При сохранении в EPS-файл шрифты, использованные при верстке данной страницы, не внедряются – в файл помещается лишь информация об именах шрифтов. Однако при выводе макета, содержащего такие EPS-файлы, в файл PostScript будут внедрены все шрифты, включая и те шрифты, информация об именах которых присутствует в EPS-файле. Такое внедрение будет возможно только если шрифты, на которые имеются ссылки в EPS-файле, установлены и доступны в системе. TrueType-шрифты в этом случае могут и не конвертироваться в PostScript Type 1. В этом случае они вкладываются в одну из «PostScript-оболочек» Type 42 или CIDFontType 2, представляющих собой специальные форматы PostScript-шрифтов, используемых для внедрения TrueType-шрифтов в PostScript-файл. Подробнее о форматах Type 42 и CIDFontType смотри ниже.
Внедрение шрифтов в PostScript-файл
При выводе макета в PostScript-файлы, необходимо настроить драйвер AdobePS так, чтобы в PostScript-файл были внедрены все имеющиеся в макете шрифты. Для этого необходимо в папке «Принтеры» вызвать свойства для принтера Acrobat Distiller, во вкладке Fonts – кнопку Send Fonts As (Послать шрифты как) и в полях Send PostScript fonts as (Послать PostScript-шрифты как) и Send TrueType fonts as (Послать TrueType-шрифты как) выбрать варианты, исходя из следующих рекомендаций.
Рис. 3а (сверху), рис. 3б (снизу). Шрифты PostScript следует посылать в собственном формате, а TrueType – как Type42 |
PostScript-шрифты Adobe Type 1 и Type 3 могут быть непосредственно внедрены в PostScript-файл, не претерпевая никаких преобразований формата. В списке Send PostScript fonts (Послать шрифты PostScript) нужно выбрать вариант In Native Format (В «родном» формате) (рис. 3а). Со шрифтами TrueType более сложная ситуация. PostScript-драйвер может конвертировать TrueType-шрифты в формат PostScript Type 1 и Type 3 (вариант Outlines), или растрировать шрифт TrueType непосредственно в системе и внедрять растровую версию шрифта Type 3 (Вариант Bitmaps) (рис. 3б). Но эти два варианта имеют ряд недостатков. В первом случае недостаточно точное преобразования форм символов из режима квадратичных B-сплайнов (TrueType-шрифты) в режим кривых Безье (PostScript-шрифты) не позволяет получить максимально высокое качество при выводе. Во втором случае итоговые растровые шрифты будут излишне громоздкими, а результат при выводе также недостаточно высокого качества.
Существует еще один альтернативный вариант. Многие PostScript-интерпретаторы фотонаборных автоматов и других устройств вывода PostScript позволяют считывать данные TrueType-шрифтов и выполнять их растрирование. Но чтобы Postscript-интерпретатор мог прочитать TrueType-шрифт, он должен быть вложен в PostScript-«оболочку». В качестве такой оболочки предлагаются шрифты PostScript-формата Type 42 и CIDFontType 2, поддерживаемые языком PostScript Level 2 и 3. Причем шрифты TrueType нормального начертания конвертируются в шрифты Type 42, а шрифты TrueType других начертаний и декоративные шрифты конвертируются в CIDFontType 2. Таким образом, шрифты TrueType, предварительно преобразованные в шрифты Type 42 и CIDFontType 2, могут быть внедрены в PostScript-файл. Поэтому, если для вывода используется современное PostScript-устройство, поддерживающее как минимум PostScript Level 2, то в списке Send TrueType fonts нужно выбирать Type 42 (см. рис. 3б). В этом случае можно получить наилучшее качество вывода.
Существует одна тонкость, связанная с внедрением TrueType-шрифтов при употреблении форматов Type 42 и CIDFontType 2. PostScript-драйвер при генерировании PostScript-файлов внедряет шрифты TrueType в режиме частичного включения (Subset fonts). Это означает, что в файл PostScript будет внедрена информация только о тех символах шрифта, которые непосредственно представлены в макете. По сути, драйвер создает новый файл шрифта формата Type 42 или CIDFontType 2, содержащий реализованные в макете символы исходного шрифта TrueType, и внедряет его в файл PostScript. Имя этого шрифта отличается от имени шрифта TrueType. Например, шрифт CyrillicSans в PostScript-файле будет иметь имя MSTT31a235b92Tcc. Но при этом в новый файл шрифта добавляется информация об оригинальном имени шрифта TrueType. Это имя используется программой Acrobat Distiller при генерировании файла PDF из файла PostScript.
Проверить внедрение шрифтов в PostScript-файле можно с помощью специальных программ, таких как Markzware FlightCheck (www.markzware.com) или Extensis Preflight Pro (www.extensis.com). Обе программы выявляют ошибки в файлах на основе предпочтений, определяемых пользователем. Эти программы также привлекают для проверки файлов приложений (QuarkXPress, PageMaker) и файлов PDF.
Внедрение шрифтов в файл PDF
Перед преобразованием PostScript-файлов в формат PDF, необходимо настроить Acrobat Distiller, так чтобы все использованные шрифты в макете были внедрены в файлы PDF. Для этого в настройках Job Options (Settings (Настройки), Job Options (Опции задания)) во вкладке необходимо включить параметр Embed All Fonts (Внедрять все шрифты)(см. рис. 4).
Рис. 4. Лучше включить полный набор символов |
Оба формата шрифтов (PostScript Type 1 и TrueType) могут внедряться в PDF-файл. Как было показано выше, шрифты TrueType должны быть конвертированы в шрифты Type 42. В этом случае PostScript-интерпретатор программы Acrobat Distiller сможет прочитать шрифты TrueType.
Параметр Subset All Embedded Fonts Below (Частичное включение для внедренных шрифтов) позволяет выполнить частичное внедрение шрифта (Subset fonts) (рис. 4). Включение данного параметра уменьшает размер PDF-файла, но несет ряд потенциальных проблем, с которыми можно столкнуться при последующей обработке PDF-файлов в Adobe Acrobat. Во-первых, редактирование текста в Adobe Acrobat инструментом TouchUP будет ограничено или вовсе невозможно. При попытке добавления символов в текст может оказаться, что информация о таком символе отсутствует во внедренном шрифте, и он не сможет отображаться на экране и печататься. Во-вторых, при объединении страниц разных PDF-файлов с помощью команды Document (Документ), Insert Pages (Вставить полосы), в результирующем PDF-файле может быть внедрено несколько версий одного и того же шрифта. Каждая версия явится отдельным шрифтом, содержащим информацию о части символов оригинального шрифта, что приведет к увеличению размера файла. Вывод: параметр Subset All Embedded Fonts Below в большинстве случаев нужно выключать, тогда в PDF-файл будут внедряться «полные» шрифты с информацией обо всех символах.
Так как PostScript-драйвер при генерировании PostScript-файлов внедряет шрифты TrueType в режиме частичного включения, то в этом случае шрифты TrueType в файле PDF также будут иметь состояние частичного включения (Subset fonts).
Если используемый в макете шрифт по каким-либо причинам не был внедрен в файл PostScript, то Acrobat Distiller попытается найти недостающие шрифты по имени в доступных ему папках. Прежде всего, поиск производится в папке Acrobat 4.0\Resource\Font, где расположены 14 стандартных шрифтов, которые поставляются вместе с пакетом Adobe Acrobat. Чтобы Acrobat Distiller производил поиск и в системной папке «psfonts», где установлены шрифты PostScript, или в других папках, необходимо их указать, используя команду Settings (Параметры), Font Locations (Расположение шрифтов) (рис. 5).
Рис. 5. Покажите для Distiller, где искать шрифты |
Acrobat Distiller выполняет поиск по имени только PostScript-шрифтов, шрифты TrueType напрямую не поддерживаются и поиск их невозможен. Поэтому шрифты TrueType должны быть обязательно внедрены в файл PostScript путем конвертирования их или в формат PostScript Type 1, или Type 42 (CIDFontType 2), как было показано выше. Если шрифты TrueType все же отсутствуют в файле PostScript, то Acrobat Distiller будет искать в указанных ему папках шрифты PostScript, с именами, соответствующими именам шрифтов TrueType. И если они найдены, то автоматически внедряются в PDF файл, а вместо всех отсутствующих шрифтов будет использован стандартный Courier.
Рис. 6. Шрифтов не хватает |
Такая проблема cо шрифтами TrueType возникнет при преобразовании в формат PDF EPS-файла, сохраненного в QuarkXPress командой File, Save Page as EPS. Так как в EPS-файле шрифтов нет (имеются лишь данные об их именах), Acrobat Distiller, выполнив поиск шрифтов по именам в доступных папках, сможет внедрить в PDF файл все найднные PostScript-шрифты Type 1. Вместо всех TrueType-шрифтов в файле PDF будет использован шрифт Courier. Таким образом, если предполагается сохранять страницы макета в EPS-файле с последующим конвертированием его в PDF, то использовать нужно только шрифтыPostScript. Иначе следует выполнить вывод в PostScript-файл всех EPS-файлов, размещенных в макете QuarkXPress как изображения, при этом не забывая, что все TrueType-шрифты, использованные при верстке «EPS-страниц», должны быть установлены в системе.
В процессе преобразования файла PostScript в формат PDF Acrobat Distiller может выдавать сообщения об ошибках и указывать предпринятые программой действия (рис. 6). Иногда ошибки со шрифтами могут даже приводить к завершению преобразования без создания файла PDF. Чтобы этого не происходило, нужно для параметра When Embedding Fails (При ошибке внедрения) выбрать состояние Warn and Continue (Предупредить и продолжать) (рис. 7).
Что будет, если не внедрять шрифты в PDF-файл?
Если шрифт не был внедрен в файл PDF и не установлен в системе, то Adobe Acrobat, открывая такой файл, попытается временно заменить отсутствующий шрифт на новый, что выполняется с помощью технологии Multiple Master и имеющихся в PDF-файле данных о метрике отсутствующего шрифта. Новый шрифт создается на основе другого шрифта (типа Multiple Master), наиболее похожего на заменяемый шрифт. При такой замене не гарантируется точное соответствие вида нового шрифта старому, более того, шрифты (особенно декоративные) могут вообще по-другому выглядеть (рис. 7).
Рис. 7. Результаты замены |
И самое главное: отсутствующие русские шрифты не могут быть заменены корректно, т. к. используемые по умолчанию Multiple Master шрифты Adobe Sans MM и Adobe Serif MM не поддерживают русский алфавит.
Проверка внедренных шрифтов в файл PDF Adobe Acrobat позволяет показать все используемые шрифты в файле PDF. Для этого можно воспользоваться командой File, Document Info, Fonts. В окне Font Info необходимо проверить, что шрифты внедрены, т. е. в поле Used Font (Используемые шрифты) все шрифты имеют режим Embedded или Embedded Subset (только для TrueType-шрифтов). Состояние замены шрифта Adobe Sans MM недопустимо.
Так же для проверки используемых шрифтов привлекаются специальные дополнения для Adobe Acrobat. Расширение Enfocus PitStop (www.enfocus.com) выполняет автоматическую предварительную проверку (preflight check) PDF-файла и показывает представленные в нем шрифты. Кроме того, оно может заменять проблемные шрифты на другие. Это особенно интересно в случае шрифтов TrueType. Их можно заменить на доступные шрифты PostScript Type 1 и, тем самым, исключить возможные проблемы при выводе.
В заключение
Конечно же, предвидеть и исключить все проблемы со шрифтами при подготовке макета к выводу невозможно. Но минимизировать вероятность их возникновения - основная задача создателя макета. Автор надеется, что рассмотренные нюансы работы со шрифтами при подготовке файлов PostScript и PDF-макета к выводу помогут читателям решить ее успешно.
Сергей Фомин – преподаватель компьютерной графики в Центре Компьютерного Обучения при МГТУ им. Баумана.
Семейство шрифтов
Многие проблемы при использовании шрифтов вызваны неправильным обращением с их семействами. Семейством называется группа шрифтов, имеющих различные стили. В QuarkXPress доступ к стандартным стилям (Bold Italic, Bold-Italic) выполняется путем применения соответствующего стиля к тексту, форматированному обычным шрифтом. Другие специальные стили (Light, Medium, Demibold, Heavy, Oblique, Condensed и др.), если они имеются в семействе шрифтов, могут быть выбраны непосредственно из шрифтового меню, например BauhausC Light. Для некоторых шрифтов стандартных стилей в Mac OS используется этот же принцип выбора стиля. Такой выбор стиля в шрифтовом семействе не приводит к проблемам, так как, по сути, является выбором определенного шрифта из семейства. Этот же шрифт будет использован и при выводе макета. Назначение же стандартных стилей первым способом таит в себе потенциальную опасность. Необходимо знать, поддерживает ли данное семейство шрифтов стандартные стили, и если да, то какие. Подавляющая часть семейств шрифтов не поддерживает стандартный стиль Bold-Italic, а некоторые семейства состоят всего из одного шрифтового стиля и не имеют вариантов начертаний (например, Parsek).
Какой же будет получен результат, если все же назначить стандартный стиль тексту, отформатированному шрифтом, не поддерживающим этот стиль. QuarkXPress успешно назначит выбранный стиль и покажет желаемый результат на экране. Однако при выводе макета в лучшем случае участок текста будет иметь заданное начертание, хотя и не высокого качества, реализованное за счет программной трансформации символов шрифта. В худшем случае начертание текста не изменится, а расстояние между символами претерпит изменения, чтобы соответствовать новому стилю. На самом деле QuarkXPress и менеджер шрифтов (такой как Adobe Type Manager (ATM)) «ошибочно» создают экранный шрифт в соответствии с требованиями изменения стиля. Когда же текст с реально несуществующим стилем выводится на печать, система не может найти файл шрифт, необходимый для вывода, и пересылает на вывод имеющийся стилевой вариант.
Таким образом, перед назначением тексту стандартных начертаний Bold, Italic и Bold-Italic необходимо узнать, поддерживает ли выбранное семейство шрифтов данные начертания. Для этого можно воспользоваться менеджером шрифтов ATM или стандартными средствами просмотра шрифтов операционной системы.
Шрифтовые эффекты
Помимо назначения трех стандартных стилей, программа QuarkXPress предлагает также для оформления текста ряд шрифтовых эффектов: подчеркивание (underline), зачеркивание, (strike thru), контурный эффект (outline), эффект тени (shadow). Все эти специальные эффекты не требуют наличия соответствующего шрифта, а реализуются исключительно за счет программной обработки. Поэтому эффеты могут быть применены к любому шрифту.