我正在尝试创建一个(封装的)Postscript图形,其中嵌入了文件中的字体。对于嵌入,我使用extrafont
包。
虽然postscript()
设备创建的实际图形完全正常,但embed_fonts()
似乎会将纸张尺寸更改为A4或Letter。这是为什么?有没有办法维持postscript()
设备设置的纸张尺寸?
这是一个最小的例子:
library(extrafont)
postscript( "test.eps", family="Times New Roman", width=4, height=4,
horizontal = FALSE, onefile=FALSE, paper = "special")
plot(1:10)
dev.off()
embed_fonts("test.eps")
运行此示例不带对embed_fonts()
的调用会产生具有适当尺寸的图形(即所需的输出)。以下是我的文档查看器的屏幕截图:
但是,只要在此文件上运行embed_fonts()
,纸张尺寸就会更改为固定的纸张尺寸:
有解决方法吗?嵌入字体和使用.eps都是必要的。我怀疑它可能与paper="special"
(或缺少它)时保存在Postscript文件中的信息有关。好像embed_fonts()
似乎会自行重置此信息。
答案 0 :(得分:0)
如果您发布了一个eample文件,那么我可以查看并告诉您有什么不同,我无法告诉您有关从R
控制它的任何信息对于EPS(与PostScript相对),程序不得请求媒体大小,但它(实际上必须)包含描述边界框的注释。
因此,文件不是EPS,或者评论将其描述为A4或“某事”。你还没有解释你在PostScript程序中做了什么,它表现出两组之间的差异。我的意思是“你的观众是什么?”