【发布时间】:2017-11-16 18:11:33
【问题描述】:
我正在尝试将包含男性和女性 UTF 字符的图例保存为 R 中的 pdf。当我绘制到图形设备时:
plot(1)
legend('topright', bty = 'n',
expression(italic("legend"~"\u2640"~"\u2642")))
剧情的传说和预期的一样
我什至可以通过右键单击“保存为 pdf”将其保存为 pdf。但是,当我使用内置函数pdf
pdf('test.pdf')
plot(1)
legend('topright', bty = 'n',
expression(italic("legend"~"\u2640"~"\u2642")))
dev.off()
它会发出警告并显示损坏的字符:
cairo_pdf 不会发出警告,但也不会显示正确的符号:
根据this post,我应该指定支持我的符号的编码,但是我不知道如何找出它的作用(除了默认的Helvetica,我试过MacRoman但没有成功)。
很明显,R 可以生成包含这些符号的 pdf(因为我可以通过右键单击来生成)。但是,我想以自动化的方式实现。
我的 R 会话设置:
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 的计算机上重现了相同的行为。
【问题讨论】:
-
我之所以犹豫要不要删除这个问题,是因为我花了 4 个小时才找到有问题的正确答案,而接受的答案对我不起作用。也许拥有它会简化对其他人的搜索,我将这个决定留给社区。span>