A maioria dos aplicativos (incluindo os navegadores) obedece às dimensões dos glifos, conforme definido na fonte. Na verdade, eles provavelmente usam métodos que exibem strings mais longas em uma única etapa (embora eu não esteja ciente dos detalhes). Se alguns dos glifos são um pouco mais largos que o resto, então não é uma fonte inteiramente monoespaçada, é quase monoespaçada com algumas exceções.
Os emuladores de terminal usam um método de desenho especial, eles posicionam cada caractere de forma independente, porque eles precisam forçar os caracteres em uma grade, caso contrário, o layout geral desmoronaria. Você pode especialmente ver isso em ação se escolher uma fonte não monoespaçada (o resultado ficará feio, mas permanecerá alinhado à grade). (Note que konsole
pode ser uma exceção, eu vi isso fazendo coisas estranhas.)
Para fazer com que os navegadores se comportem como emuladores de terminal, recomendo que você tente colocar cada caractere separadamente em seu próprio span
ou div
com position: absolute
ou fixed
, ou algo semelhante.