Exibir placas Tetris Unicode no Terminal - ou como diminuir dinamicamente a altura da linha

1

Estou usando quadrados pretos \xe2\x97\xbc ◼ e quadrados brancos \xe2\x97\xbb ◻ para exibir placas de tetris na minha concha. Infelizmente, há um espaçamento de linha bastante visível entre as linhas e isso simplesmente não parece bom.

Estou em um Mac (zsh) e há uma configuração de espaçamento entre linhas. Quando eu reduzi-lo ao mínimo (0,5) parece muito bom. Mas infelizmente o resto do terminal parece ruim então;)

Então, idealmente, eu preciso de uma maneira de definir dinamicamente a altura da linha / espaçamento entre linhas ou algo assim. Ou outra ideia criativa para exibir lindos quadros de tetris.

Qualquer ajuda é bem-vinda.

    
por eteubert 08.02.2011 / 19:15

3 respostas

3

O terminal tem controles para espaçamento horizontal e vertical no painel Fonte, que você pode abrir clicando no botão Alterar:

Terminal > Preferências > Configurações > [sua configuração] > Texto > Fonte > Alterar

Além disso, se você usar os caracteres "gráficos" do VT100, o Terminal os renderizará desenhando as linhas "manualmente" para garantir que elas se conectem, em vez de usar glifos de caracteres. Infelizmente, não contém caixas de células de caracteres únicos. Você teria que desenhar caixas usando quatro personagens para desenhar os cantos. por exemplo:

tput smacs; echo 'lk'; echo 'mj'; tput rmacs

Usar um caractere de espaço com uma cor de plano de fundo, como sugerido por Miles, é a melhor maneira de preencher exatamente uma célula de caractere.

    
por 14.05.2011 / 06:39
2

É quase garantido que estes sejam suportados em um terminal, mesmo em modos não-Unicode:

  • U + 2588 Full Block
  • U + 2593 Dark Shade
  • U + 2592 Sombra Média
  • U + 2591 Sombra Clara

Além disso, cores ANSI.

    
por 08.02.2011 / 20:35
2

O Mac OS X não parece ter grande suporte para caracteres de desenho de caixa , em termos de exibição -los com espaçamento adequado. Você pode ter mais sorte com um terminal alternativo como xterm ou iTerm.app. Se você quiser ficar com Terminal.app, uma coisa que você pode tentar é produzir espaços em branco com cores de fundo variadas, que pelo menos lhe darão blocos sem espaço entre eles (se não muito mais).

Por exemplo,

TERM=nsterm
for j in {0..25}; do
    for i in {0..15}; do
        tput setb $i
        echo -n '   '
    done
done; echo

rendimentos

    
por 31.03.2011 / 08:13