#!@PERL@ # compface/uncompface # ftp://metalab.unc.edu/pub/Linux/apps/graphics/convert/ $UNCOMPFACE = "uncompface"; $XF = @ARGV ? shift @ARGV : '-'; $XBM = @ARGV ? shift @ARGV : '-'; open(XF, "<$XF"); $xf = ""; while() { # s/^X-Face://i if ($xf eq ""); $xf .= $_; } close(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 open(XBM, ">$XBM"); print XBM <>= 1; } printf XBM " 0x%02X,", $y; } print XBM "\n"; } print XBM <