-for my $num (0 .. 15) {
- printf('<tr><th>%d<td>%s%s</tr>'."\n",
- $num,
- $col{-name}[$num],
- join('', map {sprintf '<td style="%s"> ▪ ',
- 'background:#'.$col{$_}[0].'; color:#'.$col{$_}[$num + 2],
- } qw/linux xterm tango/ ),
- );
+for my $term (qw/html cga xterm tango/) {
+ print '<li>', "\n";
+ print '<table>', "\n";
+ print "<caption>$term</caption>\n";
+ for my $num (0 .. 15) {
+ my $rgb = $col{$term}[$num + 2];
+ print '<tr>',
+ colcell($col{"-$term"}[$num] || $num, $rgb, $col{$term}[0]);
+ }
+ print "</table></li>\n\n";
+}
+:></ul>
+
+<hr>
+<h2>88-colour space</h2><ul>
+<:
+for my $r (0 .. 3) {
+ print '<li><table>';
+ for my $g (0 .. 3) {
+ print '<tr>';
+ for my $b (0 .. 3) {
+ my $index = $r*4*4 + $g*4 + $b + 16;
+ print colcell($index, map {(0, 139, 205, 255)[$_]} $r, $g, $b);
+ }
+ }
+ print "</table>\n";
+}
+print "\n";
+
+print '<li><table><tr>';
+print colcell(80, ($_) x 3) for 46, 92, 115, 139, 162, 185, 208, 231;
+print "</table>\n\n";
+:></ul>
+
+<hr>
+<h2>256-colour space</h2><ul>
+<:
+for my $r (0 .. 5) {
+ print '<li><table>';
+ for my $g (0 .. 5) {
+ print '<tr>';
+ for my $b (0 .. 5) {
+ my $index = $r*6*6 + $g*6 + $b + 16;
+ print colcell($index, map { $_ && $_*40 + 55 } $r, $g, $b);
+ }
+ }
+ print "</table>\n";
+}
+print "\n";
+
+for my $row (0, 12) {
+ print '<li><table><tr>';
+ print colcell(232+$_, ($_*10 + 8) x 3) for $row .. $row+11;
+ print "</table>\n";