我正在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)
在我的系统上,某些字符只是显示为空的方框。
到目前为止,我了解到这是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