10 votos

Cómo evitar el "automático" audaz versión de una fuente que ser más amplio que los regulares de tener el mismo pt tamaño?

Tengo una fuente monoespaciada (PT Mono) que yo prefiero usar en la programación del IDE. La fuente sólo tiene Regular, todos los demás Bold y Italic son derivados por la inclinación y "boldification" de la Regular. El problema es que el "boldified", los personajes son más anchos que los regulares, por lo que el código fuente de las cadenas, en la ventana del IDE están compuestos de no monoespaciada caracteres.

¿Cómo puedo controlar el "boldification" de la fuente así que no iba a ser más ancha que regular?

El problema se ilustra en la siguiente captura de pantalla (PT Mono, no dedicado en negrita). Ver cómo "unsigned char" y "sizeof" las palabras están saliendo de sus posiciones correctas.

automatic boldification changes the width

Aquí otro ejemplo, Droid Sans Mono (no dedicado en negrita). enter image description here

Y aquí un ejemplo, cuando la fuente ha dedicado versión negrita (Liberation Mono). Audaz y regular están alineados perfectamente. enter image description here

Así, la cuestión es, sin duda en frívolas boldification de representación en situaciones donde la negrita no es proporcionado. El motor de la fuente es la culpa.

UPD: Hay un archivo /etc/fonts/conf.avail/90-synthetic.conf que si se hace referencia de /etc/fonts/conf.d/ sintoniza el motor de la fuente para realizar sintético que animan de las fuentes que no tienen la versión negrita. Si el enlace simbólico a este archivo se elimina de la /etc/fonts/conf.d/, los que animan desaparece. Esto no es exactamente lo que quería, pero al menos esta cura el caso de monospace no monoespaciada (ver más abajo, PT Mono). El ajuste fino de los que animan todavía quería (ya sea por el archivo de configuración, o por freetype2 parche.

enter image description here

9voto

Scott Noyes Puntos 1596

mbaitoff, voy a postear esto como adición a su actualización, no como una respuesta

Si el usuario crea un archivo denominado ~/.fonts.conf:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
    <match target="font">
        <test name="spacing" compare="eq">
            <const>mono</const>
        </test>
        <edit name="embolden" mode="assign">
            <bool>false</bool>
        </edit>
    </match>
</fontconfig>

a continuación, las aplicaciones pueden utilizar negrita fuente monoespaciada si está disponible, y deshabilitar "sintético boldification" si se utiliza la fuente no tiene la tipografía en negrita.

Es sólo alternativa, y enfoque ligeramente diferente con diferente resultado

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: