【问题标题】:how to make open sans font selectable in R when making a pdf制作pdf时如何在R中选择open sans字体
【发布时间】:2016-10-05 21:51:49
【问题描述】:

我想在 R 中制作一个 pdf 并选择以 open sans 编写的文本(例如,通过调用 text() 创建)。

通常,pdf中的文本是可选择的,例如

pdf(file="NiceLFile.pdf",width=8,height=8, pointsize=10)
plot(x=c(0,1),y=c(0,1),type="n")
text(x=0.5, y=0.5, adj=c(0.5,0.5), labels="lower case l text")
dev.off()

但是当我使用 open sans 时情况并非如此

library(showtext)
dest2 <- file.path(tempdir(), "open-sans.light.ttf")
download.file("http://ff.static.1001fonts.net/o/p/open-sans.light.ttf", dest2, mode = "wb")
font.add("light", regular = dest2)
showtext.auto()
pdf(file="ChunkyLFile.pdf",width=8,height=8, pointsize=10)
plot(x=c(0,1),y=c(0,1),type="n")
text(x=0.5, y=0.5, adj=c(0.5,0.5), family="light", labels="lower case l text")
dev.off()

如何使文本可选择?

【问题讨论】:

  • 该行为取决于操作系统和屏幕分辨率,但与 R 无关。无论其显示方式如何,底层 PDF 都是相同的。
  • 知道如何将 R 导出 pdf 并将文本作为文本是一个合理的问题。 Adobe 人员的意见是文本应该以文本形式出现在 pdf 中——这是有一定逻辑的。
  • R 已经默认选择文本。您的问题似乎是关于 PDF 的显示方式。
  • 以上代码制作的pdf中的文字可以选择吗?我不能。
  • 您的评论确实很有帮助。看来问题是我对开放式sans的使用。 Adobe Reader 不会导致文本出现这些问题。因此,问题实际上似乎是关于如何在 pdf 文件中选择打开的 sans。

标签: r pdf


【解决方案1】:

在 Windows 上执行此操作:

  1. 必须在机器上安装 Open Sans,请参阅 here
  2. extrafont 然后可以将其安装到 R 中,请参阅here
  3. 然后,正如 alistaire 所指出的,您可以调用 pdf,并将 fonts 参数设置为您要呈现为文本而不是普通矢量图形的字体。

那你就可以了

require(extrafont)
pdf(file="SelectableFile.pdf",width=8,height=8, pointsize=10, fonts=c("Open Sans Light"))
plot(x=c(0,1),y=c(0,1),type="n")
text(x=0.5, y=0.5, adj=c(0.5,0.5), family="Open Sans Light", labels="lower case l text")
dev.off()

您可能还需要在 pdf 中嵌入字体

embed_fonts(file="SelectableFile.pdf",outfile ="SelectableFile.pdf")

【讨论】:

    猜你喜欢
    • 2016-08-08
    • 1970-01-01
    • 2015-12-19
    • 2016-03-07
    • 2013-10-17
    • 2014-08-31
    • 2015-12-07
    • 1970-01-01
    • 2017-12-20
    相关资源
    最近更新 更多