default => [qw( ansi xkcd ansi88 )],
more => [qw( ansi mirc legacy ansi256 )],
msx => [qw( msx1 msx2 arnejmp )],
- ansi => [qw( cga xterm tango app html )],
+ ansi => [qw( cga xterm tango app html cgarne )],
legacy => [qw( c64 msx2 mac2 risc arnegame cpc )],
);
@{$_} = map { $termgroup{$_} ? @{ $termgroup{$_} } : $_ } @{$_}
print "</table>\n\n";
}
- if (my $colours = $info->{list}) {
- if (my $reorder = $info->{ansiorder} and $get{v}) {
- $colours = [ map { $colours->[$_] =~ s/:|$/:$_/r } @{$reorder} ];
+ if (my $table = $info->{table}) {
+ print '<table class="color mapped">'."\n";
+ printf "<caption>%s</caption>\n", $caption;
+ for my $row (@$table) {
+ print '<tr>';
+ print colcell(@$_) for @$row;
}
+ my $width = scalar @{ $table->[0] };
+ my @imgpal = map { [ @{$_}[1 .. 3] ] } map { @{$_} } @{$table};
+ for (@draw) {
+ print "<tr><td colspan=$width>", img_egapal(\@imgpal, @{$_});
+ }
+ print "</table>\n\n";
+ }
+
+ if (my $palette = $info->{list}) {
+ my $order = $get{order} && $get{order}.'order';
+ my $colours = colorder($palette,
+ $info->{$order} // $palettes->{ $info->{parent} }->{$order}
+ );
+
my $rows = 8;
- my $columns = ceil(@{$colours} / $rows);
+ my $columns = ceil(@{$palette} / $rows);
print '<table class=color>', "\n";
printf "<caption>%s</caption>\n", $caption;
}
}
- print "<tr><td colspan=$columns>", img_egapal(\@{$colours}, @{$_}) for @draw;
+ for (@draw) {
+ my $imgpal = colorder($palette,
+ $info->{ansiorder} // $palettes->{ $info->{parent} }->{ansiorder}
+ );
+ print "<tr><td colspan=$columns>", img_egapal($imgpal, @{$_});
+ }
print "</table>\n\n";
}
}
+sub colorder {
+ my ($palette, $reorder) = @_;
+ return [ map { $palette->[$_] =~ s/:(?![^:])|$/:$_/r } @{$reorder} ]
+ if $reorder;
+ return $palette;
+}
+
sub coltable_hsv {
my ($dim, $rgbval, $greyramp) = @_;