我已经编写了一个函数,可以在同事之间共享用于绘图。我的组织更喜欢Calibri字体,而不是ggplot2默认的Arial字体。如果只有我自己使用此功能,我将首先在我的脚本顶部执行以下操作:
library(extrafont)
font_import()
loadfonts(device="win")
然后制作我的ggplot2图表。在给定的机器上,我似乎只需要一次性执行
font_import()
,但每次启动新会话时都需要执行loadfonts(device="win")
。我对它们的实际作用并不是非常了解,但如果我没有执行loadfonts
步骤,我的图表就不会使用Calibri字体。我希望我编写的绘图函数适用于其他人,并且我想检查他们是否已经执行了这些步骤,如果他们没有,我想给他们一个有用的提示信息。我认为我可以使用
fonts()
,然后检查Calibri是否在输出中列出,但我认为这只检查了我在使用这台机器的历史中曾经使用font_import()
加载过那些字体。我也认为... systemfonts::match_font("Calibri")
我想检查一下,但无论我是否已经运行了loadfonts(...
,我都会得到相同的结果,所以这也不是原因。
如何检查字体是否可以在图表中使用?
showtext
来代替extrafont::loadfonts
步骤,这样就可以在其他人的计算机上使用Calibri字体了。 - Jon Springnames(grDevices::windowsFonts())
。 - stefanshowtext
是做什么用的?它是哪个软件包提供的?我找不到它。 - shirewoman2install.packages("showtext"); library(showtext); list_of_fonts <- as.data.frame(font_files()); grep(pattern = "Calibri", x = list_of_fonts$family, ignore.case = TRUE, value = TRUE)
- jared_mamrot