Arch Linux下网易云音乐白屏的解决方法

因为有AUR,Arch Linux装软件真是非常方便。出现问题也很好修。
最近遇到网易云音乐白屏的问题,在网上搜了一些资料之后,问题轻松解决了。这是由于Arch默认的Cairo不支持彩色Emoji字体导致的。
如果你也遇到了同样的问题,不妨试试下面的方法。

普通Arch用户解决方法

安装 aur/cairo-coloredemoji

$ yaourt cairo-coloredemoji

这个过程会提示你是否编辑 PKGBUILD 文件,选择 N。然后安装 Noto Color Emoji 字体(其实是Android上的字体233)。 安装 extra/noto-fonts-emoji

# pacman -S noto-fonts-emoji

然后将下面的配置文件放到 ~/.config/fontconfig/fonts.conf

https://gist.github.com/hexchain/47f550472e79d0805060

如果原先已有配置文件,可以把<match></match>的内容加入到配置中。

内容如下:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/conf.avail/51-noto-color-emoji.conf -->
<fontconfig>
    <selectfont>
        <acceptfont>
            <pattern>
                <patelt name="family"><string>Noto Color Emoji</string></patelt>
            </pattern>
        </acceptfont>
    </selectfont>

    <match target="font">
        <test name="family">
            <string>Noto Color Emoji</string>
        </test>
        <edit name="scalable" mode="assign"><bool>true</bool></edit>
        <edit name="embeddedbitmap" mode="assign"><bool>true</bool></edit>
        <edit name="hinting" mode="assign"><bool>true</bool></edit>
        <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
    </match>

    <!-- Experimental -->
    <!--
    <alias binding="same">
        <family>Segoe UI Emoji</family>
        <prefer>
            <family>Noto Color Emoji</family>
        </prefer>
    </alias> -->
    <match target="pattern">
        <test name="family" qual="first" compare="contains">
            <string>emoji</string>
        </test>
        <edit mode="assign" name="color">
            <bool>true</bool>
        </edit>
        <edit mode="assign" name="family">
            <string>Noto Color Emoji</string>
        </edit>
    </match>

    <match target="pattern">
        <edit name="family" mode="prepend">
            <string>Noto Color Emoji</string>
        </edit>
    </match>

</fontconfig>

到这里,网易云音乐就可以正常使用了。

如果你使用 infinality-bundle

与上面的内容类似,不过,应该安装 aur/cairo-infinality-ultimate-with-colored-emoji

$ yaourt cairo-infinality-ultimate-with-colored-emoji

安装 extra/noto-fonts-emoji

# pacman -S noto-fonts-emoji

然后将下面的配置文件放到 ~/.config/fontconfig/fonts.conf

https://gist.github.com/huiyiqun/9f20f177655946263a48170ee662cea9

如果原先已有配置文件,可以把<match></match>的内容加入到配置中。

内容如下:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>

  <!-- Use embedded bitmaps in fonts like Calibri? -->
  <match target="font" >
    <test qual="all" name="family"  compare="not_eq">
      <string>Noto Color Emoji</string>
    </test>
    <edit name="embeddedbitmap" mode="assign">
      <bool>false</bool>
    </edit>
  </match>

</fontconfig>

然后就搞定了>w<

5 条评论

  1. Gris

    sudo pacman -S noto-fonts noto-fonts-emoji直接行了,不用这么折腾。

    1. 夜光
      @Gris

      ヽ(・ω・。)ノ这样啊……

      1. Gris
        @夜光

        貌似cairo-coloredemoji加noto-fonts-emoji加改fontconfig,还是不行,symphony cash cash remix 这首歌的评论依然导致白屏。依然折腾中。

        1. Gris
          @Gris

          删除所有noto字体,恢复cairo,移除fontconfig后,symphony cash cash remix不再白屏。加上降级qt到5.8,终于bug-free了。

  2. Ailick

    每次开网易云都要重新登录,不会保存登录信息,好奇怪

发表评论