代码之家  ›  专栏  ›  技术社区  ›  Sébastien Rochette

使用库emojifont打印崩溃r会话

  •  2
  • Sébastien Rochette  · 技术社区  · 8 年前

    当我加载时 library(emojifont) ,下面的情节完全破坏了我的r会话。这个脚本在几个月前就开始工作了,库也有相同的版本。我自己的安装可能有问题,因为维护人员无法重现该问题( as I posted an issue on github ). 但我没有任何线索。

    R版本3.4.1(2017-06-30)--“单根蜡烛”
    版权所有(C)2017统计计算R基金会

    测试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')
    

    order_ok 但是,如果我关闭这个情节,画一个新的 plot(x, y, cex=0) 在同一会话中,会话崩溃。

    如果,在 ,我在绘图之前调用库,对绘图的调用直接导致会话崩溃,即使没有 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')
    

    错误如下:



    在轴中(边=边,at=at,标签=标签,…):字体系列不是??VUUUUU?%P@73@未找到,将使用“wqy microhei”

    message_before_crash

    似乎字体无法识别,但我尝试直接在我的计算机上安装这两种字体系列,但没有改变。顺便说一句,如果我只发送 emoji('evergreen_tree')

    [1] "🌲"
    

    我更新了我所有的库并重新安装了emojifont。

    1 回复  |  直到 8 年前
        1
  •  2
  •   Sébastien Rochette    8 年前

    自库 libfreetype6-dev 在Ubuntu已经更新后,有必要重新安装库 emojifont . 但是,您还必须重新安装它所依赖的库:

    install.packages(c("sysfonts", "showtextdb", "showtext"))
    install.packages("emojifont")
    

    这解决了问题。