Verhindert, dass urxvt letterSpace bestimmte Unicode-Zeichen zerstört

0

Ich habe urxvt in den letzten Jahren auf verschiedenen Computern verwendet. Letzte Woche habe ich einen neuen Computer bekommen und mich auf einen Systemkonfigurations-Ausflug begeben.

Bei diesen Konfigurationsänderungen ist mir jedoch ein Problem aufgefallen, das aus irgendeinem Grund noch nie aufgetreten ist. Nämlich meine URxvt*letterSpace Die Einstellung scheint das Rendern bestimmter Unicode-Zeichen abzuschneiden.

visual example of problem

Wie Sie im obigen Bild sehen können, wird das "x" am Ende meiner Eingabeaufforderung abgeschnitten, wenn ich letterSpace zu niedrig eingestellt habe. In den angezeigten Eingabeaufforderungen ist letterSpace auf -2 bzw. 0 gesetzt. Soweit ich weiß, liegt das daran, dass bestimmte Glyphen zu breit sind, um angezeigt zu werden (die Details sind hier ziemlich verschwommen). Ich bin jedoch der Meinung, dass dies eigentlich nicht der Fall sein sollte - ich habe die tatsächliche Anzahl der Bilder gemessen, die die Glyphe aufnimmt, und es scheint zum Beispiel nicht größer als das "m" zu sein. Wenn ich mit iterm2 (ich habe auch einen Mac) mit der gleichen Schriftart in meinen Computer sshe, wird die Glyphe einwandfrei wiedergegeben.

Ich möchte wissen, ob es eine Möglichkeit gibt, dieses Problem zu beheben, ohne die Einstellungen für Schriftart oder LetterSpace * zu ändern. Mir ist bewusst, dass ich dieses Problem möglicherweise (?) Mit einer anderen Schriftart beheben kann, aber ich bin recht zufrieden mit der aktuellen Darstellung von urxvt. Gibt es möglicherweise eine Einstellung, die mir fehlt und die dazu führt, dass dies passiert? Ich werde die relevanten Teile meiner .Xresources unten posten, sowie Informationen über mein System. Vielen Dank!

* (Vielmehr kann ich die Schriftart / den Buchstaben ändern, solange das Endergebnis so aussieht, wie ich es derzeit habe.)


.Ressourcen

URxvt.scrollBar: false
URxvt.secondaryScreen: true
URxvt*iso14755: False

URxvt*font: xft:Source Code Pro for Powerline-11
URxvt*boldFont: xft:Source Code Pro for Powerline-11:style=Bold
URxvt*italicFont: xft:Source Code Pro for Powerline-11:syle=Italic
URxvt*bolditalicFont: xft:Source Code Pro for Powerline-11:style=Bold Italic
URxvt.cursorBlink: true
URxvt*letterSpace: -2

Xft.hinting: true
Xft.hintstyle: hintslight
Xft.antialias: rgba
Xft.rgba: rgb

URxvt.depth: 32
! Need to hardcode to enable transparency
URxvt.background: [90]#002b36
! Enables correct coloring of bolded characters
URxvt.intensityStyles: false
URxvt*skipBuiltinGlyphs: true

Systeminformationen

Ausführen von Ubuntu 16.04.2 mit XFCE und XMonad

rxvt-unicode (urxvt) v9.21 - released: 2014-12-31
options: perl,xft,styles,combining,blink,iso14755,unicode3,encodings=eu+vn+jp+jp-ext+kr+zh+zh-ext,fade,transparent,tint,pixbuf,XIM,frills,selectionscrolling,wheel,slipwheel,smart-resize,cursorBlink,pointerBlank,scrollbars=plain+rxvt+NeXT+xterm
Cameron Sun
quelle

Antworten:

0

Nach einigen Nachforschungen glaube ich, dass der einzige Weg, dies zu beheben, darin besteht, urxvt tatsächlich zu patchen. Für die auf Arch gibt es anscheinend einige gepatchte Versionen, die einfach mit dem Systempaket-Manager installiert werden können (wie dieses ). Für den Rest von uns sollte es definitiv möglich sein, eine gepatchte Version von urxvt manuell zu erstellen, aber das habe ich eigentlich nicht getan und kann daher keine Anleitung anbieten.

Um mein Problem zu lösen, habe ich einfach die problematischen Glyphen in meiner Prompt- und Vim-Statuszeile durch solche ersetzt, die tatsächlich mit dem gewünschten Buchstabenabstand korrekt dargestellt werden. Es ist nicht die beste Lösung, aber ich habe es dem Kompilieren meiner eigenen gepatchten Version von urxvt vorgezogen.

Cameron Sun
quelle