Windows 10的R输出中缺少Unicode字符

时间:2019-09-19 06:24:31

标签: r unicode windows-10

我正在Windows 10上运行R。

我无法将Unicode符号显示为点的形状。 (我试图在我的火山图(\ u2B06,⬆)中放一个向上箭头,指示超出范围的点)。有些工作,有些没有。 example来源

TestUnicode <- function(start="25a0", end="25ff", ...)
{
  nstart <- as.hexmode(start)
  nend <- as.hexmode(end)
  r <- nstart:nend
  s <- ceiling(sqrt(length(r)))
  par(pty="s")
  plot(c(-1,(s)), c(-1,(s)), type="n", xlab="", ylab="",
       xaxs="i", yaxs="i")
  grid(s+1, s+1, lty=1)
  for(i in seq(r)) {
    try(points(i%%s, i%/%s, pch=-1*r[i],...))
 }
}

TestUnicode()
TestUnicode(9500,9900)

Example output

在我的系统上,某些字符只是显示为空的方框。

到目前为止,我了解到这是Windows字体问题引起的,并且很可能是Windows 10存储字体的新方式发生的。

可悲的是,我发现的大多数类似问题的解决方案都是基于Unix的系统,并用于:

Sys.setlocale( locale="UTF-8" )

我认为这是一个Unix命令,因为它会给我以下内容:

[1] ""
Warning message:
In Sys.setlocale(locale = "UTF-8") :
  OS reports request to set locale to "UTF-8" cannot be honored

我尝试使用'showtext'软件包解决方案,但是无论如何还是不起作用,Windows 10可能再次成为麻烦的制造者。 (install 'Noto')

    library(showtext)
    font_paths()
[1] "C:\\Windows\\Fonts"
    font_add(family="Noto", regular="NotoSansSymbols-Regular.ttf")
    plot(1,1,pch='⬆',family='Noto')
There were 12 warnings (use warnings() to see them)
    warnings()
Warning messages:
1: In plot.xy(xy, type, ...) : font family not found in Windows font database

有人可以解决吗? 将不胜感激<3

0 个答案:

没有答案