首页 > 解决方案 > Extrafont fonts() 和 fonttable() 返回 NULL

问题描述

问题总结:

我正在按照本指南学习如何使用 R 制作更有趣的数据可视化:https ://www.listendata.com/2019/06/create-infographics-with-r.html

具体来说,我正在研究“在华夫饼中使用图标”部分。该指南说您需要使用一个名为“extrafont”的包,我已经安装并加载了它没有问题,但是当我通过运行fonts()and检查我是否安装了字体时fonttable(),我只会得到“NULL”或一个空的数据框。我应该得到一个字体表来显示这些字体可以在 R 中使用。

我尝试了什么:

  1. 冉图书馆(“华夫饼”)
  2. 我使用安装了额外字体install.packages("extrafont")
  3. 跑去library("extrafont")加载它
  4. 按照指南中的说明访问此网址:https ://github.com/FortAwesome/Font-Awesome/tree/master/webfonts并下载了三种指定的字体。我的下载文件夹中现在有三个 .ttf 文件
  5. 双击每个 .ttf 文件并单击“安装”以在我的计算机上安装字体。
  6. Ranfont_import(path="/Users/[my-name]/Downloads/", pattern = "fa-", prompt = FALSE)将字体导入R。这是输出的摘录:
/Users/[my-name]/Downloads/fa-brands-400.ttfsh: line 1: 17105 Segmentation fault: 11  '/Users/[my-name]/Library/R/x86_64/4.1/library/Rttf2pt1/exec//ttf2pt1' -a -GfAe '/Users/[my-name]/Downloads/fa-brands-400.ttf' '/var/folders/xw/cv_66y755dzgyqgnn9_jb7wm0000gq/T//RtmpDxvl5L/fonts/fa-brands-400' 2>&1
 : No FontName. Skipping.
/Users/[my-name]/Downloads/fa-regular-400.ttfsh: line 1: 17107 Segmentation fault: 11  '/Users/[my-name]/Library/R/x86_64/4.1/library/Rttf2pt1/exec//ttf2pt1' -a -GfAe '/Users/[my-name]/Downloads/fa-regular-400.ttf' '/var/folders/xw/cv_66y755dzgyqgnn9_jb7wm0000gq/T//RtmpDxvl5L/fonts/fa-regular-400' 2>&1
 : No FontName. Skipping.
  1. loadfonts(device = "win")。这返回Error in windowsFonts() : could not find function "windowsFonts"了,我猜这与我在 Mac 上有关,所以我跑了loadfonts(device = "pdf")。(我不完全确定这部分的作用,但我认为如果你想将图表保存为 PDF,它是允许字体工作的部分?)这没有给出任何输出,所以我猜它只是做了一些事情在后台。
  2. fonts()NULL就跑fonttable()data frame with 0 columns and 0 rows

我也看过这个问题:Fonts table 在使用 extrafont 包检索 windows 字体后仍然为空 我不认为这是同一个问题,因为我没有得到与它们相同的错误。

任何帮助将不胜感激 :)

我的 R 会话信息是:

R version 4.1.2 (2021-11-01)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Catalina 10.15.7

Matrix products: default
BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] extrafont_0.17 waffle_1.0.1   ggplot2_3.3.5 

loaded via a namespace (and not attached):
 [1] RColorBrewer_1.1-2 pillar_1.6.4       compiler_4.1.2     tools_4.1.2       
 [5] digest_0.6.28      lifecycle_1.0.1    tibble_3.1.5       gtable_0.3.0      
 [9] pkgconfig_2.0.3    rlang_0.4.12       DBI_1.1.1          cli_3.1.0         
[13] rstudioapi_0.13    curl_4.3.2         xfun_0.28          fastmap_1.1.0     
[17] Rttf2pt1_1.3.9     gridExtra_2.3      withr_2.4.2        dplyr_1.0.7       
[21] stringr_1.4.0      generics_0.1.1     vctrs_0.3.8        htmlwidgets_1.5.4 
[25] grid_4.1.2         DT_0.19            tidyselect_1.1.1   glue_1.4.2        
[29] R6_2.5.1           fansi_0.5.0        extrafontdb_1.0    purrr_0.3.4       
[33] magrittr_2.0.1     scales_1.1.1       ellipsis_0.3.2     htmltools_0.5.2   
[37] assertthat_0.2.1   colorspace_2.0-2   utf8_1.2.2         tinytex_0.35      
[41] stringi_1.7.5      munsell_0.5.0      crayon_1.4.2   

标签: rfonts

解决方案


推荐阅读