这是确定 Calibri 是否已安装且“可用”的一种潜在方法:
install.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)
您可以通过多种方式实现这一点,例如,如果 Calibri 字体可用则加载它,或者如果系统上不可用则打印一条消息:
if (!require(showtext)) install.packages("showtext")
#> Loading required package: showtext
#> Loading required package: sysfonts
#> Loading required package: showtextdb
library(showtext)
list_of_fonts <- as.data.frame(font_files())
if(any(grepl("Calibri.ttf", list_of_fonts, ignore.case = TRUE))){
Calibri <- list_of_fonts[list_of_fonts$file == "Calibri.ttf",]
sysfonts::font_add(family = "Calibri",
regular = list.files(path = Calibri$path,
pattern = "Calibri.ttf",
full.names = TRUE))
print("Calibri available")
} else{
print("Calibri not found")
}
#> [1] "Calibri available"
library(ggplot2)
showtext_auto()
ggplot(mtcars, aes(wt, mpg)) +
geom_point() +
ggtitle("Example plot") +
theme(text = element_text(family = "Calibri", size = 22))
![](https://i.imgur.com/ESeLGEd.png)
由reprex 包于 2021-09-29 创建(v2.0.1)
注意这应该可以在 windows/macOS/linux 上运行,但我只在 macOS 上测试过。此外,@JonSpring 首先评论,所以如果他发布答案,请接受他的而不是我的