Отображать символы на квадратной сетке?

Отображать символы на квадратной сетке?

Как можно отобразить символы в vim как квадратные? Сами символы не обязательно должны быть квадратными, но если нарисовать сетку через все центральные точки символов, то получится квадратная сетка.

Я хотел бы это сделать, потому что я проектирую макет крепости дляКрепость Гномов. Игра разворачивается на квадратно-кубической сетке.

решение1

В Windows есть несколько квадратных моноширинных шрифтов в conhost.exe (который является терминалом по умолчанию, используемым cmd и PowerShell) по умолчанию, например, шрифт 8x8, но я никогда не слышал о таком в Linux. Я провел поиск и нашелквадратшрифт, который былсделано именно для ваших целей

Square — шрифт TTF, предназначенный для игр жанра roguelike.

Игры жанра «рогалик» полностью состоят из текстаячейки сетки, но проблема в том, чтобольшинство моноширинных шрифтов намного выше своей ширины, что означает, что в рогаликах ячейки либо неквадратные, либо квадратные, а персонажи не занимают все поле, и ни один из этих вариантов не выглядит эстетически привлекательным.

Квадрат был разработан для того, чтобы персонажи заполняли квадратное пространство максимально равномерно и однородно.Он вдохновлен тем, как японские символы всегда равномерно вписываются в поле, независимо от их дизайна. Он отказывается от типичных верхних/нижних элементов в строчных символах, и вместо этого делает строчные символы похожими на облегченную версию заглавных символов.

Квадратный шрифт

Межсайтовые дубликаты:

Я также нашел много других шрифтов в той же категории, хотя у меня не было возможности их протестировать.

пример квадратных шрифтов


Однако если ваши тексты ограниченынебольшой набор символов(в частности, ASCII 21–7E плюс несколько восточноазиатских символов), то вы можете просто использоватьполноразмерная форманапрямую, без необходимости использования другого шрифта

Ниже представлен небольшой скрипт оболочки для преобразования из halfwidth в fullwidth. Строка для преобразования считывается из стандартного ввода

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

Пример

$ cat квадрат.txt
0123456789
1-квадрат 8
2####текст7
3$$$$$$$$6
4@@@@@@@@@5
5(КВАДРАТ)4
6~~~ТЕКСТ 3
7>>>2
8////\\\\1
9876543210

$ cat квадрат.txt | sh полная ширина.sh
0123456789
11-square 8
2####text7
3$$$$$$$$6
4@@@@@@@@5
5(SQUARE)4
6~~~TEXT 3
7<<<<>>>>2
8////\\\1
9876543210

Во многих случаях результат может быть не идеальным квадратом из-за шрифта, поэтому вам все равно может потребоваться проверить наличие шрифта с квадратными полноширинными символами в вашей системе, если соотношение сторон не соответствует вашим требованиям.

решение2

Создайте квадратный моноширинный шрифт из Courier, используя ваш любимый редактор шрифтов. Используйте его в вашем Терминале.

Если у вас не хватает терпения для редактирования шрифтов и есть харизма (или что-то в этом роде), вы можете сделатьэтотвместо.

Интертрубки предложилиэтотмне кажется, но, возможно, он не совсем квадратный.

решение3

Я искал шрифт для использования сгенератор QR-кода Python. Похоже, что эта библиотека предполагает точное соотношение высоты и ширины символа 8:7, поэтому квадратные шрифты выше на самом деле создали QR-код шире, чем он был в высоту. На моем Mac шрифт Andale Mono размером 14 или 28 точек создает идеально квадратные QR-коды. ВiTermНапример, в показанном ниже окне QR-код имеет вид 168:168.

введите описание изображения здесь

Связанный контент