Это не ошибка Печать символов Unicode двойной ширины как одинарной ширины была бы ошибкой.

аружил, что в Mac OS X Terminal некоторые символы Unicode занимают более одного символьного пространства. Например, 27FC (длинная стрелка вправо от бара). Он печатает два символа в ширину, но второй символ печатается поверх любого следующего символа, поэтому вы должны сделать⟼<space> для его правильной печати. Например,⟼a печатает как. (Я сделал размер шрифта большим, чтобы вы могли видеть его, но он делает это для всех размеров шрифта).

Кстати, это шрифт Menlo в приложении Mac OS X 10.6 Terminal.

23B3 (ВЕРХНЯЯ СУММАЦИЯ) фактически печатается в виде двух символов ширинойа также высокий (по крайней мере, в Safari, он делает это и в браузере, обратите внимание, как он перекрывается с приведенной выше строкой) ⎲

Однако в терминале в Ubuntu ни один из этих символов не печатается шире или выше, чем один символ.

Есть ли способ программно определить, занимает ли персонаж более одного пробела?

Я использую Python, поэтому что-то, что работает либо на чистом Python, либо на POSIX (т.е. я могу вызвать некоторую команду bash, используяos модуль) будет предпочтительным.

Кроме того, я должен отметить, что если я увеличу настройку «Межсимвольный интервал» в настройках шрифта терминала до 1,5 (по умолчанию 1,0), то это выглядит так.

Кроме того, было бы хорошо, если бы ответ мог дать некоторое представление обо всем этом (то есть, почему это происходит?)

Ответы на вопрос(3)

Ваш ответ на вопрос