Setting IRM will cause characters to be inserted, discarding anything
that goes beyond the edge.
Turn off the wrap flag when the cursor moves.
SM/RM allow more than one parameter.
SGR parameters 90-97 are bright foreground (leaving bold unchanged) and
100-107 are bright background (leaving underline/blink unchanged);
`38;5;#` & `48;5;#` will work for the first 16 colors, setting both
foreground & bold or background & underline (0-7 bold/underline off,
8-15 bold/underline on).
Save/restore the attributes and G0 character set (the ANSI version still
only does the cursor).
Add the comment I missed when adding SCS; remove `DEC` from the sequence
descriptions.
Support setting (HTS & DECST8C) and clearing (TBC) tabs, overriding the
console's own tab processing. I've extended TBC with `\e[8g` to restore
console processing and added an extra parameter to DECST8C to set a
particular tab size.
DECSC (Save Cursor) & DECRC (Restore Cursor) are the same as their
ANSI.sys equivalents (`\e[s` & `\e[u`).
DA (Device Attributes) will respond with `\e[?62;1c` - VT220 with 132
columns.
Setting DECCOLM will size the buffer & window to 132 columns; resetting
will restore the original values (NOT set 80 columns). Setting DECNSCM
will prevent the display from being erased; however, the first time
DECCOLM is used will scroll in a new window, if appropriate.
Recognise the xterm ESC]4 & ESC]104 OSC commands to set/reset colors.
Three color specs are recognised: `#RGB`, `#RRGGBB` and `R,G,B`; in
addition, multiple specs can be given (separated by commas) to
automatically increase the index. I also allow `*` to query this index
and all subsequent ones. Reset will restore the colors from when the
DLL was first loaded, not from the Console Properties.
Normally the display uses the window height; adding an intermediate
character of `+` will use the buffer height. Report cursor position
will also output `+R` when used with `+n`.
There are some differences from the VT520: volume is ignored (although
silence is honored); duration is in 1/32 of a second up to and including
48 (1.5 seconds), after which it is in milliseconds (but still a maximum
of 8 seconds); notes are 1..25, anything else is frequency.
Added support for CHT & CBT (move forward/backward by tabs), DECAWM (don't
wrap at EOL), CRM (display control characters, but still perform newline)
and REP (repeat last character, including BEL, BS, TAB, LF and CR).
It always bugged me that newline would add an unneeded blank line due to
wrap, but not enough to do anything about it. For some reason, adding CRM
got me to thinking about it, so I finally did it.
Stopped \e[K from erasing the first character of the next line.
Restore cursor visibility on unload.
for ANSI-LLW.exe.
Set the code page so ansicon.exe can display some strings properly.
Expand wildcards for -t.
VC6 can now compile the 32-bit version; use it for the release binaries.
Improvements to the VC makefile.
Describe the sequences in a bit more detail.