当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R embedFonts 在 PostScript 和 PDF 中嵌入字体


R语言 embedFonts 位于 grDevices 包(package)。

说明

运行 Ghostscript 处理 PDF 或 PostScript 文件并将所有字体嵌入文件中。

如果您绘制了排版字形(请参阅glyphInfo),请使用embedGlyphs(),这仅与 PDF 文件相关。

用法

embedFonts(file, format, outfile = file,
           fontpaths = character(), options = character())

embedGlyphs(file, glyphInfo, outfile = file, options = character())

参数

file

给出原始文件名称的字符串。

format

新文件的格式(嵌入字体)作为 Ghostscript 输出设备的名称给出。如果不指定,则从 file 的后缀猜测。

outfile

新文件的名称(嵌入字体)。

fontpaths

一个字符向量,给出 Ghostscript 将搜索字体的目录。

options

包含 Ghostscript 进一步选项的字符向量。

glyphInfo

glyphInfo() 生成的排版字形信息,或相同的列表。

细节

如果您只是使用PostScript 和 PDF 输出的标准默认字体,则不需要此函数。

如果您使用特殊字体,此函数对于将该字体嵌入到 PostScript 或 PDF 文档中非常有用,以便可以与其他人共享,而无需他们安装您的特殊字体(前提是字体许可证允许这样做)。

如果没有为 Ghostscript 安装特殊字体,您需要使用 options="-sFONTPATH=path/to/font" 之类的内容告诉 Ghostscript 字体在哪里。

你会需要ghostscript:可执行文件的完整路径可以通过环境变量设置R_GSCMD。如果未设置,将在您的路径上按名称查找 GhostScript 可执行文件:在 Unix 上类似"gs"使用,并且在 Windows 上设置环境变量GSC被使用,否则命令"gswi64c.exe"然后"gswin32c.exe"被尝试过。

当原始文件具有 .ps.eps 后缀时,format 默认为 "ps2write" ;当原始文件具有 .pdf 后缀时,默认为 "pdfwrite" 。对于 9.10 之前的 Ghostscript 版本,可以使用 format = "pswrite"format = "epswrite":从 9.14 开始也可以使用 format = "eps2write"。如果指定的设备无效,错误消息将列出可用的设备。

请注意,Ghostscript 可能会进行字体替换,因此嵌入的字体可能与原始文件中指定的字体不同。

其他一些有用的选项(请参阅 Ghostscript 文档)是-dMaxSubsetPct=100,-dSubsetFonts=true-dEmbedAllFonts=true.

建议将 embedGlyphs() 用于包含排版字形的 pdf() 文件(请参阅 glyphInfo ),但它仅适用于 TrueType 字体。

用于调用 Ghostscript 的 shell 命令会以不可见的方式返回。这对于调试目的可能很有用,因为您可以在 shell 中手动运行该命令来查找问题。

也可以看看

postscriptFontsDevices

保罗·默雷尔和布莱恩·里普利 (2006)。 “PostScript 和 PDF 图形中的非标准字体。” R新闻,6(2),41-47。https://www.r-project.org/doc/Rnews/Rnews_2006-2.pdf.

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Embed Fonts in PostScript and PDF。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。