aboutsummaryrefslogtreecommitdiff
path: root/fonts/dot-config/fontconfig/conf.d
diff options
context:
space:
mode:
authorMohammad Reza Karimi <m.r.karimi.j@gmail.com>2025-12-16 13:27:11 -0500
committerMohammad Reza Karimi <m.r.karimi.j@gmail.com>2025-12-16 13:27:11 -0500
commit5a41da5881a11ba3fdc3890c342aa3b7eb53e0cf (patch)
tree92b7f7af29ed4a9dcc0eab33490c6225cce9b14a /fonts/dot-config/fontconfig/conf.d
parent856e361d56c201cbb1b1521c8b93b747163b1376 (diff)
add initial version (incomplete)
Diffstat (limited to 'fonts/dot-config/fontconfig/conf.d')
-rw-r--r--fonts/dot-config/fontconfig/conf.d/52-default-fonts.conf36
-rw-r--r--fonts/dot-config/fontconfig/conf.d/53-font-features.conf18
-rw-r--r--fonts/dot-config/fontconfig/conf.d/66-emoji.conf46
-rw-r--r--fonts/dot-config/fontconfig/conf.d/66-vazirmatn.conf20
4 files changed, 120 insertions, 0 deletions
diff --git a/fonts/dot-config/fontconfig/conf.d/52-default-fonts.conf b/fonts/dot-config/fontconfig/conf.d/52-default-fonts.conf
new file mode 100644
index 0000000..625f63d
--- /dev/null
+++ b/fonts/dot-config/fontconfig/conf.d/52-default-fonts.conf
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<fontconfig>
+ <alias>
+ <family>serif</family>
+ <prefer>
+ <family>Libertinus Serif</family>
+ <family>Noto Color Emoji</family>
+ <family>Symbols Nerd Font</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>sans-serif</family>
+ <prefer>
+ <family>Open Sans</family>
+ <family>Noto Color Emoji</family>
+ <family>Symbols Nerd Font</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>sans</family>
+ <prefer>
+ <family>Open Sans</family>
+ <family>Noto Color Emoji</family>
+ <family>Symbols Nerd Font</family>
+ </prefer>
+ </alias>
+ <alias>
+ <family>monospace</family>
+ <prefer>
+ <family>Hack</family>
+ <family>Noto Color Emoji</family>
+ <family>Symbols Nerd Font</family>
+ </prefer>
+ </alias>
+</fontconfig>
diff --git a/fonts/dot-config/fontconfig/conf.d/53-font-features.conf b/fonts/dot-config/fontconfig/conf.d/53-font-features.conf
new file mode 100644
index 0000000..d883d97
--- /dev/null
+++ b/fonts/dot-config/fontconfig/conf.d/53-font-features.conf
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<fontconfig>
+ <match target="font">
+ <test name="family" qual="any">
+ <string>Hack</string>
+ </test>
+ <test name="family" qual="any">
+ <string>Comic Code</string>
+ </test>
+ <test name="family" compare="contains">
+ <string>IosevkaInput</string>
+ </test>
+ <edit name="hintstyle" mode="assign">
+ <const>hintfull</const>
+ </edit>
+ </match>
+</fontconfig>
diff --git a/fonts/dot-config/fontconfig/conf.d/66-emoji.conf b/fonts/dot-config/fontconfig/conf.d/66-emoji.conf
new file mode 100644
index 0000000..139d78a
--- /dev/null
+++ b/fonts/dot-config/fontconfig/conf.d/66-emoji.conf
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<fontconfig>
+ <!--
+ This adds a generic family 'emoji',
+ aimed for apps that don't specify specific font family for rendering emojis.
+ -->
+ <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>Hack</string>
+ </test>
+ <test name="family" compare="contains">
+ <string>Comic Code</string>
+ </test>
+ <test name="family" compare="contains">
+ <string>IosevkaInput</string>
+ </test>
+ <test name="family" compare="contains">
+ <string>Dejavu Sans Mono</string>
+ </test>
+ <edit name="charset" mode="assign" binding="same">
+ <minus>
+ <name>charset</name>
+ <charset>
+ <range>
+ <int>0x2763</int>
+ <int>0x2764</int>
+ </range>
+ <range>
+ <int>0x1f600</int>
+ <int>0x1f640</int>
+ </range>
+ </charset>
+ </minus>
+ </edit>
+ </match>
+</fontconfig>
+
diff --git a/fonts/dot-config/fontconfig/conf.d/66-vazirmatn.conf b/fonts/dot-config/fontconfig/conf.d/66-vazirmatn.conf
new file mode 100644
index 0000000..75a5b63
--- /dev/null
+++ b/fonts/dot-config/fontconfig/conf.d/66-vazirmatn.conf
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<fontconfig>
+ <match>
+ <test compare="contains" name="lang">
+ <string>fa</string>
+ </test>
+ <edit mode="prepend" name="family" binding="strong">
+ <string>Vazirmatn RD UI NL</string>
+ </edit>
+ </match>
+ <match>
+ <test compare="contains" name="lang">
+ <string>ar</string>
+ </test>
+ <edit mode="prepend" name="family" binding="strong">
+ <string>Vazirmatn RD UI NL</string>
+ </edit>
+ </match>
+</fontconfig>