PostScript / (название шрифта) FindFont выдает «не найдено, используется Courier». - PullRequest
1 голос
/ 10 июля 2020

Я хочу использовать шрифт windows в файле .ps, который я конвертирую в PDF с помощью Distiller.

Distiller-> settings-> Font Locations имеет C: \ Windows \ Fonts в список мест для поиска

Lydian Regular - это шрифт истинного типа в c: \ Windows \ Fonts, и его встраиваемость определяется как печать / предварительный просмотр

Инструкция / (Lydian Regular) findfont (в создаваемом мной файле .ps) генерирует ошибку «Lydian Regular не найден с использованием Courier».

Итак, как мне заставить Distiller использовать этот (Lydian Regular) шрифт и встроить его в PDF-файл?

ТФАИ

1 Ответ

1 голос
/ 10 июля 2020

Вы не можете смешивать и сопоставлять имена и строки таким образом. Вы правильно поняли, что у вас не может быть пробела в имени, поэтому у вас не может быть:

/Lydian Regular findfont

Вы правы, что его нужно обрабатывать как строку (Lydian Regular), но вы нельзя просто вставить впереди '/', это не превращает строку в имя. Чтобы преобразовать строку в имя, вам нужно использовать оператор cvn:

(Lydian Regular) cvn findfont

Однако 'ключ', переданный в findfont, на самом деле не обязательно должен быть именем, его допустимым является любой тип , если он ранее был связан со шрифтом с помощью definefont. Вероятно, Distiller видит ваш код в виде следующих токенов:

/
(Lydian Regular)
findfont

Итак, это пустое имя в стеке, затем строка, затем findfont. Затем Findfont будет искать шрифт, определенный строкой. Я предполагаю, что это не сработает, несмотря ни на что.

Итак, я бы начал с использования оператора cvn.

Но обратите внимание, что этот все же может не работать, потому что шрифт нельзя называть Lydian Regular (в PostScript). Обратите внимание, что имя на диске не обязательно имеет какое-либо отношение к имени шрифта, как определено внутри шрифта.

Также PostScript не может использовать шрифты TrueType напрямую, они должны быть отформатированы как шрифты типа 42. Некоторые интерпретаторы PostScript (например, Ghostscript) могут использовать шрифты TrueType с диска, как если бы они были шрифтами Type42, но это требует некоторой степени догадок. Понятия не имею, может ли Adobe Distiller это сделать или нет.

...