1

我正在尝试在 Windows 上使用 gsprint (Ghostscript 8.64) 打印 PDF。在我遇到未嵌入 CID 字体的 PDF 之前,它运行良好。我收到错误,抱怨 PDF 中使用的 Arial CID 字体。

找不到 CID 字体“Arial”。将 CID 字体资源 /Adobe-Identity 替换为 /Arial。

如果我升级到 9.07,它可以正常工作——可能是因为它在安装结束时生成了 CIDFMAP 文件。但我不想升级到 9.07。我尝试通过以下命令生成 CIDFMAP 文件,但生成的 CIDFMAP 文件始终为空(除了标题)。

bin\gswin32c -q -dBATCH -sFONTDIR=c:/windows/fonts -sCIDFMAP=lib/cidfmap lib/mkcidfm.ps

我尝试将 CIDFMAP 文件从 9.07 复制到 8.64 lib 文件夹,但这没有用。也许我需要在某处添加一些属性来指定 CIDFMAP 文件的位置?如何让 gsprint(或 gsview)替换 Arial CID 字体?

更新添加以下行解决了问题

/Arial << /FileType /TrueType /Path (c:/windows/fonts/arial.ttf) /SubfontID 0 /CSI [(Identity) 0] >> ;

现在我收到关于 Arial Bold 的以下错误

错误:/invalidfileaccess in --.libfile-- 操作数堆栈:--
dict:11/20(L)-- C2_0 1 --dict:6/6(L)-- --dict:6/6(L) -- Arial,Bold --dict:11/12(ro)(G)-- --nostringval-- CIDFontObject
--dict:8/8(L)-- --dict:8/8(L)-- Arial,Bold CIDFont true Arial,Bold false Arial,Bold --dict:15/16(G)--
(C:/WINDOWS/Fonts/ARIALBD.TTF)

我尝试添加各种行,但没有帮助。

/Arial,Bold << /FileType /TrueType /Path (c:/windows/fonts/ARIALBD.TTF) /SubfontID 0 /CSI [(Identity) 0] >> ;

/Arial-Bold << /FileType /TrueType /Path (c:/windows/fonts/ARIALBD.TTF) /SubfontID 0 /CSI [(Identity) 0] >> ;

/Arial-BoldMT << /FileType /TrueType /Path (C:/WINDOWS/Fonts/ARIALBD.TTF) /SubfontID 0 /CSI [(Unicode) 0] >> ;

/Arial,BoldMT << /FileType /TrueType /Path (C:/WINDOWS/Fonts/ARIALBD.TTF) /SubfontID 0 /CSI [(Unicode) 0] >> ;

/Arial-Bold << /FileType /TrueType /Path (C:/WINDOWS/Fonts/ARIALBD.TTF) /SubfontID 0 /CSI [(Unicode) 0] >> ;

/Arial,Bold << /FileType /TrueType /Path (C:/WINDOWS/Fonts/ARIALBD.TTF) /SubfontID 0 /CSI [(Unicode) 0] >> ;

我希望最终我能充分理解这一点,以便能够处理我怀疑将要遵循的接下来的两个字体错误。

谢谢

4

1 回答 1

0

它看起来不像 mkcidfm.ps 会做你所追求的。它似乎只在寻找特定的字体,而 arial 不是其中之一。

尝试手动将以下行添加到cidfmap

/Arial << /FileType /TrueType /Path (c:/windows/arial.ttf) /SubfontID 0 /CSI [(Identity) 0] >> ;
于 2013-02-26T23:42:42.030 回答