3

我试图按照 Will Chase 的建议将 loadfonts 行放在 .RProfile 文件中,这样我就可以在通常加载 ggplot2 之前执行。他的建议

不知怎的,我在写的时候遇到了这个有趣的现象:

if(interactive()) 
  try(extrafont::loadfonts(device = "win"))

RStudio 报错

Error in get(as.character(FUN), mode = "function", envir = envir) : 
  object 'windowsFonts' of mode 'function' was not found

一定是一些幕后魔术。不过,一旦我把手放在控制台上,我就可以运行extrafont::loadfonts(device = "win"),它将使用 R 注册字体windowsFonts()

解释 .RProfile 时似乎windowsFonts功能不可用。不知道为什么,如果能帮助我解决这个问题,我们将不胜感激。

4

1 回答 1

0

回复晚了,但我遇到了同样的问题,并在阅读本文后找到了解决方案。windowsFonts() 是 grDevices 库中的一个函数。extrafont 导入 grDevices,但由于某种原因,它在 .Rprofile 中运行时无法识别 - 它必须与 R 加载时的操作顺序有关。如果您加载 grDevices 它可以工作。请参阅下面的代码。

library(extrafont)
loadfonts("win", quiet = F)

Error in get(as.character(FUN), mode = "function", envir = envir) : 
  object 'windowsFonts' of mode 'function' was not found
Calls: <Anonymous> -> match.fun -> get
Execution halted
library(grDevices)
library(extrafont)
loadfonts("win", quiet = F)
Registering fonts with R
于 2021-01-22T23:59:17.007 回答