嵌入新字体到ggplot2,R(mac)中绘图

Rod*_*phe 7 pdf fonts r ggplot2

我一直在尝试将ggplot2图输出为PDF.问题是我一直在为我的图添加异国情调的字体,结果 - 导出的PDF不显示任何文本.

我确保导入我的字体:

library(extrafont)
font_import(pattern = 'Arch')
loadfonts()
Run Code Online (Sandbox Code Playgroud)

在我的ggplot2图放入变量" p" 后,我导出为PDF :

ggsave("myPlot.pdf", plot=p,  width=4, height=6)
embed_fonts("myPlot.pdf", outfile="myPlot_embed.pdf")
Run Code Online (Sandbox Code Playgroud)

然后我得到一个错误说:

GhostScript was not found
Run Code Online (Sandbox Code Playgroud)

但是,这个页面似乎表明在Mac OS上不需要其他步骤(在Windows上有一个额外的步骤):https://github.com/wch/extrafont

我知道自己做错了什么吗?

Kur*_*fle 5

您引用的extrafont软件包(https://github.com/wch/extrafont/blob/master/README.md)的说明准则明确指出:

“您必须在系统上安装Ghostscript才能将字体嵌入到PDF文件中。”

因此,首先请检查是否已安装Ghostscript:

  1. 如果是,请确保它在中$PATH,或者其安装位置包含在$PATH变量中。

  2. 如果否,请先安装Ghostscript。您可以使用下面描述的方法。


1.安装MacPorts

首先,安装MacPorts框架。MacPorts提供了软件包管理系统和现成的软件包,可让您安装GNU日志和其他免费软件包。

安装说明不同,具体取决于您的OS X版本:

拥有MacPorts之后,请在Terminal.app窗口中运行以下命令:

sudo port selfupdate
Run Code Online (Sandbox Code Playgroud)

2.安装Ghostscript

MacPorts具有一个Ghostscript软件包。您可以通过Terminal.app窗口中的命令像这样安装它:

sudo port install ghostscript
Run Code Online (Sandbox Code Playgroud)

此命令将插入并安装Ghostscript所需的“依赖项”更多软件包。

请注意:

  1. 安装完成后,您将有一个Ghostscript可执行文件,放置为/opt/local/bin/gs。(中将有更多的帮助程序/opt/local/bin/。)

  2. 这要求您需要将该目录放入您的目录中$PATH。因此,将此行放入您的~/.bashrc

    export PATH=/opt/local/bin:$PATH
    
    Run Code Online (Sandbox Code Playgroud)

您可以尝试安装Ghostscript的其他选项。一个是HomeBrew,但我对此没有任何经验。