rvg и офицер дают «заполненный» шрифт для редактируемого векторного графического элемента PowerPoint

Мы можем сделатьggplotобъект и измените его шрифт с помощьюshowtextупаковка.

      library(ggplot2)
library(showtext)
library(officer)
library(rvg)

p1 <- ggplot(mtcars, aes(x = cyl)) + 
  geom_bar() +
  ggtitle("A B C D")

font_add_google("Poppins")
showtext_auto()
p2 <- p1 + theme(text = element_text(family = "Poppins"))

Это дает изображение, которое выглядит так, как ожидалось.

Тем не менее, если я в следующий раз воспользуюсьofficerиrvgпакеты для печати того же графика, что и редактируемый элемент векторной графики в файле .pptx, что-то идет не так.

      pptx <- read_pptx()
pptx <- add_slide(pptx,  layout = "Blank", master = "Office Theme")
pptx <- ph_with(x = pptx, value = dml(ggobj = p2), location = ph_location(width=6, height=6))
print(pptx, target = "Slide_ABCD.pptx")

Персонажи сюжета в конечном итоге «заполнены». Эта проблема не возникает при использовании значения по умолчанию.ggplot2шрифты.

The ?rvg::dmlв документации говорится об этомfontsаргумент:

Именованный список имен шрифтов, которые будут сопоставлены со шрифтами, установленными в вашей системе. Если не указано, семейства R по умолчанию без засечек, моно и символа присваиваются псевдонимам семейства, возвращаемого функцией match_family().

Если вы используете определенные шрифты, вам понадобится установить этот шрифт в вашей системе. Это можно проверить с помощью пакета gdtools и функции gdtools::font_family_exists().

Когда я бегуgdtools::font_family_exists("Poppins"), он возвращает ИСТИНА

Я пытался указать «Поппинс» и «Поппинс-Обычный» вrvg:dml()позвони, вот так:

      pptx <- ph_with(x = pptx, value = dml(ggobj = p2, fonts = list(sans = "Poppins", serif = "Poppins", mono = "Poppins")), location = ph_location(width=6, height=6))

Но эти шаги не меняют результат. Я все еще получаю «заполненный» шрифт.

Я знаю, что в эти выходные данные pptx можно вставить файл изображения, но мне действительно нужно, чтобы выходные данные были редактируемым элементом векторной графики .

Есть идеи, как решить эту проблему, чтобы шрифт элемента редактируемой векторной графики выглядел как шрифт изображения?

0 ответов

Другие вопросы по тегам