Вопрос

Я пытаюсь получить GhostScript, чтобы отобразить файл PDF из окна Windows. PDF -файл использует шрифт ComicsAnsms. Я скопировал файл comic.ttf из моего поля Windows7 в мой каталог/usr/are/ghostscript/fonts, и я создал файл fontmap в том же каталоге, содержащий эту строку:

/ComicSansMS (comic.ttf) ;

Как бы я ни был, шрифт не найден, несмотря на это. Текст выходит очень плохо, и некоторые из меньших размеров шрифтов составляют половину размера, которым они должны быть. Время доступа и Strace показывают, что файл FONTMAP читается, но файл шрифта (comic.ttf) вообще не доступен. Нет сообщений об ошибках:

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

Если я использую -dfapidebug в командной строке GS, я вижу следующее:

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

Естественно, линия из вышеперечисленного, что больше всего меня беспокоит:

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

«GS -H» показывает, что каталог шрифтов действительно находится в пути поиска:

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

Я пробовал несколько перестановки форматирования в файле FONTMAP, включая:

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

Я совершенно уверен, что мой первоначальный - правильный, но я отчаянно нуждался. :-П

Любая помощь будет очень оценена. Заранее спасибо.

Это было полезно?

Решение 2

Я вернулся к этой проблеме после задержки. После дальнейшего исследования с увеличительным стеклом проблема отличается от того, что я изначально думал.

Текст определенно выполняется неправильно в частях документа. Каждая буква слишком мала, хотя расстояние странно правильное. Однако отдельные буквы являются правильной формой для шрифта.

Шрифт на диске не доступен, но это потому, что все шрифты встроены в документ. Этот факт, вероятно, был бы очевиден для эксперта GhostScript из вывода, который я опубликовал в оригинальном вопросе (я предполагаю, что префикс «Hyluqf+» - это пистолет для курения), но я не работаю с GhostScript. Мои шрифты были установлены правильно, и другие документы смогли получить к ним доступ без проблем.

Конечно, это все еще оставляет вопрос о том, почему мои встроенные шрифты выполняются неправильно, но я буду исследовать это отдельно и/или опубликовать другой вопрос. Я утверждаю, что файл PDF не связан (у меня есть несколько других PDF, которые демонстрируют ту же проблему), но я все еще не знаю, что случилось.

@pipitas: Большое спасибо за попытки. Вы, безусловно, помогли убедиться, что мои установленные шрифты не являются проблемой. На самом деле, теперь, когда я снова смотрю, вы даже мягко предположили, что шрифт может быть встроен, но я либо не видел этого, не поверил в это, либо не знал, как проверить.

Другие советы

Я предполагаю, что в PDF нет встроенного шрифта Comicsansms?

Вы также должны рассмотреть 2 других возможностей:

  1. Ваш файл PDF card-01.pdf как -то испорчен. (Другие зрители PDF рендеринг этого файла без проблем? Отображает OK в считывателе Acrobat на Widnows?)
  2. Ваш шрифт comic.ttf как -то испорчен. (Какой метод вы использовали для передачи его из Windows в Linux?)

Вы можете попытаться положительно подтвердить, что оба этих компонента достаточно хорошо ладят друг с другом, используя Ghostscript+comic.ttf to Создайте PDF (с Comic.ttf внедренным):

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"

В Windows используйте этот вариант вышеуказанной команды:

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"

Когда я это делаю, я вижу:

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.

и мой выход PDF comic-ttf.pdf Выглядит нормально и имеет встроенный шрифт comic.ttf.

Если это также работает для вас, то ваш GhostScript и ваш comic.ttf в порядке, но ваш файл PDF cards-01.pdf не является.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top