Eu apenas copiei os caracteres do seu exemplo e fiz eco deles em uma janela de terminal:
Eu acho que os TTYs não têm muito suporte a caracteres, então pode ser um problema de fonte.
Eu tenho um aplicativo de console que exibe símbolos especiais como
☢ ☍ ⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵
Não importa onde - putty (UTF8 + Use o desenho de linha Unicode, mas eu acho que não é problema do cliente), console local, SecureCRT - não consigo vê-los. Em vez disso, apenas praças. Aqui estão minhas variáveis de env do shell
LANG=en_US.UTF-8
TERM=xterm
Alguma ideia de como fazer o terminal mostrar esses símbolos corretamente?
Atualizar
Glyph Estou interessado em
python -c 'print u"\u22c5 \u22c5\u22c5 \u201d \u2019 \u266f \u2622 \u260d \u2318 \u2730 " \
u"\u28ff \u26a1 \u262f \u2691 \u21ba \u2934 \u2935 \u2206 \u231a \u2240\u2207 \u2707 " \
u"\u26a0\xa0\u25d4 \u26a1\xa0\u21af \xbf \u2a02 \u2716 \u21e3 \u21e1 \u2801 \u2809 " \
u"\u280b \u281b \u281f \u283f \u287f \u28ff \u2639 \u2780 \u2781 \u2782 \u2783 \u2784 " \
u"\u2785 \u2786 \u2787 \u2788 \u2789 \u25b9\xa0\u254d \u25aa \u26af \u2692 \u25cc " \
u"\u21c5 \u21a1 \u219f \u229b \u267a ".encode("utf8")'
Captura de tela com a fonte do Ubuntu
Screenshot com a fonte DejaVu
Eu apenas copiei os caracteres do seu exemplo e fiz eco deles em uma janela de terminal:
Eu acho que os TTYs não têm muito suporte a caracteres, então pode ser um problema de fonte.
Eu apoio @lgarzo. Você pode experimentar algumas fontes maiores , especialmente as orientais:
$ aptitude install ttf-wqy-microhei
... putty (UTF8 + Usar Unicode ...
Em vez de usar uma seqüência de escape hexadecimal, talvez seja mais fácil usar os caracteres reais para testar fontes residentes (se um caractere estiver ausente, isso é um oxímoro, pois não será possível escolhê-lo!). deve criar um arquivo com os símbolos desejados e, em seguida, exibir esse arquivo com a máquina de destino).
A geração de glifos programada também pode ser feita usando emparelhamentos caractere / UTF de unicodes por extração de UTF-8 ou UTF-16:
python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚"'
⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚
% python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚".decode("unicode_escape")'
â Ⱐ⣿ ⡠⯠â ⺠⤴ ⤵ â â
% python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚".decode("unicode_escape")
.encode("unicode_escape")'
\xe2\x8c\x98 \xe2\x9c\xb0 \xe2\xa3\xbf \xe2\x9a\xa1 \xe2\x98\xaf \xe2\x9a\x91
\xe2\x86\xba \xe2\xa4\xb4 \xe2\xa4\xb5 \xe2\x88\x86 \xe2\x8c\x9a
% python -c 'print "⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚".decode("unicode_escape")
.encode("unicode_escape")
.decode("string_escape")'
⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚
% python
Python 2.7.3 (default, Apr 20 2012, 22:44:07)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> u"⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵ ∆ ⌚"
u'\u2318 \u2730 \u28ff \u26a1 \u262f \u2691 \u21ba \u2934 \u2935 \u2206 \u231a'
Os glifos Unicode podem ser renderizados usando UTF-8 ou UTF-16
assim Unicode U+2318
ou UTF-16: 0x2318
ou ⌘
é UTF-8: 0xE2 0x8C 0x98
Detalhes da fonte para um personagem podem ser encontrados literalmente procurando por ele em character map
. Ele é executado como um utilitário de ícone ou ativado com o comando gnome-character-map
ou gucharmap
terminal. Pressione e segure o botão direito do mouse sobre o caractere para identificar a fonte de residência. Além disso, use Show only glyphs in this font
no menu View
e role pela lista de fontes com uma tecla de seta para localizar rapidamente a fonte do caractere com outros caracteres residentes.
oops
resposta anterior abaixo reitera o óbvio - estava olhando para as respostas, em vez de questionar
ubuntu@ubuntu:~$ echo '☢ ☍ ⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵'
☢ ☍ ⌘ ✰ ⣿ ⚡ ☯ ⚑ ↺ ⤴ ⤵
e
python -c 'print u"\xbf \n FreeSerif\n" \
u"\u2019 \u201d \u219f \u21a1 \u21af \u21ba \u21c5 \u21e1 \u21e3 \n" \
u"\u2206 \u2207 \u2240 \u229b \u22c5 \u22c5\u22c5 \u2318 \u231a \n" \
u"\u25aa \u25b9 \u25cc \u25d4 \n" \
u"\u260d \u2622 \u262f \u2639 \u266f \u267a \u2691 \u2692 \u26a0 \u26a1 \u26af \n" \
u"\u2780 \u2781 \u2782 \u2783 \u2784 \u2785 \u2786 \u2787 \u2788 \u2789 \n" \
u"\u2707 \u2716 \u2730 \u2a02 \n DejaVu\n" \
u"\u2801 \u2809 \u280b \u281b \u281f \u283f \u287f \u28ff \n" \
u"\u2934 \u2935 \u254d \n".encode("utf8")'
imprime
¿
FreeSerif
’ " ↟ ↡ ↯ ↺ ⇅ ⇡ ⇣
∆ ∇ ≀ ⊛ ⋅ ⋅⋅ ⌘ ⌚
▪ ▹ ◌ ◔
☍ ☢ ☯ ☹ ♯ ♺ ⚑ ⚒ ⚠ ⚡ ⚯
✇ ✖ ✰ ⨂
➀ ➁ ➂ ➃ ➄ ➅ ➆ ➇ ➈ ➉
DejaVu
⠁ ⠉ ⠋ ⠛ ⠟ ⠿ ⡿ ⣿
⤴ ⤵ ╍
usando gnome-terminal
ubuntu@ubuntu:~$ echo $TERM = $TERM \ $LANG = $LANG
$TERM = xterm $LANG = en_US.UTF-8
e
ubuntu@ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04 LTS
Release: 12.04
Codename: precise
ubuntu@ubuntu:~$
nota: os símbolos EOT e ENQ estão errados
ref:
Como pode unicode símbolos u + 2404 ␄ EOT e u + 2405 ␅ ENQ ser corrigido?
python -c 'print u"This is ^D EOT (NB!! no ;) \u2404 and ENQ ^E \u2405 ".encode("utf8")'
This is ^D EOT (NB!! no ;) ␄ and ENQ ^E ␅