Exibe caracteres em uma grade quadrada?

1

Como posso exibir caracteres como se fossem quadrados no vim? Os personagens em si não precisam ser quadrados, mas se você fosse desenhar uma grade através de todos os pontos centrais dos personagens, ele deveria fazer uma grade quadrada.

Eu gostaria de fazer isso porque estou projetando um layout de fortaleza para Fortaleza Anã . O jogo é definido em uma grade quadrada / cubo.

    
por Annan 19.01.2012 / 05:31

2 respostas

1

Crie uma fonte quadrada de espaço único a partir de Courier usando seu editor de fontes favorito. Use isso no seu terminal.

Se você não tiver paciência para editar fontes e tiver carisma (ou algo assim), poderá fazer isso em vez disso.

Os intertubes sugeriram isso para mim, mas talvez não seja realmente quadrado .

    
por 19.01.2012 / 13:50
0

No Windows, existem algumas fontes monoespaçadas quadradas no cmd por padrão (como a fonte 8x8), mas eu nunca ouvi uma no Linux. Eu fiz uma pesquisa encontrada square que foi feita exatamente para o seu propósito

Square is a TTF font intended for roguelike games

Roguelike games consist entirely of text in grid cells, but the problem is that most monospaced fonts are a lot higher than they are wide, which means roguelikes either have non-square cells, or they have square cells and the characters don’t take up the entire box, neither of which looks very aesthetically pleasing.

Square has been designed to make characters fill a square space as evenly and uniformly as possible. It is inspired upon the way Japanese characters always evenly fit a box, no matter their design. It foregoes the typical ascenders/descenders in lowercase characters, and instead makes lowercase characters look like a lighter version of uppercase characters.

Duplicação entre sites:

Eu também encontrei muitas outras fontes na mesma categoria, embora eu não tenha tido a chance de testá-las

Noentanto,seosseustextosestãolimitadosaumpequenoconjuntodecaracteres(especificamenteASCII21a7EmaisalgunscaracteresdoLesteAsiático)entãovocêpodeconvertê-losparafull- formulário de largura sem a necessidade de outra fonte

Abaixo está um pequeno script para fazer a conversão. A string a ser convertida é lida da entrada padrão

halfwidth='!"#$%&'\''()*+,-.\/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_'abcdefghijklmnopqrstuvwxyz{|}~⦅⦆¢£¬¯¦¥₩ '
fullwidth='!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~⦅⦆¢£¬ ̄¦¥₩ '
sed -e "y/$halfwidth/$fullwidth/"

Exemplo

$ cat square.txt
0123456789
1-square 8
2####text7
3$$$$$$$$6
4@@@@@@@@5
5(SQUARE)4
6~~~TEXT 3
7<<<<>>>>2
8////\\1
9876543210

$ cat square.txt | sh fullwidth.sh
0123456789
1-square 8
2####text7
3$$$$$$$$6
4@@@@@@@@5
5(SQUARE)4
6~~~TEXT 3
7<<<<>>>>2
8////\\\\1
9876543210

Em muitos casos, podem não ser perfeitos devido à fonte, então talvez você ainda precise procurar uma fonte com caracteres de largura total quadrada no sistema se a proporção não atender aos seus requisitos

    
por 12.03.2018 / 08:27