fontconfig: iconos de Nerd Font antes que Linux Libertine G

Los separadores redondeados de yazi (U+E0B4 y U+E0B6) salían como una
"i" y una "T": fontconfig elegía Linux Libertine G / Biolinum G (de
LibreOffice), que usan esa zona de uso privado para otras cosas. Se les
quita la zona al escanearlas y Symbols Nerd Font pasa a ser la primera
fuente de reserva de Fira Code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016UdJsHrbkmzhoCb6TthP2m
This commit is contained in:
Alejandro Guerrero 2026-09-27 18:08:49 +02:00
parent 3aa250c8dd
commit a57d569e66

View file

@ -0,0 +1,47 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<!-- Iconos: si un carácter no está en Fira Code, buscarlo primero en
Symbols Nerd Font. -->
<alias>
<family>Fira Code</family>
<prefer>
<family>Fira Code</family>
<family>Symbols Nerd Font Mono</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Fira Code</family>
<family>Symbols Nerd Font Mono</family>
</prefer>
</alias>
<!-- Linux Libertine G y Biolinum G (de LibreOffice) usan la zona de uso
privado para ligaduras propias, y fontconfig las elegía para los
iconos de Nerd Font: los separadores redondeados de yazi salían como
una "i" y una "T". Se les quita esa zona para que no la reclamen. -->
<match target="scan">
<test name="family" compare="contains">
<string>Linux Libertine G</string>
</test>
<edit name="charset" mode="assign">
<minus>
<name>charset</name>
<charset><range><int>0xe000</int><int>0xf8ff</int></range></charset>
</minus>
</edit>
</match>
<match target="scan">
<test name="family" compare="contains">
<string>Linux Biolinum G</string>
</test>
<edit name="charset" mode="assign">
<minus>
<name>charset</name>
<charset><range><int>0xe000</int><int>0xf8ff</int></range></charset>
</minus>
</edit>
</match>
</fontconfig>