FabGL icon indicating copy to clipboard operation
FabGL copied to clipboard

Be able to print the low control characters from CP437 in terminals

Open mobluse opened this issue 2 years ago • 0 comments

CP437 has characters that can be printed (at least by poking them to screen memory) in the range 0-31 and 127, but now they cannot be printed in e.g. NetworkTerminal even before starting Telnet. They also don't work in the CP/M computers, but they can be printed in the PCEmulator. I think those control characters that doesn't move the cursor or sound bell in VT100/xterm type terminals should be printable and possible to type using e.g. Ctrl+@ to Ctrl+_ (including Ctrl+A to Ctrl+Z). 0, 7-15, and 27 cannot be printed in xterm type terminals, but 14-15 could perhaps be printed since they don't seem to do anything in the terminal. The characters that cannot be printed in xterm might be printed if one add a special escape code to be able to print them verbatim.

These are the low control characters (0-31) and 127 in codepage 437:

  ☺ ☻ ♥ ♦ ♣ ♠ • ◘ ○ ◙ ♂ ♀ ♪ ♫ ☼
► ◄ ↕ ‼ ¶ § ▬ ↨ ↑ ↓ → ← ∟ ↔ ▲ ▼
                              ⌂

This Python3 one-liner was used in Windows Terminal running Ubuntu to test this hypothesis:

for c in range(0,32): csi=chr(27)+"[";print(csi+str(c+1)+";20H",c,csi+str(c+1)+";25H",chr(c)+" "*c+chr(c+ord("@")))

pi@ideapad100_ ~ 2023-08-11 00_09_37

mobluse avatar Aug 10 '23 23:08 mobluse