A partir de hoje, estou recebendo problemas de renderização de fontes com o rxvt-unicode. Especificamente com muitas fontes, recebo uma abundância de espaço extra entre os caracteres. Em outras fontes, o rxvt se recusa a alterar os tamanhos.
Aqui está um exemplo do problema de espaçamento entre urxvt e xterm.
Os recursos de fontes:
URxvt*font: xft:Terminus:medium:size=10
xterm*faceName: xft:Terminus:medium:size=10
E as renderizações
- urxvt
- xterm
Eu tentei todas as permutações de sugestões e antialiasing. Alterar o tamanho ou o tamanho do pixel redimensiona a fonte no urxvt, mas isso também aumenta o espaçamento extra.
Alguém tem idéias que eu posso tentar corrigir isso?
xterm
está realmente usando a mesma fonte. OJ
e o0
são distintamente diferentes. Você pode confirmar isso usando uma fonte inexistente no arquivo de recurso (xterm*faceName: xft:Nosuchfont:medium:size=10
). Se ainda parece o mesmo, obviamente não é Terminus.gvim
minha configuração em um sistema em que a fonte que eu queria não estava instalada.xft
ou algo recai sobre uma fonte não monoespaçada e é assim que elas aparecem.Respostas:
Urxvt tem uma opção para kerning básica:
letterSpace
. Vejaman urxvt
:Assim, você pode ajustar o espaçamento adicionando uma linha ao seu
~/.Xresources
, assim:Nota: é difícil distinguir da sua primeira captura de tela, mas parece que o Urxvt está voltando à fonte padrão, pois não consegue encontrar ou carregar o Terminus, daí o amplo espaçamento. Terminus é uma fonte de bitmap (que provavelmente está desativada por padrão); portanto, você deve
xfontsel
copiar a string de fonte correta em sua definição.Consulte a página do Arch Wiki em X Logical Font Description para obter uma descrição detalhada de como este sistema funciona.
fonte
urxvt -letsp -2
era necessário para mim. Usar-1
era melhor, mas inicialmente não percebi isso, pois não era suficiente.fc-match <font-name>
vez dexfontsel
se não estiver instalado ( nome da fonte é a expressão fornecida noURxvt*font
nome da fonte da sua linha). Se isso aparecer com um valor correspondente à expressão, a fonte será carregada corretamente. por exemplo, sefc-match "Noto Mono"
derDejaVuSans.ttf: "DejaVu Sans" "Book"
, pode ser considerada uma expressão de fonte incorreta.Acontece que uma regra foi ativada no meu sistema que bloqueou fontes de bitmap, como o Terminus.
Esta regra (no meu sistema) estava dentro
/etc/fonts/conf.d/70-no-bitmap-fonts
e continha:Eu removi isso do
conf.d
diretório e minhas fontes estão novamente sendo renderizadas corretamenteurxvt
.fonte
Observe que há um relatório de erro referente ao espaçamento entre letras.
Eu tive problemas semelhantes. Seguindo as recomendações da discussão sobre os bugs, defino
Xft.rgba: none
eXft.hintstyle: hintfull
in~/.Xdefaults
( em vez deXft.rgba: rgb
eXft.hintstyle: hintslight
). Isso foi corrigido para mim - eu usei o Ubuntu Mono como fonte.fonte
Minha solução foi simples:
Agora funciona perfeitamente.
fonte
Isso pode resultar de um arquivo de fonte real (Monospace no meu caso), mais provavelmente do que de qualquer coisa no urxvt. Se a fonte (erroneamente) declarar alguns glifos muito grandes, o urxvt também será forçado a aumentar a grade.
No meu caso, a fonte "OK" que encontrei foi o Bitstream Vera Sans Mono.
fonte