Оригинальный шрифт (вверху) аппроксимируется программой Acrobat, если он не внедрен в PDF-документ или недоступен в системеВстраиваемый шрифт — это шрифт, который упакован в PDF-файл как ресурс. Внедрение гарантирует, что PDF-текст будет одинаково выглядеть везде, где бы он ни выводился или рассматривался, но это увеличивает размер файла документа. В этом методе взлома обсуждается внедрение и его альтернативы, положительные и отрицательные стороны, а также разбиение шрифта на подмножества, позволяющие внедрять только часть полного шрифта. Разбиение было разработано для уменьшения размера файла, но при неправильном использовании оно может значительно увеличить его.

Просмотрите, какие PD-шрифты или их подмножества внедрены в PDF-файл, открывая его в Acrobat или Reader и выбирая команду File\Document Properties\Fonts (Файл\Свойства документа\Шрифты). Внедренные шрифты обозначаются как Embedded (Встроенный).

Внедрение шрифтов в PDF-документ

В идеале, все шрифты должны быть внедрены. Если шрифт не внедрен в PDF-документ, программа Acrobat/Reader попробует найти его на компьютере. Если шрифт не установлен на компьютере, Acrobat/Reader попробует аппроксимировать его, используя свои собственные ресурсы (см. рисунок). Без внедренного шрифта PDF-документ может выглядеть по-разному на различных машинах.

Насколько хорошо Acrobat/Reader аппроксимирует шрифты? Отключите опцию Use Local Fonts in Reader or Acrobat (Использовать местные шрифты в Reader или Acrobat), чтобы увидеть, как будут выглядеть не внедренные шрифты. В Acrobat 6 выберите Advanced\Use Local Fonts (Дополнительно\Использовать местные шрифты), в Adode Reader 6 — Document\Use Local Fonts (Документ\Использовать местные шрифты), в Acrobat 5 — View\Use Local Fonts (Вид\Использовать местные шрифты) или просто используйте комбинацию клавиш Ctrl-Shift-Y.

Препятствием к внедрению шрифтов служит добавление каждым из них приблизительно 20 Кбайт к размеру PDF-файла. Для больших PDF-документов это незначительно. Для сетевых PDF-документов, состоящих из нескольких страниц, это может быть недопустимым.

Если размер PDF-файла критичен, выберите некоторые или все Base-шрифты документов из одной основной коллекции шрифтов, а затем сконфигурируйте программу Distiller, чтобы никогда не внедрять их. Шрифты Base 14 представляют ядро, которое можно использовать без внедрения. Шрифты Base 35 обеспечивают традиционные стили, которые также можно использовать без внедрения. Для внедрения отдавайте предпочтение шрифтам Туре 1, поскольку их размер значительно меньше, чем у TrueType.

Шрифты Base 14

Шрифты Base 14 можно использовать в любом PDF-документе без внедрения. Их названия: Times, Helvetica, Courier и Symbol. Times New Roman обычно используется вместо Times, a Arial — вместо Helvetica.

Если в документе используется шрифт Helvetica и требуется, чтобы PDF-документ отображался именно со шрифтом Helvetica (а не Arial), убедитесь, что он внедрен. Некоторые профили Distiller автоматически исключают все шрифты Base 14 из списка внедряемых.

На рисунке показаны образцы шрифтов Base 14 и Base 35.

Шрифты Base 35- надмножество шрифтов Base 14 (левая колонка)

Шрифты Base 35

Шрифты Base 35 — надмножество шрифтов Base 14. Они добавляют стиль, и большинство из них можно использовать без внедрения. Если ваша система не имеет одного из семейств шрифтов, показанных в таблице, попробуйте использовать вместо этого подобный шрифт.

Семейство шрифтов Base 35 и подобные шрифты, которые можно использовать без внедрения

Название семейства шрифтов

Подобные шрифты

Times

Times New Roman

Helvetica

Arial

Helvetica Narrow

Arial Narrow

Palatino

Book Antiqua

Bookman

Bookman Old Style

Avant Garde

Century Gothic

New Century Schoolbook

Century Schoolbook

Courier

Courier New

Symbol

Symbol MT

Использование шрифтов Base 35, показанных в таблице, требует внедрения. Любой декоративный или стилизованный шрифт всегда должен быть внедрен.

Если шрифты Base 35, показанные на рисунке (или подобные им), отсутствуют в системе, установите бесплатные шрифты, поставляемые с Ghostscript.

Семейство шрифтов Base 35, которые должны быть внедрены

Название семейства шрифтов

Подобные шрифты

Zapf Dingbats

Monotype Sorts

Zapf Chancery

Monotype Corsiva

Конфигурирование внедрения шрифтов в Distiller

Изменение настройки шрифтов на вкладке Fonts программы DistillerНастройка внедрения шрифтов производится на вкладке Fonts (Шрифты) диалогового окна Job Options (Рабочие параметры) программы Distiller (см. рисунок).

Переключатель Embed All Fonts (Внедрять все шрифты) устанавливает параметр по умолчанию. Отключение его означает Embed No Fonts (Не внедрять никаких шрифтов). Списки шрифтов Never Embed (Никогда не внедрять) и Always Embed (Всегда внедрять) используются для изменения установок по умолчанию. Так, если выбран режим Embed All Fonts, все шрифты исходного документа будут внедрены в PDF-документ, кроме перечисленных в списке Never Embed. Если режим Embed All Fonts не выбран, то только шрифты, перечисленные в списке Always Embed, внедряются в PDF-документ.

Сконфигурируйте программу Distiller, чтобы никогда не внедрять шрифты Base 14, поместив их (и им подобные) в список Never Embed (Никогда не внедрять). Если надо, поступите также со шрифтами Base 35 (и им подобными). При использовании Acrobat/Distiller 5.0 в шрифты Base 14 автоматически не включаются подобные им. В Windows измените в раскрывающемся списке Font Source (Источник шрифта) путь на C:\windows\fonts или C:\winnt\fonts , чтобы увидеть список системных шрифтов, в котором находятся подобные шрифты.

Acrobat 6 дает возможность удалить внедренные шрифты из PDF-документа, используя команду PDF Optimizer (PDF-оптимизатор). Выберите шрифты для удаления командой Advanced\PDF Optimizer\Fonts (Дополнительно\РОР-оптимизатор\Шрифты).

Конфигурирование внедрения шрифтов в программе Ghostscript

Программа Ghostscript внедряет все шрифты, кроме шрифтов Base 14, хотя, если необходимо, можно внедрить и их. Выясните опытным путем, отказ от внедрения каких шрифтов в Ghostscript может привести к созданию PDF-документа, работающего со сбоями в программах Acrobat и Reader. Возможно, следующая версия Ghostscript решит эту проблему.

Подмножество внедренных шрифтов

Нет смысла упаковывать в PDF-документ полный шрифт, если фактически из него используются несколько символов. Разбиение шрифта — методика внедрения только его части. Подмножество шрифта содержит те символы, которые используются в документе. Альтернативой является упаковка полного шрифта в PDF-документ. Distiller может полностью упаковать в PDF-документ только шрифт Туре 1. Шрифты любого другого формата, например TrueType, эта программа разбивает.

В большинстве случаев все внедренные шрифты должны быть разбиты на подмножества. Но это вызывает проблемы позже, при сборке нескольких частей PDF-документа в результирующий документ. Если каждая часть PDF-документа использует подмножества внедренных шрифтов, то итоговый документ будет содержать ненужные подмножества отдельного шрифта. Это может значительно увеличить размер файла документа.

Одно из решений состоит в том, чтобы использовать для сборки документа Acrobat 6. После сборки примените опцию Save As (Сохранить как) к новому PDF-документу. Acrobat 6 объединит индивидуальные подмножества шрифтов в единственное подмножество. Acrobat 5 этого не делает. Другое решение — повторная обработка PDF-документа после сборки.

Если вы планируете редактировать PDF-текст на уровне исходного документа, используя текстовый редактор, избегайте разбиения PDF-шрифтов. Если к PDF-документу добавляется текст, который использует символы, не содержащиеся в подмножестве шрифтов, то такой текст не будет отображаться.

Конфигурирование разбиения шрифтов в Distiller

Для управления разбиением внедренных шрифтов в программе Distiller используется вкладка Fonts (Шрифты). Чтобы избежать разбиения шрифта Туре 1, отключите переключатель Subset embedded fonts (Разбивать внедренные шрифты). Все другие шрифты (например, TrueType) всегда разбиваются.

Справа от этого переключателя можно установить порог разбиения шрифта. Если документ использует 95 % символов из шрифта, и вы не хотите разбивать его, введите в это поле число 94. Установка в этом поле числа 100 означает, что каждый шрифт будет разбит на подмножества.

Конфигурирование разбиения шрифтов в Ghostscript

Чтобы предотвратить разбиение шрифта Туре 1, укажите /SubsetFonts false в файле joboptions или добавьте -dSubsetFonts=false к командной строке. Если потребуется разбить шрифт на подмножества, замените в этих строках true на false.

Чтобы изменить порог разбиения шрифта на подмножества, определите /MaxSubsetPct 100 в файле joboptions или добавьте -dMaxSubsetPct=100 к командной строке. При необходимости замените число 100 нужным числом.