viewfax - display fax files in an X11 window
viewfax [-fnluirvW24] [-hheight] [-wwidth] [-zzoom] [-ddisplay] [-gwxh+x+y] [-bbell] [-mmemory] filename...
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 mgetty(1), or tiff files such as those used by
hylafax. The first (or only) page of "PC-Research"-style (DigiFAX)
files produced by the ghostscript dfaxhigh or dfaxlow drivers can also
be displayed.
Input files using any common fax encoding such as group 3 (1 and 2
dimensional) and group 4 can be displayed.
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.
If the mouse has a scroll-wheel it can be used to move an oversized
image vertically. With the shift key depressed, the wheel scrolls
through the pages. The shift sense is inverted if viewfax is started
with -W on the command-line.
Further interaction is controlled by single-key commands:
h or Help
displays a page of help information. Type 'q' to return to the
original document.
p or Prior or PgUP or - or BackSpace
displays the previous page from the command-line list.
n or Next or PgDn or + or space
displays the next page from the command-line list.
Shift HOME
displays the first page from the command-line list.
Shift END
displays the last page from the command-line list.
z zoom in (same as right mouse button).
Shift Z
zoom out (same as left mouse button).
u turns the image upside down, which is useful if the fax was
originally fed the wrong way into the machine.
Shift U
turns this and all following pages upside down.
l turns the image through 90 degrees, to view landscape text.
Shift L
turns this and all following pages sideways.
m produce a left/right mirror image of the page.
Shift M
mirror this and all following pages.
cursor arrows
reposition the displayed image if it exceeds the window size.
HOME repositions so that the top left corner is visible.
END makes the bottom right corner visible.
Print if the environment variable VIEWFAX_PRINT is defined, the
current page is printed. All pages are printed with Shift
Print.
e if the environment variable VIEWFAX_EDIT is defined, the current
page is passed to the editor. All input files can be edited
with Shift e.
q terminates the program.
Shift Q
terminates the program with non-zero exit status. Can be used
to abort a shell script, e.g. when the user is previewing an
outbound fax and decides not to send it.
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 -f, -n, -h, -w, -l, -m,
and -u flags.)
-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.
-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.
-hheight
specifies the number of fax lines. If this option is missing,
viewfax counts the number of lines in the input file.
-wwidth
specifies the number of pixels in each scan-line. The default
value is 1728.
-l display in landscape mode.
-u turn the image upside down.
-i invert pixels (black/white).
-b preferred warning style: 'a' for audible bell (console beep),
'v' for visible bell (flash the window), 'n' for neither. 'v'
is the default.
-d or -display
use specified X server
-g or -geometry
the preferred size and position of the window, specified as
widthxheight+x+y. If a position is given (x and y values),
viewfax asks the window manager to place the window there. The
initial size of the window is constrained to be at most
widthxheight.
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 viewfax.
If you do not supply a geometry value, everything works fine
with ICCCM-compliant window managers like olwm, mwm, twm, and
tvtwm. When fully zoomed out the viewfax window will occupy the
entire screen.
Users of fvwm will notice that the title bar and left border are
moved off screen when viewfax repositions the window to (0,0).
A workaround is to use -geometry +5+23 when using 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.
-mmemory 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 k or m for kilo- or megabytes.
-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.
-v produce some informative messages (verbose mode).
-zzoom specifies an initial zoom factor. A full-scale fax will usually
not fit on the screen. If the -z option is not specified,
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.
-2 Assume that raw input files use group 3 two dimensional coding.
-4 Assume that raw input files use group 4 coding. The number of
fax lines (-h option) is required in this case.
VIEWFAX_PRINT
Defines a command that will print one or more fax pages.
VIEWFAX_EDIT
Defines a command that will calls an editor on one or more fax
pages.
These two variables are optional. If a variable is undefined, the
corresponding keyboard command is ignored. If the variable is defined,
it should contain the name of a command or executable script that
performs the desired function. The command should process a single
page if called with a -p page-number argument. Alternatively, if can
be called with just a list of filenames, meaning that all pages should
be processed.
Here is an oversimplified example of a print command. Note that it
assumes that the format is tiff and will fail when handed a raw fax
file.
VIEWFAX_PRINT=printfax
/usr/local/bin/printfax:
#!/bin/sh
case "$1" in
-p) shift
dopt=`expr $1 - 1`
shift
tiff2ps -d ${dopt} -2 -h 11.69 -w 8.27 "$1" | lp
;;
*) tiff2ps -2 -h 11.69 -w 8.27 "$*" | lp
;;
esac
mgetty (http://alpha.greenie.net/mgetty/) controls data/fax/voice modems. hylafax (http://www.hylafax.org/) is a full-function fax client/server system. g3topbm(1) and xv(1) can be used in a pipeline to view faxes. This will usually be slower than using viewfax, but xv has many capabilities for manipulating the image and saving it in other formats. faxview.tcl, (ftp://ftp.leo.org/pub/comp/os/unix/networking/mgetty/faxview.tcl.gz) a simple dialog for viewing FAX messages by Ralph Schleicher ([email protected]). This is a useful tool which provides a file menu from which incoming faxes can be selected for display with viewfax. CCITT (now ITU) Recommendation T.4, Standardization of Group 3 Facsimile Apparatus for Document Transmission. CCITT (now ITU) Recommendation T.6, Facsimile Coding Schemes and Coding Control Functions for Group 4 Facsimile Apparatus.
The user interface does not comply with any known style guide. The help text looks moth-eaten because it is encoded as a fax. This avoids dealing with X11 fonts. The program does not refer to the X resources database.
Frank D. Cringle ([email protected]).
Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.
Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.
Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.
Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.
The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.
Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.
Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.
Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.