mirror of
https://github.com/Xevion/dotfiles.git
synced 2026-01-31 06:24:13 -06:00
238 lines
5.4 KiB
XML
238 lines
5.4 KiB
XML
<?xml version="1.0"?>
|
|
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
|
|
<!--
|
|
Fontconfig Configuration
|
|
Managed by Chezmoi - edit fonts.toml for font selection
|
|
|
|
Optimized for:
|
|
- LCD displays (1080p)
|
|
- Both light and dark modes
|
|
- General readability and crisp text
|
|
-->
|
|
<fontconfig>
|
|
|
|
<!-- ============================================================
|
|
Global Rendering Settings
|
|
============================================================ -->
|
|
|
|
<!-- Enable antialiasing for smooth edges -->
|
|
<match target="font">
|
|
<edit name="antialias" mode="assign">
|
|
<bool>true</bool>
|
|
</edit>
|
|
</match>
|
|
|
|
<!-- Enable hinting for sharper text -->
|
|
<match target="font">
|
|
<edit name="hinting" mode="assign">
|
|
<bool>true</bool>
|
|
</edit>
|
|
</match>
|
|
|
|
<!--
|
|
Hintstyle: slight
|
|
- Best balance between shape preservation and sharpness
|
|
- Works well for both light and dark modes
|
|
- Recommended for modern LCDs
|
|
-->
|
|
<match target="font">
|
|
<edit name="hintstyle" mode="assign">
|
|
<const>hintslight</const>
|
|
</edit>
|
|
</match>
|
|
|
|
<!--
|
|
Subpixel rendering: RGB
|
|
- Standard for most LCD monitors (horizontal RGB stripe)
|
|
- Effectively triples horizontal resolution
|
|
-->
|
|
<match target="font">
|
|
<edit name="rgba" mode="assign">
|
|
<const>rgb</const>
|
|
</edit>
|
|
</match>
|
|
|
|
<!--
|
|
LCD filter: default
|
|
- Reduces color fringing from subpixel rendering
|
|
- Good balance for most displays
|
|
-->
|
|
<match target="font">
|
|
<edit name="lcdfilter" mode="assign">
|
|
<const>lcddefault</const>
|
|
</edit>
|
|
</match>
|
|
|
|
<!-- Disable autohinting (use font's built-in hints) -->
|
|
<match target="font">
|
|
<edit name="autohint" mode="assign">
|
|
<bool>false</bool>
|
|
</edit>
|
|
</match>
|
|
|
|
<!-- Disable embedded bitmap fonts (use vector glyphs) -->
|
|
<match target="font">
|
|
<edit name="embeddedbitmap" mode="assign">
|
|
<bool>false</bool>
|
|
</edit>
|
|
</match>
|
|
|
|
<!-- Re-enable embedded bitmaps for emoji fonts -->
|
|
<match target="font">
|
|
<test name="family" qual="any">
|
|
<string>Noto Color Emoji</string>
|
|
</test>
|
|
<edit name="embeddedbitmap" mode="assign">
|
|
<bool>true</bool>
|
|
</edit>
|
|
</match>
|
|
|
|
<!-- ============================================================
|
|
Default Font Aliases
|
|
============================================================ -->
|
|
|
|
<!-- Sans-serif: Inter with Noto Sans fallback -->
|
|
<alias>
|
|
<family>sans-serif</family>
|
|
<prefer>
|
|
<family>Inter</family>
|
|
<family>Noto Sans</family>
|
|
<family>DejaVu Sans</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<alias>
|
|
<family>system-ui</family>
|
|
<prefer>
|
|
<family>Inter</family>
|
|
<family>Noto Sans</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<!-- Serif: Source Serif 4 with Noto Serif fallback -->
|
|
<alias>
|
|
<family>serif</family>
|
|
<prefer>
|
|
<family>Source Serif 4</family>
|
|
<family>Noto Serif</family>
|
|
<family>DejaVu Serif</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<!-- Monospace: Geist Mono with JetBrains Mono fallback -->
|
|
<alias>
|
|
<family>monospace</family>
|
|
<prefer>
|
|
<family>Geist Mono</family>
|
|
<family>JetBrains Mono</family>
|
|
<family>DejaVu Sans Mono</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<alias>
|
|
<family>ui-monospace</family>
|
|
<prefer>
|
|
<family>Geist Mono</family>
|
|
<family>JetBrains Mono</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<!-- Common font substitutions -->
|
|
<alias>
|
|
<family>Arial</family>
|
|
<prefer>
|
|
<family>Inter</family>
|
|
<family>Noto Sans</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<alias>
|
|
<family>Helvetica</family>
|
|
<prefer>
|
|
<family>Inter</family>
|
|
<family>Noto Sans</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<alias>
|
|
<family>Times New Roman</family>
|
|
<prefer>
|
|
<family>Source Serif 4</family>
|
|
<family>Noto Serif</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<alias>
|
|
<family>Times</family>
|
|
<prefer>
|
|
<family>Source Serif 4</family>
|
|
<family>Noto Serif</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<alias>
|
|
<family>Courier New</family>
|
|
<prefer>
|
|
<family>Geist Mono</family>
|
|
<family>JetBrains Mono</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<alias>
|
|
<family>Courier</family>
|
|
<prefer>
|
|
<family>Geist Mono</family>
|
|
<family>JetBrains Mono</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<!-- Emoji support -->
|
|
<alias>
|
|
<family>emoji</family>
|
|
<prefer>
|
|
<family>Noto Color Emoji</family>
|
|
</prefer>
|
|
</alias>
|
|
|
|
<!-- ============================================================
|
|
Font-Specific Tweaks
|
|
============================================================ -->
|
|
|
|
<!--
|
|
Geist Mono: Use slight hinting for clean rendering
|
|
Geist Mono has good weight distribution
|
|
-->
|
|
<match target="font">
|
|
<test name="family" qual="any">
|
|
<string>Geist Mono</string>
|
|
</test>
|
|
<edit name="hintstyle" mode="assign">
|
|
<const>hintslight</const>
|
|
</edit>
|
|
</match>
|
|
|
|
<!-- Same for Geist Mono variants -->
|
|
<match target="font">
|
|
<test name="family" qual="any" compare="contains">
|
|
<string>Geist Mono</string>
|
|
</test>
|
|
<edit name="hintstyle" mode="assign">
|
|
<const>hintslight</const>
|
|
</edit>
|
|
</match>
|
|
|
|
<!--
|
|
Inter: Slight hinting works great for this font
|
|
Already using global defaults, but explicit for clarity
|
|
-->
|
|
<match target="font">
|
|
<test name="family" qual="any">
|
|
<string>Inter</string>
|
|
</test>
|
|
<edit name="hintstyle" mode="assign">
|
|
<const>hintslight</const>
|
|
</edit>
|
|
</match>
|
|
|
|
</fontconfig>
|