embedFonts抱怨“未知设备:pswrite”

时间:2014-07-03 06:43:05

标签: r fonts ghostscript postscript font-embedding

在我创建的某个EPS文件上运行embedFonts,收到错误消息:

> embedFonts("foo.ps")
Unknown device: pswrite
Unrecoverable error: undefined in .uninstallpagedevice
Operand stack:
    defaultdevice
Error in embedFonts("foo.ps") : 
  status 1 in running command 'gs -dNOPAUSE -dBATCH -q -dAutoRotatePages=/None -sDEVICE=pswrite -sOutputFile=/tmp/Rtmp3Lv0dj/Rembed2cd86df573a1 '-sFONTPATH='  'foo.ps''

如何避免此错误?

1 个答案:

答案 0 :(得分:12)

这是因为这些天设备被称为ps2write。编写后脚本级别1的支持已被删除。下一个R版本(我们目前在3.1.0,所以这可能是3.2)将包含一个修复。引用变更清单:

  对于embedFonts()format = "ps2write"文件,

.ps现在默认为.eps。这在Ghostscript 9.x(自2010年起)中可用,而之前的默认值format = "pswrite"在9.10中被删除。

因此,快速解决方法是手动将format = "ps2write"传递给embedFonts调用。