extrafont :: loadfonts(device =“ win”)在Rprofile中不起作用,但在控制台中可以

时间:2019-10-08 02:39:04

标签: r ggplot2 extrafont

我试图遵循Will Chase的建议,将loadfonts行放入.RProfile文件中,以便可以在通常加载ggplot2之前执行该操作。 his advice

我在写时以某种方式遇到了这个有趣的现象

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"),它将使用windowsFonts()向R注册字体。

在解释.RProfile时,似乎windowsFonts函数不可用。不知道为什么,将不胜感激,并且有任何帮助让我全神贯注于此问题的帮助。

1 个答案:

答案 0 :(得分: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