2009-10-26 14 views
2

Je cours GPL Ghostscript 8.70 (2009-07-31) sur Windows XP. J'ai environ 100 fichiers PDF que j'ai essayé de faire fonctionner par GS, mais j'ai des problèmes de police sur deux groupes de fichiers distincts de deux clients différents. Je ne suis pas sûr si les problèmes pourraient être liés. Voici les deux erreurs que je reçois:Problèmes de polices GhostScript

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 

Je l'ai essayé à peu près tout ce que je peux penser avec fontmap et cidfmap. Est-ce que quelqu'un a une solution?

Répondre

1

Taken de Ghostscript Bug Report:

D'abord j'ai essayé de modifier le fichier cidfmap ajoutant là lignes suivantes:

/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] >> ; 

Cela permettra le document à rendre correctement mais les symboles n'étaient pas lisibles, j'ai essayé de jouer avec le réglage d'encodage mais pas de chance, mêmes symboles illisibles affichés.

Puis je défini un petit dictionnaire:

/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 

et ils ont changé les 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 

Ce résolu le problème, mais ne ressemble pas à une bonne solution pour la question.

Questions connexes