r - 使用 extrafont 将字体导入 R 时,如何解决“无字体名称”问题?
问题描述
我的 Windows 桌面 ( C:\Users\me\Desktop\Fonts
) 上有一个文件夹,其中包含我想使用extrafont
.
当我尝试使用导入字体时
library(extrafont)
font_import(paths = "C:/Users/me/Desktop/Fonts", prompt=FALSE)
我收到错误消息
Scanning ttf files in C:/Users/me/Desktop/Fonts ...
Extracting .afm files from .ttf files...
C:\Users\me\Desktop\Fonts\arista-light.ttf : No FontName. Skipping.
C:\Users\me\Desktop\Fonts\facebook-letter-faces.ttf : No FontName. Skipping.
C:\Users\me\Desktop\Fonts\Guardian-EgypTT-Text-Regular.ttf : No FontName. Skipping.
C:\Users\me\Desktop\Fonts\pico-black.ttf : No FontName. Skipping.
C:\Users\me\Desktop\Fonts\product-sans.ttf : No FontName. Skipping.
Found FontName for 0 fonts.
Scanning afm files in C:/Users/me/Documents/R/R-3.6.3/library/extrafontdb/metrics
Warning messages:
1: In system2(ttf2pt1, c(args, shQuote(ttfiles[i]), shQuote(tmpfiles[i])), :
running command '"C:/Users/me/Documents/R/R-3.6.3/library/Rttf2pt1/exec/ttf2pt1.exe" -a -G fAe "C:\Users\me\Desktop\Fonts\arista-light.ttf" "C:\Users\me\AppData\Local\Temp\RtmpOgbdTh/fonts/arista-light"' had status 1
2: In system2(ttf2pt1, c(args, shQuote(ttfiles[i]), shQuote(tmpfiles[i])), :
running command '"C:/Users/me/Documents/R/R-3.6.3/library/Rttf2pt1/exec/ttf2pt1.exe" -a -G fAe "C:\Users\me\Desktop\Fonts\facebook-letter-faces.ttf" "C:\Users\me\AppData\Local\Temp\RtmpOgbdTh/fonts/facebook-letter-faces"' had status 1
3: In system2(ttf2pt1, c(args, shQuote(ttfiles[i]), shQuote(tmpfiles[i])), :
running command '"C:/Users/me/Documents/R/R-3.6.3/library/Rttf2pt1/exec/ttf2pt1.exe" -a -G fAe "C:\Users\me\Desktop\Fonts\Guardian-EgypTT-Text-Regular.ttf" "C:\Users\me\AppData\Local\Temp\RtmpOgbdTh/fonts/Guardian-EgypTT-Text-Regular"' had status 1
4: In system2(ttf2pt1, c(args, shQuote(ttfiles[i]), shQuote(tmpfiles[i])), :
running command '"C:/Users/me/Documents/R/R-3.6.3/library/Rttf2pt1/exec/ttf2pt1.exe" -a -G fAe "C:\Users\me\Desktop\Fonts\pico-black.ttf" "C:\Users\me\AppData\Local\Temp\RtmpOgbdTh/fonts/pico-black"' had status 1
5: In system2(ttf2pt1, c(args, shQuote(ttfiles[i]), shQuote(tmpfiles[i])), :
running command '"C:/Users/me/Documents/R/R-3.6.3/library/Rttf2pt1/exec/ttf2pt1.exe" -a -G fAe "C:\Users\me\Desktop\Fonts\product-sans.ttf" "C:\Users\me\AppData\Local\Temp\RtmpOgbdTh/fonts/product-sans"' had status 1
基于此,我有两个问题:
- 我该如何克服这个
No FontName. Skipping.
问题? - 试图告诉我的警告信息是什么,我需要对此感到担忧吗?
我会很感激任何帮助,非常感谢提前!
解决方案
正如@Moritz Schwarz 所提到的,问题可以追溯到Rttf2pt1
.
根据此处提出的解决方案,将其降级到 1.3.8 将解决问题:
library(extrafont)
library(remotes)
remotes::install_version("Rttf2pt1", version = "1.3.8")
extrafont::font_import()
推荐阅读
- reactjs - redux-form 中的 InjectedFormProps 是什么?
- javascript - 如何仅使用 socket.io、express 和 node.js 使服务器端 FUNCTION 执行到特定的命名空间房间
- python-3.x - 使用python,如何在Whatsapp中附加联系人并发送到多个号码?
- php - 如何标准化 Laravel 中的一些 SQL 查询?
- json - Jolt Spec - 如何将元素插入数组
- c - 从函数地址获取调用者函数名
- java - 根据它们在网站上的显示方式对数组列表中的对象进行排序?
- android - dp(与密度无关的像素)是物理尺寸吗?
- junit5 - @BeforeAll 方法为非静态
- machine-learning - 深度学习中的“投影”是什么意思?