Nerd Fonts y Fontconfig🔗
Nerd Font es, en cuestión de uso, una colección de fuentes tipográficas conocidas y dirigidas a programadores, las cuales han sido modificadas para agregarle iconos (glyphs).
Existen varias formas de instalarlas, dependiendo del sistema y si estarán disponibles de manera local al usuario o global al sistema. En el repositorio del proyecto es posible encontrar varias opciones para su instalación.
Personalmente he programado un script en Bash para la instalación de Nerd Fonts:
nerd-fonts-update.bash
Algo a tomar en cuenta es el tamaño de la descarga de las fuentes tipográficas, por ejemplo: MPlus (246 MB) y Noto (889 MB).
Fontconfig🔗
La configuración de Fontconfig reside en el archivo $HOME/.config/fontconfig/fonts.conf
y archivos con la extensión
.conf
en el directorio $HOME/.config/fontconfig/conf.d
.
Confieso que no le he dedicado mucho tiempo a lo ofrecido por Fontconfig, pero al menos esto son extractos de lo que me ha funcionado para tener unas fuentes tipográficas decentes en mi escritorio:
Configuración básica para mejorar el aspecto visual de las fuentes tipográficas:
<match target="font">
<edit mode="assign" name="hinting" >
<bool>true</bool>
</edit>
<edit mode="assign" name="autohint" >
<bool>false</bool>
</edit>
<edit mode="assign" name="hintstyle" >
<const>hintfull</const>
</edit>
<edit mode="assign" name="rgba" >
<const>rgb</const>
</edit>
<edit mode="assign" name="antialias" >
<bool>true</bool>
</edit>
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
<edit mode="append" name="embeddedbitmap">
<bool>false</bool>
</edit>
</match>
Los nombres de las fuentes tipográficas más comunes y las fuentes tipográficas (archivos TTF u OTF) que las remplazarán:
<alias>
<family>serif</family>
<prefer><family>DejaVu Serif</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>DejaVu Sans</family></prefer>
</alias>
<alias>
<family>sans</family>
<prefer><family>DejaVu Sans</family></prefer>
</alias>
<alias>
<family>monospace</family>
<prefer><family>Hasklug Nerd Font Mono</family></prefer>
</alias>
Sustitución de una fuente tipográfica por otra:
<!-- Sustituir Arial por DejaVu Sans -->
<match>
<test name="family"><string>Arial</string></test>
<edit name="family" mode="assign" binding="strong">
<string>DejaVu Sans</string>
</edit>
</match>
<!-- Sustituir Courier por Hasklug Nerd Font Mono -->
<match>
<test name="family"><string>Courier</string></test>
<edit name="family" mode="assign" binding="strong">
<string>Hasklug Nerd Font Mono</string>
</edit>
</match>
<!-- Sustituir JetBrains Mono por Hasklug Nerd Font Mono -->
<match>
<test name="family"><string>JetBrains Mono</string></test>
<edit name="family" mode="assign" binding="strong">
<string>Hasklug Nerd Font Mono</string>
</edit>
</match>
Los dos últimos puntos permiten que, sin importar el programa, cuando uno use la fuente monospace
, Courier
o JetBrains Mono
realmente se haga uso de Hasklug Nerd Font Mono
.