首页 > 解决方案 > PostScript /(字体名称) FindFont 产生“未找到,使用 Courier”。

问题描述

我想在 .ps 文件中使用 windows 字体,我将使用 Distiller 将其转换为 PDF

Distiller->settings->Font Locations 在要查看的位置列表中有 C:\Windows\Fonts

Lydian Regular 是 c:\Windows\Fonts 中的 truetype 字体,其可嵌入性定义为打印/预览

指令 /(Lydian Regular) findfont
(在我创建的 .ps 文件中)生成错误“Lydian Regular not found, using Courier”。

那么如何让 Distiller 使用这种(Lydian Regular)字体并将其嵌入到 pdf 中?

TFAI

标签: fontspostscript

解决方案


您不能像这样混合和匹配名称和字符串。您已经正确地意识到名称中不能有空格,因此您不能:

/Lydian Regular findfont

你是正确的,它需要作为一个字符串处理,(Lydian Regular)但你不能只在前面加上一个“/”,这不会使字符串变成一个名称。要将字符串变成名称,您需要使用cvn运算符:

(Lydian Regular) cvn findfont

但是,传递给 findfont 的“键”实际上不必是名称,它可以是任何类型,如果它以前通过使用 definefont 与字体相关联。Distiller 很可能将您的代码视为以下标记:

/
(Lydian Regular)
findfont

所以这是堆栈上的一个空名称,然后是一个字符串,然后是 findfont。Findfont 然后将查找用字符串定义的字体。我猜这无论如何都行不通。

所以我将从使用 cvn 运算符开始。

但请注意,这仍然可能不起作用,因为该字体可能不称为“Lydian Regular”(在 PostScript 中)。请注意,磁盘上的名称不一定与字体名称有任何关系,正如字体内部定义的那样。

PostScript 也不能​​直接使用 TrueType 字体,它们必须被格式化为 type 42 字体。许多 PostScript 解释器(例如 Ghostscript)可以像使用 Type42 字体一样使用磁盘中的 TrueType 字体,但这涉及到一定程度的猜测。我不知道 Adob​​e Distiller 是否可以做到这一点。


推荐阅读