如何在 shinyapps.io 应用程序中安装自定义字体?
How do I install custom fonts in shinyapps.io apps?
此问题与一辉在这里给出的答案有关:
https://groups.google.com/g/shinyapps-users/c/0czcsM4vziM/m/GNuyL3ClCgAJ
在指令中,它说到:
- dir.create('~/.fonts')
- 下载字体,例如通过 download.file(),到 ~/.fonts
- 运行 系统('fc-cache -f ~/.fonts')
在尝试将应用程序部署到 shinapps.io.:
之前,我已将其放入我的 .app 代码中(就在我所有的 library() 调用之后)
dir.create('~/.fonts')
download.file('https://github.com/**MY USERNAME**/fonts', '~/.fonts')
system('fc-cache -f ~/.fonts')
如您所见,我已将应用程序所需的所有字体放入我的 github 帐户的 public 存储库中。这是字体 .ttf 文件的来源 URL。但是,我想我可能误解了指示,因为我从 shinyapps.io:
得到这个错误
Error in value[[3L]](cond) : Error sourcing /srv/connect/apps/font/app.R
Calls: local ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted
我希望使用的字体是“Sarabun”和“Garamond”系列的衍生字体。
请问有人能提供更多易慧解决方案的细节吗?任何帮助将不胜感激。如果您还有另一种解决方案,那将是一件好事。但是,请注意 'font style packages' 往往不能与 shinyapps.io 一起使用,因为它们在本地查找样式,这违背了它的目的!此外,我希望使用特定的 .ttf 文件。
大家干杯,
马特
URL https://github.com/**MY USERNAME**/fonts
指向存储库概述,而不是文件夹本身,因此您可能只下载 URL 上的 HTML 页面。
您需要根据您的 OS 下载存档文件(ZIP 在 Windows 上,.TAR.GZ 在类 Unix 上)。
download.file("https://github.com/**USERNAME**/fonts/archive/master.tar.gz", destfile = "fonts.tar.gz")
# or ZIP file on Windows
download.file("https://github.com/**USERNAME**/fonts/archive/master.zip", destfile = "fonts.zip")
然后你必须提取存档:
untar("fonts.tar.gz", exdir = "~/.fonts/")
# or with ZIP file on Windows
unzip("fonts.zip", exdir = "~/.fonts/")
然后您可以在脚本中使用它:
system('fc-cache -f ~/.fonts')
我希望方法很清楚,因为它可能会因您的 OS、字体和子文件夹等而异...类似的东西应该可以工作。
此问题与一辉在这里给出的答案有关:
https://groups.google.com/g/shinyapps-users/c/0czcsM4vziM/m/GNuyL3ClCgAJ
在指令中,它说到:
- dir.create('~/.fonts')
- 下载字体,例如通过 download.file(),到 ~/.fonts
- 运行 系统('fc-cache -f ~/.fonts')
在尝试将应用程序部署到 shinapps.io.:
之前,我已将其放入我的 .app 代码中(就在我所有的 library() 调用之后)dir.create('~/.fonts')
download.file('https://github.com/**MY USERNAME**/fonts', '~/.fonts')
system('fc-cache -f ~/.fonts')
如您所见,我已将应用程序所需的所有字体放入我的 github 帐户的 public 存储库中。这是字体 .ttf 文件的来源 URL。但是,我想我可能误解了指示,因为我从 shinyapps.io:
得到这个错误Error in value[[3L]](cond) : Error sourcing /srv/connect/apps/font/app.R
Calls: local ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted
我希望使用的字体是“Sarabun”和“Garamond”系列的衍生字体。
请问有人能提供更多易慧解决方案的细节吗?任何帮助将不胜感激。如果您还有另一种解决方案,那将是一件好事。但是,请注意 'font style packages' 往往不能与 shinyapps.io 一起使用,因为它们在本地查找样式,这违背了它的目的!此外,我希望使用特定的 .ttf 文件。
大家干杯,
马特
URL https://github.com/**MY USERNAME**/fonts
指向存储库概述,而不是文件夹本身,因此您可能只下载 URL 上的 HTML 页面。
您需要根据您的 OS 下载存档文件(ZIP 在 Windows 上,.TAR.GZ 在类 Unix 上)。
download.file("https://github.com/**USERNAME**/fonts/archive/master.tar.gz", destfile = "fonts.tar.gz")
# or ZIP file on Windows
download.file("https://github.com/**USERNAME**/fonts/archive/master.zip", destfile = "fonts.zip")
然后你必须提取存档:
untar("fonts.tar.gz", exdir = "~/.fonts/")
# or with ZIP file on Windows
unzip("fonts.zip", exdir = "~/.fonts/")
然后您可以在脚本中使用它:
system('fc-cache -f ~/.fonts')
我希望方法很清楚,因为它可能会因您的 OS、字体和子文件夹等而异...类似的东西应该可以工作。