【问题标题】:using texlive fonts in R plots on macos在 macos 的 R 图中使用 texlive 字体
【发布时间】:2018-10-31 17:28:31
【问题描述】:

有人可以指点我一份解释如何使 texlive 字体可用于 R 绘图的文档吗?

我曾经有这个工作,但它不再工作。这是我尝试让 R 可以使用 texlive 2018 bera 字体:

$ R --no-init-file
> options(texlive= "~/Documents/texlive/2018/")
> options(texfonts= paste0(getOption("texlive"), "/texmf-dist/fonts/"))
>
> pdfFonts(Bera = Type1Font("Bera", paste0(getOption("texfonts"), "afm/public/bera/", c("fvsr8a","fvsb8a","fvsro8a","fvsbo8a"), ".afm")))
> options(pfbdir = c(paste0(getOption("texfonts"), "type1/public/bera/")))
> pdfFonts("Bera")
$Bera
$family
[1] "Bera"

$metrics
[1] "~/Documents/texlive/2018//texmf-dist/fonts/afm/public/bera/fvsr8a.afm"
[2] "~/Documents/texlive/2018//texmf-dist/fonts/afm/public/bera/fvsb8a.afm"
[3] "~/Documents/texlive/2018//texmf-dist/fonts/afm/public/bera/fvsro8a.afm"
[4] "~/Documents/texlive/2018//texmf-dist/fonts/afm/public/bera/fvsbo8a.afm"
[5] "Symbol.afm"

$encoding
[1] "default"

attr(,"class")
[1] "Type1Font"

> pdf(file="test.pdf")
> plot( 1 )
> dev.off()
null device
          1

$ pdffonts test.pdf  ## from brew poppler
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
ZapfDingbats                         Type 1            ZapfDingbats     no  no  no      10  0
Helvetica                            Type 1            Custom           no  no  no      11  0
$ ls ~/Documents/texlive/2018/texmf-dist/fonts/afm/public/bera/fv*
/Users/ivo/Documents/texlive/2018/texmf-dist/fonts/afm/public/bera/fveb8a.afm   /Users/ivo/Documents/texlive/2018/texmf-dist/fonts/afm/public/bera/fvmro8a.afm
/Users/ivo/Documents/texlive/2018/texmf-dist/fonts/afm/public/bera/fver8a.afm   /Users/ivo/Documents/texlive/2018/texmf-dist/fonts/afm/public/bera/fvsb8a.afm
/Users/ivo/Documents/texlive/2018/texmf-dist/fonts/afm/public/bera/fvmb8a.afm   /Users/ivo/Documents/texlive/2018/texmf-dist/fonts/afm/public/bera/fvsbo8a.afm
/Users/ivo/Documents/texlive/2018/texmf-dist/fonts/afm/public/bera/fvmbo8a.afm  /Users/ivo/Documents/texlive/2018/texmf-dist/fonts/afm/public/bera/fvsr8a.afm
/Users/ivo/Documents/texlive/2018/texmf-dist/fonts/afm/public/bera/fvmr8a.afm   /Users/ivo/Documents/texlive/2018/texmf-dist/fonts/afm/public/bera/fvsro8a.afm
$ ls ~/Documents/texlive/2018/texmf-dist/fonts/type1/public/bera/
fveb8a.pfb  fver8a.pfb  fvmb8a.pfb  fvmbo8a.pfb  fvmr8a.pfb  fvmro8a.pfb  fvsb8a.pfb  fvsbo8a.pfb  fvsr8a.pfb  fvsro8a.pfb

可能macos本身也需要安装pfb字体,以前很简单(需要双击字体名称,但是最新的macos好像不再这样了。还是有什么问题?

更新:我也尝试了 showtext 包(需要安装 XQuartz)。结果相同:

n <- "~/Documents/texlive/2018//texmf-dist/fonts/type1/public/bera/"
library( showtext )
font_add("Bera", paste0(n,"fvsr8a.pfb"), bold=paste0(n,"fvsb8a.pfb"),italic=paste0(n,"fvsro8a.pfb"),bolditalic=paste0(n,"fvsbo8a.pfb"))
showtext_auto()
pdf(file="t.pdf")
showtext_auto()
plot(1:20)
dev.off()

同样的结果 --- 我的 texlive bera (pfb) 字体对 pdffonts 不可见。

一个指向逐步文档(如何诊断问题)的指针会很棒。请帮忙。

【问题讨论】:

  • 您可以使用extrafontshowtext
  • 一个严重缺失的步骤:字体需要安装在 Mac OS 本身中。最好使用 fontconverter.org 来完成。 xform 将 pfb 文件转换为 otf 文件。

标签: r plot fonts tex-live


【解决方案1】:

我终于让它工作了。步骤:

[1] 安装 Bitstream Vera Sans 字体 (=Bera)。见https://tex.stackexchange.com/questions/457922/making-texlive-bera-font-accessible-on-macos-r-etc

brew tap homebrew/cask-fonts
brew install --cask font-bitstream-vera  # after 2021

要搜索字体,请使用brew search font-

[2] 按照https://cran.r-project.org/web/packages/extrafont/README.html中的说明进行操作

install.packages('extrafont')
library(extrafont)
font_import()
loadfonts()

[3] 使用它们

> pdf("test.pdf", family="Bitstream Vera Serif")
> plot(1:10)
> dev.off()

[4] 检查 test.pdf 文件是否使用字体(必须安装 poppler):

pdffonts test.pdf
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
ZapfDingbats                         Type 1            ZapfDingbats     no  no  no      10  0
BitstreamVeraSerif-Roman             Type 1            Custom           no  no  no      11  0

【讨论】:

    猜你喜欢
    • 2010-11-26
    • 2021-12-22
    • 2013-07-03
    • 2021-07-22
    • 2010-12-05
    • 2015-02-25
    • 2020-02-14
    • 2021-11-14
    相关资源
    最近更新 更多