我正在尝试在Windows上使用gsprint(Ghostscript 8.64)打印PDF。它一直运行良好,直到我遇到一个没有嵌入CID字体的PDF。我收到错误抱怨PDF中使用的Arial CID字体。
找不到CID字体“Arial”。替换CID字体资源 / Adobe-Identity for / 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) - --ntringtringval - 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]>> ;
我希望最终我能够理解这一点,以便能够处理我怀疑要遵循的下两个字体错误。
由于
答案 0 :(得分:0)
它看起来不像mkcidfm.ps会做你想做的事情。它似乎只是在寻找特定的字体,arial不是其中之一。
尝试手动将以下行添加到cidfmap
/Arial << /FileType /TrueType /Path (c:/windows/arial.ttf) /SubfontID 0 /CSI [(Identity) 0] >> ;