Использование текстовых шрифтов в R-графиках на макросах
Может кто-нибудь указать мне документ, который объясняет, как сделать текстовые шрифты доступными для 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 ответ
Я наконец получил это на работу. шаги:
[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