首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将不在extrafont字体中的字体导入R

将不在extrafont字体中的字体导入R
EN

Stack Overflow用户
提问于 2017-09-15 18:40:50
回答 1查看 356关注 0票数 0

这个问题很简单,但我似乎找不到一个很好的解释。我想在R中使用Futura字体(在mac font Book中)。Futura不是extrafont字体,而我使用的是mac (所以windowsFont函数不起作用),我尝试使用quartzFonts函数,但似乎不起作用(可能我做错了..?)

任何建议都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2017-09-15 20:05:52

第一步是找到字体文件。我的电脑(helvet)上的某些字体文件是/path/to/helvet/uhvr8a.pfb path/to/helvet/uhvb8a.pfb path/to/helvet/uhvb8a.pfb

然后你可以使用

代码语言:javascript
复制
font.add("name_to_use_in_your_R_script", regular = "path/to/regular/font/file", etc)

下面是一个示例。(下载字体文件,以便可以重现该示例。对于您来说,您需要将file.path("fonts", "uhvr8a.pfb")行更改为相应字体文件的路径。

代码语言:javascript
复制
\documentclass[a4paper,10pt]{article}

\begin{document}

<<knitrOpts>>=
library(knitr)
library(sysfonts)
library(showtext)
knitr::opts_chunk$set(fig.showtext = TRUE)
library(ggplot2)
library(hutils)
@

A plot using ordinary fonts:

<<ordinary>>=
ggplot(data = data.frame(x = 0:25 %% 4,
                         y = 27:2 %/% 4,
                         label = LETTERS[1:26])) + 
  geom_text(aes(x, y, label = label), size = 18) + 
  theme_void()
@

<<using_helvet>>=
provide.dir("fonts")
for (face in c("uhvr8a.pfb", "uhvb8a.pfb", "uhvro8a.pfb")) {
  download.file(paste0("https://github.com/grattaninstitute/Assessing-2016-Super-tax-reforms/raw/master/Fonts/helvetic/", face), 
                mode = "wb",
                destfile = file.path("fonts", face))
}

font.add("helvet",
         regular = file.path("fonts", "uhvr8a.pfb"),
         bold = file.path("fonts", "uhvb8a.pfb"),
         italic = file.path("fonts", "uhvro8a.pfb"))
@

<<helvet>>=
ggplot(data = data.frame(x = 0:25 %% 4,
                         y = 27:2 %/% 4,
                         label = LETTERS[1:26])) + 
  geom_text(aes(x, y, label = label), size = 18, family = "helvet") + 
  theme_void()
@




\end{document}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46237667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档