X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/ff84da253ec62aa4a552d8b98aae013b0c7ea5f8..0f1f7a00062360f4b373f027a2a3fa8d43cacd06:/termcol.plp diff --git a/termcol.plp b/termcol.plp index 44ee75b..c58670c 100644 --- a/termcol.plp +++ b/termcol.plp @@ -55,25 +55,11 @@ sub colcell { return "$out\n"; } -if ($get{v}) { - my %reorder = ( - arnegame => [ 0,5,9,12 , 3,6,10,13,1 , 4,7,8,11,14,15,2 ], - arnegame => [ 0,3,10,6,12,9,13,1 , 5,7,11,8,14,4,15,2 ], - c64 => [ 0,2,5,9,6,4,3,15 , 11,10,13,7,14,8,12,1 ], - msx2 => [ 0,6,2,10,4,13,7,14 , 1,8,3,11,5,9,12,15 ], - risc => [ 7,11,13,14,8,12,15,1, 6,5,10,9,4,3,2,0], - mac2 => [ 15,3,9,11,6,5,7,12 , 14,2,8,1,13,4,10,0 ], - ); - $reorder{$_} = $reorder{msx2} for qw( msx1 arnejmp ); - while (my ($name, $order) = each %reorder) { - for my $pal ( $palettes->{$name}) { - $pal = [ map { $pal->[$_ + 1] =~ s/:|$/:$_/r } -1, @{$order} ]; - } - } -} - my @termlist = qw( cga xterm tango app html xkcd ); -push @termlist, qw( c64 msx2 mac2 risc arnegame ) if exists $get{v}; +push @termlist, qw( c64 msx2 mac2 risc arnegame cpc ) if exists $get{v}; +push @termlist, qw( ansi88 ); +push @termlist, qw( ansi256 ) if $ENV{PATH_INFO} =~ /256/; + for my $term (@termlist) { my $info = $palettes->{$term}; ref $info eq 'HASH' or next; @@ -88,7 +74,18 @@ for my $term (@termlist) { $caption, ) if $info->{href} or $info->{title}; + if (my $mapinfo = $info->{rgbmap}) { + print ''."\n"; + printf "\n", $caption; + print coltable_hsv(@{$mapinfo}); + print "
%s
\n\n"; + } + if (my $colours = $info->{list}) { + if (my $reorder = $info->{ansiorder} and $get{v}) { + $colours = [ map { $colours->[$_] =~ s/:|$/:$_/r } @{$reorder} ]; + } + print '', "\n"; printf "\n", $caption; for my $num (0 .. $#{$colours}) { @@ -101,21 +98,6 @@ for my $term (@termlist) { } } -if (exists $get{v}) { - print "
%s
\n"; - print "\n"; - print coltable_hsv(3, sub { - $_[2] + 3 * ($_[0] + 3 * $_[1]), - map { $_ && $_ * 127 + 1 } @_ - }); - print "
Amstrad CPC
\n\n"; -} -:> - -
- -
-<: sub coltable_hsv { my ($dim, $rgbval, $greyramp) = @_; @@ -174,31 +156,6 @@ sub coltable_hsv { return $out; } -{ - print "

88-colour space

\n"; - print "\n"; - print coltable_hsv(4, - sub { - $_[2] + 4 * ($_[1] + 4 * $_[0]) + 16, - map { (0, 139, 205, 255)[$_] } @_ - }, - [map { ($_ + 2 + ($_>0)) * 255/11 } 0 .. 7], - ); - print "
\n"; -} - -if ($ENV{PATH_INFO} =~ /256/) { - print "

256-colour space

\n"; - print "\n"; - print coltable_hsv(6, - sub { - $_[2] + 6 * ($_[1] + 6 * $_[0]) + 16, - map { $_ && $_*40 + 55 } @_ - }, - [ map { $_ * 10 + 8 } 0 .. 23 ], - ); - print "
\n"; -} :>