
Como posso exibir caracteres como se fossem quadrados no vim? Os caracteres em si não precisam ser quadrados, mas se você desenhar uma grade passando por todos os pontos centrais dos caracteres, ela deverá formar uma grade quadrada.
Eu gostaria de fazer isso porque estou projetando um layout de fortaleza paraFortaleza dos Anões. O jogo é definido em uma grade quadrada/cuba.
Responder1
No Windows, existem algumas fontes quadradas monoespaçadas em conhost.exe (que é o terminal padrão usado pelo cmd e pelo PowerShell) por padrão, como a fonte 8x8, mas nunca ouvi falar de uma no Linux. Fiz uma pesquisa e encontrei oquadradofonte que foramfeito exatamente para o seu propósito
Square é uma fonte TTF destinada a jogos roguelike
Os jogos Roguelike consistem inteiramente em texto emcélulas da grade, mas o problema é quea maioria das fontes monoespaçadas são muito mais altas do que largas, o que significa que os roguelikes têm células não quadradas ou têm células quadradas e os personagens não ocupam a caixa inteira, nenhum dos quais parece esteticamente agradável.
Square foi projetado para fazer com que os personagens preencham um espaço quadrado da maneira mais uniforme e uniforme possível.É inspirado na forma como os caracteres japoneses sempre cabem uniformemente em uma caixa, independentemente do design. Ele dispensa os ascendentes/descendentes típicos em caracteres minúsculos e, em vez disso, faz com que os caracteres minúsculos pareçam uma versão mais leve dos caracteres maiúsculos.
Duplicatas entre sites:
Também encontrei muitas outras fontes na mesma categoria, embora não tenha tido a oportunidade de testá-las.
- http://www.1001fonts.com/monospaced+square-fonts.html
- http://www.fontspace.com/category/mono,monospace,square
- http://www.fontspace.com/category/mono,square,monospaced
No entanto, se os seus textos se limitam a umpequeno conjunto de caracteres(especificamente ASCII 21 a 7E mais alguns caracteres do Leste Asiático), então você pode simplesmente usarformulário de largura totaldiretamente sem a necessidade de outra fonte
Abaixo está um pequeno script de shell para fazer a conversão de meia largura para largura total. A string a ser convertida é lida na entrada padrão
halfwidth='!"#$%&'\''()*+,-.\/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⦅⦆¢£¬¯¦¥₩ '
fullwidth='!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~⦅⦆¢£¬ ̄¦¥₩ '
sed -e "y/$halfwidth/$fullwidth/"
Exemplo
$ gato quadrado.txt 0123456789 1-quadrado 8 2####texto7 3$$$$$$$$6 4@@@@@@@@5 5(QUADRADO)4 6~~~TEXTO 3 7>>>2 8////\\\\1 9876543210 $ gato quadrado.txt | sh largura total.sh 0123456789 1-square 8 2####text7 3$$$$$$$$6 4@@@@@@@@5 5(SQUARE)4 6~~~TEXT 3 7<<<<>>>>2 8////\\\\1 9876543210
O resultado pode não ser quadrados perfeitos em muitos casos devido à fonte, então você ainda pode precisar verificar se há uma fonte com caracteres quadrados de largura total em seu sistema se a proporção não atender aos seus requisitos
Responder2
Responder3
Eu estava procurando uma fonte para usar com ogerador de código QR python. Parece que esta biblioteca assume uma proporção precisa de caracteres entre altura e largura de 8:7, então as fontes quadradas acima produziram um código QR mais largo do que alto. No meu Mac, a fonte Andale Mono com tamanho de 14 ou 28 pontos produz códigos QR perfeitamente quadrados. NoTermojanela mostrada abaixo, por exemplo, o código QR é exatamente 168:168.