Verhindern, dass urxvt letterSpace bestimmte Unicode-Zeichen unterbricht

865
Cameron Sun

Ich habe urxvt in den letzten paar Jahren auf verschiedenen Maschinen eingesetzt. Letzte Woche habe ich einen neuen Computer und einen System-Konfigurationsrausch gemacht.

Bei diesen Konfigurationsänderungen habe ich jedoch ein Problem festgestellt, das sich aus irgendeinem Grund noch nie manifestiert hat. Meine URxvt*letterSpaceEinstellung scheint nämlich 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 Sie letterSpace zu niedrig einstellen. Bei den angezeigten Eingabeaufforderungen wird letterSpace auf -2 bzw. 0 gesetzt. Soweit ich es verstehe, liegt dies daran, dass bestimmte Glyphen zu breit sind, um angezeigt zu werden (ich bin hier mit den Details ziemlich unklar). Ich denke jedoch, dass dies nicht der Fall sein sollte. Ich habe die tatsächliche Anzahl der Bilder gemessen, die die Glyphe aufnimmt, und sie scheint zum Beispiel nicht größer als das "m" zu sein. Wenn ich mit iterm2 (ich habe auch einen Mac) ssh in dieselbe Maschine mit derselben Schriftart ssh, wird die Glyphe einfach gut dargestellt.

Ich würde gerne wissen, ob es eine Möglichkeit gibt, dieses Problem zu beheben, ohne meine Schriftart- oder LetterSpace-Einstellungen * zu ändern. Mir ist bekannt, dass ich dies möglicherweise mithilfe einer anderen Schriftart beheben konnte, aber ich bin recht zufrieden mit der Art, wie urxvt derzeit aussieht. Gibt es möglicherweise eine Einstellung, die ich vermisse, die dies verursacht? Die relevanten Teile meiner .Xresources sowie Informationen zu meinem System werden hier veröffentlicht. Vielen Dank!

* (Ich bin eher damit einverstanden, den font / letterSpace zu ändern, solange das Endergebnis so aussieht, wie ich es gerade habe)


.Xresources

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

Laufen 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 
0

1 Antwort auf die Frage

0
Cameron Sun

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

Um mein Problem zu lösen, habe ich nur die problematischen Glyphen in meiner Prompt- und Vim-Statuszeile durch solche ersetzt, die tatsächlich in meinem gewünschten letterSpacing richtig dargestellt werden. Es ist nicht die beste Lösung, aber ich habe es viel lieber als das Kompilieren meiner eigenen gepatchten Version von urxvt.