Evite que o letterSpace urxvt quebre determinados caracteres Unicode

0

Eu usei urxvt em várias máquinas diferentes nos últimos dois anos. Na semana passada, consegui um novo computador e fui em uma série de configurações do sistema.

Durante essas mudanças de configuração, no entanto, notei um problema que, por algum motivo, nunca se manifestou antes. Ou seja, minha configuração URxvt*letterSpace parece estar cortando a renderização de certos caracteres unicode.

Comovocêpodevernaimagemacima,o"x" no final do meu prompt de comando é cortado se eu definir o letterSpace muito baixo. Os prompts mostrados são com letterSpace definido como -2 e 0, respectivamente. Pelo que entendi, isso ocorre porque certos glifos são muito largos para serem exibidos (estou bastante confuso nos detalhes aqui). No entanto, eu sinto que isso não deveria ser realmente o caso - eu medi a quantidade real de fotos que o glifo ocupa e parece não ser maior que o "m", por exemplo. Além disso, quando eu ssh na minha máquina usando iterm2 (eu tenho um mac também) com a mesma fonte, o glifo processa muito bem.

Gostaria de saber se existe uma maneira de corrigir esse problema sem alterar minhas configurações de fonte ou letterSpace *. Estou ciente de que eu poderia potencialmente (?) Corrigir isso usando uma fonte diferente, mas estou muito feliz com a aparência atual do urxvt. Existe algum cenário que estou perdendo que está causando isso? Vou postar as partes relevantes dos meus recursos .X abaixo, bem como informações sobre o meu sistema. Obrigada!

* (estou de acordo em mudar a fonte / letterSpace, desde que o resultado final seja semelhante ao que eu tenho atualmente)

.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

Informações do sistema

Execução do Ubuntu 16.04.2 com XFCE e 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
    
por Cameron Sun 25.07.2017 / 22:58

1 resposta

0

Depois de mais algumas pesquisas, acredito que a única maneira de consertar isso é realmente remendar o urxvt. Para aqueles no Arch, parece haver algumas versões com patches que podem ser facilmente instaladas com o gerenciador de pacotes do sistema (como este ). Para o resto de nós, definitivamente deve ser possível construir uma versão com patch do urxvt manualmente, mas eu realmente não fiz isso e, portanto, não posso oferecer nenhuma orientação.

Para resolver o meu problema, acabei substituindo os glifos problemáticos em minha linha de status prompt e vim por aqueles que realmente são renderizados corretamente no letterSpacing desejado. Não é a melhor solução, mas eu prefiro muito mais lidar com a compilação da minha própria versão do urxvt.

    
por 26.07.2017 / 05:52