Como posso fazer com que símbolos unicode e fontes TrueType funcionem no xterm / uxterm?

12

Gostaria de usar uma fonte truetype no xterm / uxterm (versão 278), mas tenho problemas com símbolos unicode (é por exemplo, exibe bem, então acho que não é um utf8 desabilitado ou um problema de localidade):

$ echo -e "\xE2\x98\xA0"

me dá um quadrado em vez de ☠ com a seguinte configuração:

UXTerm*faceName: Liberation Mono
UXTerm*faceSize: 9
XTerm*faceName: Liberation Mono
XTerm*faceSize: 9

Quando desativo as fontes truetype usando o menu do botão direito do mouse ctrl, o símbolo é exibido corretamente usando as fontes padrão, o que não é bom. Eu tentei o uxrvt e tive o mesmo problema quando não tenho espaçamento suficiente, mas funciona bem quando o aumento. No entanto, o uxrvt me deu muitos outros problemas, assim como todos os outros emuladores de terminal que tentei. Alguém tem uma ideia?

Sebastian Blask
fonte
Você tem algum motivo para acreditar que esse glifo existe no Liberation Mono?
precisa saber é o seguinte
Eu tentei no LibreOffice Writer e está lá. Também funciona no uxrvt após aumentar o espaçamento entre letras. Meu problema não é específico para essa fonte, não foi possível encontrar nenhuma fonte truetype onde não tenho esse problema.
Sebastian Blask
Esquisito. Tentei reproduzir o problema do LibreOffice Writer e funcionou. Talvez o LO-Writer mude para outra fonte, se um unicode específico não for suportado pelo atual? Além disso, como o aumento do espaçamento das letras pode resultar no Liberation Mono repentinamente dar suporte a um caractere unicode não suportado? Como você aumenta o espaçamento das letras?
polym
Resposta à primeira pergunta minha acima: vinc17 descobriu que o LibreOffice está mudando silenciosamente a fonte!
polym
1
No rxvt-unicode, você pode ver a qual fonte um glifo pertence clicando com o botão esquerdo enquanto mantém o controle e a tecla shift. Os detalhes devem aparecer no canto inferior esquerdo da janela do terminal. Além disso, para inspecionar uma fonte ttf, consulte o editor de fontes fontforge. É incrível como uma fonte pode ser complicada.
etherfish

Respostas:

8

A fonte Liberation parece não ter esse símbolo. Mas o uso XTerm*faceName: DejaVu Sans Mono(que também é uma fonte de truetype) permite que ☠ seja exibido.

EDIT: Não use o LibreOffice ou o OpenOffice para determinar se um glifo é suportado em uma fonte, pois ele silenciosamente volta para outra fonte: bug 45128 do OpenOffice .

vinc17
fonte
uau legal encontrar legal. Parece que minha suspeita estava certa haha: D! Voto a favor!
polym
Eu tinha certeza que Deja Vuestava na lista de fontes que tentei, mas aparentemente não. Meio constrangedor que este era tão simples: -S deixe-me tentar fazer isso no meu computador de trabalho amanhã ...
Sebastian Blask
5

vinc17 está correto:

O glifo ☠, também chamado SKULL AND CROSSBONES, não é suportado pela fonte Liberation Mono, como você pode ver aqui e aqui .

Você precisa alterar para uma fonte que cubra esse unicode (intervalo).

As fontes que suportam esse glifo específico listed estão listadas aqui .

Para encontrar o nome e várias outras informações de um caractere unicode por texto, use esta ferramenta .

polym
fonte