Я обнаружил, что в терминале Mac OS X некоторые символы Юникода занимают более одного пробела.Например, 27FC (длинная стрелка вправо от бара).Он печатает два символа в ширину, но второй символ печатается поверх любого следующего символа, поэтому вы должны сделать ⟼<space>
для правильной печати.Например, ⟼a
печатает как. (я сделал размер шрифта большим, чтобы вы могли видеть его, но он делает это для всех размеров шрифта).
Кстати, это шрифт Menlo в приложении Mac OS X 10.6 Terminal.
23B3 (SUMMATION TOP) на самом деле печатает в виде двух символов шириной и в высоту (по крайней мере, в Safari, он делает это и в браузере, обратите внимание, как он перекрывается с приведенной выше строкой) ⎲
Однако в терминале в Ubuntu ни один из этих символов не печатается шире или выше одного символа.
Есть ли способ программно определить, занимает ли символ более одного пробела?
Я использую Python, поэтому что-то, что работает либо в чистом Python, либо в POSIX (т.е. яМожно было бы вызвать некоторую команду bash с использованием модуля os
).
Кроме того, я должен отметить, что если я увеличу настройку «Интервал между символами» в настройках шрифта терминала до 1,5 (по умолчанию1.0), тогда это выглядит как .
Также было бы неплохо, если бы ответ мог дать некоторое представление обо всем этом (то есть, почему это происходит?)