Question

Je suis en train de faire Ghostscript pour afficher un fichier PDF à partir d'une boîte de Windows. Le fichier PDF utilise la police ComicSansMS. J'ai copié le fichier comic.ttf de ma boîte Windows7 dans mon / usr / share / répertoire Ghostscript / fonts, et je l'ai créé un fichier Fontmap dans ce même répertoire contenant cette ligne:

/ComicSansMS (comic.ttf) ;

Pour autant que je peux dire, la police n'est pas trouvé malgré cela. Le texte sort très mal, et quelques-unes des plus petites tailles de police sont rendus la moitié de la taille qu'ils devraient être. Les temps d'accès et montrent strace que le fichier est en cours de lecture Fontmap, mais le fichier de police (comic.ttf) n'est pas accessible à tous. Il n'y a aucun message d'erreur:

hope 78$ gs cards-01.pdf
GPL Ghostscript  9.00 (2010-09-14)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
>>showpage, press <return> to continue<<

Si je -dFAPIDEBUG sur la commande gs ligne, je vois ce qui suit:

hope 74$ gs -dFAPIDEBUG -I/usr/share/ghostscript/fonts cards-01.pdf
GPL Ghostscript  9.00 (2010-09-14)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Processing pages 1 through 1.
Page 1
FAPIhook --nostringval--
Trying to render the font Font --nostringval-- ( aliased from ComicSansMS ) with FAPI...
Font --nostringval-- ( aliased from ComicSansMS ) is being rendered with FAPI=FreeType
FAPIhook --nostringval--
Font --nostringval-- ( aliased from ComicSansMS ) is mapped to FAPI=FreeType
FAPIhook RVJCAL+SymbolMT
Trying to render the font Font RVJCAL+SymbolMT with FAPI...
Font RVJCAL+SymbolMT is being rendered with FAPI=FreeType
FAPIhook RVJCAL+SymbolMT
Font RVJCAL+SymbolMT is mapped to FAPI=FreeType
FAPIhook HYLUQF+ComicSansMS
Trying to render the font Font HYLUQF+ComicSansMS with FAPI...
Font HYLUQF+ComicSansMS is being rendered with FAPI=FreeType
FAPIhook HYLUQF+ComicSansMS
Font HYLUQF+ComicSansMS is mapped to FAPI=FreeType
>>showpage, press <return> to continue<<

Bien sûr, la ligne de ce qui précède que me préoccupe le plus est celui-ci:

Font --nostringval-- ( aliased from ComicSansMS ) is being rendered with FAPI=FreeType

"-h gs" montre que le répertoire de la police est, en effet, dans le chemin de recherche:

hope 77$ gs -h
GPL Ghostscript  9.00 (2010-09-14)
    [ ... ]
Search path:
   /usr/share/ghostscript/9.00/Resource/Init :
   /usr/share/ghostscript/9.00/lib :
   /usr/share/ghostscript/9.00/Resource/Font :
   /usr/share/ghostscript/fonts : /usr/share/fonts/Type1 : /usr/share/fonts

J'ai essayé plusieurs permutations de formatage dans le fichier Fontmap, y compris:

(Comic Sans MS) (comic.ttf) ;
(ComicSansMS) (comic.ttf) ;
/Comic Sans MS (comic.ttf) ;
/ComicSansMS /comic.ttf ;

Je suis assez sûr que mon original est le bon, mais je devenais désespérée. :-P

Toute aide serait grandement appréciée. Merci à l'avance.

Était-ce utile?

La solution 2

Je suis revenu à ce problème après un certain délai. Après enquête avec une loupe, le problème est différent de ce que je pensais au départ.

Le texte est sans aucun doute être rendu de manière incorrecte dans certaines parties du document. Chaque lettre est beaucoup trop petit, bien que l'espacement est curieusement correct. Cependant, les lettres individuelles sont la forme correcte pour la police.

La police sur le disque n'est pas accessible, mais c'est parce que les polices sont toutes intégrées dans le document. Ce fait aurait probablement été évident pour un expert Ghostscript de la sortie que j'ai posté dans la question initiale (je devine le préfixe « HYLUQF + » est le pistolet fumant là-bas), mais je ne fonctionnent pas avec beaucoup Ghostscript. Mes polices ont été installées correctement, et d'autres documents ont pu y accéder sans problème.

Bien sûr, cela laisse encore la question de savoir pourquoi mes polices incorporées sont rendus correctement, mais j'enquêtera que séparément et / ou poser une question différente. Je maintiens que le fichier PDF est uncorrupted (j'ai plusieurs autres fichiers PDF qui présentent le même problème), mais je ne sais toujours pas ce qui ne va pas.

@pipitas: Merci beaucoup pour essayer. Vous ne avez certainement aider à vérifier que mes polices installées ne sont pas le problème. En fait, maintenant que je regarde à nouveau, vous avez même suggéré doucement la police pourrait être intégrée, mais je soit ne l'ai pas, ne pas le croire, ou ne savaient pas comment vérifier.

Autres conseils

Je suppose que PDF ne possède pas les ComicSansMS police intégrée?

Vous devriez envisager d'autres possibilités 2 ainsi:

  1. Votre fichier PDF card-01.pdf est en quelque sorte corrompu. (Ce que d'autres lecteurs PDF rendu ce fichier sans problème? Est-il afficher OK dans Acrobat Reader Widnows?)
  2. Votre comic.ttf fontfile est en quelque sorte corrompu. (Quelle méthode avez-vous utilisé pour transférer de Windows à Linux?)

Vous pouvez essayer de la preuve positive que ces deux composants obtiennent le long assez bien les uns aux autres en utilisant Ghostscript + comic.ttf créer un PDF (avec comic.ttf intégré):

gs \
  -sFONTPATH=/usr/share/ghostscript/fonts \
  -o comic-ttf.pdf \
  -sDEVICE=pdfwrite \
  -g5950x8420 \
  -c "200 700 moveto" \
  -c "/ComicSansMS findfont 60 scalefont setfont" \
  -c "(comic.ttf) show showpage"

Sur Windows, utilisez cette variante de commande ci-dessus:

gswin32c.exe ^
  -o comic-ttf.pdf ^
  -sDEVICE=pdfwrite ^
  -sFONTPATH=c:/windows/fonts ^
  -g5950x8420 ^
  -c "200 700 moveto" ^
  -c "/ComicSansMS findfont 60 scalefont setfont" ^
  -c "(comic.ttf) show showpage"

Quand je fais cela, je vois:

gswin32c.exe ^
   -o comic-ttf.pdf ^
   -sDEVICE=pdfwrite ^
   -sFONTPATH=c:/windows/fonts ^
   -dHaveTrueTypes=true ^
   -g5950x8420 ^
   -c "200 700 moveto" ^
   -c "/ComicSansMS findfont 60 scalefont setfont" ^
   -c "(comic.ttf) show showpage"
GPL Ghostscript  9.00 (2010-09-14)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Scanning c:/windows/fonts for fonts... 423 files, 255 scanned, 240 new fonts.
Loading ComicSansMS font from c:/windows/fonts/comic.ttf... 3343720 1813337 2926116 1611207 1 done.

et mon PDF de sortie comic-ttf.pdf semble OK et ne possède la police comic.ttf intégrée.

Si cela ne fonctionne également pour vous, votre Ghostscript et votre comic.ttf sont OK, mais votre fichier PDF cards-01.pdf n'est pas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top