问题
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