<fontconfig>
  <match target="font">
    <!-- If the requested font is Bitstream Vera Serif -->
    <test name="family" compare="eq">
      <string>Bitstream Vera Serif</string>
    </test>
    <!-- Replace the entire match list with Bitstream Vera Serif alone -->
    <edit name="family" mode="assign_replace">
      <string>Bitstream Vera Serif</string>
    </edit>
    <!-- Assign the serif family -->
    <edit name="family" mode="append_last">
      <string>serif</string>
    </edit>
  </match>

  <match>
    <!-- If the requested font is serif -->
    <test qual="any" name="family">
      <string>serif</string>
    </test>
    <!-- Make Bitstream Vera Serif the first result -->
    <edit name="family" mode="prepend_first">
      <string>Bitstream Vera Serif</string>
    </edit>
    <!-- Followed by Noto Color Emoji -->
    <edit name="family" mode="prepend_first">
      <string>Noto Color Emoji</string>
    </edit>
  </match>

  <match target="font">
    <!-- If the requested font is Bitstream Vera Sans -->
    <test name="family" compare="eq">
      <string>Bitstream Vera Sans</string>
    </test>
    <!-- Replace the entire match list with Bitstream Vera Sans alone -->
    <edit name="family" mode="assign_replace">
      <string>Bitstream Vera Sans</string>
    </edit>
    <!-- Assign the sans-serif family -->
    <edit name="family" mode="append_last">
      <string>sans-serif</string>
    </edit>
  </match>

  <match target="pattern">
    <!-- If the requested font is sans-serif -->
    <test qual="any" name="family">
      <string>sans-serif</string>
    </test>
    <!-- Make Bitstream Vera Sans the first result -->
    <edit name="family" mode="prepend_first">
      <string>Bitstream Vera Sans</string>
    </edit>
    <!-- Followed by Noto Color Emoji -->
    <edit name="family" mode="prepend_first">
      <string>Noto Color Emoji</string>
    </edit>
  </match>

  <match target="font">
    <!-- If the requested font is Bitstream Vera Sans Mono -->
    <test name="family" compare="eq">
      <string>Bitstream Vera Sans Mono</string>
    </test>
    <!-- Replace the entire match list with Bitstream Vera Sans Mono alone -->
    <edit name="family" mode="assign_replace">
      <string>Bitstream Vera Sans Mono</string>
    </edit>
    <!-- Assign the monospace family last -->
    <edit name="family" mode="append_last">
      <string>monospace</string>
    </edit>
  </match>

  <match target="pattern">
    <!-- If the requested font is monospace -->
    <test qual="any" name="family">
      <string>monospace</string>
    </test>
    <!--
    Make Bitstream Vera Sans Mono the first result
    Note: If you want a different monospace font, this is where you change it.
    -->
    <edit name="family" mode="prepend_first">
      <string>Bitstream Vera Sans Mono</string>
    </edit>
    <!-- Followed by Noto Color Emoji -->
    <edit name="family" mode="prepend_first">
      <string>Noto Color Emoji</string>
    </edit>
  </match>

  <!-- Add emoji generic family -->
  <alias binding="strong">
    <family>emoji</family>
    <default><family>Noto Color Emoji</family></default>
  </alias>

  <!-- Alias requests for the other emoji fonts -->
  <alias binding="strong">
    <family>Apple Color Emoji</family>
    <prefer><family>Noto Color Emoji</family></prefer>
    <default><family>sans-serif</family></default>
  </alias>
  <alias binding="strong">
    <family>Segoe UI Emoji</family>
    <prefer><family>Noto Color Emoji</family></prefer>
    <default><family>sans-serif</family></default>
  </alias>
</fontconfig>
