использование текстовых шрифтов в R-графиках на макросах - PullRequest
0 голосов
/ 31 октября 2018

Может кто-нибудь указать мне документ, который объясняет, как сделать текстовые шрифты доступными для R-графиков?

Раньше у меня это работало, но оно больше не работает. Вот моя попытка сделать текстовые шрифты bera 2018 доступными для R:

$ 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

может быть, шрифты 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.

было бы замечательно указать указатель на пошаговый документ (как диагностировать проблемы). пожалуйста, помогите.

1 Ответ

0 голосов
/ 02 ноября 2018

Я наконец получил его на работу. Шаги:

[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 cask install font-bitstream-vera

[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
...