Greetings -- Submitted this a little while ago -- for some reason, still being held up by the moderator. Trying again... For a host of reasons, I need to use/embed Garamond font with various R graphics for a particular publication. I've figured out how to more or less get there from here, using the following sequence: library(extrafont) Then, I need to import the system fonts (Windoze box, R 3.1.0). So, I use font_import() But, this takes a *huge* amount of time, and often throws errors as it chokes on various fonts (I have probably 250+ fonts installed). I only want *one* font (Garamond). But, for the life of me, I can't figure out how to get font_import to select only the single font I want. In theory font_import(paths = NULL, recursive = TRUE, prompt = TRUE, pattern = NULL) as defaults, where pattern is a regex that font filenames must match. The file name for Garamong is gara.ttf, so I tried font_import(pattern="gara") R responds with 'Importing fonts make take a few minutes, depending on the...etc, etc'. Continue? [y/n] Hit 'y', and am presented with Scanning ttf files in C:\Windows\Fonts ... Extracting .afm files from .ttf files... Error in data.frame(fontfile = ttfiles, FontName = "", stringsAsFactors = FALSE) : arguments imply differing number of rows: 0, 1 I have no idea what to do with this. Suggestions/pointers to the obvious welcome. And I thought futzing with fonts in LaTeX was fun! ;-) [[alternative HTML version deleted]]
On my system, the name of the Garamond font file is GARA.TTF. Thus, font_import(pattern = 'GARA') will work, but font_import(pattern="gara") won't. Unfortunately, font_import seems to fail rather ungracefully when there is no match to a pattern. Jason -----Original Message----- From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf Of Evan Cooch Sent: Saturday, April 26, 2014 1:55 PM To: r-help at r-project.org Subject: [R] help using extrafont package | R graphics Greetings -- Submitted this a little while ago -- for some reason, still being held up by the moderator. Trying again... For a host of reasons, I need to use/embed Garamond font with various R graphics for a particular publication. I've figured out how to more or less get there from here, using the following sequence: library(extrafont) Then, I need to import the system fonts (Windoze box, R 3.1.0). So, I use font_import() But, this takes a *huge* amount of time, and often throws errors as it chokes on various fonts (I have probably 250+ fonts installed). I only want *one* font (Garamond). But, for the life of me, I can't figure out how to get font_import to select only the single font I want. In theory font_import(paths = NULL, recursive = TRUE, prompt = TRUE, pattern = NULL) as defaults, where pattern is a regex that font filenames must match. The file name for Garamong is gara.ttf, so I tried font_import(pattern="gara") R responds with 'Importing fonts make take a few minutes, depending on the...etc, etc'. Continue? [y/n] Hit 'y', and am presented with Scanning ttf files in C:\Windows\Fonts ... Extracting .afm files from .ttf files... Error in data.frame(fontfile = ttfiles, FontName = "", stringsAsFactors = FALSE) : arguments imply differing number of rows: 0, 1 I have no idea what to do with this. Suggestions/pointers to the obvious welcome. And I thought futzing with fonts in LaTeX was fun! ;-) [[alternative HTML version deleted]] ______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Hi Evan,
If you just need one font, you may try the showtext package. Here is a
piece of code that you can test:
library(showtext)
# If you have this font installed
font.add("gara", "gara.ttf")
# Or you can install a similar one from Google Font
# font.add.google("EB Garamond", "gara")
# Try some plots
pdf("test.pdf")
showtext.begin()
par(family = "gara")
plot(1, main = "Garamond", type = "n")
text(1, 1, "Some Text", cex = 5)
showtext.end()
dev.off()
A more detailed introduction of the showtext package is available at
http://statr.me/2014/01/using-system-fonts-in-r-graphs/. Hope this would be
helpful for you.
Best,
Yixuan
2014-04-26 16:54 GMT-04:00 Evan Cooch
<evan.cooch@gmail.com>:> Greetings --
>
> Submitted this a little while ago -- for some reason, still being held
> up by the moderator. Trying again...
>
>
> For a host of reasons, I need to use/embed Garamond font with various R
> graphics for a particular publication. I've figured out how to more or
> less get there from here, using the following sequence:
>
>
> library(extrafont)
>
> Then, I need to import the system fonts (Windoze box, R 3.1.0).
>
> So, I use
>
> font_import()
>
> But, this takes a *huge* amount of time, and often throws errors as it
> chokes on various fonts (I have probably 250+ fonts installed). I only
> want *one* font (Garamond). But, for the life of me, I can't figure out
> how to get font_import to select only the single font I want. In theory
>
> font_import(paths = NULL, recursive = TRUE, prompt = TRUE, pattern = NULL)
>
> as defaults, where pattern is a regex that font filenames must match.
>
> The file name for Garamong is gara.ttf, so I tried
>
> font_import(pattern="gara")
>
> R responds with 'Importing fonts make take a few minutes, depending on
> the...etc, etc'.
> Continue? [y/n]
>
> Hit 'y', and am presented with
>
> Scanning ttf files in C:\Windows\Fonts ...
> Extracting .afm files from .ttf files...
> Error in data.frame(fontfile = ttfiles, FontName = "",
stringsAsFactors
> = FALSE) :
> arguments imply differing number of rows: 0, 1
>
> I have no idea what to do with this.
>
> Suggestions/pointers to the obvious welcome. And I thought futzing with
> fonts in LaTeX was fun! ;-)
>
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html> and provide commented, minimal, self-contained, reproducible code.
--
Yixuan Qiu <yixuan.qiu@cos.name>
Department of Statistics,
Purdue University
[[alternative HTML version deleted]]