Ghostscript и PDF со встроенными шрифтами - PullRequest
3 голосов
/ 03 июля 2011

Моя системная конфигурация - OS X с GhostScript 9.02 Я хотел бы знать (шаг за шагом), как добавить и настроить файл в GS, который позволяет делать замены для шрифтов. Моя установка GS не установила / не создала файл. Как я могу добавить его?

Проблема в том, что у меня есть один PDF со всеми встроенными подмножествами шрифтов, кроме одного. И для этого GS не может растеризовать страницу.

Как можно решить эту проблему?

1 Ответ

3 голосов
/ 03 июля 2011

В PDF есть две категории шрифтов - «обычные» шрифты и CIDFonts. Для обычных шрифтов для каждого глифа будет использоваться только один байт, и в PDF будет представлена ​​кодировка и другая информация для выбора глифа из шрифта. Ghostscript сделает предположение о замене шрифта на основе FontName и, хотя он может не выглядеть как оригинал, он должен напечатать.

CIDFonts, однако, часто доступны с использованием нескольких байтов, и имя подразумевает некоторый CMap, необходимый для правильного декодирования потока байтов в число глифов. Другая «проблема» заключается в том, что числа глифов для конкретных глифов будут варьироваться в зависимости от «Порядка». Для CIDFonts, которые не встроены, Ghostscript выдаст ошибку, например:

Can't find CID font "KozMin-Bold".
Substituting CID font /Adobe-Japan1 for /KozMin-Bold, see 
  doc/Use.htm#CIDFontSubstitution.
The substitute CID font "Adobe-Japan1" is not provided either. Will exit with error.

Это говорит о том, что в PDF-файле использовался шрифт "Kozmin-Bold", в котором указано "Adobe-Japan1" и:

1) шрифт Kozmin-Bold не найден в каталоге ресурсов Ghostscript / CIDFont

2) В файле cidfmap не определено сопоставление для Kozmin-Bold (GS ищет этот файл в любом из LIBPATH, указанном как «Пути поиска» из «gs -h».

3) В cidfmap не было сопоставления шрифтов с Adobe-Japan1 Ordering. Если Ghostscript не может найти шрифт, используя шаги 1 и 2, он заменит шрифт, используя Ordering в качестве имени шрифта. По крайней мере, это должно получить правильный глиф.

Я не хочу воспроизводить здесь документацию по cidfmap, поскольку мы время от времени обновляем ее, но к ней можно получить доступ онлайн: http://www.artifex.com/gs-current-release/Use.htm#CIDFontSubstitution

Примеры приведены в этом разделе документации Ghostscript.

...