#!@PERL@ $USAGE = "xface2xpm [-t] [-fg ] [-bg ] []"; # compface/uncompface # ftp://metalab.unc.edu/pub/Linux/apps/graphics/convert/ $UNCOMPFACE = "uncompface"; $T = "c"; $BG = "white"; $FG = "black"; while (@ARGV) { $_ = shift @ARGV; if (/^-h/) { &usage(0); } elsif (/^-t/) { $T = "s"; $BG = "none"; } elsif (/^-bg/) { @ARGV || &usage(1); $BG = shift @ARGV; } elsif (/^-fg/) { @ARGV || &usage(1); $FG = shift @ARGV; } elsif (/^-./) { &usage(1); } else { unshift(@ARGV, $_); last; } } $xf = ""; while(<>) { # s/^X-Face://i if ($xf eq ""); $xf .= $_; } pipe(R, W2); pipe(R2, W); if (! fork()) { close(R); close(W); open(STDIN, "<&R2"); open(STDOUT, ">&W2"); exec $UNCOMPFACE; exit 1; } close(R2); close(W2); print W $xf; close(W); while() { while(s/0x(..)(..)//) { push(@bm, hex($1), hex($2)); } } close(R); @bm || exit 1; $W = 48; $H = @bm * 8 / $W; # must be 48 print <> (8-$i)) & 1) ? "." : " "); } } print (@bm ? "\",\n" : "\"\n"); } print <