我在Windows XP上运行GPL Ghostscript 8.70(2009-07-31)。我有大约100个PDF文件,我试图通过GS运行,但我在两个不同客户的两个独立文件组中遇到与字体相关的问题。我不确定这些问题是否相关。以下是我收到的两个错误:
Loading Courier font from C:\Program Files\gs\fonts/cour.ttf... 2343384 986555 13583240 12261829 3 done.
Using CourierNewPSMT font for Courier.
Error: /rangecheck in --get--
Can't find CID font "Arial".
Substituting CID font /Adobe-Identity for /Arial, see doc/Use.htm#CIDFontSubstitution.
The substitute CID font "Adobe-Identity" is not provided either. Will exit with error.
Error: /undefined in findresource
我已经尝试过使用fontmap和cidfmap我能想到的一切。那里有人有解决方案吗?
答案 0 :(得分:1)
首先,我尝试编辑cidfmap文件,在那里添加以下行:
/Arial-BoldMT << /FileType /TrueType /Path
(C:/WINDOWS/Fonts/ARIALBD.TTF) /SubfontID 0 /CSI [(Unicode) 0] >> ;
/Arial-ItalicMT << /FileType /TrueType /Path
(C:/WINDOWS/Fonts/ARIALI.TTF) /SubfontID 0 /CSI [(Unicode) 0] >> ;
/ArialMT << /FileType /TrueType /Path
(C:/WINDOWS/Fonts/arial.ttf) /SubfontID 0 /CSI [(Unicode) 0] >> ;
/TimesNewRomanPSMT << /FileType /TrueType /Path
(C:/WINDOWS/Fonts/timesi.ttf) /SubfontID 0 /CSI [(Unicode) 0] >> ;
这将允许文档正确呈现但符号不可读,我尝试使用编码设置,但没有运气,显示相同的不可读符号。
然后我定义了一个小字典:
/tempfontsdict 1 dict def tempfontsdict
begin
/Arial-BoldMT (C:/WINDOWS/Fonts/ARIALBD.TTF) def
/Arial-ItalicMT (C:/WINDOWS/Fonts/ARIALI.TTF) def
/ArialMT (C:/WINDOWS/Fonts/arial.ttf) def
/TimesNewRomanPSMT (C:/WINDOWS/Fonts/timesi.ttf) def
End
并更改了pdf_font.ps:
dup /FontFile knownoget not {
dup /FontFile2 knownoget not {
dup /FontFile3 knownoget not {
%//null
+ dup /FontName get
+ /tempFontName exch def
+ tempfontsdict tempFontName known {
+ dup /FontName get (Custom font change:)
print ==
+ tempfontsdict tempFontName get
+ /tempFontFile exch def
+ dup /FontFile3 << /F tempFontFile >>
put
+ dup /FontFile3 get
+ } {
+ //null
+ } ifelse
} if
} if
} if
这解决了这个问题,但对于这个问题看起来并不是一个好的解决方案。
答案 1 :(得分:0)
遇到同样的问题。 解决了从包管理器中的gs 8.70到https://ghostscript.com/download/gsdnld.html提供的gs 9.20(AGPL发布)的更改