GhostScript font issues
I am running GPL Ghostscript 8.70 (2009-07-31) on Windows XP. I have about 100 PDFs that I tried to run through GS, but I have font issues in two separate groups of files from two different clients. I'm not sure if the problems might be related. Here are two errors I am getting:
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
I've tried everything I can think of with fontmap and cidfmap. Anyone have a solution?
source to share
Taken from Ghostscript Bug Report :
I first tried to edit the cidfmap file adding the following lines:
/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] >> ;
This will allow the document to be displayed correctly, but the characters are not readable, I tried to play with the encoding settings, but no luck, the same unreadable characters were displayed.
Then I defined a small dictionary:
/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
And changed the pdf_font.ps file:
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
This fixed the problem, but doesn't seem like a good solution to the problem.
source to share
Got the same problem. Resolved to migrate from gs 8.70 from package manager to gs 9.20 (AGPL release) from https://ghostscript.com/download/gsdnld.html
source to share