L'altezza del carattere cambia in DejaVu a quella dimensione del punto perché le informazioni sull'altezza del carattere tra i due caratteri normale e grassetto sono diverse quando dovrebbero essere le stesse.
Il carattere DejaVu Sans Mono 10 che uso non cambia l'altezza del carattere tra peso normale e grassetto. L'ho impostato nel mio .emacs con(set-frame-font "DejaVu Sans Mono-10")
Quindi hai qualcosa a cui confrontare, le informazioni per il font "DejaVu Sans 10" via (font-info su Emacs 25):
(font-info "DejaVu Sans Mono-10")
["-unknown-DejaVu Sans Mono-normal-normal-normal-*-13-*-*-*-m-0-iso10646-1"
"DejaVu Sans Mono:pixelsize=13:foundry=unknown:weight=normal:slant=normal:
width=normal:spacing=100:scalable=true" 13 17 0 0 0 8 13 4 8 8
"/usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf" (opentype ((DFLT ...) )))]
EDIT basato sulle informazioni successive:
Nelle informazioni sul carattere sopra, mostro un'altezza del carattere di 17 e si segnala un'altezza di 15 (normale) o 16 (grassetto). In emacs 25 ci sono ulteriori informazioni sui caratteri dopo quei 3 0, in particolare la discesa dei caratteri è 4.
Anche se non ho problemi con Emacs 24 o 25 con DejaVu Sans Mono e la variante Bold, la cosa più semplice è usare un carattere e una dimensione che non cambiano la larghezza (come mostrato da font-info) tra normale e grassetto o qualcosa di diverso da DejaVu.
Per quanto riguarda ciò che sta causando questo, potrebbe essere una delle tue librerie (il mio GTK è libgtk-x11-2.0.so.0), ma dubito che sarebbe questa libreria particolare. Inoltre dubita che sia il file o il pacchetto ttf. Più probabilmente è il rendering freetype (ho libfreetype.so.6). Poiché DejaVu è ridimensionato come gli altri caratteri che funzionano per te, un errore di calcolo solleticato dal modo in cui è stato scritto DejaVu spiegherebbe perché funzionano in alcune dimensioni ma non in altre.
Per verificare se il problema è specifico di Emacs o meno, potresti essere in grado di far apparire due finestre di terminale, una con un prompt in grassetto e una senza e confrontare la spaziatura tra di esse. Se è diverso come Emacs, ciò ha a che fare con il rendering e / o il carattere.
Se hai compilato emacs potrebbe esserci qualcosa che sta succedendo lì.
C-u C-x =
. Probabilmente scoprirai che o la faccia che influenza defun o la faccia che influenza l' esempio hanno attributi diversi che sono responsabili del comportamento che vedi - ad esempio, diverso dal solo colore di base del primo piano. Gli attributi del viso possono essere personalizzati dall'utente.