1

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

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

2 ответа2

1

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

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

Межтрубочные предложил это для меня , но может быть , это на самом деле не квадрат.

0

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

Square - это TTF-шрифт, предназначенный для игр типа roguelike

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

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

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

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

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


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

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

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

пример

$ 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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .