Tengo una fuente monoespaciada ( PT Mono
) que prefiero usar en la programación de IDE. La fuente solo tiene Regular
, todos los demás Bold
y Italic
se derivan de la inclinación y "negrita" de la Regular
. El problema es que los caracteres "en negrita" son más anchos que los normales, por lo que las cadenas de código fuente en la ventana IDE ahora están compuestas por caracteres no monoespaciados.
¿Cómo controlo la "negrita" de la fuente para que no se amplíe más de lo normal?
El problema se ilustra en la siguiente captura de pantalla ( PT Mono
sin negrita dedicada). Vea cómo las palabras "unsigned char" y "sizeof" están saliendo de sus posiciones adecuadas.
Aquí otro ejemplo, Droid Sans Mono
(sin negrita dedicada).
Y aquí un ejemplo cuando la fuente tiene una versión en negrita dedicada ( Liberation Mono
). Negrita y regular están perfectamente alineados.
Por lo tanto, el problema definitivamente está en la representación de negrita frívola en situaciones donde no se proporciona negrita. El motor de fuentes es el culpable.
UPD: hay un archivo /etc/fonts/conf.avail/90-synthetic.conf
que, si se hace referencia desde las /etc/fonts/conf.d/
melodías, el motor de fuentes realizará un envalentonado sintético de las fuentes que no tienen la versión en negrita. Si el enlace simbólico a este archivo se elimina de /etc/fonts/conf.d/
, desaparece el envalentonado. Esto no es exactamente lo que se desea, pero al menos esto cura el caso de que las fuentes monoespaciales no sean monoespaciales (ver más abajo PT Mono
). Todavía se necesita el ajuste fino del envalentonado (ya sea por archivo de configuración o por freetype2
parche.
Respuestas:
mbaitoff , estoy publicando esto como una adición a su actualización, no como una respuesta
Si el usuario crea un archivo llamado
~/.fonts.conf
:entonces, las aplicaciones pueden usar fuentes monoespaciadas en negrita si están disponibles, y deshabilitar la "negrita sintética" si la fuente utilizada no tiene tipografía en negrita.
Es solo una alternativa y un enfoque ligeramente diferente con resultados diferentes
fuente
/etc/conf.d/50-user.conf
se cambia el nombre del enlace simbólico para que se ejecute después90-synthetic.conf
, no es necesario que elimine el embolden por completo.99-user.conf
funciona bien. De lo contrario, lo90-synthetic.conf
habilita nuevamente.