Using custom OTF fonts in ggplot2

≯℡__Kan透↙ 提交于 2020-05-24 20:06:12

问题


I need to use a custom font, namely "Archer", with ggplot2 in R. Archer is an otf typeface installed on my system (Mac OSX Yosemite).

This script (found here: Modifying fonts in ggplot2) doesn't work for Archer, but works fine with other fonts such as Arial.

install.packages("extrafont");library(extrafont)
font_import("Archer")
library(ggplot2)
qplot(1:10)+theme(text=element_text(family="Archer"))

Is there something wrong with otf typefaces in particular?


回答1:


You'll need to convert Archer from an OTF to a TTF. From extrafont's github readme:

Presently it allows the use of TrueType fonts with R

I'm amused---I had to do this because my organization also uses Archer. The first hit for this search is purple, so probably that's what I used and it worked just fine.

When having trouble with extrafont it can also be useful to check the available options with fonts(). Then you can verify that your import was successful.

If you save your plot to a PDF, to make sure to embed the fonts as well, using grDevices::embedFonts or extrafont::embed_fonts.




回答2:


You can try the showtext package, which directly works on OTF fonts.

library(showtext)
font.add("Archer", "Archer.otf")
showtext.auto()
library(ggplot2)
qplot(1:10)+theme(text=element_text(family="Archer"))

Please replace "Archer.otf" by the real filename of your Archer font in the system.

Using showtext does not require embedding the fonts.



来源:https://stackoverflow.com/questions/30058107/using-custom-otf-fonts-in-ggplot2

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!