使用库表情字体绘制崩溃 r 会话
plot crash r session with library emojifont
当我加载 library(emojifont)
时,完全以下情节使我的 r 会话崩溃。这个脚本几个月前就可以使用了,图书馆也有同样的版本。我自己的安装可能有问题,因为维护者无法重现该问题 (as I posted an issue on github)。但是我没有任何线索。
我使用 Ubuntu 16.04。库 emojifont 版本 0.50.
R version 3.4.1 (2017-06-30) -- "Single Candle"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
确实,我注意到了以下行为:
测试 1
如果我运行在新会话中按此顺序编写代码,第一个情节就可以了:
# Order 1 ----
x <- rnorm(10)
y <- rnorm(10)
plot(x, y, cex=0)
library(emojifont)
text(x, y, labels=emoji('cow'), cex=1.5, col='steelblue', family='OpenSansEmoji')
但是,如果我关闭绘图并在同一会话中绘制一个新绘图 plot(x, y, cex=0)
,会话就会崩溃。
测试 2
如果在 新会话 中,我在情节之前调用库,即使没有 emoji
内部,对情节的调用也会直接导致会话崩溃:
# Order 2 ----
library(emojifont)
x <- rnorm(10)
y <- rnorm(10)
plot(x, y, cex=0)
# Dont have time to run this line, the session crashes
text(x, y, labels=emoji('cow'), cex=1.5, col='steelblue', family='OpenSansEmoji')
错误如下:
Erreur : C stack usage 140727315310780 is too close to the limit
De plus : Warning message:
In axis(side = side, at = at, labels = labels, ...) : font family 'T??VUUUUU?%P?,@73@' not found, will use 'wqy-microhei' instead
Erreur :
似乎无法识别字体,但我尝试在我的计算机上直接安装这两个字体系列并没有改变。顺便说一句,如果我只在控制台中发送 emoji('evergreen_tree')
,它会 returns 表情符号,它假定字体系列已被识别:
[1] ""
我更新了所有库并重新安装了 emojifont。
emojifont 中是否有任何修改绘图行为的内容?我的安装中的哪些更改会导致出现此问题?
由于 Ubuntu 中的库 libfreetype6-dev
已更新,因此有必要重新安装库 emojifont
。但是,您还必须重新安装它所依赖的库:
install.packages(c("sysfonts", "showtextdb", "showtext"))
install.packages("emojifont")
这解决了问题。
感谢@Roland 给我指明了方向。
当我加载 library(emojifont)
时,完全以下情节使我的 r 会话崩溃。这个脚本几个月前就可以使用了,图书馆也有同样的版本。我自己的安装可能有问题,因为维护者无法重现该问题 (as I posted an issue on github)。但是我没有任何线索。
我使用 Ubuntu 16.04。库 emojifont 版本 0.50.
R version 3.4.1 (2017-06-30) -- "Single Candle"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
确实,我注意到了以下行为:
测试 1
如果我运行在新会话中按此顺序编写代码,第一个情节就可以了:
# Order 1 ----
x <- rnorm(10)
y <- rnorm(10)
plot(x, y, cex=0)
library(emojifont)
text(x, y, labels=emoji('cow'), cex=1.5, col='steelblue', family='OpenSansEmoji')
plot(x, y, cex=0)
,会话就会崩溃。
测试 2
如果在 新会话 中,我在情节之前调用库,即使没有 emoji
内部,对情节的调用也会直接导致会话崩溃:
# Order 2 ----
library(emojifont)
x <- rnorm(10)
y <- rnorm(10)
plot(x, y, cex=0)
# Dont have time to run this line, the session crashes
text(x, y, labels=emoji('cow'), cex=1.5, col='steelblue', family='OpenSansEmoji')
错误如下:
Erreur : C stack usage 140727315310780 is too close to the limit
De plus : Warning message:
In axis(side = side, at = at, labels = labels, ...) : font family 'T??VUUUUU?%P?,@73@' not found, will use 'wqy-microhei' instead
Erreur :
似乎无法识别字体,但我尝试在我的计算机上直接安装这两个字体系列并没有改变。顺便说一句,如果我只在控制台中发送 emoji('evergreen_tree')
,它会 returns 表情符号,它假定字体系列已被识别:
[1] ""
我更新了所有库并重新安装了 emojifont。
emojifont 中是否有任何修改绘图行为的内容?我的安装中的哪些更改会导致出现此问题?
由于 Ubuntu 中的库 libfreetype6-dev
已更新,因此有必要重新安装库 emojifont
。但是,您还必须重新安装它所依赖的库:
install.packages(c("sysfonts", "showtextdb", "showtext"))
install.packages("emojifont")
这解决了问题。 感谢@Roland 给我指明了方向。