Como exibir o unicode em um terminal virtual do Linux?

15

A leitura de quaisquer dados no unicode não é exibida corretamente no terminal linux (ou seja, o terminal virtual que é aberto sem janelas X).

Eu li em uma discussão aqui que instalar programas como o jfbterm, e ele funciona, então eu queria saber se não há nenhuma maneira de configurar (consolefonts?) o terminal para manipular corretamente unicode sem qualquer software extra.

Nos terminais do Windows (gnome-terminal, xterm, etc)

Noterminalvirtual:

No terminal virtual com jfbterm:

Alguémsabeseépossívelrealizaromesmoapenascomopadrãovt?

Obrigado,

(UPDATE)

@BasileStarynkevitch:aquiestáumacapturadeteladalocalidade

@ mr.spuratic: aqui está a saída do showconsolefont

    
por bruno.braga 25.02.2013 / 07:25

3 respostas

4

A fonte do console pode carregar fontes para até 512 (eu acho, ou algo assim) diferentes glifos; geralmente apenas 256 no entanto.

para exibir idiomas latinos, cítricos ou outros que usam menos de 200 símbolos não complexos não é problema.

No entanto, para scripts complexos, ou scripts que precisam de muitos símbolos diferentes (como o japonês), você não tem outra possibilidade além de usar um layout extra para lidar com isso.

Note que se o limite de 512 deve ser suficiente para os conjuntos ascii e kana, existe o problema da largura. CJK e kana se encaixam em um quadrado, eles são duas vezes a largura das letras latinas. Isso não é algo que o console pode manipular fora da caixa.

Você pode ressortar ao velho e feio "katakana de meia largura" (e talvez até encontrar uma fonte antiga de tal coisa), ou configurar seu console para 40 colunas de largura e ter letras latinas como larga como kana.

Eu não conheço nenhuma fonte do console com o kana; você deve desenhar o seu próprio (existem ferramentas para fazer isso, e você pode simplesmente copiar os pontos da fonte japonesa bitmap.

Além disso, você pode usar o iconv para transliterar kana para ascii:

    
por 04.06.2014 / 01:50
1

Além de LANG/LC_ALL , stty iutf8 é necessário para informar ao terminal o que fazer, você pode precisar de setfont para carregar uma fonte e um mapeamento úteis. Se você ainda tiver problemas, verifique a configuração do seu kernel para as configurações CONFIG_NLS_xx , você pode precisar modprobe nls_utf8 se ele não carregar automaticamente (acho que isso é necessário apenas para nomes de arquivos Unicode).

Algumas distribuições linux fornecem scripts unicode_start e unicode_stop para automatizar isso.

Se less causar problemas, talvez seja necessário definir a variável de ambiente LESSCHARSET (ou não configurada, se estiver errada).

FAQ do UTF-8 e Unicode para Unix / Linux é inestimável.

    
por 25.02.2013 / 11:50
1

Você precisa de uma fonte que realmente tenha esses caracteres. O Arch Linux, por exemplo, recomenda Lat2-Terminus16 .

Para tentar, basta emitir o seguinte comando em um console virtual: setfont Lat2-Terminus16 .

Quanto ao resto, a maioria das distribuições modernas já o suporta de imediato.

    
por 06.03.2014 / 10:22