Por que esta arte ANSI não é renderizada corretamente no terminal Linux

Por que esta arte ANSI não é renderizada corretamente no terminal Linux

Estou tentando investigar por que minha biblioteca não renderiza essa arte ANSI corretamente:

Arte ANSI de uma flor carnívora

Achei que o problema está no meu processamento de escape ANSI, mas parece que é o mesmo no terminal real (testado no terminal XFce).

terminal com arte ANSI

Não tenho ideia de como depurar isso, o arquivo está na codificação CP437 e pode ser encontrado emSite 16colo.rs. Eu converti para UTF8 (também as meta tags, que mostram o número de caracteres por linha, foram removidas) e o arquivo pode ser encontrado aqui:https://jcubic.pl/text.anso terminal precisa ter 80 colunas, caso contrário não será exibido corretamente.

Não há problema em responder por que está quebrado, mas também seria bom saber como consertá-lo e exibi-lo corretamente.

Responder1

O problema de renderização é causado por bytes nulos, que são mostrados como espaços pelos editores ANSI (e no DOS, provavelmente, embora eu não tenha verificado).

Para corrigir isso:

tr '\0' ' ' < 67_Calendar_2020_06_June.ans | iconv -f CP437 -t UTF8

informação relacionada