X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/43f639f1fdbf9dd95236037d9291854559e92d92..7b3478ca9d98ec9b1ef2564f0691316b1d9d691d:/termcol.plp
diff --git a/termcol.plp b/termcol.plp
index e313856..889a55c 100644
--- a/termcol.plp
+++ b/termcol.plp
@@ -19,10 +19,10 @@ $header{content_type} = 'text/html; charset=utf-8';
-
+
Terminal colours
-
+
<:
sub luminance {
# perceived brightness (using ITU-R recommendation 601 luma co-efficients)
@@ -38,7 +38,7 @@ sub colcell {
my $rgb48 = '';
$rgb48 .= sprintf '%02X', $_ for @rgb[0..2];
my $inverse = sprintf('%X', luminance(@rgb)/255 < .3 ? 12 : 0) x 3;
- return sprintf '%s | %s | %s',
+ return sprintf ' | %s | %s | %s'."\n",
"background:#$rgb48; color:#$inverse",
$id,
"background:#000; color:#$rgb48",
@@ -48,7 +48,7 @@ sub colcell {
}
my %col = (
- -name => [
+ -html => [
qw/black maroon green olive navy purple cyan silver
gray red lime yellow blue fuchsia aqua white/,
qw/reset bold dim italic underline blink fastblink
@@ -76,15 +76,72 @@ my %col = (
],
);
-my @termlist = qw(html cga xterm tango);
-print ' | ', (map {''.$_} @termlist), " |
\n";
-for my $num (0 .. 15) {
- printf('%s
'."\n",
- join('', map {
- my $rgb = $col{$_}[$num + 2];
- colcell($_ eq 'html' ? $col{-name}[$num] : $num, $rgb, $col{$_}[0])
- } @termlist ),
- );
+for my $term (qw/html cga xterm tango/) {
+ print '- ', "\n";
+ print '
', "\n";
+ print "$term\n";
+ for my $num (0 .. 15) {
+ my $rgb = $col{$term}[$num + 2];
+ print '',
+ colcell($col{"-$term"}[$num] || $num, $rgb, $col{$term}[0]);
+ }
+ print "
\n\n";
}
-:>
+:>
+
+88-colour space
+<:
+for my $r (0 .. 3) {
+ print '';
+ for my $g (0 .. 3) {
+ print '';
+ 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 "
\n";
+}
+print "\n";
+
+print '';
+print colcell(80, ($_) x 3) for 46, 92, 115, 139, 162, 185, 208, 231;
+print "
\n\n";
+:>
+
+
+256-colour space
+<:
+for my $r (0 .. 5) {
+ print '';
+ for my $g (0 .. 5) {
+ print '';
+ for my $b (0 .. 5) {
+ my $index = $r*6*6 + $g*6 + $b + 16;
+ print colcell($index, map { $_ && $_*40 + 55 } $r, $g, $b);
+ }
+ }
+ print "
\n";
+}
+print "\n";
+
+for my $row (0, 12) {
+ print '';
+ print colcell(232+$_, ($_*10 + 8) x 3) for $row .. $row+11;
+ print "
\n";
+}
+print "\n";
+:>
+
+
+
+
+
+