Windows11非管理员R环境无法导入Arial Narrow制作ggplot图表
问题:非管理员Windows 11环境下R中导入Arial Narrow字体失败
- 系统环境:Windows 11,无管理员权限,无法以管理员身份运行R
- 需求:使用
theme_ipsum制作ggplot图表,需调用Arial Narrow/Palatino字体 - 尝试操作:使用
extrafont包的font_import()(含指定字体路径、直接调用两种方式)均失败 - 错误信息:
Scanning ttf files in C:\windows/Fonts, C:\Users\bulgmat\AppData\Local/Microsoft/Windows/Fonts ... Extracting .afm files from .ttf files... C:\Windows\Fonts\ALGER.TTFError in system2(enc2native(ttf2pt1), c(args, shQuote(ttfiles[i]), shQuote(tmpfiles[i])), : 'CreateProcess' failed to run 'C:\Users\Public\R\R4_LIB~1\Rttf2pt1\exec\ttf2pt1.exe -a -G fAe "C:\Windows\Fonts\ALGER.TTF" "C:\Users\bulgmat\AppData\Local\Temp\1\RtmpwpsOIZ/fonts/ALGER"'
解决方案1:用showtext替代extrafont(推荐)
showtext无需管理员权限,也不用将字体导入R字体库,可直接调用自定义路径字体或系统字体:
- 安装并加载依赖包:
install.packages("showtext") library(showtext) library(ggplot2) library(hrbrthemes)
- 加载目标字体(指定你已有的Arial Narrow路径):
font_add("Arial Narrow", regular = "C:/Users/Public/R/R4_libs_x86_64/prettydoc/resources/fonts/Arial_Narrow.ttf") showtext_auto() # 启用showtext渲染
- 制作ggplot图表并指定字体:
ggplot(mtcars, aes(wt, mpg)) + geom_point() + theme_ipsum(base_family = "Arial Narrow")
解决方案2:限制font_import扫描范围
避免扫描系统字体目录(权限限制导致报错),仅扫描你有权限访问的字体文件夹:
library(extrafont) # 仅扫描指定路径,关闭导入前的确认提示 font_import(paths = "C:/Users/Public/R/R4_libs_x86_64/prettydoc/resources/fonts/", prompt = FALSE) loadfonts() # 加载字体库
若仍报错,可先将字体文件复制到你有权限的用户字体目录(如C:\Users\你的用户名\AppData\Local\Microsoft\Windows\Fonts),再执行上述命令。
解决方案3:直接调用系统已注册字体
Arial Narrow可能已在系统中注册,可先查看可用字体列表,直接调用对应名称:
library(extrafont) fonts() # 查看R已识别的字体列表 # 若找到"Arial Narrow",直接使用 ggplot(mtcars, aes(wt, mpg)) + geom_point() + hrbrthemes::theme_ipsum(base_family = "Arial Narrow")
内容的提问来源于stack exchange,提问作者Matteo Bulgarelli
相关产品推荐
相关产品推荐

