use strict;
+use 5.010;
use Shiar_Sheet::Colour '1.02';
+my @msxorder = ( 0,6,12,10,4,13,7,14 , 1,8,2,11,5,9,3,15 );
+
+{
html => {
title => 'HTML keywords (inherited by CSSā„2.1 and SVG), mostly identical to X11',
},
app => {
name => 'Term.app',
+ title => 'Mac OSX Yosemite Terminal app',
+ list => [qw(
+ 000000 990B00 35A600 999900 0000B3 B304B2 31A6B3 BFBFBF
+ 666666 E51600 48D901 E5E600 0100FF E607E5 48E6E6 E6E5E6
+ )],
+ },
+ iterm => {
+ name => 'iTerm',
+ title => 'iTerm v2.2.1',
+ list => [qw(
+ 000000 BB0000 00BB00 BBBB00 0000BB BB00BB 00BBBB BBBBBB
+ 555555 FF5555 55FF55 FFFF55 5555FF FF55FF 55FFFF FFFFFF
+ )],
+ },
+ pastel => {
+ name => 'iTerm Pastel',
list => [qw(
- 000000 C23621 25BC24 ADAD27 492EE1 D338D3 33BBC8 CBCCCD
- 818383 FC391F 31E722 EAEC23 5833FF F935F8 14F0F0 E9EBEB
+ 4F4F4F FF6C60 A8FF60 FFFFB6 96CBFE FF73FD C6C5FE EEEEEE
+ 7C7C7C FFB6B0 CEFFAC FFFFCC B5DCFF FF9CFE DFDFFE FFFFFF
)],
},
putty => {
2F2F2F CD5757 8FC35B D1C45E 5C81A9 BC95B7 76CBCB EEEEEC
)],
},
+ mirc => {
+ name => 'mIRC',
+ href => 'http://www.mirc.com/colors.html',
+ list => [qw(
+ FFFFFF 000000 00007F 009300 FF0000 7F0000 9C009C FC7F00
+ FFFF00 00FC00 009393 00FFFF 0000FC FF00FF 7F7F7F D2D2D2
+ )],
+ ansiorder => [ 1,5,3,7,2,6,10,15 , 14,4,9,8,12,13,11,0 ],
+ },
mac2 => {
name => 'MacII',
list => [qw(
FFFFFF FBF305 FF6403 DD0907 F20884 4700A5 0000D3 02ABEA
1FB714 006412 562C05 90713A C0C0C0 808080 404040 000000
)],
+ ansiorder => [ 15,3,9,11,6,5,7,12 , 14,2,8,1,10,4,13,0 ],
},
risc => {
name => 'RISC', # v2/3
FFFFFF DDDDDD BBBBBB 999999 777777 555555 333333 000000
004499 EEEE00 00CC00 DD0000 EEEEBB 558800 FFBB00 00BBFF
)],
+ ansiorder => [ 7,5,13,14,4,3,2,1 , 6,11,10,9,8,12,15,0 ],
},
c64 => {
name => 'C=64', # commodore 64/128
0 32 10+5 20-5 12+2 16-2 8+0 24-0
12+6 8+7 16+5 10 15 24-2 15+0 20
)],
+ ansiorder => [ 0,2,5,9,6,4,3,15 , 11,10,13,7,14,8,12,1 ],
},
msx1 => {
name => 'MSX',
0.53;0.27;0.93 0.67;0.27;0.93 0.73;0.07;0.57 0.80;0.17;0.57
0.47;0.23;0.13 0.53;0.67;0.73 0.80;0.47;0.47 1.00;0.47;0.47
)],
+ ansiorder => \@msxorder,
},
msx2 => {
name => 'MSX2',
000 000 161 373 117 237 511 267
711 733 661 663 141 625 555 777
)],
+ ansiorder => \@msxorder,
},
arnejmp => {
href => 'http://androidarts.com/palette/16pal.htm',
000000 191028 46AF45 A1D685 453E78 7664FE 833129 9EC2E8
DC534B E18D79 D6B97B E9D8A1 216C4B D365C8 AFAAB9 F5F4EB
)],
+ ansiorder => \@msxorder,
},
arnegame => {
href => 'http://androidarts.com/palette/16pal.htm',
F7E26B::zornskin 2F484E::shade 44891A::leaf A3CE27::slime
1B2632::night 005784::sea 31A2F2::sky B2DCEF::cloud
)],
+ order => [ 0,5,9,12 , 3,6,10,13,1 , 4,7,8,11,14,15,2 ], # by brightness
+ ansiorder => [ 0,3,10,6,13,12,9,1 , 5,7,11,8,14,4,15,2 ],
+ },
+
+ cpc => {
+ name => 'Amstrad CPC',
+ rgbmap => [
+ 3 => sub {
+ $_[2] + 3 * ($_[0] + 3 * $_[1]),
+ map { $_ && $_ * 127 + 1 } @_
+ },
+ ],
+ },
+ cpcboy => {
+ name => 'Arne CPC Boy v3',
+ href => 'http://androidarts.com/palette/16pal.htm',
+ rgbmap => [
+ 3 => sub {
+ my $index = $_[2] + 3 * ($_[0] + 3 * $_[1]);
+ $index,
+ map { map { hex } /(..)/g } [qw(
+ 000000 1B1B76 3636D8 761F28 623870 953EA7 CC3636 CE4B7A E3669A
+ 1B761B 197F96 1986F2 8C6E1A 8E8E8E 9C9EE7 E48E2A EAA597 FE80FE
+ 8DD836 B8D1B5 97E9D1 54BF47 37C79F 35CFE4 EDD446 EBE4A4 FFFFFF
+ )]->[$index]
+ },
+ [ # gameboy ramp
+ map { [ 27 + (state $index)++, map { hex } /(..)/g ] }
+ qw( F2EFE7 BAC375 859550 485D48 293941 )
+ ],
+ ],
+ },
+ ansi88 => {
+ name => 'rxvt 88 colour extension',
+ rgbmap => [
+ 4 => sub {
+ $_[2] + 4 * ($_[1] + 4 * $_[0]) + 16,
+ map { (0, 139, 205, 255)[$_] } @_
+ },
+ [ map { [80 + $_, (($_ + 2 + ($_>0)) * 255/11) x 3] } 0 .. 7 ],
+ ],
+ },
+ ansi256 => {
+ name => 'xterm 256 colour extension',
+ href => 'http://web.archive.org/web/20130125000058/http://www.frexx.de/xterm-256-notes/',
+ # \033[38;5;${FG}m
+ rgbmap => [
+ 6 => sub {
+ $_[2] + 6 * ($_[1] + 6 * $_[0]) + 16,
+ map { $_ && $_*40 + 55 } @_
+ },
+ [ map { [232 + $_, ($_ * 10 + 8) x 3] } 0 .. 23 ],
+ ],
+ },
+ 512 => {
+ name => '9-bit RGB map',
+ # atari st, msx2, sega genesis/nomad, turbografx16
+ rgbmap => [8],
+ },
+ '4k' => {
+ name => '12-bit RGB map',
+ # amiga, apple IIgs, game gear, neo geo, lynx, cpc+, nextstation
+ rgbmap => [
+ 12 => sub {
+ join('', map { sprintf '%X', $_ } @_),
+ map { int $_ * 255 / 11 } @_
+ },
+ ],
},
}