特定の文字図形の端末フォントのコレクションをオーバーライドするには?

特定の文字図形の端末フォントのコレクションをオーバーライドするには?

私はこれをデフォルトのSource Code Pro固定幅フォントに設定し、Noto Color Emoji絵文字の場合は次のようにFontconfigで設定しました。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <alias>
    <family>serif</family>
    <prefer>
      <family>Noto Color Emoji</family>
      <family>DejaVu Sans</family>
    </prefer>
  </alias>
  <alias>
    <family>sans-serif</family>
    <prefer>
      <family>Noto Color Emoji</family>
      <family>DejaVu Serif</family>
    </prefer>
  </alias>
  <alias>
    <family>monospace</family>
    <prefer>
      <family>Noto Color Emoji</family>
      <family>Source Code Pro</family>
    </prefer>
  </alias>
</fontconfig>

これはGnomeアプリケーションではうまく機能しますが、私の端末[Allacritty]は絵文字フォントを使わずにまだいくつかの絵文字を表示します。私はこれがSource Code ProInconsolataのような他のフォントで期待どおりに機能するので、これらの文字の外観があると思います。

例えば、茶屋

ベストアンサー1

非常に似たFontconfig-configで同じ問題が発生しました。これを追加すると、次のようになります。

  <match target="scan">
    <test name="family" compare="contains">
      <string>Source</string>
    </test>
    <edit name="charset" mode="assign" binding="same">
      <minus>
        <name>charset</name>
        <charset>
          <int>0x2611</int> <!-- ☑ -->
          <int>0x2615</int> <!-- ☕ -->
          <int>0x263a</int> <!-- ☺ -->
          <int>0x2665</int> <!-- ♥ -->
          <int>0x2713</int> <!-- ✓ -->
          <int>0x2714</int> <!-- ✔ -->
          <int>0x2764</int> <!-- ❤ -->
          <int>0x1f4a9</int> <!-- 

おすすめ記事