The 256 colour palete is configured at start, and it's a 666 cube of
colours, each of them defined as a 24bit (888 rgb) colour.
This means that current support can only display 256 different colours
in the terminal, while truecolour means that you can display 16 milion
different colours at the same time.
Truecolour escape codes doesnt uses a colour palete. It just specifies the
colour itself.
awk 'BEGIN{
s="/\\/\\/\\/\\/\\"; s=s s s s s s s s;
for (colnum = 0; colnum<77; colnum++) {
r = 255-(colnum*255/76);
g = (colnum*510/76);
b = (colnum*255/76);
if (g>255) g = 510-g;
printf "\033[48;2;%d;%d;%dm", r,g,b;
printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
printf "%s\033[0m", substr(s,colnum+1,1);
}
printf "\n";
}'
Keep in mind that it is possible to use both ';' and ':' as parameters delimiter.
According to Wikipedia[1], this is only supported by xterm and konsole.
Note about colour differences: a) RGB axes are not orthogonal, so you cannot use sqrt(R^2+G^2+B^2) formula, b) for colour differences there is more correct (but much more complex) CIEDE2000 formula (which may easily blow up performance if used blindly) [2].
I don't want to support 24bit true color at the moment.
because...
yaft supports some legacy hardware (For example, 8/15/16bpp framebuffer), true color support is not useful for these hardware
I think true color support is not essential for console terminal emulator (if you want to use some rich environments, you should use X and other terminal emulator)
See https://gist.github.com/XVilka/8346728
The 256 colour palete is configured at start, and it's a 666 cube of colours, each of them defined as a 24bit (888 rgb) colour.
This means that current support can only display 256 different colours in the terminal, while truecolour means that you can display 16 milion different colours at the same time.
Truecolour escape codes doesnt uses a colour palete. It just specifies the colour itself.
Here's a test case:
Keep in mind that it is possible to use both ';' and ':' as parameters delimiter.
According to Wikipedia[1], this is only supported by xterm and konsole.
[1] https://en.wikipedia.org/wiki/ANSI_color
Currently, there is no support for the 24-bit colour descriptions in the terminfo/termcap database and utilites. See the discussion thread here: https://lists.gnu.org/archive/html/bug-ncurses/2013-10/msg00007.html
Here are terminals discussions:
Now supporting truecolour
But there are bunch of libvte-based terminals for GTK2 so they are listed in the another section.
Also, while this one is not exactly a terminal, but a terminal replayer, it still worth mentioning:
Parsing ANSI colour sequences, but approximating them to 256 palette
Note about colour differences: a) RGB axes are not orthogonal, so you cannot use sqrt(R^2+G^2+B^2) formula, b) for colour differences there is more correct (but much more complex) CIEDE2000 formula (which may easily blow up performance if used blindly) [2].
[2] https://github.com/neovim/neovim/issues/793#issuecomment-48106948
Terminal multiplexers
--truecolor
option)NOT supporting truecolour
[3] You can download patched version here https://github.com/rdebath/PuTTY
[4] You can download patched version here https://github.com/halcy/PuTTY
Here are another console programs discussions:
Supporting True Colour:
Not supporting True Colour: