r - R生成的pdf图中损坏的UTF字符

标签 r pdf utf

我正在尝试将包含男性和女性的 UTF 字符的图例保存为 R 中的 pdf 文件。当我绘制到图形设备时:

plot(1)
legend('topright', bty = 'n', 
       expression(italic("legend"~"\u2640"~"\u2642")))

情节的图例看起来符合预期

enter image description here

我什至可以通过右键单击并“保存到 pdf”将其保存为 pdf。但是,当我使用内置函数 pdf

pdf('test.pdf')
plot(1)
legend('topright', bty = 'n',
       expression(italic("legend"~"\u2640"~"\u2642")))
dev.off()

它会发出警告并显示损坏的字符:

enter image description here

cairo_pdf 不会发出警告,但也不会显示正确的符号:

enter image description here

根据this post ,我应该指定支持我的符号的编码,但是我不知道如何找出它的功能(除了默认的 Helvetica 我尝试了 MacRoman 但没有成功)。

很明显,R 可以生成包含这些符号的 pdf(因为我可以通过右键单击来执行此操作)。但是,我想以自动化的方式实现这一点。

我的 R session 设置:

R version 3.3.1 (2016-06-21)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.5 (El Capitan)

locale:
[1] en_US.UTF-8/C/en_US.UTF-8/C/en_US.UTF-8/C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base    

我还设法在另一台装有 macOS Sierra 10.12.1 的计算机上重现相同的行为。

最佳答案

OS X 上的有效答案是使用 quartz:

quartz(type = 'pdf', file = 'test.pdf')

来源:https://stackoverflow.com/a/19610909/2962344

cairo_pdf 似乎可以在 Linux 上运行。

关于r - R生成的pdf图中损坏的UTF字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44547350/

相关文章:

unicode - D 中原始字符类型有哪些限制?

r - 当我在另一台设备上打开我的 .R 文件时如何保持折叠函数折叠。工作室

r - 带有 R Dplyr 的多个 bind_rows

html - 如何在 Chrome 中嵌入 PDF 而不出现错误或警告

javascript - document.onmousemove 未在嵌入的 pdf 对象上触发

pdf - pdf中令人不安的文物

Java GZip 在压缩文件和再次解压缩时会产生细微差别

r - ggplot, geom_tile : plot continuous variable using irregular, 用户定义的离散间隔

sql - R 向量转化为字符串

MongoDB 特殊字符