Поддержка языков справа налево в R с использованием Mac

Мне интересно, есть ли возможность поддерживать языки справа налево в R при использовании Mac

Например, предположим следующий код:

x <- data.frame(a=runif(10),b=runif(10))
ggplot(x, aes(a,b)) + geom_point() + xlab("سلام")

Вот результат:

Здесь я попытался изменить x-label как персидское / арабское слово (سلام = Hello). При правильном отображении в коде (с использованием R-Studio) на графике символы سلام отображаются в обратном порядке (слева направо).

Также связь между двумя последовательными буквами (т. Е. س, связанная с ل будет سل) нарушена.

У вас есть идеи, как это исправить?

Обновить

С ответом @agstudy я нашел R под Ubuntu совершенно нормально. Однако я не знаю, как решить проблему в Mac (OS X 10.9.1), обновив версию R и R-Studio

4 ответа

Он отлично работает для меня. Я просто изменяю размер ярлыков, чтобы лучше показать это.

library(ggplot2)
x <- data.frame(a=runif(10),b=runif(10))
ggplot(x, aes(a,b)) + 
  geom_point()+ xlab('سلام') +
  theme( axis.title=element_text(size=100,face="bold"))

Я использую:

other attached packages:
[1] ggplot2_0.9.3.1
R version 3.0.2 (2013-09-25)
Platform: x86_64-w64-mingw32/x64 (64-bit)

Также отлично работает под:

R version 3.0.3 (2014-03-06)
Platform: x86_64-pc-linux-gnu (64-bit)

У меня была такая же проблема с ивритскими буквами, и мне удалось обойти ее, читая метку из файла Excel вместо того, чтобы печатать ее непосредственно в R studio. Этот метод работает до тех пор, пока вам не нужно смешивать буквы с цифрами, в этом случае все становится запутанным. например: например

Я знаю, что это старый вопрос, но недавно я написал пакет R для его решения. Это простая оболочка R вокруг некоторого кода Python, поскольку эта проблема также возникает при использовании Python в Mac. Пакет переворачивает арабскую строку, а затем повторно соединяет буквы правильно, используя модуль python-arabic-reshaper Абдуллы Диаба.

Моя посылка здесь. Модуль Абдуллы Диаба (для Python) находится здесь.

Возможно, этот вопрос старый, но недавно я столкнулся с подобной проблемой и последние два дня пытался найти решение. Я пробовал различные решения, предложенные в ответах, например использованиеcairo_pdf, но ни один из них не работал у меня в Windows.

Я понял, что мне нужно найти графическое устройство, которое не конвертировало бы текст в глифы. К счастью,svgliteпакет делает именно это. Однако включениеsvgфайл в документ LaTeX создал еще одну проблему.

Ну, это решение:

      current_plot_hook <- knit_hooks$get('plot')
knit_hooks$set(plot = function(x, options) {
  res <- current_plot_hook(x, options)

  filename <- file.path(options$fig.path, paste0(options$label,"-", options$fig.num))
  filenameext <- paste0(filename, ".svg")

  rsvg::rsvg_pdf(svg = filenameext, 
                 file = paste0(filename, ".pdf"),
                 height = options$fig.height * 92,
                 width = options$fig.width * 92)
 res
})
opts_chunk$set(
  dev = "svglite"
) 
Другие вопросы по тегам