Die Schrifthöhe ändert sich in DejaVu an dieser Punktgröße, da die Informationen zur Schrifthöhe zwischen den beiden normalen und der fett gedruckten Schrift unterschiedlich sind, wenn sie gleich sein sollten.
Die von mir verwendete DejaVu Sans Mono 10-Schriftart ändert die Schrifthöhe nicht zwischen normalem und fettem Gewicht. Ich habe das in meinen .emacs mit eingestellt(set-frame-font "DejaVu Sans Mono-10")
Sie haben also etwas zu vergleichen, die Informationen für die Schriftart "DejaVu Sans 10" über (Schriftinfo zu 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 ...) )))]
BEARBEITEN basierend auf nachfolgenden Informationen:
In den obigen Schriftinformationen zeige ich eine Schrifthöhe von 17 und Sie geben eine Höhe von 15 (normal) oder 16 (fett) an. In Emacs 25 gibt es nach diesen 3 Nullen zusätzliche Schriftinformationen, insbesondere ist der Schriftabstieg 4.
Obwohl ich mit DejaVu Sans Mono und der Bold-Variante kein Problem mit Emacs 24 oder 25 habe, ist es am einfachsten, eine Schriftart und -größe zu verwenden, bei der die Breite (wie in den Schriftinformationen angegeben) nicht zwischen normal und fett geändert wird oder etwas anderes als DejaVu.
Was dies verursacht, könnte eine Ihrer Bibliotheken sein (mein GTK ist libgtk-x11-2.0.so.0), aber ich bezweifle, dass es sich um diese bestimmte Bibliothek handelt. Zweifle auch daran, dass es sich um die ttf-Datei oder das Paket handelt. Wahrscheinlicher ist das Freetype-Rendering (ich habe libfreetype.so.6). Da DejaVu wie die anderen Schriftarten, die für Sie funktionieren, skaliert sind, würde ein Rechenfehler, der durch die Art und Weise, wie DejaVu geschrieben wurde, gekitzelt wird, erklären, warum diese bei einigen Größen funktionieren, bei anderen jedoch nicht.
Um zu überprüfen, ob das Problem Emacs-spezifisch ist oder nicht, können Sie möglicherweise zwei Terminalfenster aufrufen, eines mit einer fettgedruckten und eines ohne, und den Zeilenabstand vergleichen. Wenn es anders ist als Emacs, hat dies mit dem Rendern und / oder der Schriftart zu tun.
Wenn Sie Emacs kompiliert haben, ist dort möglicherweise etwas los.
C-u C-x =
. Sie werden wahrscheinlich feststellen, dass entweder das Gesicht, das den Defun beeinflusst, oder das Gesicht, das das Beispiel beeinflusst , unterschiedliche Attribute haben, die für das Verhalten verantwortlich sind, das Sie sehen - z. B. nicht nur die Grundfarbe des Vordergrunds. Die Gesichtsattribute können vom Benutzer angepasst werden.