Вы не можете смешивать и сопоставлять имена и строки таким образом. Вы правильно поняли, что у вас не может быть пробела в имени, поэтому у вас не может быть:
/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 это сделать или нет.