Dizer programaticamente se um caractere Unicode ocupa mais de um espaço de caractere em um terminal

Eu descobri que no Mac OS X Terminal, alguns caracteres Unicode ocupam mais de um espaço de caracteres. Por exemplo 27FC (seta longa para a direita da barra). Ele imprime dois caracteres de largura, mas o segundo caractere é impresso sobre o que for o próximo caractere, então você deve fazer⟼<space> para imprimir corretamente. Por exemplo,⟼a imprime como. (Eu ampliei o tamanho da fonte para que você pudesse vê-la, mas é aplicável a todos os tamanhos de fonte

A propósito, essa é a fonte Menlo no aplicativo Terminal Mac OS X 10.

23B3 (SUMMATION TOP) realmente imprime com dois caracteres de largura tall (pelo menos no Safari, ele também faz isso no navegador, observe como ele se sobrepõe à linha acima) ⎲

o entanto, no terminal do Ubuntu, nenhum desses caracteres é impresso mais largo ou mais alto que um caracter

Existe uma maneira de saber programaticamente se um personagem ocupa mais de um espaç

Estou usando Python, então algo que funciona tanto em Python puro quanto em POSIX (ou seja, posso chamar algum comando bash usando oos module) seria o preferid

Além disso, devo observar que, se eu aumentar a configuração "Espaçamento de caracteres" nas configurações de fonte do terminal para 1,5 (do padrão 1.0), será semelhante a.

Além disso, seria bom se uma resposta pudesse dar uma ideia de tudo isso (ou seja, por que isso acontece?)

questionAnswers(3)

yourAnswerToTheQuestion