¿Mostrar caracteres en una cuadrícula?

¿Mostrar caracteres en una cuadrícula?

¿Cómo puedo mostrar caracteres como si fueran cuadrados en vim? Los personajes en sí no necesitan ser cuadrados, pero si dibujaras una cuadrícula a través de todos los puntos centrales de los personajes, debería formar una cuadrícula.

Me gustaría hacer esto porque estoy diseñando un diseño de fortaleza paraFortaleza enana. El juego se desarrolla en una cuadrícula de cuadrados/cubos.

Respuesta1

En Windows, hay algunas fuentes cuadradas monoespaciadas en conhost.exe (que es el terminal predeterminado utilizado por cmd y PowerShell) de forma predeterminada, como la fuente 8x8, pero nunca he oído hablar de una en Linux. Hice una búsqueda y encontré elcuadradofuente que eranhecho exactamente para su propósito

Square es una fuente TTF destinada a juegos roguelike

Los juegos Roguelike consisten enteramente en texto enceldas de la cuadricula, pero el problema es quela mayoría de las fuentes monoespaciadas son mucho más altas que anchas, lo que significa que los roguelikes tienen celdas no cuadradas o tienen celdas cuadradas y los personajes no ocupan todo el cuadro, ninguno de los cuales parece muy agradable desde el punto de vista estético.

Square ha sido diseñado para hacer que los personajes llenen un espacio cuadrado de la manera más pareja y uniforme posible.Está inspirado en la forma en que los caracteres japoneses siempre encajan uniformemente en una caja, sin importar su diseño. Renuncia a los típicos ascendentes/descendentes en caracteres minúsculos y, en cambio, hace que los caracteres en minúsculas parezcan una versión más ligera de los caracteres en mayúsculas.

fuente cuadrada

Duplicados entre sitios:

También encontré muchas otras fuentes en la misma categoría aunque no tuve la oportunidad de probarlas.

ejemplo de fuentes cuadradas


Sin embargo, si sus textos se limitan a unpequeño conjunto de caracteres(específicamente ASCII 21 a 7E más algunos caracteres de Asia Oriental), entonces puedes usarformulario de ancho completodirectamente sin necesidad de otra fuente

A continuación se muestra un pequeño script de shell para realizar la conversión de ancho medio a ancho completo. La cadena a convertir se lee desde la entrada estándar.

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

Ejemplo

$ gato cuadrado.txt
0123456789
1 cuadrado 8
2####texto7
3$$$$$$$$6
4@@@@@@@@5
5(CUADRADO)4
6~~~TEXTO 3
7>>>2
8////\\\\1
9876543210

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

Es posible que el resultado no sean cuadrados perfectos en muchos casos debido a la fuente, por lo que es posible que aún tengas que buscar una fuente con caracteres cuadrados de ancho completo en tu sistema si la relación de aspecto no se ajusta a tus requisitos.

Respuesta2

Crea una fuente cuadrada monoespaciada desde Courier usando tu editor de fuentes favorito. Úselo en su Terminal.

Si no tienes paciencia para editar fuentes y tienes carisma (o algo así), puedes hacerloesteen cambio.

Los intertubos sugirieronestepara mí, pero tal vez no sea realmente cuadrado.

Respuesta3

Estaba buscando una fuente para usar con elgenerador de códigos QR de Python. Parece que esta biblioteca asume una proporción precisa de caracteres alto:ancho de 8:7, por lo que las fuentes cuadradas anteriores en realidad produjeron un código QR más ancho que alto. En mi Mac, la fuente Andale Mono con un tamaño de 14 o 28 puntos produce códigos QR perfectamente cuadrados. En eliTermventana que se muestra a continuación, por ejemplo, el código QR es exactamente 168:168.

ingrese la descripción de la imagen aquí

información relacionada