dotfiles/fontconfig/.config/fontconfig/fonts.conf

84 lines
2.4 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "/usr/share/xml/fontconfig/fonts.dtd">
<fontconfig>
<!-- Set default fonts -->
<alias>
<family>monospace</family>
<prefer>
<family>JetBrains Mono</family>
<family>Hack</family>
<family>Source Code Pro</family>
<family>Noto Color Emoji</family>
<family>Font Awesome 6 Free</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>DejaVu Serif</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<!-- Add generic emoji family. -->
<match target="pattern">
<test qual="any" name="family">
<string>emoji</string>
</test>
<edit name="family" mode="assign" binding="same">
<string>Noto Color Emoji</string>
</edit>
</match>
<!--
If other fonts contain emoji glyphs, they could interfere and make some
emojis rendered in wrong font (often in black-and-white).
For example, DejaVu Sans contains black-and-white emojis, which we can
remove using the following trick:
-->
<match target="scan">
<test name="family" compare="contains">
<string>DejaVu</string>
</test>
<edit name="charset" mode="assign" binding="same">
<minus>
<name>charset</name>
<charset>
<range>
<int>0x1f600</int>
<int>0x1f640</int>
</range>
</charset>
</minus>
</edit>
</match>
<!-- Exclude some glyphs from Source* font families -->
<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>0x203c</int> <!---->
<int>0x2049</int> <!---->
<int>0x2611</int> <!---->
<int>0x2615</int> <!---->
<int>0x263a</int> <!---->
<int>0x2640</int> <!---->
<int>0x2642</int> <!---->
<int>0x2665</int> <!---->
<int>0x2713</int> <!---->
<int>0x2714</int> <!---->
<int>0x2764</int> <!---->
<int>0x1f4a9</int> <!-- 💩 -->
<int>0x1f916</int> <!-- 🤖 -->
</charset>
</minus>
</edit>
</match>
</fontconfig> <!-- vim: set ts=2 sw=2 et tw=80 ft=xml: -->