Pregunta

Estoy intentando conseguir Ghostscript para hacer un archivo PDF a partir de un cuadro de Windows. El archivo PDF utiliza la fuente ComicSansMS. He copiado el archivo comic.ttf de mi caja de Windows 7 en mi directorio / ghostscript / fonts / usr / share, y he creado un archivo Fontmap en el mismo directorio que contiene esta línea:

/ComicSansMS (comic.ttf) ;

Por todo lo que puedo decir, la fuente no está siendo encontrado pesar de esto. El texto sale muy mal, y algunos de los tamaños de fuente más pequeños se vuelven mitad del tamaño que debería ser. Los tiempos de acceso y la demostración de que el archivo strace Fontmap se está leyendo, pero no se está accediendo al archivo de fuente (comic.ttf) en absoluto. No hay mensajes de error:

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 utilizo -dFAPIDEBUG en los gs línea de mandatos, veo lo siguiente:

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<<

Naturalmente, la línea de lo anterior que la mayoría de las preocupaciones me es éste:

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

"gs -h" muestra que el directorio de fuentes es, de hecho, en la ruta de búsqueda:

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

He intentado varias permutaciones de formato en el archivo Fontmap, incluyendo:

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

Estoy bastante seguro de que mi original es la correcta, pero me estaba desesperando. :-P

Cualquier ayuda sería muy apreciada. Gracias de antemano.

¿Fue útil?

Solución 2

I regresó a este problema después de un retraso. Tras realizar investigaciones adicionales con una lupa, el problema es diferente de lo que se pensaba inicialmente.

Texto sin duda se está representando incorrectamente en algunas partes del documento. Cada letra es demasiado pequeña, aunque la separación es extrañamente correcta. Sin embargo, las letras individuales son la forma correcta para la fuente.

No se está accediendo a la fuente en el disco, pero eso es porque las fuentes están incrustadas en el documento. Este hecho probablemente habría sido evidente para un experto en Ghostscript desde la salida he publicado en la pregunta original (supongo que el prefijo "HYLUQF +" es la prueba irrefutable allí), pero no lo hago mucho trabajo con Ghostscript. Mis fuentes se han instalado correctamente, y otros documentos fueron capaces de acceder a ellos sin problemas.

Por supuesto, esto todavía deja la pregunta de por qué mis fuentes incrustadas se prestan de forma incorrecta, pero que investigará por separado y / o enviar una pregunta diferente. Sostengo que el archivo PDF está intacta (que tiene varios otros archivos PDF que presentan el mismo problema), pero todavía no sé lo que está mal.

@pipitas: Muchas gracias por intentarlo. Por supuesto que sí ayudó a verificar que mis fuentes instaladas no son el problema. En realidad, ahora que miro de nuevo, incluso sugirió suavemente la fuente podría ser embebido, pero o bien no lo viste, no lo creía, o no sabía cómo comprobar.

Otros consejos

Asumo que PDF no tiene los ComicSansMS fuente incrustada?

Debe tener en cuenta otras 2 posibilidades, así:

  1. Su card-01.pdf archivo PDF es de alguna manera dañado. (¿Hay otros visualizadores de PDF que prestan ese archivo sin ningún problema? ¿Muestra Aceptar en Acrobat Reader en Widnows?)
  2. Su comic.ttf fontfile de alguna manera está dañado. (Qué método se utiliza para transferir archivos desde Windows a Linux?)

Se podría tratar de una prueba positiva de que estos dos componentes se están llevando bastante bien entre sí mediante el uso de Ghostscript + comic.ttf a crear un PDF (con comic.ttf incrustado):

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"

En Windows, utilice esta variante del comando anterior:

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"

Cuando hago esto, veo:

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.

y mi salida PDF comic-ttf.pdf se ve bien y tiene la fuente comic.ttf incrustado.

Si esto también funciona para usted, entonces su Ghostscript y su comic.ttf están bien, pero su cards-01.pdf archivo PDF no lo es.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top