Article 12818 of alt.sources:
Newsgroups: alt.sources
Path: nntpd.lkg.dec.com!pa.dec.com!news2.digital.com!news1.digital.com!uunet!in2.uu.net!EU.net!Germany.EU.net!Dortmund.Germany.EU.net!ping.de!cliwe.ping.de!fdc
From: fdc@cliwe.ping.de (Frank D. Cringle)
Subject: viewfax - an X-window fax viewer, V2.2, Part03/03
Message-ID: <vtzqg7rzmr.fsf_-_@cliwe.ping.de>
Followup-To: alt.sources.d
Lines: 888
Sender: fdc@cliwe.ping.de
Organization: No foundation. 
X-Newsreader: Gnus v5.0.1
References: <vt4tyfteiu.fsf@cliwe.ping.de> <vt20tjte9h.fsf_-_@cliwe.ping.de>
Date: Thu, 14 Sep 1995 22:59:40 GMT

Submitted-by: fdc@cliwe.ping.de
Archive-name: viewfax-2.2/part03

---- Cut Here and feed the following to sh ----
#!/bin/sh
# This is part 03 of viewfax-2.2
# ============= viewfax-2.2/viewfax.man ==============
if test ! -d 'viewfax-2.2'; then
    echo 'x - creating directory viewfax-2.2'
    mkdir 'viewfax-2.2'
fi
if test -f 'viewfax-2.2/viewfax.man' -a X"$1" != X"-c"; then
	echo 'x - skipping viewfax-2.2/viewfax.man (File already exists)'
else
echo 'x - extracting viewfax-2.2/viewfax.man (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'viewfax-2.2/viewfax.man' &&
.TH viewfax 1 "7 April 1995" "Frank\'s Hacks" "Local commands"
.UC 4
.SH NAME
viewfax \- display fax files in an X11 window
.SH SYNOPSIS
.PU
.ll +8
.B viewfax
.RB [ -fnluirv24 ]
.RB [ -h\fIheight ]
.RB [ -w\fIwidth ]
.RB [ -z\fIzoom ]
.RB [ -d\fIdisplay ]
.RB [ -g\fIwxh+x+y ]
.RB [ -b\fIbell ]
.RB [ -m\fImemory ]
.I filename...
.ll -8
.br
.SH DESCRIPTION
.B viewfax
displays one or more fax files in an X11 window.  The input
files may be either raw, single-page faxes received by a fax modem
with a program such as
.B mgetty(1),
or tiff files such as those used by
.B hylafax.
The first (or only) page of "PC-Research"-style (DigiFAX) files
produced by the
.B ghostscript
dfaxhigh or dfaxlow drivers can also be displayed.
X
Input files using any common fax encoding such as group 3 (1 and 2
dimensional) and group 4 can be displayed.
X
The fax images are rendered at full resolution and then successively
scaled down by a linear factor of 2 prior to display, until they fit
on the screen.  The display can be controlled interactively using
mouse and keyboard commands.  The left mouse button expands the image
by a factor of two and the right button reduces it by the same factor.
If the image is bigger than the available window size, the middle
mouse button can be used to reposition it within the window.  Hold
down the middle button while dragging the image to its new position.
X
Further interaction is controlled by single-key commands:
.TP
.B
h or Help
displays a page of help information.  Type 'q' to return to the
original document.
.TP
.B
p or Prior or PgUP or - or BackSpave
displays the previous page from the command-line list.
.TP
.B
n or Next or PgDn or + or space
displays the next page from the command-line list.
.TP
.B Shift HOME
displays the first page from the command-line list.
.TP
.B Shift END
displays the last page from the command-line list.
.TP
.B z
zoom in (same as right mouse button).
.TP
.B Shift Z
zoom out (same as left mouse button).
.TP
.B u
turns the image upside down, which is useful if the fax was originally
fed the wrong way into the machine.
.TP
.B l
turns the image through 90 degrees, to view landscape text.
.TP
.B m
produce a left/right mirror image of the page.
.TP
.B cursor arrows
reposition the displayed image if it exceeds the window size.
.TP
.B HOME
repositions so that the top left corner is visible.
.TP
.B END
makes the bottom right corner visible.
.TP
.B q
terminates the program.
.SH OPTIONS
.B viewfax
is designed to "do the right thing" when given just a filename.
Special cases can be handled with the following options.  (Note that
tiff-files contain a header which overrides the \fB-f, -n, -h, -w, -l,
\fRand \fB-u \fRflags.)
.TP
.B -f
indicates that raw input files are fine resolution (7.7 lines/mm)
faxes.  This is the default unless the filename begins with "fn".
Tiff and "PC-Research" (DigiFAX) files are self-specifying.
.TP
.B -n
indicates that raw input files are normal resolution (3.85 lines/mm)
faxes.  Each fax line is duplicated in the displayed image to give
approximately equal vertical and horizontal scales.
.TP
.B -h\fIheight
specifies the number of fax lines.  If this option is missing,
.B viewfax
counts the number of lines in the input file.
.TP
.B -w\fIwidth
specifies the number of pixels in each scan-line.  The default value is 1728.
.TP
.B -l
display in landscape mode.
.TP
.B -u
turn the image upside down.
.TP
.B -i
invert pixels (black/white).
.TP
.B -b
preferred warning style: 'a' for audible bell (console beep), 'v' for
visible bell (flash the window), 'n' for neither.  'v' is the default.
.TP
.B -d or -display
use specified X server
.TP
.B -g or -geometry
the preferred size and position of the window, specified as
\fIwidth\fRx\fIheight\fR+\fIx\fR+\fIy\fR.  If a position is given (x
and y values),
.B viewfax
asks the window manager to place the window there.  The initial size
of the window is constrained to be at most \fIwidth\fRx\fIheight\fR.
X
If the window is subsequently resized due to the user zooming in or
out, the geometry is taken as a constraint on the screen area which
may be used by
.B viewfax.
X
If you do not supply a geometry value, everything works fine with
ICCCM-compliant window managers like \fBolwm, mwm, twm, \fRand
\fBtvtwm\fR.  When fully zoomed out the
.B viewfax
window will occupy the entire screen.
X
Users of
.B fvwm
will notice that the title bar and left border are moved off screen when
.B viewfax
repositions the window to (0,0).  A workaround is to use -geometry
+5+23 when using
.B fvwm.
The proper fix would be for someone to update the routine
HandleConfigureRequest() in fvwm/events.c to correspond to the code in
twm/events.c.
.TP
.B -m\fImemory limit
each page is kept in memory after being fetched and expanded, which
saves time if the user returns to it in the same session.  To prevent
viewfax from using all the available swap space, a limit is placed on
the total size of cached images.  This defaults to 4 MBytes, enough
for about 6 typical pages.  If the memory limit is exceeded, old images
are discarded and must be reloaded from disk if the user returns to
them.  The operation of this mechanism is transparent apart from the
occasional delays due to reloading.  The value specified on the
command line can be suffixed
.B k
or
.B m
for kilo- or megabytes.
.TP
.B -r
the bit order of the bytes in the input file is reversed.  The fax
specification deals only with serial data transmission.  Modem
manufacturers have to decide whether the first bit received should be
placed in the most significant or the least significant position in a
byte.  The consensus is to pack most significant first, but the -r
flag is available to deal with the opposite order.
.TP
.B -v
produce some informative messages (verbose mode).
.TP
.B -z\fIzoom
specifies an initial zoom factor.  A full-scale fax will usually not
fit on the screen.  If the
.B -z
option is not specified,
.B viewfax
scales the image by a power of 2 such that it is fully visible at a
reduced size.  The user can then use the mouse buttons (see above) to
view expanded portions of the image.
.TP
.B -2
Assume that raw input files use group 3 two dimensional coding.
.TP
.B -4
Assume that raw input files use group 4 coding.  The number of fax
lines (-h option) is required in this case.
.SH SEE ALSO
.B mgetty
(ftp://ftp.leo.org/pub/comp/networking/communication/modem/mgetty)
controls data/fax/voice modems.
X
.B hylafax
(ftp://sgi.com/sgi/fax) is a full-function fax client/server system.
X
.B g3topbm(1)
and
.B xv(1)
can be used in a pipeline to view faxes.  This will usually be slower
than using
.B viewfax,
but
.B xv
has many capabilities for manipulating the image and saving it
in other formats.
X
.B xli(1)
can display a wide variety of image formats, including g3 faxes.
Version 1.15 has difficulty recognising damaged fax files.
X
.B viewfax.tcl,
a simple dialog for viewing FAX messages by Ralph Schleicher
(rs@purple.in-ulm.de).  This is a useful tool which provides a file
menu from which incoming faxes can be selected for display with
.B viewfax.
X
CCITT (now ITU) Recommendation T.4,
.I Standardization of Group 3 Facsimile Apparatus for Document
.I Transmission. 
X
CCITT (now ITU) Recommendation T.6,
.I Facsimile Coding Schemes and Coding Control Functions for Group 4
.I Facsimile Apparatus.
.SH BUGS
The user interface does not comply with any known style guide.
.br
The help text looks moth-eaten because it is encoded as a fax.  This
avoids dealing with X11 fonts.
.br
The program does not refer to the X resources database.
.SH AUTHOR
Frank D. Cringle (fdc@cliwe.ping.de).
SHAR_EOF
chmod 0644 viewfax-2.2/viewfax.man ||
echo 'restore of viewfax-2.2/viewfax.man failed'
Wc_c="`wc -c < 'viewfax-2.2/viewfax.man'`"
test 7603 -eq "$Wc_c" ||
	echo 'viewfax-2.2/viewfax.man: original size 7603, current size' "$Wc_c"
fi
# ============= viewfax-2.2/viewfax.tif ==============
if test -f 'viewfax-2.2/viewfax.tif' -a X"$1" != X"-c"; then
	echo 'x - skipping viewfax-2.2/viewfax.tif (File already exists)'
else
echo 'x - extracting viewfax-2.2/viewfax.tif (Binary)'
sed 's/^X//' << 'SHAR_EOF' | uudecode &&
begin 600 viewfax-2.2/viewfax.tif
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
M``$&P````0$``P````$'*````0(``P````$``0```0,``P````$`!````08`
M`P````$``````0H``P````$``@```1$`!`````$````(`1(``P````$``0``
M`14``P````$``0```18`!`````'_____`1<`!`````$``$1^`1H`!0````$`
M`$58`1L`!0````$``$5@`1P``P````$``0```2@``P````$``@```2D``P``
M``(``0`!`3$``@````D``$5H`````!F`````(```&(`````@``!F87@R=&EF
"9@``
`
end
SHAR_EOF
chmod 0664 viewfax-2.2/viewfax.tif ||
echo 'restore of viewfax-2.2/viewfax.tif failed'
Wc_c="`wc -c < 'viewfax-2.2/viewfax.tif'`"
test 17777 -eq "$Wc_c" ||
	echo 'viewfax-2.2/viewfax.tif: original size 17777, current size' "$Wc_c"
fi
# ============= viewfax-2.2/g3hack.c ==============
if test -f 'viewfax-2.2/g3hack.c' -a X"$1" != X"-c"; then
	echo 'x - skipping viewfax-2.2/g3hack.c (File already exists)'
else
echo 'x - extracting viewfax-2.2/g3hack.c (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'viewfax-2.2/g3hack.c' &&
/* g3hack.c - hack identical lines off the end of a fax
X *
X * This program is in the public domain.  If it does not work or
X * causes you any sort of grief, blame the public, not me.
X *
X * fdc@cliwe.ping.de, 1995-06-24
X *
X * v2 1995-06-25 - fixed some boundary problems, added named input
X * v3 1995-06-28 - changed write-error detection
X *
X */
X
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
X
#define VERSION "0.3"
X
#ifdef BSD
#define strrchr rindex
#endif
X
extern int getopt();
extern char *optarg;
extern int optind, opterr;
X
static char *progname;
static char *banner = "\n%s version " VERSION "\n\n";
static char *usage = "\
usage: %s <-n count> <-h size> -o <outputfile> {inputfile}\n\n\
Copy a g3-(1d)-fax file from stdin to stdout and delete any\n\
X   more than `count' identical trailing lines (default 10).\n\
Optionally skip `size'-byte header.\n\
Optionally named outputfile (else stdout).\n";
X
#define nxtbit()	((imask>>=1) ? ((ibits&imask)!=0) :		\
X			 ((ibits=getchar()) == EOF) ? -1 :		\
X			 (((imask=0x80)&ibits)!=0))
#define putbit(b)							\
X    do {								\
X	if (b)								\
X	    obits |= omask;						\
X	if ((omask >>= 1) == 0) {					\
X	    this->line[this->length>>3] = obits;			\
X	    omask = 0x80;						\
X	    obits = 0;							\
X	}								\
X	this->length++;							\
X	if (this->length >= BUFSIZ<<3) {				\
X	    fprintf(stderr, "%s: unreasonably long line\n", progname);	\
X	    exit(1);							\
X	}								\
X    } while (0)
X
static void
copy(int nlines)
{
X    int ibits = 0, imask = 0;	/* input bits and mask */
X    int obits = 0;		/* output bits */
X    int omask = 0x80;		/* output mask */
X    int zeros = 0;		/* number of consecutive zero bits */
X    int thisempty = 1;		/* empty line (so far) */
X    int empties = 0;		/* number of consecutive EOLs */
X    int identcount = 0;		/* number of consecutive identical lines */
X    struct {
X	char line[BUFSIZ];
X	int length;
X    } lines[2], *prev, *this, *temp;
X
X    this = &lines[0];
X    prev = &lines[1];
X    this->length = prev->length = 0;
X    while (1) {
X	int bit = nxtbit();
X	if (bit == -1)
X	    break;		/* end of file */
X	putbit(bit);
X	if (bit == 0) {
X	    zeros++;
X	    continue;
X	}
X	if (zeros < 11) {	/* not eol and not empty */
X	    zeros = 0;
X	    thisempty = 0;
X	    /* Get rid of any accumulated empties.  Should only happen
X	       for the eol at the beginning of the first line (we
X	       switch from the |eol data| to the |data eol|
X	       viewpoint). */
X	    for ( ; empties; empties--)
X		if (fwrite("\0\1", 1, 2, stdout) != 2)
X		    break;
X	    continue;
X	}
X	/* at end of line */
X	zeros = 0;
X	omask = 0x80;
X	obits = 0;
X	if (thisempty) {
X	    empties++;
X	    if (empties >= 5)
X		break;		/* 6 eols in a row */
X	    this->length = 0;
X	    continue;
X	}
X	thisempty = 1;
X	/* at end of non-empty line */
X	this->length = (this->length+7)&~7;
X	this->line[(this->length-1)>>3] = 1; /* byte-align the eol */
X	if (this->length == prev->length &&
X	    memcmp(this->line, prev->line, this->length>>3) == 0) {
X	    identcount++;
X	    this->length = 0;
X	    continue;
X	}
X	/* at end of non-matching line */
X	for ( ; identcount; identcount--)
X	    if (fwrite(prev->line, 1, prev->length>>3, stdout) !=
X		prev->length>>3)
X		break;
X	temp = prev;
X	prev = this;
X	this = temp;
X	identcount = 1;
X	this->length = 0;
X    }
X    if (identcount > nlines)
X	identcount = nlines;
X    for ( ; !ferror(stdout) && identcount; identcount--)
X	    fwrite(prev->line, 1, prev->length>>3, stdout);
X    if (!ferror(stdout) && !thisempty)
X	    fwrite(this->line, 1, this->length>>3, stdout);
X    for ( ; !ferror(stdout) && empties; empties--)
X	fwrite("\0\1", 1, 2, stdout);
X    if (ferror(stdout)) {
X	fprintf(stderr, "%s: write error\n", progname);
X	exit(1);
X    }
}
X
int
main(int argc, char **argv)
{
X    int c, err = 0;
X    int header = 0;
X    int nlines = 10;
X
X    if ((progname = strrchr(argv[0], '/')) == NULL)
X	progname = argv[0];
X    else
X	progname++;
X    opterr = 0;
X    while ((c = getopt(argc, argv, "h:n:o:v")) != EOF)
X	switch (c) {
X	case 'h':
X	    header = atoi(optarg);
X	    break;
X	case 'n':
X	    nlines = atoi(optarg);
X	    break;
X	case 'o':
X	    if (freopen(optarg, "w", stdout) == NULL) {
X		perror(optarg);
X		exit(1);
X	    }
X	    break;
X	case 'v':
X	    fprintf(stderr, banner, progname);
X	    exit(0);	    
X	case '?':
X	    err++;
X	}
X    if (err || optind < argc-1) {
X	fprintf(stderr, banner, progname);
X	fprintf(stderr, usage, progname);
X	exit(1);
X    }
X    if (optind < argc && freopen(argv[optind], "r", stdin) == NULL) {
X	perror(argv[optind]);
X	exit(1);
X    }
X    while (header--)
X	putchar(getchar());
X    copy(nlines);
X    exit(0);
}
SHAR_EOF
chmod 0664 viewfax-2.2/g3hack.c ||
echo 'restore of viewfax-2.2/g3hack.c failed'
Wc_c="`wc -c < 'viewfax-2.2/g3hack.c'`"
test 4609 -eq "$Wc_c" ||
	echo 'viewfax-2.2/g3hack.c: original size 4609, current size' "$Wc_c"
fi
exit 0

-- 
Frank Cringle                      | fdc@cliwe.ping.de
voice + fax                        | +49 2304 467101


