paulo1205
(usa Ubuntu)
Enviado em 15/07/2015 - 06:57h
Meu caro, não é a prática desta comunidade entregar código pronto, de bandeja. Você já recebeu várias dicas úteis, então poderia fazer algum esforço para andar por conta própria.
No artigo da Wikipedia que eu mencionei, o item 1.3, que utiliza caracteres especiais do terminal VT100 para desenhar caixas, contém um exemplo de código em Bash. Eu acho que você deve conseguir pelo menos portar para C aquele exemplo. Uma vez que o faça, fazer outras coisas deve ser igualmente fácil.
Eu chamo a atenção para a solução com VT100 porque acredito que ela é a que tem mais chances de funcionar tanto nos emuladores de terminal do X11 quanto no console de texto, independentemente de outros fatores do ambiente (como o tipo de fonte de texto que você utilize, ou se utiliza um conjunto de caracteres de oito bits × Unicode com UTF-8).
Como você mencionou explicitamente o Ubuntu, é bem provável que o ambiente gráfico utilize Unicode como conjunto de caracteres padrão (conjuntos de caracteres de oito bits, como o ISO-8859-1, não são mais tão comuns hoje como já foram no passado, embora eu não duvide haver quem ainda os prefira -- aliás, justamente este fórum do VoL parece ser um dos lugares onde não se usa Unicode, ou pelo menos há um limite nos caracteres permitidos). É bem possível que você consiga gerar os caracteres de desenho de caixas simplesmente colocando-os no meio do código do programa em C, como parte da string passada a uma função como
printf().
Se a sua dúvida é tão somente como os obter, uma forma é usar um programa de mapa de caracteres, como os fornecidos pelo KDE ou pelo Gnome, selecionar ou localizar o bloco correspondente (no KCharSelect, do KDE, eles estão na categoria “Mathematical Symbols”, subcategoria “Box Drawing”), e então fazer
copy-and-paste dos caracteres selecionados do programa seletor para o editor de textos.
Em aplicativos do Gnome, um jeito de produzir qualquer caráter do Unicode é segurar as teclas
Control e
Shift, e então digitar “
u” seguido do código hexadecimal do símbolo Unicode que você quiser embutir no texto (uma pena que não haja coisa parecida no KDE/Qt :(). No Vim, você pode conseguir efeito parecido com a sequência
Control+V, “
u” e o código hexadecimal.
Outro jeito de fazer, assumindo Unicode, é você colocar sequências de escape nas strings em C (mas você precisa compilar usando o padrão do C de 2011, pois versões anteriores não suportam escape de Unicode).
printf("Canto superior esquerdo simples: \u250c\n")
Contudo, eu acho que a solução de usar as sequências de escape do VT100 tem mais chances de funcionar universalmente (no mundo Unix, com ou sem Unicode, mas não no Windows) do que a solução de embutir Unicode no código fonte.