Как приручить шрифты
В процессе вывода макета из файлов 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-файле, установлены и доступны в системе.
Внедрение шрифтов в 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.
Параметр 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). Все эти специальные эффекты не требуют наличия соответствующего шрифта, а реализуются исключительно за счет программной обработки. Поэтому эффеты могут быть применены к любому шрифту.
Извлечение шрифтов из PDF / Хабр
Сразу следует сказать, что лучшей информации по формату, чем много мегабайтный PDFReference с сайта Adobe не существует. Для тех, кто пишет на С++ есть готовое решение — XPDF. В линуксе это самая полнофункциональная замена продуктам Adobe. Русскоязычные материалы на эту тему поверхностны и служат лишь для ознакомления, а не для практической работы. Но я рассчитываю, что с ними, а лучше с PDFReference вы уже знакомы. Я решил описать конкретный упрощенный пример извлечения из файла PDF truetype шрифтов, потому что этот вопрос очень часто звучит в сети и остается без ответа. Мне известна только одна такая программа, которая работает с ошибками и без исходников. Напоминаю, что пользоваться извлеченными шрифтами не всегда законно, можно только выводить встроенным шрифтом текст из документа.
Кто интересовался вопросом, то знают, что PDF состоит из заголовка, таблицы перекрестных ссылок (XRef), тела и трайлера (прицепа). Все элементы кроме заголовка могут быть разбросаны частями и в нескольких экземплярах по всему документу. Для начала надо прочитать таблицу XRef. Рекомендую оформить её классом. Для поиска адреса таблицы читаем файл с конца, пока не встретим тег %%EOF. Продолжаем читать задом наперед до тега startxref. теперь можно считать число, которое следует за этим тегом.
Вот пример конца файла:
startxref
173
%%EOF
число 173 — это смещение от начала данных файла к началу первой таблицы XRef. Переместившись в эту точку, мы видим что-то вроде этого:
xref
7628 42
0000000016 00000 n
0000001195 00000 f
и тд.
На 7628 пока не будем обращать внимание (это имя первого объекта, где записана информация о количестве страниц, например, а так же много чего другого). А 42 — это количество записей в данной части таблицы. Далее совсем просто: считываем в 10 байтный буфер первое слово, пропускаем пробел и считываем 5 байтный буфер, читаем отдельный символ. И так 42 раза. Преобразованные к целым строки имеют следующее значение — смещение от начала данных к ссылочному объекту, номер генерации. Последний символ интерпретируется так: n — объект используется, f — объект не используется, но как я говорил, у таблицы XRef могут быть продолжения в потоке файла. Как их найти? после таблицы всегда следует тег trailer. Когда он встретится надо искать строку /Prev — если она есть, то следом идет смещение к следующей таблице.
/Prev 4025745
Таким образом прочитываем все таблицы, если их больше одной. Закончить чтение можно, если в следующем трайлере будет отсутствовать ключ /Prev. Признаком последней таблицы может служить и то, что она начинается с записи 0000000000 65535 f. Надо сказать, что мы читаем таблицы задом наперед, последняя при чтении является первой, которая появилась при создании самого документа, а первая при чтении возникла после последнего редактирования.
Используя полученные данные мы можем перемещаться к любому ссылочному объекту документа. Правда есть еще прямые объекты, адреса которых не внесены в XRef, но об этом позже. Теперь мы можем перебирать объекты документа, проверяя их тип и делая с ними, что душе угодно. Объект начинается так:
7626 0 obj
содержимое объекта
endobj
7626 — номер (имя) объекта, а 0 — номер генерации, который должен совпадать с подобным значением в таблице ссылок для этого объекта. Как я понял, если объект меняется, редактируется, то и номер генерации увеличивается. Мы собрались искать шрифты, для этого надо прочитать словарь объекта, который представляет собой лексему, заключенную в теги <<… >>. Если элементы словаря имеют такую структуру, например:
/FirstChar 32
где слово после слеша — ключ, а необязательное значение после пробела — значение. При парсинге надо помнить, что значение может содержать любые данные, любой вложенности, в том числе и другие словари. Так что рекурсию вам в руки, впрочем, можно и без рекурсии, если мы работаем над конкретной задачей извлечения шрифтов. Указанное значение может также включать вложенные или не вложенные элементы следующих типов:
(… ) -текстовые строки
<… > — hex-строки
[… ] — массивы
Строка значения продолжается до следующего слеша или до перевода строки. Чтобы идентифицировать объект шрифта надо найти в словаре комбинацию:
/Type /Font
Теперь фильтруем Truetype шрифты по содержанию в словаре последовательности:
/Subtype /TrueType
Остальные ключи игнорируем, потому что мы просто хотим извлечь шрифты. Но самого шрифта мы в этом объекте, скорее всего не найдем. Только набор ненужных нам ключей. Читаем один из них:
/FontDescriptor 1675 0 R
Если такой ключ отсутствует, то шрифт внешний и не встроен в документ. Далее номер генерации этого объекта, а символ R обозначает, что это ссылка. Таблицу XRef мы уже прочитали и теперь можем переместиться к данным шрифта, через поиск смещения для объекта с номером 1675. Правда, возможен такой вариант:
/FontDescriptor << словарь и (или) данные шрифта >>
Будем считать, что мы переместились по ссылке к прямому объекту. В его словаре должны быть такие ключи:
/Type /FontDescriptor
В этом объекте тоже много полезных сведений о шрифте, но самого шрифта опять нет. Не моя вина — все претензии к компании Adobe. Нам нужен такой ключ
/FontFile2 1676 0 R
Знакомая конструкция. Переходим к следующему объекту. Если мы все сделали правильно, то это потоковый объект. Он состоит из словаря потока и из бинарных данных, заключенных между тегами stream… endstream. Вот тут надо сказать, что наличие бинарных данных не дает использовать готовые текстовые парсеры. Перепробовал много и пришлось написать свой с нуля. Бинарные данные можно считывать разом, так как в словаре потока имеется ключ /Length с длиной потока. Если попробовать сохранить извлеченный поток в файл с расширением TTF, то система объявит, что это никакой не шрифт. Все правильно, надо его разжать.
Шрифт чаще сжат с помощью zip, но для верности можно это проверить по наличию ключа /FlateDecode. Если работаем в Delphi, то используем стандартный ZLib. Мы можем получить размер буфера для разжатых данных из словаря потока по ключу /Length2. Ну и нужно знать, что встроенный в документ шрифт содержит только те глифы, которые в документе используются.
Думаю, что после этих наметок можно брать в одну руку hex-вьвер, в другую — PDFReference и стоить собственный АкробатРидер.
Шрифты PDF, Adobe Acrobat
Встраивание и замена шрифта
Шрифт может быть встроен, только если он содержит настройка поставщика шрифта, которая разрешает его встраивание. Встраивание предотвращает замену шрифта, когда читатели просматривают или печатают файл, и гарантирует, что читатели увидят текст в оригинальном шрифте. Встраивание незначительно увеличивает размер файла, если документ не использует CID шрифты. формат шрифта, обычно используемый для азиатских языков. Ты можешь вставлять или заменять шрифты в Acrobat или при экспорте InDesign документ в PDF.
Вы можете встроить весь шрифт или только часть символов используется в файле. Подмножество гарантирует, что ваши шрифты и метрики шрифтов используются во время печати путем создания пользовательского имени шрифта. Сюда, например, ваша версия Adobe Garamond®, не версия вашего поставщика услуг, всегда может быть использована службой провайдер для просмотра и печати. Шрифты Type 1 и TrueType могут быть встроены, если они включены в файл PostScript, или доступны в одном из местоположений шрифтов, которые Distiller отслеживает и не ограничены во встраивании.
Если шрифт не может быть встроен из-за настроек поставщика шрифта, и тот, кто открывает или печатает PDF, не имеет доступа к оригинальный шрифт, шрифт Multiple Master временно заменен: AdobeSerifMM для отсутствующего шрифта с засечками, и AdobeSansMM для отсутствующего шрифта без засечек.
Шрифт Multiple Master может растягиваться или сжать по размеру, чтобы обеспечить разрывы строк и страниц в оригинале. документ ведутся. Замена не всегда может соответствовать форма оригинальных символов, однако, особенно если символы являются нетрадиционными, такими как шрифты сценария.
Примечание:
Для текста на азиатском языке Acrobat использует шрифты из установленного комплекта языков для азиатских языков или аналогичные шрифты в системе пользователя. Шрифты некоторых языков или с неизвестными кодировками не могут быть заменены; в этих случаях текст отображается в файле маркерами.
Примечание:
Если у вас проблемы с копированием и вставкой текста из PDF-файла, сначала проверьте, не встроен ли проблемный шрифт (Файл > Свойства > вкладка «Шрифт»). Для встроенного шрифта попробуйте изменить указать, где шрифт встроен, а не отправлять его внутрь файл PostScript. Перегоните PDF без встраивания этого шрифта. Затем откройте PDF-файл в Acrobat и вставьте шрифт с помощью Preflight. исправить.
Доступ и встраивание шрифтов с помощью Distiller
При преобразовании файла PostScript в PDF, Distiller требуется доступ к шрифтам файла, чтобы вставить соответствующий информация в PDF. Distiller сначала ищет в PostScript файл для шрифтов Type 1, TrueType и OpenType. Если шрифт не встроен в файле PostScript Distiller ищет дополнительные папки со шрифтами. Distiller ищет в Windows следующие папки со шрифтами:
/Resource/Font в папке Acrobat
/Программные файлы/Общие файлы/Adobe/Шрифты
Distiller ищет в Mac OS следующие папки со шрифтами:
/Resource/Font в папке Acrobat
/Пользователи/[ имя пользователя ]/Библиотека/Шрифты
/Библиотека/Шрифты
/Система/Библиотека/Шрифты
Установка Acrobat включает версии многих распространенных китайских, японских и корейских шрифтов только по ширине, поэтому Distiller может получить доступ к этим шрифтам в Acrobat. Убедитесь, что шрифты доступны на вашем компьютере. (В Windows выберите «Полный» при установке Acrobat или выберите «Пользовательский» и выберите параметр «Поддержка азиатских языков» в категории «Просмотр Adobe PDF». В Mac OS эти шрифты устанавливаются автоматически.)
Для получения информации о включении шрифтов в файл PostScript см. документацию, прилагаемую к приложению и драйверу принтера, которые вы используете для создания файлов PostScript.
Примечание:
Distiller не поддерживает шрифты Type 32.
Чтобы указать Distiller для поиска в других папках со шрифтами, в Acrobat Distiller выберите «Настройки» > «Расположения шрифтов». Затем в диалоговом окне нажмите «Добавить», чтобы добавить папку со шрифтами. Выберите «Игнорировать версии TrueType стандартных шрифтов PostScript», чтобы исключить шрифты TrueType с тем же именем, что и шрифт в коллекции шрифтов PostScript 3.
Примечание:
Чтобы предоставить Distiller доступ к папке со шрифтами, которая была перемещена, используйте это диалоговое окно, чтобы удалить папку, указанную в ее старом местоположении, и добавить ее в новое место.
Предварительный просмотр PDF-файлов без локальных шрифтов
Вы можете создать предварительный просмотр для печати вашего документа, который заменяет шрифты по умолчанию для любого текста, отформатированного в шрифтах, которые доступны на вашем локальном компьютере, но не встроены в PDF. Этот предварительный просмотр может помочь вам решить, следует ли встраивать эти локальные шрифты в PDF, чтобы придать документу желаемый вид.
Найти имена шрифтов PostScript
Если вам нужно ввести имя шрифта вручную на панели «Шрифты» Adobe В диалоговом окне «Настройки PDF» вы можете использовать PDF-файл, чтобы найти точное написание имени.
Сопоставление шрифтов PDF | 5 причин, по которым шрифты отображаются неправильно
27 декабря 2010 г. / Опубликовано в FAQ
Почему шрифты PDF отображаются неправильно?
Использование идеального шрифта может создать или испортить впечатление от документа. Шрифты тоже сложные. Если у вас есть PDF-файл, который плохо отображается, скорее всего, виновато сопоставление шрифтов PDF.
PDF-документ должен иметь установленные шрифты везде, где его просматривают. При открытии PDF-файл сопоставляет свои ссылочные шрифты со шрифтами локальной системы. Если все шрифты доступны, документ выглядит великолепно. Успех зависит от набора шрифтов, доступных на компьютере для просмотра. Максимально возможное использование стандартных системных шрифтов поможет предотвратить несоответствие шрифтов. Исключением является брендинг, где используемый шрифт является ценным, узнаваемым активом. Он никогда не должен быть скомпрометирован, а текст его шрифта должен быть преобразован в векторные пути для его защиты.
Список стандартных шрифтов по системам
- 14 стандартных шрифтов PDF: Courier (обычный, наклонный, полужирный, полужирный наклонный), Helvetica (обычный, наклонный, полужирный, полужирный наклонный), Times (римский, курсив, полужирный) , полужирный курсив), Symbol и ITC Zapf Dingbats.
- Шрифты доступны во всех системах Windows 10
- Шрифты включены в macOS
- Шрифты включены в подписки Adobe Cloud.
Полезные ресурсы шрифтов
Исследуйте одну из крупнейших библиотек шрифтов от MonitypeШрифты Google бесплатны и идеально подходят для любого использования в Интернете. Нужно идентифицировать шрифт? Используйте WhatTheFont, чтобы разгадать тайну бесплатно5 основных причин, по которым шрифты выглядят неправильно
1. Замена шрифта
Если файлу PDF не удается найти тот же шрифт на компьютере читателя, он выберет ближайшую замену. Это может быть почти невозможно увидеть или быть очень очевидным. Все зависит от шрифта, выбранного в качестве замены. Существует три основных варианта замены шрифта:
- Принять замену, если разница незначительна
- Купить отсутствующий шрифт и установить его в системе
- Если возможно, определите отображение шрифта (см. ниже)
Пример замены шрифта с небольшим отличием. Adobe очень хорошо справляется с заменой шрифтов. Они сближаются в большинстве случаев. Достаточно близко, чтобы не было необходимости покупать шрифты или тратить много времени на устранение неполадок. В приведенном ниже примере замененный текст (желтый) размещается поверх исходного текста встроенного шрифта (красный). Видимые красные метки показывают, где замена отличается от исходного шрифта.
Пример текста оригинального встроенного шрифтаТекст, замененный желтым шрифтом, помещается поверх исходного текста встроенного красного шрифта.
2. Встраивание шрифтов во избежание замены шрифтов невозможно
Некоторые инструменты для создания PDF-файлов позволяют встраивать шрифты или подмножества шрифтов. Встроенные шрифты перемещаются вместе с файлом PDF и обеспечивают точное отображение в любой системе. Будьте осторожны, потому что они увеличат размер файла, как минимум вдвое. Из-за лицензионных ограничений встраивайте шрифты на свой страх и риск. Вы можете вставлять шрифты только с разрешения. Даже бесплатные шрифты с открытым исходным кодом могут иметь ограничения. Пример политики Adobe по внедрению шрифтов
Примечание о программном обеспечении визуальной целостности и встроенных шрифтах . В соответствии с правилами шрифтов наши программы по умолчанию не встраивают шрифты. Мы ссылаемся на шрифты по их именам. Если шрифты с теми же именами находятся на целевом ПК, файл откроется и отобразится, как предполагалось. Если одинаковых шрифтов нет на ПК, что гораздо более вероятно, в тексте присутствует ближайший допустимый шрифт. Если вам нужны встроенные шрифты для проекта, мы можем сделать это для вас в качестве индивидуальной услуги с подтверждением лицензии.
Как узнать, какие встроенные шрифты содержатся в вашем документе.
Откройте PDF-файл в Reader или Acrobat. Откройте свойства документа (Ctrl-D или Cmd-D), затем перейдите на вкладку «Шрифты». Здесь вы можете увидеть состояние каждого шрифта. В двух примерах ниже показан один и тот же шрифт, когда он встроен и когда он заменен.
3. Если имена шрифтов PDF-документа не совпадают с именами шрифтов ПК, используйте сопоставление шрифтов обе системы. К сожалению, один и тот же шрифт может иметь несколько разных названий. 9Например, 0097 Arial Bold
в вашей системе может быть « EHJPKB+Arial-Bold » в исходном файле. Несмотря на то, что это идентичные шрифты, PDF-файл этого не знает, потому что у них разные имена. Вы должны сказать это с помощью сопоставления шрифтов PDF. В этом примере сопоставьте «EHJPKB_Arial-Bold» как «Arial» со стилем шрифта «Bold».Часто встречаются несоответствия . По возможности разрешайте их с помощью сопоставления шрифтов. Если сопоставление шрифта невозможно, он заменяется, как описано выше.
4. Неизвестный шрифт в документе PDF
Обеспечьте точное совпадение, преобразовав форматированный текст в кривые Безье. Когда вам нужно точное соответствие, но исходный шрифт неизвестен или недоступен, лучше всего преобразовать текст в графику. Это отличный подход для логотипов и других активов бренда. Это также рекомендуется для технического текста, такого как уравнения и формулы. После преобразования в графику они больше не редактируются, и нет возможности внести ошибку при замене шрифта.
Примечание о визуальной целостности программного обеспечения и текста в виде кривых . Наши программы предлагают опцию «Characters to Curves». Используя его, каждый символ отображается как объект кривой Безье. В этом графическом представлении символа используется информация о шрифте, хранящаяся в PDF-файле. Если шрифт не был встроен в PDF, мы обращаемся к каталогу /fonts/ в папке установки.