在Illustrator中链接时,在Windows下由ggsave生成的PDF字体出现问题

时间:2019-08-01 09:04:05

标签: pdf ggplot2 fonts adobe-illustrator

由于某种原因,我仅在Windows上遇到了用ggsave创建并链接到illustrator文件的ggplots PDF中的嵌入(或未嵌入?)字体问题。

对于我的工作流程,我将绘图链接到illustrator中,在其中创建具有多个绘图的图形。我不会嵌入图,因为如果R中发生某些变化,则在Illustrator重新打开时图会自动更新。 因此,问题在于,尝试保存此类文件时,我总是收到一条错误消息,指出由于字体“ ^ 1”无法嵌入而无法保存。禁用PDF兼容性后,我可以保存illustrator文件,但无法将其保存为PDF,这是我所需要的。

如果我使用ggsave(plot, device=cairo_pdf)不会遇到这个问题,但是使用cairo_pdf会遇到其他问题(例如使用geom_rangeframe)。 在以前的文章中,我读到有关dingbats或AdobePiStd字体的问题,但是使用ggsave(plot, useDingpats=F)并不能解决问题。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

经过进一步研究,我可以使用embedFonts函数解决问题。问题似乎是默认情况下未嵌入字体。我写了一个小函数来代替ggsave来自动将字体嵌入到同一PDF文件中:

ggsave_embed<-function(fileN, ...){
ggsave(fileN, ...)
embedFonts(file=fileN, outfile = fileN)
}
# example usage:
ggsave_embed("myfile.pdf", myPlot)