gpt4 book ai didi

linux - 幽灵字体

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:29:52 27 4
gpt4 key购买 nike

我正在尝试让 ghostscript 从 Windows 框呈现 pdf 文件。 pdf 文件使用 ComicSansMS 字体。我已将 comic.ttf 文件从我的 Windows7 框中复制到我的/usr/share/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<<

如果我在 gs 命令行上使用 -dFAPIDEBUG,我会看到以下内容:

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 ;

我相当确定我原来的那个是正确的,但我越来越绝望了。 :-P

如有任何帮助,我们将不胜感激。提前致谢。

最佳答案

我假设 PDF 没有嵌入 ComicSansMS 字体?

您还应该考虑其他两种可能性:

  1. 您的 PDF 文件 card-01.pdf 已损坏。 (其他 PDF 查看器是否可以毫无问题地呈现该文件?它在 Widnows 上的 Acrobat Reader 中显示正常吗?)
  2. 您的字体文件 comic.ttf 已损坏。 (你是用什么方法从Windows转移到Linux的?)

您可以尝试通过使用 Ghostscript+comic.ttf 来创建一个 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 不行。

关于linux - 幽灵字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4737475/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com