Reputation: 1882
I'm trying to print PDFs using gsprint (Ghostscript 8.64) on Windows. It was working well until I encountered a PDF with a CID font that wasn't embedded. I get errors complaining about the Arial CID font used in the PDF.
Can't find CID font "Arial". Substituting CID font resource /Adobe-Identity for /Arial.
If I upgrade to 9.07, it works fine -- probably because it generates the CIDFMAP file at the end of the installation. But I don't want to upgrade to 9.07. I've tried generating the CIDFMAP file via the following command, but the CIDFMAP file that gets generated is always empty (other than the header).
bin\gswin32c -q -dBATCH -sFONTDIR=c:/windows/fonts -sCIDFMAP=lib/cidfmap lib/mkcidfm.ps
I tried copying the CIDFMAP file from 9.07 to 8.64 lib folder, but that didn't work. Maybe I need to add some property somewhere specifying the location of the CIDFMAP file? How can I get gsprint (or gsview) to do the substitution of the Arial CID font?
Update Adding the following line resolved the issue
/Arial << /FileType /TrueType /Path (c:/windows/fonts/arial.ttf) /SubfontID 0 /CSI [(Identity) 0] >> ;
Now I'm getting the following error about Arial Bold
Error: /invalidfileaccess in --.libfile-- Operand stack:
--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)
I've tried adding various lines, but it doesn't help.
/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] >> ;
I'm hoping that eventually I'll understand this enough that I'll be able to handle the next two font errors that I suspect are to follow.
Thanks
Upvotes: 2
Views: 6198
Reputation: 1047
It doesn't look like mkcidfm.ps will do what you are after. It appears to only be looking for specific fonts, which arial is not one of.
try manually adding the following line to the cidfmap
/Arial << /FileType /TrueType /Path (c:/windows/arial.ttf) /SubfontID 0 /CSI [(Identity) 0] >> ;
Upvotes: 0