This continuation of Why this ANSI Art doesn't render properly on Linux terminal

I have one more issue with ANSI art on Linux terminal that renders properly in ANSI art editor (like PabloDraw).

The file is another calendar page but this time for May https://16colo.rs/pack/blocktr0nics30302020/67_Calendar_2020_05_May.ans

ANSI art of a Bee on a flower

This how it look like on terminal:

Terminal window with ANSI art

The end is SAUCE meta tags that should be stripped of when rendering. But the issue is the left top have gradient and last two elements are on right side on Linux Terminal. The other thing is that the missing last character (it show as � but that's begnining of SAUCE record and marker that this is end of the artwork).

The same is with my JavaScript that I'm trying to fix https://codepen.io/jcubic/pen/pxdxmN?editors=0110 (enter cat 67_Calendar_2020_05_May.ans to render that ANSI art).

1 Answer 1


There’s a star on the fifth line, 0x0F in CP-437; that’s left as-is in UTF-8, as it should be, but in the terminal it’s a non-printable character (Ctrl-Q) so it disappears in the output. This shifts the rest of the file left by one character, producing all the other effects you mention. It is not a printable graphic; it is a C0 control code. Replace it with U+263C (☼) and things should look better.

  • I've found that parser I wa using found control character 0x0F If I covert that to star it works as it should.
    – jcubic
    Sep 26, 2020 at 12:10
  • The U+001A should be stripped by whatever is removing your SAUCE information. The problem here is that you have a file with embedded metadata, that is assuming MS/PC/DR-DOS code pages and ANSI.SYS CON: device processing, and the semantics of the TYPE command in Microsoft's/IBM's COMMAND command processor, and you are just blatting it out to a terminal emulator and expecting things to work. You have to properly post-process it to properly remove the metadata, and translate the use of C0 and C1 characters for graphics, which is a DOS-ism.
    – JdeBP
    Sep 26, 2020 at 12:51
  • @JdeBP I've thought that it was in the middle of the file because there was other stuff just after but it seems I was mistaken maybe SAUCE parsing code calculated in wrong way lenght of the file and it didn't stripped of the 0x1A character.
    – jcubic
    Sep 26, 2020 at 13:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .