Hi, JFTR, Thorsten Glaser <t...@debian.org> just sent me his implementation in Perl (and under the MirOS license[1]):
http://nopaste.snit.ch/26294 Fullquote since I don't know when this paste expires: ---snip--- ‣ $ cat y $fg = 7; $fi = 128; $bg = 0; $bi = 128; sub a2c { my $r = shift; my @a = split /;/,$1; my $fv = 0; my $bv = 0; foreach $c (@a) { my $v = int($c); if ($v == 0) { $fg = 7; $bg = 0; $fi = 128; $bi = 128; } elsif ($v == 1) { $fi = 255; } elsif ($v == 5) { $bi = 255; } elsif ($v == 7) { my $t = $fg; $fg = $bg; $bg = $t; } elsif ($v < 40) { $fg = $v - 30; } elsif ($v < 50) { $bg = $v - 40; } else { die "EINVAL"; } } if ($fg & 1) { $fv |= $fi << 16; } if ($fg & 2) { $fv |= $fi << 8; } if ($fg & 4) { $fv |= $fi; } if ($bg & 1) { $bv |= $bi << 16; } if ($bg & 2) { $bv |= $bi << 8; } if ($bg & 4) { $bv |= $bi; } if ($fv == 0) { $fv = $fi == 255 ? 0x808080 : 0; } elsif ($fv == 0x808080) { $fv = 0xCCCCCC; } if ($bv == 0) { $bv = $bi == 255 ? 0x808080 : 0; } elsif ($bv == 0x808080) { $bv = 0xCCCCCC; } return sprintf("</span><span style=\"color:#%06X; background-color:#%06X;\">", $fv, $bv); } $i = join "", <>; $i =~ s/\e\[((?:0|1|5|7|[34][0-7])(?:;(?:0|1|5|[34][0-7]))*)m/a2c($1)/ge; $i =~ s/^..span.//; print "<pre style=\"color:#CCCCCC; background-color:#000000;\">".$i."</span></pre>"; ‣ $ (echo '<html><body>'; script -c 'ccal 2010' -q /dev/null | perl y) >z.htm ‣ $ konqueror z.htm WFM… ---snap--- [1] https://www.mirbsd.org/MirOS-Licence.htm Regards, Axel -- ,''`. | Axel Beckert <a...@debian.org>, http://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE `- | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org