Как я могу сделать svglite рендеринга портативных svgs на travis-ci? - PullRequest
0 голосов
/ 25 ноября 2018

Графики, отображаемые с помощью svglite , выглядят по-разному при визуализации через Travis и при локальном отображении.

Это происходит потому, что моя локальная машина (в данном случае macOS)псевдонимы различных (более стандартных?) шрифтов для стандартных участков R

gdtools::match_family("Arial")
## [1] "Arial"
gdtools::match_family("sans")
## [1] "Bitstream Vera Sans"

... чем travis ci :

gdtools::match_family("Arial")
## [1] "Liberation Sans"
gdtools::match_family("sans")
## [1] "DejaVu Sans"

"Liberation Sans", вочередь, не обязательно доступна на всех компьютерах, просматривающих svg (он не был у меня, пока я не запустил brew cask install font-liberation-sans).

Итак, в то время как локально генерируемые SVG имеют довольно приличную мобильность (~ "Arial"), сгенерированный TravisCI (~ "Liberation Sans") этого не делает.

Я бы хотел отличную мобильность, которая работает на каждом компьютере с разумным текущим браузером.Я понимаю из svglite fonts vignette , что мне, вероятно, следует использовать псевдонимы пользовательских шрифтов , чтобы выполнить это, но мне не удалось заставить его работать, и я довольно запутался по поводу всего бизнеса шрифтов,

Я просто хочу, чтобы SVG от svglite выглядели одинаково везде.

Вот шаблон index.Rmd, который создает различные графики.

---
title: "index"
author: "foo"
date: "11/2/2018"
output:
  rmarkdown::html_document
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
```

# `png` Device

```{r png, echo=FALSE, dev = 'png'}
plot(pressure)
```


# `svg` Device

```{r svg, echo=FALSE, dev = 'svg'}
plot(pressure)
```


# `svglite` Device

```{r svglite, echo=FALSE, dev = 'svglite'}
plot(pressure)
```

(Вся сборка репо и Трэвиса здесь здесь , готовый сайт находится на http://datascience.phil.fau.de/rmdbpl/).

При локальной визуализации (macOS) все три графика выглядят примерно одинаково:

rendered locally

При сборке на Travis CI график, отображаемый через svglite, при просмотре на машине без "Liberation Sans" будет заменен с засечками шрифты, что выглядит плохо.

travis

...