about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--config.mk.in4
-rw-r--r--converter/other/fiasco/getopt.c7
-rw-r--r--converter/other/pamtotiff.c6
-rw-r--r--converter/other/sgitopnm.c34
-rw-r--r--converter/other/tiff.c6
-rw-r--r--converter/other/tifftopnm.c6
-rw-r--r--generator/ppmforge.c4
-rw-r--r--lib/Makefile3
-rw-r--r--lib/libpbm3.c3
-rw-r--r--lib/libpbmvms.c734
-rw-r--r--lib/libpgm2.c4
-rw-r--r--lib/libpm.c39
-rw-r--r--lib/libppm2.c4
-rw-r--r--lib/pm.h4
-rw-r--r--lib/pmfileio.c20
-rw-r--r--pm_config.in.h23
-rwxr-xr-xvms/Add_List.com59
-rwxr-xr-xvms/Make_PBMplus.com519
-rwxr-xr-xvms/Make_PBMplusShr.com280
-rw-r--r--vms/NetPBM.TeX12115
-rw-r--r--vms/PBMplus.hlp6814
-rw-r--r--vms/RGB.txt738
-rwxr-xr-xvms/SetUp.com37
-rwxr-xr-xvms/stamp-date.com25
24 files changed, 15 insertions, 21473 deletions
diff --git a/config.mk.in b/config.mk.in
index 1e143f7e..fde9b80d 100644
--- a/config.mk.in
+++ b/config.mk.in
@@ -506,10 +506,6 @@ NETWORKLD =
 # SCO:
 #NETWORKLD = -lsocket, -lresolv
 
-VMS = 
-#VMS:
-#VMS = yes
-
 # DONT_HAVE_PROCESS_MGMT is Y if this system doesn't have the usual
 # Unix process management stuff - fork, wait, etc.  N for a regular Unix
 # system.
diff --git a/converter/other/fiasco/getopt.c b/converter/other/fiasco/getopt.c
index 0b2d1b75..f5baf7d3 100644
--- a/converter/other/fiasco/getopt.c
+++ b/converter/other/fiasco/getopt.c
@@ -73,13 +73,6 @@
 #include <unistd.h>
 #endif	/* GNU C library.  */
 
-#ifdef VMS
-#include <unixlib.h>
-#if HAVE_STRING_H - 0
-#include <string.h>
-#endif
-#endif
-
 #if defined (WIN32) && !defined (__CYGWIN32__)
 /* It's not Unix, really.  See?  Capital letters.  */
 #include <windows.h>
diff --git a/converter/other/pamtotiff.c b/converter/other/pamtotiff.c
index 59261a99..b0cab9a9 100644
--- a/converter/other/pamtotiff.c
+++ b/converter/other/pamtotiff.c
@@ -27,12 +27,6 @@
 #include <unistd.h>
 #include <stdio.h>
 #include <fcntl.h>
-#ifdef VMS
-#ifdef SYSV
-#undef SYSV
-#endif
-#include <tiffioP.h>
-#endif
 /* tiffio.h has a weird problem on AIX.  tiffio.h wrongly typedefs
    "int32".  That's wrong because such a name is likely to be used in
    other parts of the program that includes tiffio.h.  And in fact, on
diff --git a/converter/other/sgitopnm.c b/converter/other/sgitopnm.c
index 0d26bb9c..63814fdb 100644
--- a/converter/other/sgitopnm.c
+++ b/converter/other/sgitopnm.c
@@ -16,19 +16,10 @@
 ** 08Feb94: minor bugfix
 ** 29Jul00: added -channel option (smar@reptiles.org)
 */
+#include <unistd.h>
+#include "mallocvar.h"
 #include "pnm.h"
 #include "sgi.h"
-#include "mallocvar.h"
-#ifndef VMS
-#include <unistd.h>
-#endif
-
-/*#define DEBUG*/
-
-#ifndef SEEK_SET
-#define SEEK_SET    0
-#endif
-
 
 /* entry in RLE offset table */
 typedef struct {
@@ -60,6 +51,7 @@ static void       rle_decompress ARGS((ScanElem *src, int srclen, ScanElem *dest
 static short verbose = 0;
 
 
+
 int
 main(argc, argv)
     int argc;
@@ -199,10 +191,6 @@ read_header(ifp, channel)
         pm_message("compression: %d = %s", head->storage, compression_name(head->storage));
         head->name[79] = '\0';  /* just to be safe */
         pm_message("Image name: \"%s\"", head->name);
-#ifdef DEBUG
-        pm_message("bpc: %d    dimension: %d    zsize: %d", head->bpc, head->dimension, head->zsize);
-        pm_message("pixmin: %ld    pixmax: %ld    colormap: %ld", head->pixmin, head->pixmax, head->colormap);
-#endif
     }
 
     return head;
@@ -219,10 +207,6 @@ read_table(ifp, tablen)
 
     MALLOCARRAY_NOFAIL(table, tablen);
 
-#ifdef DEBUG
-    pm_message("reading offset table");
-#endif
-
     for( i = 0; i < tablen; i++ )
         table[i].start = get_big_long(ifp);
     for( i = 0; i < tablen; i++ )
@@ -243,13 +227,9 @@ read_channels(ifp, head, table, func, ochan)
 {
     ScanLine *image;
     ScanElem *temp;
-    int channel, maxchannel, row, sgi_index, i;
+    int channel, maxchannel, sgi_index, i;
     long offset, length;
 
-#ifdef DEBUG
-    pm_message("reading channels");
-#endif
-
     if (ochan < 0) {
         maxchannel = (head->zsize < 3) ? head->zsize : 3;
         MALLOCARRAY_NOFAIL(image, head->ysize * maxchannel);
@@ -261,9 +241,7 @@ read_channels(ifp, head, table, func, ochan)
         MALLOCARRAY_NOFAIL(temp, WORSTCOMPR(head->xsize));
 
     for( channel = 0; channel < maxchannel;  channel++ ) {
-#ifdef DEBUG
-        pm_message("    channel %d", channel);
-#endif
+        unsigned int row;
         for( row = 0; row < head->ysize; row++ ) {
             int iindex;
 
@@ -300,6 +278,7 @@ read_channels(ifp, head, table, func, ochan)
 }
 
 
+
 static void
 image_to_pnm(Header *head, ScanLine *image, xelval maxval, int channel)
 {
@@ -335,6 +314,7 @@ image_to_pnm(Header *head, ScanLine *image, xelval maxval, int channel)
 }
 
 
+
 static void
 rle_decompress(src, srcleft, dest, destleft)
     ScanElem *src;
diff --git a/converter/other/tiff.c b/converter/other/tiff.c
index 90d50710..d0cbbd74 100644
--- a/converter/other/tiff.c
+++ b/converter/other/tiff.c
@@ -10,12 +10,6 @@
 
 #include <string.h>
 
-#ifdef VMS
-#ifdef SYSV
-#undef SYSV
-#endif
-#include <tiffioP.h>
-#endif
 #include <tiffio.h>
 
 #include "pm_c_util.h"
diff --git a/converter/other/tifftopnm.c b/converter/other/tifftopnm.c
index 1cf869fb..756b55e9 100644
--- a/converter/other/tifftopnm.c
+++ b/converter/other/tifftopnm.c
@@ -59,12 +59,6 @@
 #include "nstring.h"
 #include "pnm.h"
 
-#ifdef VMS
-#ifdef SYSV
-#undef SYSV
-#endif
-#include <tiffioP.h>
-#endif
 /* See warning about tiffio.h in pamtotiff.c */
 #include <tiffio.h>
 
diff --git a/generator/ppmforge.c b/generator/ppmforge.c
index 80e35822..047d3d6e 100644
--- a/generator/ppmforge.c
+++ b/generator/ppmforge.c
@@ -40,11 +40,7 @@
 #include "ppm.h"
 #include "mallocvar.h"
 
-#ifdef VMS
-static double const hugeVal = HUGE_VAL;
-#else
 static double const hugeVal = 1e50;
-#endif
 
 /* Definitions used to address real and imaginary parts in a two-dimensional
    array of complex numbers as stored by fourn(). */
diff --git a/lib/Makefile b/lib/Makefile
index 22488188..ecb3a035 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -36,9 +36,6 @@ LIBOBJECTS = libpm.o pmfileio.o fileio.o bitio.o colorname.o \
 	libpamn.o libpammap.o libpamcolor.o \
 	$(LIBSYSTEM) \
 
-ifneq (${VMS}x,x)
-LIBOBJECTS += libpbmvms.o
-endif
 # Library objects to be linked but not built by common.mk:
 LIBOBJECTS_X = \
   util/filename.o \
diff --git a/lib/libpbm3.c b/lib/libpbm3.c
index b41f90de..d6a953c2 100644
--- a/lib/libpbm3.c
+++ b/lib/libpbm3.c
@@ -39,9 +39,6 @@ pbm_writepbminit(FILE * const fileP,
 
     if (!forceplain && !pm_plain_output) {
         fprintf(fileP, "%c%c\n%d %d\n", PBM_MAGIC1, RPBM_MAGIC2, cols, rows);
-#ifdef VMS
-        set_outfile_binary();
-#endif
     } else
         fprintf(fileP, "%c%c\n%d %d\n", PBM_MAGIC1, PBM_MAGIC2, cols, rows);
 }
diff --git a/lib/libpbmvms.c b/lib/libpbmvms.c
deleted file mode 100644
index 8a2a54f8..00000000
--- a/lib/libpbmvms.c
+++ /dev/null
@@ -1,734 +0,0 @@
-/***************************************************************************
-  This file contains library routines needed to build Netpbm for VMS.
-  However, as of 2000.05.26, when these were split out of libpbm1.c
-  (where they were all switched by #ifdef VMS), there is no evidence
-  that anyone is building Netpbm for VMS.
-****************************************************************************/
-
-/*
- * @(#)argproc.c 1.0 89/02/01		Mark Pizzolato (mark@infopiz.uucp)	
- */
-
-#ifndef lint
-char argproc_version[] = "@(#)argproc.c VMS uucp Version infopiz-1.0";
-#endif
-
-#include "includes.h"		/* System include files, system dependent */
-
-
-/*
- * getredirection() is intended to aid in porting C programs
- * to VMS (Vax-11 C) which does not have '>' and '<'
- * I/O redirection, along with a command line pipe mechanism
- * using the '|' AND background command execution '&'.
- * The piping mechanism will probably work with almost any 'filter' type
- * of program.  With suitable modification, it may useful for other
- * portability problems as well.
- *
- * Author:  Mark Pizzolato	mark@infopiz.UUCP
- */
-struct list_item
-    {
-    struct list_item *next;
-    char *value;
-    };
-
-int
-getredirection(ac, av)
-int		*ac;
-char		***av;
-/*
- * Process vms redirection arg's.  Exit if any error is seen.
- * If getredirection() processes an argument, it is erased
- * from the vector.  getredirection() returns a new argc and argv value.
- * In the event that a background command is requested (by a trailing "&"),
- * this routine creates a background subprocess, and simply exits the program.
- *
- * Warning: do not try to simplify the code for vms.  The code
- * presupposes that getredirection() is called before any data is
- * read from stdin or written to stdout.
- *
- * Normal usage is as follows:
- *
- *	main(argc, argv)
- *	int		argc;
- *    	char		*argv[];
- *	{
- *		getredirection(&argc, &argv);
- *	}
- */
-{
-    int			argc = *ac;	/* Argument Count	  */
-    char		**argv = *av;	/* Argument Vector	  */
-    char		*ap;   		/* Argument pointer	  */
-    int	       		j;		/* argv[] index		  */
-    extern int		errno;		/* Last vms i/o error 	  */
-    int			item_count = 0;	/* Count of Items in List */
-    int			new_file;	/* flag, true if '>' used */
-    struct list_item 	*list_head = 0;	/* First Item in List	    */
-    struct list_item	*list_tail;	/* Last Item in List	    */
-    char 		*in = NULL;	/* Input File Name	    */
-    char 		*out = NULL;	/* Output File Name	    */
-    char 		*outmode = "w";	/* Mode to Open Output File */
-    int			cmargc = 0;    	/* Piped Command Arg Count  */
-    char		**cmargv = NULL;/* Piped Command Arg Vector */
-    stat_t		statbuf;	/* fstat buffer		    */
-
-    /*
-     * First handle the case where the last thing on the line ends with
-     * a '&'.  This indicates the desire for the command to be run in a
-     * subprocess, so we satisfy that desire.
-     */
-    ap = argv[argc-1];
-    if (0 == strcmp("&", ap))
-	exit(background_process(--argc, argv));
-    if ('&' == ap[strlen(ap)-1])
-	{
-	ap[strlen(ap)-1] = '\0';
-	exit(background_process(argc, argv));
-	}
-    /*
-     * Now we handle the general redirection cases that involve '>', '>>',
-     * '<', and pipes '|'.
-     */
-    for (new_file = 0, j = 0; j < argc; ++j)
-	{
-	if (0 == strcmp("<", argv[j]))
-	    {
-	    if (j+1 >= argc)
-		{
-		errno = EINVAL;
-		perror("No input file");
-		exit(EXIT_ERR);
-		}
-	    in = argv[++j];
-	    continue;
-	    }
-	if ('<' == *(ap = argv[j]))
-	    {
-	    in = 1 + ap;
-	    continue;
-	    }
-	if (0 == strcmp(">", ap))
-	    {
-	    if (j+1 >= argc)
-		{
-		errno = EINVAL;
-		perror("No output file");
-		exit(EXIT_ERR);
-		}
-	    out = argv[++j];
-	    new_file = 1;
-	    continue;
-	    }
-	if ('>' == *ap)
-	    {
-	    if ('>' == ap[1])
-		{
-		outmode = "a";
-		if ('\0' == ap[2])
-		    out = argv[++j];
-		else
-		    out = 2 + ap;
-		}
-	    else
-		{ out = 1 + ap;  new_file = 1; }
-	    continue;
-	    }
-	if (0 == strcmp("|", argv[j]))
-	    {
-	    if (j+1 >= argc)
-		{
-		errno = EPIPE;
-		perror("No command to Pipe to");
-		exit(EXIT_ERR);
-		}
-	    cmargc = argc-(j+1);
-	    cmargv = &argv[j+1];
-	    argc = j;
-	    outmode = "wb";	/* pipes are binary mode devices */
-	    continue;
-	    }
-	if ('|' == *(ap = argv[j]))
-	    {
-	    ++argv[j];
-	    cmargc = argc-j;
-	    cmargv = &argv[j];
-	    argc = j;
-	    outmode = "wb";	/* pipes are binary mode devices */
-	    continue;
-	    }
-	expand_wild_cards(ap, &list_head, &list_tail, &item_count);
-	}
-    /*
-     * Allocate and fill in the new argument vector, Some Unix's terminate
-     * the list with an extra null pointer.
-     */
-    argv = *av = calloc(item_count+1, sizeof(char *));
-    for (j = 0; j < item_count; ++j, list_head = list_head->next)
-	argv[j] = list_head->value;
-    *ac = item_count;
-    if (cmargv != NULL)
-	{
-	char subcmd[1024];
-	static char *pipe_and_fork();
-
-	if (out != NULL)
-	    {
-	    errno = EINVAL;
-	    perror("Invalid '|' and '>' specified");
-	    exit(EXIT_ERR);
-	    }
-	strcpy(subcmd, cmargv[0]);
-	for (j = 1; j < cmargc; ++j)
-	    {
-	    strcat(subcmd, " \"");
-	    strcat(subcmd, cmargv[j]);
-	    strcat(subcmd, "\"");
-	    }
-	out = pipe_and_fork(subcmd);
-	outmode = "wb";
-	}
-	
-    /* Check for input from a pipe (mailbox) */
-
-    if(fstat(0, &statbuf) == 0){
-	if(strncmp(statbuf.st_dev, "MB", 2) == 0 || 
-	    strncmp(statbuf.st_dev, "_MB", 3) == 0){
-
-	    /* Input from a pipe, reopen it in binary mode to disable	*/
-	    /* carriage control processing.				*/
-
-	    if (in != NULL){
-		errno = EINVAL;
-		perror("Invalid '|' and '<' specified");
-		exit(EXIT_ERR);
-		}
-	    freopen(statbuf.st_dev, "rb", stdin);
-	    }
-	}
-    else {
-	perror("fstat failed");
-	exit(EXIT_ERR);
-	}
-
-#ifdef __ALPHA
-        /*, "mbc=32", "mbf=2"))) blows up on the ALPHA cbm 11/08/92 */
-    if ((in != NULL) && (NULL == freopen(in, "r", stdin)))
-        {
-#else
-    if ((in != NULL) && (NULL == freopen(in, "r", stdin, "mbc=32", "mbf=2")))
-	{
-#endif
-	perror(in);    	       	/* Can't find file		*/
-	exit(EXIT_ERR);		/* Is a fatal error		*/
-	}
-#ifdef __ALPHA
-    if ((out != NULL) && (NULL == freopen(out, outmode, stdout)))
-        {
-#else
-    if ((out != NULL) && (NULL == freopen(out, outmode, stdout, "mbc=32", "mbf=2")))
-	{	
-#endif
-	perror(ap);		/* Error, can't write or append	*/
-	exit(EXIT_ERR);		/* Is a fatal error		*/
-	}
-
-     if ( new_file ) {
-	/*
-	 * We are making an explicit output file, fstat the file and
-         * declare exit handler to be able change the file to fixed length
-	 * records if necessary. 
-	 */
-	char fname[256];
-	static int outfile_rundown(), check_outfile_filetype();
-	static stat_t ofile_stat;
-	static struct exit_control_block {
-    	    struct exit_control_block *flink;
-    	    int	(*exit_routine)();
-	    int arg_count;
-	    int *status_address;	/* arg 1 */
-	    stat_t *stat;		/* arg 2 */
-	    int exit_status;
-	    int skew[128];
-	} exit_block = 
-	    { 0, outfile_rundown, 2, &exit_block.exit_status, &ofile_stat, 0 };
-
-	if ( fstat ( fileno(stdout), &ofile_stat ) == 0 )
-	     sys$dclexh ( &exit_block );
-	else fprintf(stderr,"Error fstating stdout - %s\n",
-		strerror(errno,vaxc$errno) );
-
-	if ( fgetname ( stdout, fname, 0 ) ) check_outfile_filetype ( fname );
-     }
-#ifdef DEBUG
-    fprintf(stderr, "Arglist:\n");
-    for (j = 0; j < *ac;  ++j)
-	fprintf(stderr, "argv[%d] = '%s'\n", j, argv[j]);
-#endif
-}
-
-static int binary_outfile = 0;
-void set_outfile_binary() { binary_outfile = 1; return; }
-
-/*
- * Check if output file should be set to binary (fixed 512) on exit based
- * upon the filetype.
- */
-static int check_outfile_filetype ( name )
-    char *name;
-{
-    char *binary_filetypes, *ext, *p, *t;
-    binary_filetypes = (char *) getenv ( "PBM_BINARY_FILETYPES" );
-    if ( binary_filetypes == NULL ) return 0;
-
-    ext = strchr ( name, '.' );  if ( ext == NULL ) return 0;
-    ext++;
-    t = strrchr ( name, '.' );   if ( t != NULL ) *t = '\0';
-
-    for ( p = binary_filetypes; *p != '\0'; p++ ) {
-	for ( t = p;
-	      (*p != '\0' ) && (strchr ( ", 	", *p ) == NULL); 
-	     p++ ) *p = toupper(*p);
-	*p = '\0';
-
-	if ( strcmp ( t, ext ) == 0 ) {
-	    binary_outfile = 1;
-	    break;
-	}
-    }
-    return binary_outfile;
-}
-
-
-/*
- * Exit handler to set output file to binary on image exit.
- */
-static int outfile_rundown ( reason, statbuf )
-    int *reason;
-    stat_t *statbuf;
-{
-    int code, channel, status, LIB$GETDVI(), sys$assign(), sys$qiow();
-    long int fib_desc[2], devchar;
-    short int iosb[4];
-    $DESCRIPTOR(device, statbuf->st_dev);
-    struct fibdef fib;		/* File information block (XQP) */
-    struct atrdef atr[2];
-    struct fat {
-      unsigned char rtype, ratattrib;
-      unsigned short int rsize, hiblk[2], efblk[2], ffbyte, maxrec, defext, gbc;
-      unsigned short int reserved[4], versions;
-    } rat;
-
-    if ( !binary_outfile ) return 1;	/* leave file alone */
-    /*
-     * Assign channel to device listed in stat block and test if it is
-     * a directory structured device, returning if not.
-     */
-    device.dsc$w_length = strlen ( statbuf->st_dev );
-    status = sys$assign ( &device, &channel, 0, 0 );
-    if ((status & 1) == 0) { fprintf(stderr, 
-	"assign error to %s (%d)\n", device.dsc$a_pointer, status);
-		return status; }
-    code = DVI$_DEVCHAR;
-    status = LIB$GETDVI ( &code, &channel, 0, &devchar );
-    if ((status & 1) == 0) { fprintf(stderr, "getdvi error: %d\n", status);
-		return status; }
-    if ( (devchar & DEV$M_DIR) == 0 ) return 1;
-    /*
-     * Build File Information Block and Atrribute block.
-     */
-#ifdef __ALPHA
-    fib.fib$w_fid[0] = statbuf->st_ino[0];
-    fib.fib$w_fid[1] = statbuf->st_ino[1];
-    fib.fib$w_fid[2] = statbuf->st_ino[2];
-#else
-    fib.fib$r_fid_overlay.fib$w_fid[0] = statbuf->st_ino[0];
-    fib.fib$r_fid_overlay.fib$w_fid[1] = statbuf->st_ino[1];
-    fib.fib$r_fid_overlay.fib$w_fid[2] = statbuf->st_ino[2];
-#endif
-
-    atr[0].atr$w_size = sizeof(rat);
-    atr[0].atr$w_type = ATR$C_RECATTR;
-    atr[0].atr$l_addr = &rat;
-    atr[1].atr$w_size = 0; atr[1].atr$w_type = 0;
-    /*
-     * Perform access function with read_attributes sub-function.
-     */
-    freopen ( "SYS$OUTPUT:", "a", stdout );
-    fib_desc[0] = 10; fib_desc[1] = (long int) &fib;
-#ifdef __ALPHA
-    fib.fib$l_acctl = FIB$M_WRITE;
-#else
-    fib.fib$r_acctl_overlay.fib$l_acctl = FIB$M_WRITE;
-#endif
-    status = sys$qiow ( 0, channel, IO$_ACCESS|IO$M_ACCESS,
-		 &iosb, 0, 0, &fib_desc, 0, 0, 0, &atr, 0 );
-    /*
-     * If status successful, update record byte and perform a MODIFY.
-     */
-    if ( (status&1) == 1 ) status = iosb[0];
-    if ( (status&1) == 1 ) {
-      rat.rtype = 1;		/* fixed length records */
-      rat.rsize = 512;  	/* 512 byte block recrods */
-      rat.ratattrib = 0;        /* Record attributes: none */
-
-     status = sys$qiow
-	( 0, channel, IO$_MODIFY, &iosb, 0, 0, &fib_desc, 0, 0, 0, &atr, 0 );
-       if ( (status&1) == 1 ) status = iosb[0];
-   }
-   sys$dassgn ( channel );
-   if ( (status & 1) == 0 ) fprintf ( stderr,
-	"Failed to convert output file to binary format, status: %d\n", status);
-   return status;
-}
-
-
-static add_item(head, tail, value, count)
-struct list_item **head;
-struct list_item **tail;
-char *value;
-int *count;
-{
-    if (*head == 0)
-	{
-	if (NULL == (*head = calloc(1, sizeof(**head))))
-	    {
-	    errno = ENOMEM;
-	    perror("");
-	    exit(EXIT_ERR);
-	    }
-	*tail = *head;
-	}
-    else
-	if (NULL == ((*tail)->next = calloc(1, sizeof(**head))))
-	    {
-	    errno = ENOMEM;
-	    perror("");
-	    exit(EXIT_ERR);
-	    }
-	else
-	    *tail = (*tail)->next;
-    (*tail)->value = value;
-    ++(*count);
-}
-
-static expand_wild_cards(item, head, tail, count)
-char *item;
-struct ltem_list **head;
-struct ltem_list **tail;
-int *count;
-{
-int expcount = 0;
-int context = 0;
-int status;
-int status_value;
-int had_version;
-$DESCRIPTOR(filespec, item);
-$DESCRIPTOR(defaultspec, "SYS$DISK:[]*.*;");
-$DESCRIPTOR(resultspec, "");
-
-    if (strcspn(item, "*%") == strlen(item))
-	{
-	add_item(head, tail, item, count);
-	return;
-	}
-    resultspec.dsc$b_dtype = DSC$K_DTYPE_T;
-    resultspec.dsc$b_class = DSC$K_CLASS_D;
-    resultspec.dsc$a_pointer = NULL;
-    filespec.dsc$w_length = strlen(item);
-    /*
-     * Only return version specs, if the caller specified a version
-     */
-    had_version = strchr(item, ';');
-    while (1 == (1&lib$find_file(&filespec, &resultspec, &context,
-    				 &defaultspec, 0, &status_value, &0)))
-	{
-	char *string;
-	char *c;
-
-	if (NULL == (string = calloc(1, resultspec.dsc$w_length+1)))
-	    {
-	    errno = ENOMEM;
-	    perror("");
-	    exit(EXIT_ERR);
-	    }
-	strncpy(string, resultspec.dsc$a_pointer, resultspec.dsc$w_length);
-	string[resultspec.dsc$w_length] = '\0';
-	if (NULL == had_version)
-	    *((char *)strrchr(string, ';')) = '\0';
-	/*
-	 * Be consistent with what the C RTL has already done to the rest of
-	 * the argv items and lowercase all of these names.
-	 */
-	for (c = string; *c; ++c)
-	    if (isupper(*c))
-		*c = tolower(*c);
-	add_item(head, tail, string, count);
-	++expcount;
-	}
-    if (expcount == 0)
-	add_item(head, tail, item, count);
-    lib$sfree1_dd(&resultspec);
-    lib$find_file_end(&context);
-}
-
-static int child_st[2];	/* Event Flag set when child process completes	*/
-
-static short child_chan;/* I/O Channel for Pipe Mailbox			*/
-
-static exit_handler(status)
-int *status;
-{
-short iosb[4];
-
-    if (0 == child_st[0])
-	{
-#ifdef DEBUG
-	fprintf(stderr, "Waiting for Child Process to Finnish . . .\n");
-#endif
-	fflush(stdout);	    /* Have to flush pipe for binary data to	*/
-			    /* terminate properly -- <tp@mccall.com>	*/
-#ifdef DEBUG
-	fprintf(stderr, "    stdout flushed. . .\n");
-#endif
-	sys$qio(0, child_chan, IO$_WRITEOF, iosb, 0, 0, 0, 0, 0, 0, 0, 0);
-#ifdef DEBUG
-	fprintf(stderr, "    Pipe terminated. . .\n");
-#endif
-	fclose(stdout);
-#ifdef DEBUG
-	fprintf(stderr, "    stdout closed. . .\n");
-#endif
-	sys$synch(0, child_st);
-	sys$dassgn(child_chan);
-	}
-#ifdef DEBUG
-	fprintf(stderr, "    sync done. . .\n");
-#endif
-}
-
-#include <syidef>		/* System Information Definitions	*/
-
-static sig_child(chan)
-int chan;
-{
-#ifdef DEBUG
-    fprintf(stderr, "Child Completion AST, st: %x\n", child_st[0] );
-#endif
-    if (child_st[0] == 0)
-	{ child_st[0] = 1; }
-    sys$setef ( 0 );
-}
-
-static struct exit_control_block
-    {
-    struct exit_control_block *flink;
-    int	(*exit_routine)();
-    int arg_count;
-    int *status_address;
-    int exit_status;
-    } exit_block =
-    {
-    0,
-    exit_handler,
-    1,
-    &exit_block.exit_status,
-    0
-    };
-
-static char *pipe_and_fork(cmd)
-char *cmd;
-{
-    $DESCRIPTOR(cmddsc, cmd);
-    static char mbxname[64], ef = 0;
-    $DESCRIPTOR(mbxdsc, mbxname);
-    short iosb[4];
-    int status;
-    int pid;
-    struct
-	{
-	short dna_buflen;
-	short dna_itmcod;
-	char *dna_buffer;
-	short *dna_retlen;
-	int listend;
-	} itmlst =
-	{
-	sizeof(mbxname),
-	DVI$_DEVNAM,
-	mbxname,
-	&mbxdsc.dsc$w_length,
-	0
-	};
-    int mbxsize;
-    struct
-	{
-	short mbf_buflen;
-	short mbf_itmcod;
-	int *mbf_maxbuf;
-	short *mbf_retlen;
-	int listend;
-	} syiitmlst =
-	{
-	sizeof(mbxsize),
-	SYI$_MAXBUF,
-	&mbxsize,
-	0,
-	0
-	};
-
-    cmddsc.dsc$w_length = strlen(cmd);
-    /*
-     * Get the SYSGEN parameter MAXBUF, and the smaller of it and 2048 as
-     * the size of the 'pipe' mailbox.
-     */
-    if (1 == (1&(vaxc$errno = sys$getsyiw(0, 0, 0, &syiitmlst, iosb, 0, 0, 0))))
-	vaxc$errno = iosb[0];
-    if (0 == (1&vaxc$errno))
-	{
- 	errno = EVMSERR;
-	perror("Can't get SYSGEN parameter value for MAXBUF");
-	exit(EXIT_ERR);
-	}
-    if (mbxsize > 2048)
-	mbxsize = 2048;
-    if (0 == (1&(vaxc$errno = sys$crembx(0, &child_chan, mbxsize, mbxsize, 0, 0, 0))))
-	{
-	errno = EVMSERR;
-	perror("Can't create pipe mailbox");
-	exit(EXIT_ERR);
-	}
-    if (1 == (1&(vaxc$errno = sys$getdviw(0, child_chan, 0, &itmlst, iosb,
-    					  0, 0, 0))))
-	vaxc$errno = iosb[0];
-    if (0 == (1&vaxc$errno))
-	{
- 	errno = EVMSERR;
-	perror("Can't get pipe mailbox device name");
-	exit(EXIT_ERR);
-	}
-    mbxname[mbxdsc.dsc$w_length] = '\0';
-#ifdef DEBUG
-    fprintf(stderr, "Pipe Mailbox Name = '%s'\n", mbxname);
-#endif
-    if (0 == (1&(vaxc$errno = lib$spawn(&cmddsc, &mbxdsc, 0, &1,
-    					0, &pid, child_st, &ef, sig_child,
-    					&child_chan))))
-	{
-	errno = EVMSERR;
-	perror("Can't spawn subprocess");
-	exit(EXIT_ERR);
-	}
-#ifdef DEBUG
-    fprintf(stderr, "Subprocess's Pid = %08X\n", pid);
-#endif
-    sys$dclexh(&exit_block);
-    return(mbxname);
-}
-
-background_process(argc, argv)
-int argc;
-char **argv;
-{
-char command[2048] = "$";
-$DESCRIPTOR(value, command);
-$DESCRIPTOR(cmd, "BACKGROUND$COMMAND");
-$DESCRIPTOR(null, "NLA0:");
-int pid;
-
-    strcat(command, argv[0]);
-    while (--argc)
-	{
-	strcat(command, " \"");
-	strcat(command, *(++argv));
-	strcat(command, "\"");
-	}
-    value.dsc$w_length = strlen(command);
-    if (0 == (1&(vaxc$errno = lib$set_symbol(&cmd, &value))))
-	{
-	errno = EVMSERR;
-	perror("Can't create symbol for subprocess command");
-	exit(EXIT_ERR);
-	}
-    if (0 == (1&(vaxc$errno = lib$spawn(&cmd, &null, 0, &17, 0, &pid))))
-	{
-	errno = EVMSERR;
-	perror("Can't spawn subprocess");
-	exit(EXIT_ERR);
-	}
-#ifdef DEBUG
-    fprintf(stderr, "%s\n", command);
-#endif
-    fprintf(stderr, "%08X\n", pid);
-    return(EXIT_OK);
-}
-
-/* got this off net.sources */
-
-#ifdef	VMS
-#define	index	strchr
-#endif	/*VMS*/
-
-/*
- * get option letter from argument vector
- */
-int	opterr = 1,		/* useless, never set or used */
-	optind = 1,		/* index into parent argv vector */
-	optopt;			/* character checked for validity */
-char	*optarg;		/* argument associated with option */
-
-#define BADCH	(int)'?'
-#define EMSG	""
-#define tell(s)	fputs(progname,stderr);fputs(s,stderr); \
-		fputc(optopt,stderr);fputc('\n',stderr);return(BADCH);
-
-getopt(nargc,nargv,ostr)
-int	nargc;
-char	**nargv,
-	*ostr;
-{
-	static char	*place = EMSG;	/* option letter processing */
-	register char	*oli;		/* option letter list index */
-	char	*index();
-	char *progname;
-
-	if(!*place) {			/* update scanning pointer */
-		if(optind >= nargc || *(place = nargv[optind]) != '-' || !*++place) return(EOF);
-		if (*place == '-') {	/* found "--" */
-			++optind;
-			return(EOF);
-		}
-	}				/* option letter okay? */
-	if ((optopt = (int)*place++) == (int)':' || !(oli = index(ostr,optopt))) {
-		if(!*place) ++optind;
-#ifdef VMS
-		progname = strrchr(nargv[0],']');
-#else
-		progname = rindex(nargv[0],'/');
-#endif
-		if (!progname) progname = nargv[0]; else progname++;
-		tell(": illegal option -- ");
-	}
-	if (*++oli != ':') {		/* don't need argument */
-		optarg = NULL;
-		if (!*place) ++optind;
-	}
-	else {				/* need an argument */
-		if (*place) optarg = place;	/* no white space */
-		else if (nargc <= ++optind) {	/* no arg */
-			place = EMSG;
-#ifdef VMS
-			progname = strrchr(nargv[0],']');
-#else
-			progname = rindex(nargv[0],'/');
-#endif
-			if (!progname) progname = nargv[0]; else progname++;
-			tell(": option requires an argument -- ");
-		}
-	 	else optarg = nargv[optind];	/* white space */
-		place = EMSG;
-		++optind;
-	}
-	return(optopt);			/* dump back option letter */
-}
diff --git a/lib/libpgm2.c b/lib/libpgm2.c
index 00929c5a..21e5ef9a 100644
--- a/lib/libpgm2.c
+++ b/lib/libpgm2.c
@@ -37,10 +37,6 @@ pgm_writepgminit(FILE * const fileP,
             PGM_MAGIC1, 
             plainFormat || maxval >= 1<<16 ? PGM_MAGIC2 : RPGM_MAGIC2, 
             cols, rows, maxval );
-#ifdef VMS
-    if (!plainFormat)
-        set_outfile_binary();
-#endif
 }
 
 
diff --git a/lib/libpm.c b/lib/libpm.c
index c563c8b1..edf84a17 100644
--- a/lib/libpm.c
+++ b/lib/libpm.c
@@ -562,37 +562,6 @@ pm_lcm(unsigned int const x,
 }
 
 
-/* Initialization. */
-
-
-#ifdef VMS
-static const char *
-vmsProgname(int * const argcP, char * argv[]) {   
-    char **temp_argv = argv;
-    int old_argc = *argcP;
-    int i;
-    const char * retval;
-    
-    getredirection( argcP, &temp_argv );
-    if (*argcP > old_argc) {
-        /* Number of command line arguments has increased */
-        fprintf( stderr, "Sorry!! getredirection() for VMS has "
-                 "changed the argument list!!!\n");
-        fprintf( stderr, "This is intolerable at the present time, "
-                 "so we must stop!!!\n");
-        exit(1);
-    }
-    for (i=0; i<*argcP; i++)
-        argv[i] = temp_argv[i];
-    retval = strrchr( argv[0], '/');
-    if ( retval == NULL ) retval = rindex( argv[0], ']');
-    if ( retval == NULL ) retval = rindex( argv[0], '>');
-
-    return retval;
-}
-#endif
-
-
 
 void
 pm_init(const char * const progname,
@@ -642,11 +611,7 @@ showVersion(void) {
     pm_message( "BSD defined" );
 #endif /*BSD*/
 #ifdef SYSV
-#ifdef VMS
-    pm_message( "VMS & SYSV defined" );
-#else
     pm_message( "SYSV defined" );
-#endif
 #endif /*SYSV*/
 #ifdef MSDOS
     pm_message( "MSDOS defined" );
@@ -751,11 +716,7 @@ pm_proginit(int * const argcP, const char * argv[]) {
         */
     
     /* Extract program name. */
-#ifdef VMS
-    progname = vmsProgname(argcP, argv);
-#else
     progname = strrchr( argv[0], '/');
-#endif
     if (progname == NULL)
         progname = argv[0];
     else
diff --git a/lib/libppm2.c b/lib/libppm2.c
index 9d877bd3..fd26d2d8 100644
--- a/lib/libppm2.c
+++ b/lib/libppm2.c
@@ -36,10 +36,6 @@ ppm_writeppminit(FILE*  const fileP,
             PPM_MAGIC1, 
             plainFormat || maxval >= 1<<16 ? PPM_MAGIC2 : RPPM_MAGIC2, 
             cols, rows, maxval );
-#ifdef VMS
-    if (!plainFormat)
-        set_outfile_binary();
-#endif
 }
 
 
diff --git a/lib/pm.h b/lib/pm.h
index 415b8684..644e2670 100644
--- a/lib/pm.h
+++ b/lib/pm.h
@@ -22,10 +22,6 @@
 #include <setjmp.h>
 #include <sys/stat.h>
 
-#ifdef VMS
-#include <perror.h>
-#endif
-
 #ifdef __cplusplus
 extern "C" {
 #endif
diff --git a/lib/pmfileio.c b/lib/pmfileio.c
index 585b0d0f..819a0343 100644
--- a/lib/pmfileio.c
+++ b/lib/pmfileio.c
@@ -48,18 +48,14 @@
 
 /* File open/close that handles "-" as stdin/stdout and checks errors. */
 
-FILE*
+FILE *
 pm_openr(const char * const name) {
-    FILE* f;
+    FILE * f;
 
-    if (strcmp(name, "-") == 0)
+    if (streq(name, "-"))
         f = stdin;
     else {
-#ifndef VMS
         f = fopen(name, "rb");
-#else
-        f = fopen(name, "r", "ctx=stm");
-#endif
         if (f == NULL) 
             pm_error("Unable to open file '%s' for reading.  "
                      "fopen() returns errno %d (%s)", 
@@ -70,18 +66,14 @@ pm_openr(const char * const name) {
 
 
 
-FILE*
+FILE *
 pm_openw(const char * const name) {
-    FILE* f;
+    FILE * f;
 
-    if (strcmp(name, "-") == 0)
+    if (streq(name, "-"))
         f = stdout;
     else {
-#ifndef VMS
         f = fopen(name, "wb");
-#else
-        f = fopen(name, "w", "mbc=32", "mbf=2");  /* set buffer factors */
-#endif
         if (f == NULL) 
             pm_error("Unable to open file '%s' for writing.  "
                      "fopen() returns errno %d (%s)", 
diff --git a/pm_config.in.h b/pm_config.in.h
index c2f75454..f6847731 100644
--- a/pm_config.in.h
+++ b/pm_config.in.h
@@ -15,7 +15,7 @@
 
 **************************************************************************/
 
-#if defined(USG) || defined(SVR4) || defined(VMS) || defined(__SVR4)
+#if defined(USG) || defined(SVR4) || defined(__SVR4)
 #define SYSV
 #endif
 #if !( defined(BSD) || defined(SYSV) || defined(MSDOS) || defined(__amigaos__))
@@ -74,25 +74,6 @@
 #if (defined(SYSV) || defined(__amigaos__))
 
 #include <string.h>
-/* Before Netpbm 9.1, rand and srand were macros for random and
-   srandom here.  This caused a failure on a SunOS 5.6 system, which
-   is SYSV, but has both rand and random declared (with different
-   return types).  The macro caused the prototype for random to be a
-   second prototype for rand.  Before 9.1, Netpbm programs called
-   random() and on a SVID system, that was really a call to rand().
-   We assume all modern systems have rand() itself, so now Netpbm
-   always calls rand() and if we find a platform that doesn't have
-   rand(), we will add something here for that platform.  -Bryan 00.04.26
-#define random rand
-#define srandom(s) srand(s)
-extern void srand();
-extern int rand();
-*/
-/* Before Netpbm 9.15, there were macro definitions of index() and 
-   rindex() here, but there are no longer any invocations of those 
-   functions in Netpbm, except in the VMS-only code, so there's no
-   reason for them.
-*/
 
 #ifndef __SASC
 #ifndef _DCC    /* Amiga DICE Compiler */
@@ -115,7 +96,7 @@ extern int rand();
 #ifdef BSD
 #include <stdlib.h>
 #endif
-#if (defined(SYSV) && !defined(VMS))
+#if defined(SYSV)
 #include <malloc.h>
 #endif
 /* extern char* malloc(); */
diff --git a/vms/Add_List.com b/vms/Add_List.com
deleted file mode 100755
index 830cfc96..00000000
--- a/vms/Add_List.com
+++ /dev/null
@@ -1,59 +0,0 @@
-$ VERIFY = F$Verify (0)
-$!
-$!     ADD_LIST.COM command procedure
-$!         Usage:
-$!             ADD_LIST library file_spec [logical_name_table]
-$!
-$!     Last Modified: 18-JAN-1991 Rick Dyson
-$!
-$!     Escape routes
-$ On Control_Y Then GoTo FINISH
-$ On Error     Then GoTo FINISH
-$ On Warning   Then GoTo FINISH
-$ On Severe    Then GoTo FINISH
-$!
-$!     We're out'a here if the calling parameter is null
-$ P2 = F$Edit (P2, "TRIM, UPCASE")
-$ If P2 .eqs. "" Then GoTo FINISH
-$!
-$!     Check logical name table argument and default if necessary.
-$!
-$ TABLE = F$Edit (P3, "UNCOMMENT, UPCASE, TRIM")
-$ If (TABLE .eqs. "PROCESS")
-$    Then
-$    Else If (TABLE .eqs. "GROUP")
-$            Then
-$            Else If (TABLE .eqs. "JOB")
-$                    Then
-$                    Else If (TABLE .eqs. "SYSTEM")
-$                            Then
-$                            Else
-$                                TABLE = "Process"
-$                         EndIf
-$                 EndIf
-$         EndIf
-$ EndIf
-$!
-$! Check the first value in the library list
-$ LIB = P1
-$ X = F$TrnLnm (LIB, "LNM$''TABLE'")
-$ If X .eqs. "" Then GoTo INSERT
-$ If X .eqs. P2 Then GoTo FINISH
-$!
-$! Find the first free logical to assign the library file to
-$ BASE = P1 + "_"
-$ N = 1
-$NEXTLIB:
-$   LIB := 'BASE''N'
-$   X = F$TrnLnm (LIB, "LNM$''TABLE'")
-$   If X .eqs. "" Then GoTo INSERT
-$   If X .eqs. P2 Then GoTo FINISH
-$   N = N + 1
-$   GoTo NEXTLIB
-$!
-$! Add the library file to the library file list
-$INSERT:
-$   Define /'TABLE' 'LIB' 'P2'
-$FINISH:
-$   VERIFY = F$Verify (VERIFY)
-$   Exit
diff --git a/vms/Make_PBMplus.com b/vms/Make_PBMplus.com
deleted file mode 100755
index d3243d96..00000000
--- a/vms/Make_PBMplus.com
+++ /dev/null
@@ -1,519 +0,0 @@
-$ If F$Mode () .eqs. "INTERACTIVE"
-$    Then
-$        VERIFY = F$Verify (0)
-$    Else
-$        VERIFY = F$Verify (1)
-$ EndIf
-$ THIS_PATH = F$Element (0, "]", F$Environment ("PROCEDURE")) + "]"
-$ Set Default 'THIS_PATH'
-$!
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) + ".]"
-$ Define /NoLog /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ Define /NoLog PBMplus_Dir PBMplus_Root:[000000]
-$ Define /NoLog PBMplusShr PBMplus_Dir:PBMplusShr
-$ @ PBMplus_Dir:STAMP-DATE.COM
-$ Purge /NoLog /NoConfirm COMPILE.H
-$!
-$!            Make the Shareable Library
-$!
-$ Set Default PBMplus_Root:[pbm]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PBM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ CC /NOLIST/OBJECT=LIBPBM1.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] LIBPBM1.C
-$ CC /NOLIST/OBJECT=LIBPBM2.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] LIBPBM2.C
-$ CC /NOLIST/OBJECT=LIBPBM3.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] LIBPBM3.C
-$ CC /NOLIST/OBJECT=LIBPBM4.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] LIBPBM4.C
-$ CC /NOLIST/OBJECT=LIBPBM5.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] LIBPBM5.C
-$ Library /Create libpbm.olb libpbm%.obj
-$ Set Default PBMplus_Root:[pgm]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PGM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ CC /NOLIST/OBJECT=LIBPGM1.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) LIBPGM1.C
-$ CC /NOLIST/OBJECT=LIBPGM2.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) LIBPGM2.C
-$ Library /Create libpgm.olb libpgm%.obj
-$ Set Default PBMplus_Root:[ppm]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PPM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ CC /NOLIST/OBJECT=LIBPPM1.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) LIBPPM1.C
-$ CC /NOLIST/OBJECT=LIBPPM2.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) LIBPPM2.C
-$ CC /NOLIST/OBJECT=LIBPPM3.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) LIBPPM3.C
-$ CC /NOLIST/OBJECT=LIBPPM4.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) LIBPPM4.C
-$ CC /NOLIST/OBJECT=LIBPPM5.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) LIBPPM5.C
-$ CC /NOLIST/OBJECT=BITIO.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) BITIO.C
-$ Library /Create libppm.olb libppm%.obj,bitio.obj
-$ Set Default PBMplus_Root:[pnm]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PNM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ CC /NOLIST/OBJECT=LIBPNM1.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) LIBPNM1.C
-$ CC /NOLIST/OBJECT=LIBPNM2.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) LIBPNM2.C
-$ CC /NOLIST/OBJECT=LIBPNM3.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) LIBPNM3.C
-$ CC /NOLIST/OBJECT=LIBPNM4.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) LIBPNM4.C
-$ Library /Create libpnm.olb libpnm%.obj
-$ Set Default PBMplus_Dir
-$ @ PBMplus_Dir:MAKE_PBMplusShr.COM
-$!
-$!		PBM
-$!
-$ Set Default PBMplus_Root:[pbm]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PBM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ CC /NOLIST/OBJECT=ATKTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] ATKTOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=ATKTOPBM.EXE ATKTOPBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=BRUSHTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] BRUSHTOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=BRUSHTOPBM.EXE BRUSHTOPBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=CMUWMTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] CMUWMTOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=CMUWMTOPBM.EXE CMUWMTOPBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=G3TOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] G3TOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=G3TOPBM.EXE G3TOPBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=GEMTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] GEMTOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=GEMTOPBM.EXE GEMTOPBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=ICONTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] ICONTOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=ICONTOPBM.EXE ICONTOPBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=MACPTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] MACPTOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=MACPTOPBM.EXE MACPTOPBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=MGRTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] MGRTOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=MGRTOPBM.EXE MGRTOPBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMLIFE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMLIFE.C
-$ LINK /TRACE/NOMAP/EXEC=PBMLIFE.EXE PBMLIFE.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMMAKE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMMAKE.C
-$ LINK /TRACE/NOMAP/EXEC=PBMMAKE.EXE PBMMAKE.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMMASK.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMMASK.C
-$ LINK /TRACE/NOMAP/EXEC=PBMMASK.EXE PBMMASK.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMREDUCE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMREDUCE.C
-$ LINK /TRACE/NOMAP/EXEC=PBMREDUCE.EXE PBMREDUCE.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTEXT.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTEXT.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTEXT.EXE PBMTEXT.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTO10X.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTO10X.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTO10X.EXE PBMTO10X.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTO4425.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTO4425.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTO4425.EXE PBMTO4425.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOASCII.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOASCII.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOASCII.EXE PBMTOASCII.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOATK.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOATK.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOATK.EXE PBMTOATK.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOBBNBG.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOBBNBG.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOBBNBG.EXE PBMTOBBNBG.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOCMUWM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOCMUWM.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOCMUWM.EXE PBMTOCMUWM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOEPSON.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOEPSON.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOEPSON.EXE PBMTOEPSON.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOG3.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOG3.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOG3.EXE PBMTOG3.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOGEM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOGEM.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOGEM.EXE PBMTOGEM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOGO.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOGO.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOGO.EXE PBMTOGO.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOICON.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOICON.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOICON.EXE PBMTOICON.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOLJ.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOLJ.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOLJ.EXE PBMTOLJ.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOMACP.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOMACP.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOMACP.EXE PBMTOMACP.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOMGR.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOMGR.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOMGR.EXE PBMTOMGR.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOPI3.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOPI3.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOPI3.EXE PBMTOPI3.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOPLOT.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOPLOT.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOPLOT.EXE PBMTOPLOT.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOPTX.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOPTX.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOPTX.EXE PBMTOPTX.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOX10BM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOX10BM.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOX10BM.EXE PBMTOX10BM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOXBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOXBM.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOXBM.EXE PBMTOXBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOYBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOYBM.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOYBM.EXE PBMTOYBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOZINC.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOZINC.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOZINC.EXE PBMTOZINC.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMUPC.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMUPC.C
-$ LINK /TRACE/NOMAP/EXEC=PBMUPC.EXE PBMUPC.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PI3TOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PI3TOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=PI3TOPBM.EXE PI3TOPBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=XBMTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] XBMTOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=XBMTOPBM.EXE XBMTOPBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=YBMTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] YBMTOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=YBMTOPBM.EXE YBMTOPBM.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOLN03.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOLN03.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOLN03.EXE PBMTOLN03.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMCLEAN.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMCLEAN.C
-$ LINK /TRACE/NOMAP/EXEC=PBMCLEAN.EXE PBMCLEAN.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMPSCALE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMPSCALE.C
-$ LINK /TRACE/NOMAP/EXEC=PBMPSCALE.EXE PBMPSCALE.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOEPSI.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOEPSI.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOEPSI.EXE PBMTOEPSI.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOLPS.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOLPS.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOLPS.EXE PBMTOLPS.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PBMTOPK.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PBMTOPK.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOPK.EXE PBMTOPK.obj,PBMplusSHR/Option
-$ CC /NOLIST/OBJECT=PKTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = [-] PKTOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=PKTOPBM.EXE PKTOPBM.obj,PBMplusSHR/Option
-$ Set Protection = (System:RWE, Owner:RWE, Group:RE, World:RE) *.exe
-$!
-$!		PGM
-$!
-$ Set Default PBMplus_Root:[pgm]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PGM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ CC /NOLIST/OBJECT=ASCIITOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) ASCIITOPGM.C
-$ LINK /TRACE/NOMAP/EXEC=ASCIITOPGM.EXE ASCIITOPGM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=FSTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) FSTOPGM.C
-$ LINK /TRACE/NOMAP/EXEC=FSTOPGM.EXE FSTOPGM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=HIPSTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) HIPSTOPGM.C
-$ LINK /TRACE/NOMAP/EXEC=HIPSTOPGM.EXE HIPSTOPGM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=LISPMTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) LISPMTOPGM.C
-$ LINK /TRACE/NOMAP/EXEC=LISPMTOPGM.EXE LISPMTOPGM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMBENTLEY.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMBENTLEY.C
-$ LINK /TRACE/NOMAP/EXEC=PGMBENTLEY.EXE PGMBENTLEY.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMCRATER.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMCRATER.C
-$ LINK /TRACE/NOMAP/EXEC=PGMCRATER.EXE PGMCRATER.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMEDGE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMEDGE.C
-$ LINK /TRACE/NOMAP/EXEC=PGMEDGE.EXE PGMEDGE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMENHANCE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMENHANCE.C
-$ LINK /TRACE/NOMAP/EXEC=PGMENHANCE.EXE PGMENHANCE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMHIST.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMHIST.C
-$ LINK /TRACE/NOMAP/EXEC=PGMHIST.EXE PGMHIST.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMKERNEL.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMKERNEL.C
-$ LINK /TRACE/NOMAP/EXEC=PGMKERNEL.EXE PGMKERNEL.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMNOISE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMNOISE.C
-$ LINK /TRACE/NOMAP/EXEC=PGMNOISE.EXE PGMNOISE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMNORM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMNORM.C
-$ LINK /TRACE/NOMAP/EXEC=PGMNORM.EXE PGMNORM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMOIL.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMOIL.C
-$ LINK /TRACE/NOMAP/EXEC=PGMOIL.EXE PGMOIL.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMRAMP.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMRAMP.C
-$ LINK /TRACE/NOMAP/EXEC=PGMRAMP.EXE PGMRAMP.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMTOFS.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMTOFS.C
-$ LINK /TRACE/NOMAP/EXEC=PGMTOFS.EXE PGMTOFS.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMTOLISPM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMTOLISPM.C
-$ LINK /TRACE/NOMAP/EXEC=PGMTOLISPM.EXE PGMTOLISPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMTOPBM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMTOPBM.C
-$ LINK /TRACE/NOMAP/EXEC=PGMTOPBM.EXE PGMTOPBM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PSIDTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PSIDTOPGM.C
-$ LINK /TRACE/NOMAP/EXEC=PSIDTOPGM.EXE PSIDTOPGM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=RAWTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) RAWTOPGM.C
-$ LINK /TRACE/NOMAP/EXEC=RAWTOPGM.EXE RAWTOPGM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMTEXTURE.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PGMTEXTURE.C
-$ LINK /TRACE/NOMAP/EXEC=PGMTEXTURE.EXE PGMTEXTURE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=BIORADTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) BIORADTOPGM.C
-$ LINK /TRACE/NOMAP/EXEC=BIORADTOPGM.EXE BIORADTOPGM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PBMTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) PBMTOPGM.C
-$ LINK /TRACE/NOMAP/EXEC=PBMTOPGM.EXE PBMTOPGM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=SPOTTOPGM.OBJ /Define = (PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-.pbm],[-]) SPOTTOPGM.C
-$ LINK /TRACE/NOMAP/EXEC=SPOTTOPGM.EXE SPOTTOPGM.obj,[-]PBMplusSHR.OPT/Option
-$ Set Protection = (System:RWE, Owner:RWE, Group:RE, World:RE) *.exe
-$!
-$!		PPM
-$!
-$ Set Default PBMplus_Root:[ppm]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PPM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ CC /NOLIST/OBJECT=GOULDTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) GOULDTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=GOULDTOPPM.EXE GOULDTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=HPCDTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) HPCDTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=HPCDTOPPM.EXE HPCDTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=ILBMTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) ILBMTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=ILBMTOPPM.EXE ILBMTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=IMGTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) IMGTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=IMGTOPPM.EXE IMGTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=MTVTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) MTVTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=MTVTOPPM.EXE MTVTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PCXTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PCXTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=PCXTOPPM.EXE PCXTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PGMTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PGMTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=PGMTOPPM.EXE PGMTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PI1TOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PI1TOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=PI1TOPPM.EXE PI1TOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PICTTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PICTTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=PICTTOPPM.EXE PICTTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PJTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PJTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=PJTOPPM.EXE PJTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPM3D.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPM3D.C
-$ LINK /TRACE/NOMAP/EXEC=PPM3D.EXE PPM3D.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMCHANGE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMCHANGE.C
-$ LINK /TRACE/NOMAP/EXEC=PPMCHANGE.EXE PPMCHANGE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMDIM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMDIM.C
-$ LINK /TRACE/NOMAP/EXEC=PPMDIM.EXE PPMDIM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMDITHER.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMDITHER.C
-$ LINK /TRACE/NOMAP/EXEC=PPMDITHER.EXE PPMDITHER.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMFLASH.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMFLASH.C
-$ LINK /TRACE/NOMAP/EXEC=PPMFLASH.EXE PPMFLASH.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMFORGE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMFORGE.C
-$ LINK /TRACE/NOMAP/EXEC=PPMFORGE.EXE PPMFORGE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMHIST.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMHIST.C
-$ LINK /TRACE/NOMAP/EXEC=PPMHIST.EXE PPMHIST.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMMAKE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMMAKE.C
-$ LINK /TRACE/NOMAP/EXEC=PPMMAKE.EXE PPMMAKE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMMIX.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMMIX.C
-$ LINK /TRACE/NOMAP/EXEC=PPMMIX.EXE PPMMIX.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMQUANT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMQUANT.C
-$ LINK /TRACE/NOMAP/EXEC=PPMQUANT.EXE PPMQUANT.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMRELIEF.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMRELIEF.C
-$ LINK /TRACE/NOMAP/EXEC=PPMRELIEF.EXE PPMRELIEF.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMSHIFT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMSHIFT.C
-$ LINK /TRACE/NOMAP/EXEC=PPMSHIFT.EXE PPMSHIFT.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMSPREAD.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMSPREAD.C
-$ LINK /TRACE/NOMAP/EXEC=PPMSPREAD.EXE PPMSPREAD.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOACAD.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOACAD.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOACAD.EXE PPMTOACAD.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOGIF.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOGIF.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOGIF.EXE PPMTOGIF.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOICR.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOICR.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOICR.EXE PPMTOICR.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOILBM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOILBM.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOILBM.EXE PPMTOILBM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOMITSU.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOMITSU.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOMITSU.EXE PPMTOMITSU.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOPCX.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPCX.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOPCX.EXE PPMTOPCX.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOPGM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPGM.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOPGM.EXE PPMTOPGM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOPI1.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPI1.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOPI1.EXE PPMTOPI1.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOPICT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPICT.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOPICT.EXE PPMTOPICT.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOPJ.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPJ.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOPJ.EXE PPMTOPJ.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOPUZZ.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPUZZ.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOPUZZ.EXE PPMTOPUZZ.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTORGB3.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTORGB3.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTORGB3.EXE PPMTORGB3.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOSIXEL.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOSIXEL.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOSIXEL.EXE PPMTOSIXEL.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOTGA.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOTGA.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOTGA.EXE PPMTOTGA.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOUIL.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOUIL.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOUIL.EXE PPMTOUIL.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOXPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOXPM.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOXPM.EXE PPMTOXPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOYUV.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOYUV.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOYUV.EXE PPMTOYUV.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=QRTTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) QRTTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=QRTTOPPM.EXE QRTTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=RAWTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) RAWTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=RAWTOPPM.EXE RAWTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=RGB3TOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) RGB3TOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=RGB3TOPPM.EXE RGB3TOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=SLDTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) SLDTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=SLDTOPPM.EXE SLDTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=SPCTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) SPCTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=SPCTOPPM.EXE SPCTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=SPUTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) SPUTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=SPUTOPPM.EXE SPUTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=TGATOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) TGATOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=TGATOPPM.EXE TGATOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=XIMTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) XIMTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=XIMTOPPM.EXE XIMTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=XPMTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) XPMTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=XPMTOPPM.EXE XPMTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=XVMINITOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) XVMINITOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=XVMINITOPPM.EXE XVMINITOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=YUVTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) YUVTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=YUVTOPPM.EXE YUVTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=BMPTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) BMPTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=BMPTOPPM.EXE BMPTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMBRIGHTEN.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMBRIGHTEN.C
-$ LINK /TRACE/NOMAP/EXEC=PPMBRIGHTEN.EXE PPMBRIGHTEN.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMDIST.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMDIST.C
-$ LINK /TRACE/NOMAP/EXEC=PPMDIST.EXE PPMDIST.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMQVGA.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMQVGA.C
-$ LINK /TRACE/NOMAP/EXEC=PPMQVGA.EXE PPMQVGA.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOBMP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOBMP.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOBMP.EXE PPMTOBMP.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOMAP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOMAP.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOMAP.EXE PPMTOMAP.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOPJXL.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOPJXL.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOPJXL.EXE PPMTOPJXL.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMTOYUVSPLIT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMTOYUVSPLIT.C
-$ LINK /TRACE/NOMAP/EXEC=PPMTOYUVSPLIT.EXE PPMTOYUVSPLIT.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=YUVSPLITTOPPM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) YUVSPLITTOPPM.C
-$ LINK /TRACE/NOMAP/EXEC=YUVSPLITTOPPM.EXE YUVSPLITTOPPM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PPMPAT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.pgm],[-.pbm]) PPMPAT.C
-$ LINK /TRACE/NOMAP/EXEC=PPMPAT.EXE PPMPAT.obj,[-]PBMplusSHR.OPT/Option
-$ Set Protection = (System:RWE, Owner:RWE, Group:RE, World:RE) *.exe
-$ Set Default PBMplus_Root:[libtiff]
-$ Define /NoLog Sys Sys$Library
-$ CC /NOLIST/OBJECT=MKG3STATES.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize mkg3states.c
-$ Define /User_Mode LNK$Library Sys$Library:VAXCRTL
-$ LINK /TRACE/NOMAP/EXEC=MKG3STATES.EXE mkg3states
-$ Define /User_Mode Sys$Output g3states.h
-$ Run mkg3states.exe
-$ CC /NOLIST/OBJECT=TIF_FAX3.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_FAX3.C
-$ CC /NOLIST/OBJECT=TIF_FAX4.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_FAX4.C
-$ CC /NOLIST/OBJECT=TIF_AUX.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_AUX.C
-$ CC /NOLIST/OBJECT=TIF_CCITTRLE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_CCITTRLE.C
-$ CC /NOLIST/OBJECT=TIF_CLOSE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_CLOSE.C
-$ CC /NOLIST/OBJECT=TIF_COMPRESS.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_COMPRESS.C
-$ CC /NOLIST/OBJECT=TIF_DIR.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_DIR.C
-$ CC /NOLIST/OBJECT=TIF_DIRINFO.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_DIRINFO.C
-$ CC /NOLIST/OBJECT=TIF_DIRREAD.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_DIRREAD.C
-$ CC /NOLIST/OBJECT=TIF_DIRWRITE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_DIRWRITE.C
-$ CC /NOLIST/OBJECT=TIF_DUMPMODE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_DUMPMODE.C
-$ CC /NOLIST/OBJECT=TIF_ERROR.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_ERROR.C
-$ CC /NOLIST/OBJECT=TIF_GETIMAGE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_GETIMAGE.C
-$ CC /NOLIST/OBJECT=TIF_JPEG.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_JPEG.C
-$ CC /NOLIST/OBJECT=TIF_FLUSH.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_FLUSH.C
-$ CC /NOLIST/OBJECT=TIF_LZW.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_LZW.C
-$ CC /NOLIST/OBJECT=TIF_MACHDEP.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_MACHDEP.C
-$ CC /NOLIST/OBJECT=TIF_NEXT.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_NEXT.C
-$ CC /NOLIST/OBJECT=TIF_OPEN.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_OPEN.C
-$ CC /NOLIST/OBJECT=TIF_PACKBITS.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_PACKBITS.C
-$ CC /NOLIST/OBJECT=TIF_PRINT.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_PRINT.C
-$ CC /NOLIST/OBJECT=TIF_READ.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_READ.C
-$ CC /NOLIST/OBJECT=TIF_STRIP.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_STRIP.C
-$ CC /NOLIST/OBJECT=TIF_SWAB.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_SWAB.C
-$ CC /NOLIST/OBJECT=TIF_THUNDER.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_THUNDER.C
-$ CC /NOLIST/OBJECT=TIF_TILE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_TILE.C
-$ CC /NOLIST/OBJECT=TIF_VERSION.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_VERSION.C
-$ CC /NOLIST/OBJECT=TIF_VMS.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_VMS.C
-$ CC /NOLIST/OBJECT=TIF_WARNING.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_WARNING.C
-$ CC /NOLIST/OBJECT=TIF_WRITE.OBJ /Include_Directory = ([]) /Define = ("BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /NoDebug /Optimize TIF_WRITE.C
-$ If "''F$Search ("libtiff.olb")'" .eqs. "" Then Library /Create libtiff.olb
-$ Delete /NoConfirm /NoLog mkg3states.obj;
-$ Library /Replace libtiff.olb *.obj
-$!
-$!		PNM
-$!
-$ Set Default PBMplus_Root:[pnm]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PNM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ CC /NOLIST/OBJECT=PNMALIAS.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMALIAS.C
-$ LINK /TRACE/NOMAP/EXEC=PNMALIAS.EXE PNMALIAS.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMARITH.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMARITH.C
-$ LINK /TRACE/NOMAP/EXEC=PNMARITH.EXE PNMARITH.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMCAT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMCAT.C
-$ LINK /TRACE/NOMAP/EXEC=PNMCAT.EXE PNMCAT.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMCONVOL.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMCONVOL.C
-$ LINK /TRACE/NOMAP/EXEC=PNMCONVOL.EXE PNMCONVOL.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMCROP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMCROP.C
-$ LINK /TRACE/NOMAP/EXEC=PNMCROP.EXE PNMCROP.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMCUT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMCUT.C
-$ LINK /TRACE/NOMAP/EXEC=PNMCUT.EXE PNMCUT.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMDEPTH.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMDEPTH.C
-$ LINK /TRACE/NOMAP/EXEC=PNMDEPTH.EXE PNMDEPTH.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMENLARGE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMENLARGE.C
-$ LINK /TRACE/NOMAP/EXEC=PNMENLARGE.EXE PNMENLARGE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMFILE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMFILE.C
-$ LINK /TRACE/NOMAP/EXEC=PNMFILE.EXE PNMFILE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMFLIP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMFLIP.C
-$ LINK /TRACE/NOMAP/EXEC=PNMFLIP.EXE PNMFLIP.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMHISTMAP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMHISTMAP.C
-$ LINK /TRACE/NOMAP/EXEC=PNMHISTMAP.EXE PNMHISTMAP.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMINVERT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMINVERT.C
-$ LINK /TRACE/NOMAP/EXEC=PNMINVERT.EXE PNMINVERT.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMNORAW.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMNORAW.C
-$ LINK /TRACE/NOMAP/EXEC=PNMNORAW.EXE PNMNORAW.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMNTSC.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMNTSC.C
-$ LINK /TRACE/NOMAP/EXEC=PNMNORAW.EXE PNMNORAW.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMNTSC.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMNTSC.C
-$ LINK /TRACE/NOMAP/EXEC=PNMNTSC.EXE PNMNTSC.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMPASTE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMPASTE.C
-$ LINK /TRACE/NOMAP/EXEC=PNMPASTE.EXE PNMPASTE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMSCALE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMSCALE.C
-$ LINK /TRACE/NOMAP/EXEC=PNMSCALE.EXE PNMSCALE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMTILE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTILE.C
-$ LINK /TRACE/NOMAP/EXEC=PNMTILE.EXE PNMTILE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMTODDIF.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTODDIF.C
-$ LINK /TRACE/NOMAP/EXEC=PNMTODDIF.EXE PNMTODDIF.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMTOFITS.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTOFITS.C
-$ LINK /TRACE/NOMAP/EXEC=PNMTOFITS.EXE PNMTOFITS.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=FITSTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) FITSTOPNM.C
-$ LINK /TRACE/NOMAP/EXEC=FITSTOPNM.EXE FITSTOPNM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMTOPS.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTOPS.C
-$ LINK /TRACE/NOMAP/EXEC=PNMTOPS.EXE PNMTOPS.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMTORAST.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTORAST.C
-$ LINK /TRACE/NOMAP/EXEC=PNMTORAST.EXE PNMTORAST.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMTOXWD.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTOXWD.C
-$ LINK /TRACE/NOMAP/EXEC=PNMTOXWD.EXE PNMTOXWD.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=RASTTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) RASTTOPNM.C
-$ LINK /TRACE/NOMAP/EXEC=RASTTOPNM.EXE RASTTOPNM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=XWDTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) XWDTOPNM.C
-$ LINK /TRACE/NOMAP/EXEC=XWDTOPNM.EXE XWDTOPNM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=GIFTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) GIFTOPNM.C
-$ LINK /TRACE/NOMAP/EXEC=GIFTOPNM.EXE GIFTOPNM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMCOMP.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMCOMP.C
-$ LINK /TRACE/NOMAP/EXEC=PNMCOMP.EXE PNMCOMP.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMTOSGI.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTOSGI.C
-$ LINK /TRACE/NOMAP/EXEC=PNMTOSGI.EXE PNMTOSGI.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=SGITOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) SGITOPNM.C
-$ LINK /TRACE/NOMAP/EXEC=SGITOPNM.EXE SGITOPNM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMTOSIR.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMTOSIR.C
-$ LINK /TRACE/NOMAP/EXEC=PNMTOSIR.EXE PNMTOSIR.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=SIRTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) SIRTOPNM.C
-$ LINK /TRACE/NOMAP/EXEC=SIRTOPNM.EXE SIRTOPNM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMNLFILT.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMNLFILT.C
-$ LINK /TRACE/NOMAP/EXEC=PNMNLFILT.EXE PNMNLFILT.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMPAD.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMPAD.C
-$ LINK /TRACE/NOMAP/EXEC=PNMPAD.EXE PNMPAD.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=ZEISSTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) ZEISSTOPNM.C
-$ LINK /TRACE/NOMAP/EXEC=ZEISSTOPNM.EXE ZEISSTOPNM.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMGAMMA.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMGAMMA.C
-$ LINK /TRACE/NOMAP/EXEC=PNMGAMMA.EXE PNMGAMMA.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMROTATE.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMROTATE.C
-$ LINK /TRACE/NOMAP/EXEC=PNMROTATE.EXE PNMROTATE.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMSHEAR.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) PNMSHEAR.C
-$ LINK /TRACE/NOMAP/EXEC=PNMSHEAR.EXE PNMSHEAR.obj,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=TIFFTOPNM.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF,"BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) tifftopnm.c
-$ LINK /TRACE/NOMAP/EXEC=TIFFTOPNM.EXE tifftopnm,[-.libtiff]libtiff.olb/Library,[-]PBMplusSHR.OPT/Option
-$ CC /NOLIST/OBJECT=PNMTOTIFF.OBJ /Define = (PPM,PGM,PBM,PBMPLUS_RAWBITS,LIBTIFF,"BSDTYPES=1","USE_VARARGS=1","USE_PROTOTYPES=0","USE_CONST",__STDC__) /Include_Directory = ([-],[-.ppm],[-.pgm],[-.pbm],[-.libtiff]) pnmtotiff.c
-$ LINK /TRACE/NOMAP/EXEC=PNMTOTIFF.EXE pnmtotiff,[-.libtiff]libtiff.olb/Library,[-]PBMplusSHR.OPT/Option
-$ Set Protection = (System:RWE, Owner:RWE, Group:RE, World:RE) *.exe
-$!
-$!		Install the binaries in a separate directory
-$!
-$ Set Default PBMplus_Dir
-$ If F$Parse ("PBMplus_Root:[Exe]") .eqs. "" Then Create /Directory PBMplus_Root:[Exe]
-$ Set Default PBMplus_Root:[PBM]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PBM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ Set Protection = (System:RWE, Owner:RWED, Group:RE, World:RE) *.exe
-$ Rename /Log *.exe PBMplus_Root:[Exe]
-$ Set Protection = Owner:RWE PBMplus_Root:[Exe]*.exe
-$ Set Default PBMplus_Root:[PGM]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PGM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ Set Protection = (System:RWE, Owner:RWED, Group:RE, World:RE) *.exe
-$ Rename /Log *.exe PBMplus_Root:[Exe]
-$ Set Protection = Owner:RWE PBMplus_Root:[Exe]*.exe
-$ Set Default PBMplus_Root:[PPM]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PPM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ Set Protection = (System:RWE, Owner:RWED, Group:RE, World:RE) *.exe
-$ Rename /Log *.exe PBMplus_Root:[Exe]
-$ Set Protection = Owner:RWE PBMplus_Root:[Exe]*.exe
-$ Set Default PBMplus_Root:[PNM]
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("DEFAULT")) - ".PNM" + ".]"
-$ If F$TrnLnm ("PBMplus_Root") .eqs. "" Then 	Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ If F$TrnLnm ("PBMplus_Dir") .eqs. "" Then 	Define PBMplus_Dir PBMplus_Root:[000000]
-$ If F$TrnLnm ("Sys") .eqs. "" Then Define Sys Sys$Library
-$ Set Protection = (System:RWE, Owner:RWED, Group:RE, World:RE) *.exe
-$ Rename /Log *.exe PBMplus_Root:[Exe]
-$ Set Protection = Owner:RWE PBMplus_Root:[Exe]*.exe
-$!
-$!		Build the VMS Help Library
-$!
-$ Set Default PBMplus_Dir
-$ Library /Create /Help PBMPLUS.HLB PBMPLUS.HLP
-$ Set File /Truncate PBMPLUS.HLB
-$ Exit
diff --git a/vms/Make_PBMplusShr.com b/vms/Make_PBMplusShr.com
deleted file mode 100755
index 8e43efb9..00000000
--- a/vms/Make_PBMplusShr.com
+++ /dev/null
@@ -1,280 +0,0 @@
-$!
-$! Make shareable image out of PBMPLUS libraries.  This command procedure
-$! takes no arguments, but must be placed in the top-level PBMPLUS directory.
-$!
-$! It uses the following input library files:
-$!
-$!	[.PBM]LIBPBM.OLB,[.PGM]LIBPGM.OLB,[.PPM]LIBPPM.OLB,[.PNM]LIBPNM.OLB
-$!
-$! This procedure generates the following files if missing or out-of-date:
-$!
-$!	TRANSVEC.OBJ	Object file containing transfer vector for PBMPLUSSHR.
-$!	PBMPLUSSHR.EXE	Shareable image file for PBM libraries.
-$!	PBMPLUSSHR.OPT	Linker options file for linking utility program against
-$!			the PBMPLUSSHR.EXE shareable image.
-$!
-$ instruct = 0
-$ proc = f$environment("PROCEDURE")
-$ proc_cdt = f$cvtime(f$file(proc,"CDT"))
-$ if f$search("TRANSVEC.OBJ") .EQS. "" THEN GOTO NEW_TRANSVEC
-$ if f$cvtime(f$file("TRANSVEC.OBJ","CDT")) .GTS. PROC_CDT THEN GOTO TRANSVEC_DONE
-$ NEW_TRANSVEC:
-$ instruct = 1
-$ Write SYS$Output "Making new transvec.obj..."
-$ Macro /NoList /Object = TRANSVEC.OBJ Sys$Input
-; PMBPLUS_TRANSFER_VECTOR
-; This routine defines a transfer vector for use in creating shareable image
-;
-; define macro to make transfer vector entry for a given routine.  Entry mask 
-; is obtained from routine we are transfering to.  Jump to word past entry 
-; since these are VAX procedures (written in FORTRAN).
-;
-	.MACRO TRANSFER_ENTRY routine
-;
-	.TRANSFER routine
-	.MASK	  routine
-	JMP	  routine + 2
-;
-	.ENDM TRANSFER_ENTRY
-;
-	.TITLE PBMPLUS_TRANSFER_VECTOR
-	.IDENT /01/
-	.PSECT PBMPLUS_XVEC PIC,USR,CON,REL,LCL,SHR,EXE,RD,NOWRT,NOVEC
-;
-;	Simply go through iap procedures and declare transfer vector
-;	entry points for them.  New procedure must be added to the END
-;	of this list.
-;
-TRANSFER_VECTOR:
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;Library LIBPBM
-;Module ARGPROC
-	TRANSFER_ENTRY BACKGROUND_PROCESS 
-	TRANSFER_ENTRY GETOPT
-	TRANSFER_ENTRY GETREDIRECTION
-	TRANSFER_ENTRY SET_OUTFILE_BINARY
-
-;Module LIBPBM1
-	TRANSFER_ENTRY PBM_INIT
-	TRANSFER_ENTRY PM_ALLOCARRAY
-	TRANSFER_ENTRY PM_ALLOCROW
-	TRANSFER_ENTRY PM_BITSTOMAXVAL
-	TRANSFER_ENTRY PM_CLOSE
-	TRANSFER_ENTRY PM_ERROR                         
-	TRANSFER_ENTRY PM_FREEARRAY                     
-	TRANSFER_ENTRY PM_FREEROW
-	TRANSFER_ENTRY PM_INIT                          
-	TRANSFER_ENTRY PM_KEYMATCH                      
-	TRANSFER_ENTRY PM_MAXVALTOBITS                  
-	TRANSFER_ENTRY PM_MESSAGE
-	TRANSFER_ENTRY PM_OPENR                         
-	TRANSFER_ENTRY PM_OPENW                         
-	TRANSFER_ENTRY PM_PERROR                        
-	TRANSFER_ENTRY PM_READBIGLONG
-	TRANSFER_ENTRY PM_READBIGSHORT                  
-	TRANSFER_ENTRY PM_READLITTLELONG                
-	TRANSFER_ENTRY PM_READLITTLESHORT               
-	TRANSFER_ENTRY PM_USAGE
-	TRANSFER_ENTRY PM_WRITEBIGLONG                  
-	TRANSFER_ENTRY PM_WRITEBIGSHORT                 
-	TRANSFER_ENTRY PM_WRITELITTLELONG               
-	TRANSFER_ENTRY PM_WRITELITTLESHORT
-	TRANSFER_ENTRY PM_READ_UNKNOWN_SIZE
-
-;Module LIBPBM2
-	TRANSFER_ENTRY PBM_READMAGICNUMBER              
-	TRANSFER_ENTRY PBM_READPBM                      
-	TRANSFER_ENTRY PBM_READPBMINIT                  
-	TRANSFER_ENTRY PBM_READPBMINITREST
-	TRANSFER_ENTRY PBM_READPBMROW
-
-;Module LIBPBM3
-	TRANSFER_ENTRY PBM_WRITEPBM                     
-	TRANSFER_ENTRY PBM_WRITEPBMINIT                 
-	TRANSFER_ENTRY PBM_WRITEPBMROW
-
-;Module LIBPBM4
-	TRANSFER_ENTRY PBM_GETC                         
-	TRANSFER_ENTRY PBM_GETINT                       
-	TRANSFER_ENTRY PBM_GETRAWBYTE
-
-;Module LIBPBM5
-	TRANSFER_ENTRY PBM_DEFAULTFONT                  
-	TRANSFER_ENTRY PBM_DISSECTFONT                  
-	TRANSFER_ENTRY PBM_DUMPFONT
-	TRANSFER_ENTRY PBM_LOADFONT
-	TRANSFER_ENTRY PBM_LOADBDFFONT
-	TRANSFER_ENTRY MK_ARGVN
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;Library LIBPGM
-;Module LIBPGM1
-	TRANSFER_ENTRY PGM_INIT                         
-	TRANSFER_ENTRY PGM_READPGM                      
-	TRANSFER_ENTRY PGM_READPGMINIT                  
-	TRANSFER_ENTRY PGM_READPGMINITREST
-	TRANSFER_ENTRY PGM_READPGMROW
-
-;Module LIBPGM2
-	TRANSFER_ENTRY PGM_WRITEPGM                     
-	TRANSFER_ENTRY PGM_WRITEPGMINIT                 
-	TRANSFER_ENTRY PGM_WRITEPGMROW
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Library LIBPPM
-;
-;Module LIBPPM1
-	TRANSFER_ENTRY PPM_INIT                         
-	TRANSFER_ENTRY PPM_READPPM                      
-	TRANSFER_ENTRY PPM_READPPMINIT                  
-	TRANSFER_ENTRY PPM_READPPMINITREST
-	TRANSFER_ENTRY PPM_READPPMROW
-
-;Module LIBPPM2
-	TRANSFER_ENTRY PPM_WRITEPPM                     
-	TRANSFER_ENTRY PPM_WRITEPPMINIT                 
-	TRANSFER_ENTRY PPM_WRITEPPMROW
-
-;Module LIBPPM3
-	TRANSFER_ENTRY PPM_ADDTOCOLORHASH               
-	TRANSFER_ENTRY PPM_ADDTOCOLORHIST               
-	TRANSFER_ENTRY PPM_ALLOCCOLORHASH               
-	TRANSFER_ENTRY PPM_COLORHASHTOCOLORHIST
-	TRANSFER_ENTRY PPM_COLORHISTTOCOLORHASH         
-	TRANSFER_ENTRY PPM_COMPUTECOLORHASH             
-	TRANSFER_ENTRY PPM_COMPUTECOLORHIST             
-	TRANSFER_ENTRY PPM_FREECOLORHASH
-	TRANSFER_ENTRY PPM_FREECOLORHIST                
-	TRANSFER_ENTRY PPM_LOOKUPCOLOR
-
-;Module LIBPPM4
-	TRANSFER_ENTRY PPM_COLORNAME                    
-	TRANSFER_ENTRY PPM_PARSECOLOR
-
-;Module LIBPPM5
-	TRANSFER_ENTRY PPMD_CIRCLE                      
-	TRANSFER_ENTRY PPMD_FILL                        
-	TRANSFER_ENTRY PPMD_FILLEDRECTANGLE             
-	TRANSFER_ENTRY PPMD_FILL_DRAWPROC
-	TRANSFER_ENTRY PPMD_FILL_INIT                   
-	TRANSFER_ENTRY PPMD_LINE                        
-	TRANSFER_ENTRY PPMD_POINT_DRAWPROC              
-	TRANSFER_ENTRY PPMD_POLYSPLINE
-	TRANSFER_ENTRY PPMD_SETLINECLIP                 
-	TRANSFER_ENTRY PPMD_SETLINETYPE                 
-	TRANSFER_ENTRY PPMD_SPLINE3
-
-;Module BITIO
-	TRANSFER_ENTRY PM_BITINIT
-	TRANSFER_ENTRY PM_BITFINI
-	TRANSFER_ENTRY PM_BITREAD
-	TRANSFER_ENTRY PM_BITWRITE
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Library LIBPNM
-;Module LIBPNM1
-	TRANSFER_ENTRY PNM_INIT                         
-	TRANSFER_ENTRY PNM_READPNM                      
-	TRANSFER_ENTRY PNM_READPNMINIT                  
-	TRANSFER_ENTRY PNM_READPNMROW
-
-;Module LIBPNM2
-	TRANSFER_ENTRY PNM_WRITEPNM                     
-	TRANSFER_ENTRY PNM_WRITEPNMINIT                 
-	TRANSFER_ENTRY PNM_WRITEPNMROW
-
-;Module LIBPNM3
-	TRANSFER_ENTRY PNM_BACKGROUNDXEL                
-	TRANSFER_ENTRY PNM_BACKGROUNDXELROW             
-	TRANSFER_ENTRY PNM_BLACKXEL                     
-	TRANSFER_ENTRY PNM_INVERTXEL
-	TRANSFER_ENTRY PNM_PROMOTEFORMAT                
-	TRANSFER_ENTRY PNM_PROMOTEFORMATROW             
-	TRANSFER_ENTRY PNM_WHITEXEL
-
-;Module LIBPNM4
-	TRANSFER_ENTRY MEM_CREATE                       
-	TRANSFER_ENTRY MEM_FREE                         
-	TRANSFER_ENTRY PR_DUMP                          
-	TRANSFER_ENTRY PR_LOAD_COLORMAP
-	TRANSFER_ENTRY PR_LOAD_HEADER                   
-	TRANSFER_ENTRY PR_LOAD_IMAGE
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-
-;	allocate extra space to allow for code modifications without changing 
-;	the size of the shared image.
-;
-	.BLKB 2048-<.-TRANSFER_VECTOR>	; Reserve 4 pages.
-;
-	.END
-
-$ TRANSVEC_DONE:
-$!
-$!   Create new options file if needed.
-$!
-$ if f$search("PBMPLUSSHR.OPT") .EQS. "" THEN GOTO NEW_OPTFILE
-$ if f$cvtime(f$file("PBMPLUSSHR.OPT","CDT")) .GTS. PROC_CDT THEN GOTO OPTFILE_DONE
-$ NEW_OPTFILE:
-$ instruct = 1
-$ write sys$output "Making new pbmplusshr.opt..."
-$ CREATE PBMPLUSSHR.OPT
-PBMplusShr /Share
-Sys$Share:VAXCRTL /Share
-PSECT_ATTR = ARGPROC_VERSION,GBL,NOSHR
-PSECT_ATTR = OPTARG,GBL,NOSHR
-PSECT_ATTR = OPTERR,GBL,NOSHR
-PSECT_ATTR = OPTIND,GBL,NOSHR
-PSECT_ATTR = OPTOPT,GBL,NOSHR
-PSECT_ATTR = PGM_PBMMAXVAL,GBL,NOSHR
-PSECT_ATTR = PNM_PBMMAXVAL,GBL,NOSHR
-PSECT_ATTR = PPM_PBMMAXVAL,GBL,NOSHR
-$!
-$ OPTFILE_DONE:
-$!
-$ if f$search("PBMPLUSSHR.EXE") .EQS. "" THEN GOTO NEW_SHAREABLE
-$ EXE_CDT = f$cvtime(f$file_attributes("PBMPLUSSHR.EXE","CDT"))
-$ if EXE_CDT .LTS. PROC_CDT THEN GOTO NEW_SHAREABLE
-$ if f$cvtime(f$file("[.PBM]LIBPBM.OLB","RDT")) .GTS. EXE_CDT THEN GOTO NEW_SHAREABLE
-$ if f$cvtime(f$file("[.PGM]LIBPGM.OLB","RDT")) .GTS. EXE_CDT THEN GOTO NEW_SHAREABLE
-$ if f$cvtime(f$file("[.PPM]LIBPPM.OLB","RDT")) .GTS. EXE_CDT THEN GOTO NEW_SHAREABLE
-$ if f$cvtime(f$file("[.PNM]LIBPNM.OLB","RDT")) .GTS. EXE_CDT THEN GOTO NEW_SHAREABLE
-$ GOTO SHAREABLE_DONE
-$ NEW_SHAREABLE:
-$ instruct = 1
-$ write sys$output "Making new pbmplusshr.exe..."
-$ Link /Map = PBMPLUSHSR.MAP /Share = SYS$DISK:[]PBMPLUSSHR.EXE Sys$Input/Option
-COLLECT=FIRST,PBMPLUS_XVEC
-COLLECT=GLOBALS1,PGM_PBMMAXVAL,PNM_PBMMAXVAL,PPM_PBMMAXVAL
-COLLECT=GLOBALS2,ARGPROC_VERSION,OPTARG,OPTERR,OPTIND,OPTOPT
-
-TRANSVEC.OBJ
-[.PBM]LIBPBM/LIB,[.PGM]LIBPGM/LIB,[.PPM]LIBPPM/LIB
-[.PNM]LIBPNM/LIB,SYS$SHARE:VAXCRTL/SHARE
-
-
-UNSUPPORTED = 1			! force demand zero pages
-GSMATCH=LEQUAL,2,1		! Major ID = 2, minor ID = 2
-
-PSECT_ATTR = ARGPROC_VERSION,NOSHR
-PSECT_ATTR = OPTARG,NOSHR
-PSECT_ATTR = OPTERR,NOSHR
-PSECT_ATTR = OPTIND,NOSHR
-PSECT_ATTR = OPTOPT,NOSHR
-PSECT_ATTR = PGM_PBMMAXVAL,NOSHR
-PSECT_ATTR = PNM_PBMMAXVAL,NOSHR
-PSECT_ATTR = PPM_PBMMAXVAL,NOSHR
-!PSECT_ATTR = ,LCL,NOSHR
-$!
-$ SHAREABLE_DONE:
-$ if .NOT. instruct then write sys$output "All PBMPLUSSHR files up to date."
-$ if .NOT. instruct then exit $status
-$ create sys$output
-
-	Define the logical name PBMPLUSSHR as "disk:[dir]PBMPLUSSHR", where
-	disk and [dir] are the disk and directory containing the
-	shareable image PBMPLUSSHR.EXE and linker options file PBMPLUSSHR.OPT.
-
-	You can then link an executable against the image with the command
-
-	    LINK program.OBJ,PBMplusShr/Option
-
-$ exit $status
diff --git a/vms/NetPBM.TeX b/vms/NetPBM.TeX
deleted file mode 100644
index 86a9abc8..00000000
--- a/vms/NetPBM.TeX
+++ /dev/null
@@ -1,12115 +0,0 @@
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex (version 1.04, July 15, 1991)
-% on Thu Dec 12 09:12:27 1991
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-
-\documentstyle[troffman,twoside]{article}
-\begin{document}
-%
-% input file: pbmplus.1
-%
-\phead{PBMPLUS}{1L}{13 October 1993}{}{}
-
-\shead{NAME}
-pbmplus - enhanced portable bitmap toolkit
-
-\shead{DESCRIPTION}
-The {\it pbmplus} toolkit allows conversions between image files of
-different format.  By means of using common intermediate formats, only
-$2 \times N$ conversion filters are required to support $N$ distinct formats,
-instead of the $N^2$ which would be required to convert directly between
-any one format and any other.  The package also includes simple tools for
-manipulating portable bitmaps.
-
-The package consists of four upwardly compatible sections:
-\begin{TPlist}{pbm}
-\item[{pbm}]
-Supports monochrome bitmaps (1 bit per pixel).
-\item[{pgm}]
-Supports grayscale images.  Reads either {\it pbm} or {\it pgm} formats
-and writes {\it pgm} format.
-\item[{ppm}]
-Supports full-color images.  Reads either {\it pbm}, {\it pgm}, or {\it
-ppm} formats, writes {\it ppm} format.
-\item[{pnm}]
-Supports content-independent manipulations on any of the three formats
-listed above, as well as external formats having multiple types.  Reads
-either {\it pbm}, {\it pgm}, or {\it ppm} formats, and generally writes
-the same type as it read (whenever a {\it pnm} tool makes an exception
-and ``promotes'' a file to a higher format, it informs the user).
-\end{TPlist}
-
-\shead{DESCRIPTION OF CONTENTS}
-\begin{TPlist}{{\it cmuwmtopbm}}
-\item[{{\it atktopbm}}]
-convert Andrew Toolkit raster object to portable bitmap
-\item[{{\it brushtopbm}}]
-convert Xerox doodle brushes to portable bitmap
-\item[{{\it cmuwmtopbm}}]
-convert CMU window manager format to portable bitmap
-\item[{{\it g3topbm}}]
-convert Group 3 FAX to portable bitmap
-\item[{{\it icontopbm}}]
-convert Sun icon to portable bitmap
-\item[{{\it gemtopbm}}]
-convert GEM .img format to portable bitmap
-\item[{{\it macptopbm}}]
-convert MacPaint to portable bitmap
-\item[{{\it mgrtopbm}}]
-convert MGR format to portable bitmap
-\item[{{\it pbmmerge}}]
-merge wrapper routine
-\item[{{\it pbmto10x}}]
-convert portable bitmap to Gemini 10x printer graphics
-\item[{{\it pbmtoascii}}]
-convert portable bitmap to ASCII graphic form
-\item[{{\it pbmtoatk}}]
-convert portable bitmap to Andrew Toolkit raster object
-\item[{{\it pbmtobbnbg}}]
-convert portable bitmap to BBN BitGraph graphics
-\item[{{\it pbmtocmuwm}}]
-convert portable bitmap to CMU window manager format
-\item[{{\it pbmtoepson}}]
-convert portable bitmap to Epson printer graphics
-\item[{{\it pbmtog3}}]
-convert portable bitmap to Group 3 FAX
-\item[{{\it pbmtogem}}]
-convert portable bitmap into GEM .img file
-\item[{{\it pbmtogo}}]
-convert portable bitmap to GraphOn graphics
-\item[{{\it pbmtoicon}}]
-convert portable bitmap to Sun icon
-\item[{{\it pbmtolj}}]
-convert portable bitmap to HP LaserJet graphics
-\item[{{\it pbmtomacp}}]
-convert portable bitmap to MacPaint
-\item[{{\it pbmtomgr}}]
-convert portable bitmap to MGR format
-\item[{{\it pbmtopi3}}]
-convert portable bitmap to Atari Degas .pi3
-\item[{{\it pbmtoplot}}]
-convert portable bitmap into Unix plot(5) file
-\item[{{\it pbmtoptx}}]
-convert portable bitmap to Printronix graphics
-\item[{{\it pbmtoxbm}}]
-convert portable bitmap to X11 bitmap
-\item[{{\it pbmtox10bm}}]
-convert portable bitmap to X10 bitmap
-\item[{{\it pbmtoybm}}]
-convert portable bitmap into Bennet Yee ``face'' file
-\item[{{\it pbmtozinc}}]
-convert portable bitmap to Zinc Interface Library icon
-\item[{{\it pbmlife}}]
-apply Conway's rules of Life to a portable bitmap
-\item[{{\it pbmmake}}]
-create a blank bitmap of a specified size and color
-\item[{{\it pbmmask}}]
-create a mask bitmap from a regular bitmap
-\item[{{\it pbmreduce}}]
-reduce a portable bitmap N times, using Floyd-Steinberg
-\item[{{\it pbmtext}}]
-render text into a bitmap
-\item[{{\it pbmupc}}]
-create a Universal Product Code bitmap
-\item[{{\it pi3topbm}}]
-convert Atari Degas .pi3 to portable bitmap
-\item[{{\it xbmtopbm}}]
-convert X10 or X11 bitmap to portable bitmap
-\item[{{\it ybmtopbm}}]
-convert Bennet Yee ``face'' file into portable bitmap
-\item[{{\it asciitopgm}}]
-convert ASCII graphics into a portable graymap
-\item[{{\it fstopgm}}]
-convert Usenix FaceSaver$^{\rm tm}$ format to portable graymap
-\item[{{\it hipstopgm}}]
-convert HIPS format to portable graymap
-\item[{{\it lispmtopgm}}]
-convert a Lisp Machine bitmap file into pgm format
-\item[{{\it pgmbentley}}]
-Bentleyize a portable graymap
-\item[{{\it pgmcrater}}]
-create cratered terrain by fractal forgery
-\item[{{\it pgmedge}}]
-edge-detect a portable graymap
-\item[{{\it pgmenhance}}]
-edge-enhance a portable graymap
-\item[{{\it pgmhist}}]
-print a histogram of the values in a portable graymap
-\item[{{\it pgmkernel}}]
-generate a convolution kernel
-\item[{{\it pgmmerge}}]
-merge wrapper routine
-\item[{{\it pgmnoise}}]
-create a graymap made up of white noise
-\item[{{\it pgmnorm}}]
-normalize contrast in a portable graymap
-\item[{{\it pgmoil}}]
-turn a portable graymap into an oil painting
-\item[{{\it pgmramp}}]
-generate a grayscale ramp
-\item[{{\it pgmtexture}}]
-calculate textural features on a portable graymap
-\item[{{\it pgmtofits}}]
-convert portable graymap to FITS format
-\item[{{\it pgmtofs}}]
-convert portable graymap to Usenix FaceSaver$^{\rm tm}$ format
-\item[{{\it pgmtolispm}}]
-convert a portable graymap into Lisp Machine format
-\item[{{\it pgmtopbm}}]
-convert portable graymap to portable bitmap
-\item[{{\it psidtopgm}}]
-convert PostScript ``image'' data to portable graymap
-\item[{{\it rawtopgm}}]
-convert raw grayscale bytes to portable graymap
-\item[{{\it giftoppm}}]
-convert GIF to portable pixmap
-\item[{{\it gouldtoppm}}]
-convert Gould scanner file to portable pixmap
-\item[{{\it ilbmtoppm}}]
-convert IFF ILBM to portable pixmap
-\item[{{\it imgtoppm}}]
-convert Img-whatnot to portable pixmap
-\item[{{\it mtvtoppm}}]
-convert MTV ray-tracer output to portable pixmap
-\item[{{\it pcxtoppm}}]
-convert PC Paintbrush format to portable pixmap
-\item[{{\it pgmtoppm}}]
-colorize a portable graymap into a portable pixmap
-\item[{{\it pi1toppm}}]
-convert Atari Degas .pi1 to portable pixmap
-\item[{{\it picttoppm}}]
-convert Macintosh PICT to portable pixmap
-\item[{{\it pjtoppm}}]
-convert HP PaintJet file to portable pixmap
-\item[{{\it ppmchange}}]
-change all pixels of one color to another in a portable pixmap
-\item[{{\it ppmdim}}]
-dim a portable pixmap down to total blackness
-\item[{{\it ppmdist}}]
-simplistic grayscale assignment for machine generated, color images
-\item[{{\it ppmdither}}]
-ordered dither for color images
-\item[{{\it ppmflash}}]
-brighten a picture up to complete white-out
-\item[{{\it ppmforge}}]
-fractal forgeries of clouds, planets, and starry skies
-\item[{{\it ppmhist}}]
-print a histogram of a portable pixmap
-\item[{{\it ppmmake}}]
-create a pixmap of a specified size and color
-\item[{{\it ppmmerge}}]
-merge wrapper routine
-\item[{{\it ppmmix}}]
-blend together two portable pixmaps
-\item[{{\it ppmpat}}]
-create a pretty pixmap
-\item[{{\it ppmquant}}]
-quantize colors down to a specified number
-\item[{{\it ppmquantall}}]
-script to run ppmquant on a set of pixmaps
-\item[{{\it ppmrelief}}]
-run a Laplacian Relief filter on a portable pixmap
-\item[{{\it ppmshift}}]
-shift lines of a portable pixmap left or right by a random amount
-\item[{{\it ppmspread}}]
-displace a portable pixmap's pixels by a random amount
-\item[{{\it ppmtoacad}}]
-convert portable pixmap to AutoCAD database or slide
-\item[{{\it ppmtoicr}}]
-convert portable pixmap to NCSA ICR graphics
-\item[{{\it ppmtoilbm}}]
-convert portable pixmap to IFF ILBM
-\item[{{\it ppmtomitsu}}]
-convert a portable pixmap to a Mitsubishi S340-10 file
-\item[{{\it ppmtopcx}}]
-convert portable pixmap to PC Paintbrush format
-\item[{{\it ppmtopgm}}]
-convert portable pixmap to portable graymap
-\item[{{\it ppmtopi1}}]
-convert portable pixmap to Atari Degas .pi1
-\item[{{\it ppmtopict}}]
-convert portable pixmap to Macintosh PICT
-\item[{{\it ppmtopj}}]
-convert portable pixmap to HP PaintJet file
-\item[{{\it ppmtopuzz}}]
-convert portable pixmap to X11 ``puzzle'' file
-\item[{{\it ppmtorgb3}}]
-separate a portable pixmap into three portable graymaps
-\item[{{\it ppmtosixel}}]
-convert portable pixmap to DEC sixel format
-\item[{{\it ppmtotga}}]
-convert portable pixmap to TrueVision Targa file
-\item[{{\it ppmtouil}}]
-convert portable pixmap to Motif UIL icon file
-\item[{{\it ppmtoxpm}}]
-convert portable pixmap to XPM format
-\item[{{\it ppmtoyuv}}]
-convert portable pixmap to Abekas YUV format
-\item[{{\it qrttoppm}}]
-convert QRT ray-tracer output to portable pixmap
-\item[{{\it rawtoppm}}]
-convert raw RGB bytes to portable pixmap
-\item[{{\it rgb3toppm}}]
-combine three portable graymaps into one portable pixmap
-\item[{{\it sldtoppm}}]
-convert an AutoCAD slide file into a portable pixmap
-\item[{{\it spctoppm}}]
-convert Atari compressed Spectrum to portable pixmap
-\item[{{\it sputoppm}}]
-convert Atari uncompressed Spectrum to portable pixmap
-\item[{{\it tgatoppm}}]
-convert TrueVision Targa file to portable pixmap
-\item[{{\it ximtoppm}}]
-convert Xim to portable pixmap
-\item[{{\it xvminitoppm}}]
-convert a XV ``thumbnail'' picture to PPM
-\item[{{\it xpmtoppm}}]
-convert XPM format to portable pixmap
-\item[{{\it yuvtoppm}}]
-convert Abekas YUV format to portable pixmap
-\item[{{\it anytopnm}}]
-script to attempt to convert any format to P?M
-\item[{{\it pnmalias}}]
-antialias a portable anyumap.
-\item[{{\it pnmarith}}]
-perform arithmetic on two portable anymaps
-\item[{{\it pnmcat}}]
-concatenate portable anymaps
-\item[{{\it pnmconvol}}]
-general MxN convolution on a portable anymap
-\item[{{\it pnmcrop}}]
-crop all like-colored borders off a portable anymap
-\item[{{\it pnmcut}}]
-select a rectangular region from a portable anymap
-\item[{{\it pnmdepth}}]
-change the maxval in a portable anymap
-\item[{{\it pnmenlarge}}]
-enlarge a portable anymap N times
-\item[{{\it pnmfile}}]
-describe a portable anymap
-\item[{{\it pnmflip}}]
-perform one or more flip operations on a portable anymap
-\item[{{\it pnmgamma}}]
-perform gamma correction on a portable anymap
-\item[{{\it pnmindex}}]
-script to build a visual index of a bunch of anymaps
-\item[{{\it pnminvert}}]
-invert a portable anymap
-\item[{{\it pnmmargin}}]
-script to add a margin to a portable anymap
-\item[{{\it pnmmerge}}]
-merge wrapper routine
-\item[{{\it pnmnoraw}}]
-force a portable anymap into ASCII format
-\item[{{\it pnmpaste}}]
-paste a rectangle into a portable anymap
-\item[{{\it pnmrotate}}]
-rotate a portable anymap
-\item[{{\it pnmscale}}]
-scale a portable anymap
-\item[{{\it pnmshear}}]
-shear a portable anymap
-\item[{{\it pnmsmooth}}]
-script that uses pnmconvol to smooth a anymap
-\item[{{\it pnmtile}}]
-replicate a portable anymap into a specified size
-\item[{{\it pnmtofits}}]
-convert a portable anymap into FITS format
-\item[{{\it pnmtogif}}]
-convert portable anymap to GIF
-\item[{{\it pnmtops}}]
-convert portable anymap to PostScript
-\item[{{\it pnmtorast}}]
-convert portable anymap to Sun raster file
-\item[{{\it pnmtotiff}}]
-convert portable anymap to TIFF file
-\item[{{\it pnmtoxwd}}]
-convert portable anymap to X11 window dump
-\item[{{\it fitstopnm}}]
-fitstopnm - convert a FITS file into a portable anymap
-\item[{{\it pstopnm}}]
-script to convert PS to portable anymap with GhostScript
-\item[{{\it rasttopnm}}]
-convert Sun raster file to portable anymap
-\item[{{\it tifftopnm}}]
-convert TIFF file to portable anymap
-\item[{{\it xwdtopnm}}]
-convert X10 or X11 window dump to portable anymap
-\end{TPlist}
-
-\shead{SEE ALSO}
-There are a number of related image-manipulation tools:
-\begin{TPlist}{{\it Fuzzy Pixmap Manipulation}}
-\item[{{\it IM Raster Toolkit}}]
-A portable and efficient format toolkit.  The format supports pixels of
-arbitrary channels, components, and bit precisions, while allowing
-compression and machine byte-order independence.  Support for image
-manipulation, digital halftoning, and format conversion.  Previously
-distributed on tape c/o the University of Waterloo (an {\it ftp}
-version is to appear later).  Author: Alan Paeth
-(awpaeth@watcgl.uwaterloo.ca).
-\item[{{\it Utah RLE Toolkit}}]
-Conversion and manipulation package, similar to {\it pbmplus}.  Available
-via {\it ftp} as {\it cs.utah.edu: pub/toolkit-2.0.tar.Z} and {\it
-ucsd.edu: graphics\-/utah-raster-toolkit.\-tar.Z}.
-\item[{{\it Fuzzy Pixmap Manipulation}}]
-Conversion and manipulation package, similar to {\it pbmplus}.  Version
-1.0 available via {\it ftp} as {\it
-nl.cs.cmu.edu: /usr/mlm/ftp/fbm.tar.Z}, {\it
-uunet.uu.net: pub/fbm.tar.Z}, and {\it ucsd.edu: graphics/fbm.tar.Z}.
-Author: Michael Mauldin (mlm@nl.cs.cmu.edu).
-\item[{{\it Img Software Set}}]
-Reads and writes its own image format, displaying results on an X11
-screen, and does some image manipulations.  Version 1.3 is available via
-{\it ftp} as {\it ftp.x.org: contrib/img\_1.3.tar.Z}, and {\it
-venera.isi.edu: pub/img\_1.3.tar.Z}, along with a large collection of
-color images.  Author: Paul Raveling (raveling@venera.isi.edu).
-\item[{{\it Xim}}]
-Reads and writes its own image format, displays on an X11 screen, and
-does some image manipulations.  Available in your nearest X11R4 source
-tree as {\it contrib/clients/xim}.  A more recent version is available
-via ftp from {\it video.mit.edu}.  It uses X11R4 and the OSF/Motif
-toolkit to provide basic interactive image manipulation and reads/writes
-GIF, xwd, xbm, tiff, rle, xim, and other formats.  Author: Philip R.
-Thompson.
-\item[{{\it xloadimage}}]
-Reads in images in various formats and displays them on an X11 screen.
-Available via {\it ftp} as {\it
-ftp.x.org: contrib/xloadimage$\ast$}, and in your nearest {\it
-comp.sources.\-x} archive.  Author: Jim Frost (madd@std.\-com).
-\item[{{\it TIFF\ Software}}]
-Nice portable library for reading and writing TIFF files, plus a few
-tools for manipulating them and reading other formats.  Available via
-{\it ftp} as {\it sgi.com: graphics/tiff/$\ast$.tar.Z} or {\it
-uunet.uu.net: graphics/tiff.tar.Z}.  Author: Sam Leffler
-(sam@sgi.com).
-\item[{{\it ALV}}]
-A Sun-specific image toolkit.  Version 2.0.6 posted to {\it
-comp.sources.\-sun} on 11 December 1989.  Also available via email to {\it
-alv-users-request @cs.bris.ac.uk}.
-\item[{{\it popi}}]
-An image manipulation language.  Version 2.1 posted to {\it
-comp.\-sources.\-misc} on 12 December 1989.
-\item[{{\it ImageMagick,}}]
-X11 package for display and interactive manipulation of images.  Uses its
-own format (MIFF), and includes some converters.  Available via {\it
-ftp} as {\it ftp.x.org: contrib/ImageMagick.$\ast$.tar.Z}.
-\item[{{\it Khoros}}]
-A huge (\~{}100 meg) graphical development environment based on X11R4.
-Components include a visual programming language, code generators for
-extending the visual language and adding new application packages to the
-system, an interactive user interface editor, an interactive image
-display package, an extensive library of image and signal processing
-routines, and 2D/3D plotting packages.  Available via {\it ftp} as
-{\it pprg.unm.edu: pub/khoros/$\ast$}.
-\item[{JPEG package}]
-JPEG is a a standardized compression method for full-color and gray-scale
-images of ``real-world'' scenes; this experimental package includes
-programs to compress gif and ppm format files to JPEG format ({\it
-cjpeg(1L)),} and to decompress them ({\it djpeg(1L)).} Available by {\it
-ftp} as {\it uunet.uu.net: graphics/jpeg/jpegsrc.v4.tar.Z}.
-\end{TPlist}
-
-libpbm(3), libpgm(3), libpnm(3), libppm(3), pbm(5), pgm(5), pnm(5),
-ppm(5), rasterfile(1)
-
-\shead{AUTHOR}
-Distribution of 10 December 1991.  \copyright 1989, 1991 by Jef Poskanzer.
-
-Feedback and questions are welcome. Please send them to:
-\begin{IPlist}
-\IPitem{{}}
-{\nofill
-        jef@netcom.com
-        jef@well.sf.ca.us
-        apple!well!jef
-\fill}
-\end{IPlist}
-
-When sending bug reports, always include the output from running any
-pbmplus program with the -version flag, including descriptions of the
-type of system you are on, the compiler you use, and whether you are
-using Makefiles or Imakefiles.
-
-When suggesting new formats or features, please include whatever
-documentation you have, and a uuencoded sample.  The response time will
-depend upon my schedule and the complexity of the task;  if you need it
-right away, or it is a complicated job, you might consider paying me.
-
-The Usenet newsgroup {\it alt.graphics.pixutils} is a forum for
-discussion of image conversion and editing packages.  Posting queries
-there may be better than mailing them to me, since it allows other people
-to help provide answers.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.  This software is provided ``as is'' without express or
-implied warranty.  Thus, you may do what you want with this software.
-Build it into your package, steal code from it, whatever.  Just be sure
-to let people know where it came from.
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Feb  4 14:35:11 1994
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: asciitopgm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: asciitopgm.1
-%
-\phead{asciitopgm}{1}{26 December 1994}{}{}
-
-%.IX asciitopgm
-\shead{NAME}
-asciitopgm - convert ASCII graphics into a portable graymap
-\shead{SYNOPSIS}
-{\bf asciitopgm}
-{\it [}{\rm -d}
-{\rm divisor}{\it ]}
-{\it height width}
-{\rm [}{\it asciifile}{\rm ]}
-\shead{DESCRIPTION}
-Reads ASCII data as input.
-Produces a portable graymap with pixel values which are an approximation
-of the ``brightness'' of the ASCII characters,
-assuming black-on-white printing.
-In other words, a capital M is very dark, a period is ver light,
-and a space is white.
-Input lines which are fewer than
-{\it width}
-characters are automatically padded with spaces.
-\par
-The
-{\it divisor}
-argument is a floating-point number by which the output pixels are
-divided; the default value is 1.0.
-This can be used to adjust the brightness of the graymap:
-for example, if the image is too dim, reduce the divisor.
-\par
-In keeping with (I believe) Fortran line-printer conventions,
-input lines beginning with a + (plus) character are assumed
-to ``overstrike'' the previous line, allowing a larger range of gray values.
-\par
-This tool contradicts the message in the
-{\it pbmtoascii}
-manual: ``Note that there is no asciitopbm tool - this
-transformation is one-way.''
-\shead{BUGS}
-The table of ASCII-to-grey values is subject to interpretation,
-and, of course, depends on the typeface intended for the input.
-\shead{SEE ALSO}
-pbmtoascii(1), pgm(5)
-\shead{AUTHOR}
-Wilson H. Bent. Jr. (whb@usc.edu)
-%
-% end of input file: asciitopgm.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:07:54 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: atktopbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: atktopbm.1
-%
-\phead{atktopbm}{1}{26 September 1991}{}{}
-
-%.IX atktopbm
-\shead{NAME}
-atktopbm - convert Andrew Toolkit raster object to portable bitmap
-\shead{SYNOPSIS}
-{\bf atktopbm}
-{\rm [}{\it atkfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads an Andrew Toolkit raster object as input.
-%.IX "Andrew Toolkit raster object"
-Produces a portable bitmap as output.
-\shead{SEE ALSO}
-pbmtoatk(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1991 by Bill Janssen.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: atktopbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:35 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: bioradtopgm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: bioradtopgm.1
-%
-\phead{bioradtopgm}{1}{28 June 1993}{}{}
-
-%.IX bioradtopgm
-\shead{NAME}
-bioradtopgm - convert a Biorad confocal file into a portable graymap
-\shead{SYNOPSIS}
-{\bf bioradtopgm}
-{\rm [}{\bf -image\#}{\rm ]}
-{\rm [}{\it imagedata}{\rm ]}
-\shead{DESCRIPTION}
-Reads a Biorad confocal file as input.
-Produces a portable graymap as output.
-If the resulting image is upside down, run it through
-{\bf pnmflip\ -tb .}
-%.IX pnmflip
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -image\#}}
-\item[{{\bf -image\#}}]
-A Biorad image file may contain more than one image. With this flag,
-you can specify which image to extract (only one at a time). The first
-image in the file has number zero. If no
-image number is supplied, only information about the image size and
-the number of images in the input is printed out. No output is produced.
-\end{TPlist}
-
-\shead{BUGS}
-A Biorad image may be in word format. If PbmPlus is not compiled with the
-``BIGGRAYS'' flag, word files can not be converted. See the Makefile.
-\shead{SEE ALSO}
-pgm(5), pnmflip(1)
-\shead{AUTHORS}
-\copyright 1993 by Oliver Trepte (oliver@fysik4.kth.se).
-\nwl
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: bioradtopgm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:07 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: bmptoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: bmptoppm.1
-%
-\phead{bmptoppm}{1}{26 Oct 1992}{}{}
-
-%.IX bmptoppm
-\shead{NAME}
-bmptoppm -- convert a BMP file into a portable pixmap
-\shead{SYNOPSIS}
-{\bf bmptoppm}
-{\rm [}{\it bmpfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a Microsoft Windows or OS/2 BMP file as input.
-%.IX BMP
-Produces a portable pixmap as output.
-\shead{SEE ALSO}
-ppmtobmp(1),
-ppm(5)
-\shead{AUTHOR}
-\copyright 1992 by David W. Sanderson.
-% Permission to use, copy, modify, and distribute this software and
-% its documentation for any purpose and without fee is hereby granted,
-% provided that the above copyright notice appear in all copies and
-% that both that copyright notice and this permission notice appear in
-% supporting documentation.  This software is provided "as is" without
-% express or implied warranty.
-%
-% end of input file: bmptoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:07:54 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: brushtopbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: brushtopbm.1
-%
-\phead{brushtopbm}{1}{28 August 1988}{}{}
-
-%.IX brushtopbm
-\shead{NAME}
-brushtopbm - convert a doodle brush file into a portable bitmap
-\shead{SYNOPSIS}
-{\bf brushtopbm}
-{\rm [}{\it brushfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a Xerox doodle brush file as input.
-%.IX "Xerox doodle brush format"
-Produces a portable bitmap as output.
-\par
-Note that there is currently no pbmtobrush tool.
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: brushtopbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:07:55 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: cmuwmtopbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: cmuwmtopbm.1
-%
-\phead{cmuwmtopbm}{1}{15 April 1989}{}{}
-
-%.IX cmuwmtopbm
-\shead{NAME}
-cmuwmtopbm - convert a CMU window manager bitmap into a portable bitmap
-\shead{SYNOPSIS}
-{\bf cmuwmtopbm}
-{\rm [}{\it cmuwmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a CMU window manager bitmap as input.
-%.IX "CMU window manager bitmap"
-Produces a portable bitmap as output.
-\shead{SEE ALSO}
-pbmtocmuwm(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: cmuwmtopbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Feb  7 08:49:58 1994
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: fitstopnm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: fitstopnm.1
-%
-\phead{fitstopnm}{1}{20 September 89}{}{}
-
-\shead{NAME}
-fitstopnm - convert a FITS file into a portable anymap
-\shead{SYNOPSIS}
-{\bf fitstopnm}
-{\rm [}{\bf -image}
-{\it N}{\rm ]}
-{\rm [}{\bf -noraw}{\rm ]}
-{\rm [}{\bf -scanmax}{\rm ]}
-{\rm [}{\bf -printmax}{\rm ]}
-{\rm [}{\bf -min}
-{\it f}{\rm ]}
-{\rm [}{\bf -max}
-{\it f}{\rm ]}
-{\rm [}{\it FITSfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a FITS file as input.
-%.IX FITS
-Produces a portable pixmap if the FITS file consists of 3 image planes
-(NAXIS = 3 and NAXIS3 = 3), a portable graymap if the FITS file
-consists of 2 image planes (NAXIS = 2), or whenever the 
-{\bf --image}
-flag is specified.
-The results may need to be flipped top for bottom; if so, just
-pipe the output through
-{\bf pnmflip -tb.}
-%.IX pnmflip
-\shead{OPTIONS}
-\par
-The
-{\bf -image}
-option is for FITS files with three axes.
-The assumption is that the third axis is for multiple images,
-and this option lets you select which one you want.
-\par
-Flags 
-{\bf -min}
-and 
-{\bf -max}
-can be used to override the min and max values as read from the FITS
-header or the image data if no DATAMIN and DATAMAX keywords are found.
-Flag
-{\bf -scanmax}
-can be used to force the program to scan the data even when DATAMIN
-and DATAMAX are found in the header. If 
-{\bf -printmax}
-is specified, the program will just print the min and max values and
-quit.
-Flag
-{\bf -noraw}
-can be used to force 
-the program to produce an ASCII portable anymap.
-\par
-The program will tell what kind of anymap is writing.
-All flags can be abbreviated to their shortest unique prefix.
-\shead{REFERENCES}
-FITS stands for Flexible Image Transport System.  A full description
-can be found in Astronomy \& Astrophysics Supplement Series 44 (1981),
-page 363.
-\shead{SEE ALSO}
-pnmtofits(1), pgm(5), pnmflip(1)
-\shead{AUTHOR}
-Copyright (C) 1989 by Jef Poskanzer, with modifications by 
-Daniel Briggs (dbriggs@nrao.edu) and Alberto
-Accomazzi (alberto@cfa.harvard.edu).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: fitstopnm.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:24 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: fstopgm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: fstopgm.1
-%
-\phead{fstopgm}{1}{06 April 89}{}{}
-
-%.IX fstopgm
-\shead{NAME}
-fstopgm - convert a Usenix FaceSaver(tm) file into a portable graymap
-\shead{SYNOPSIS}
-{\bf fstopgm}
-{\rm [}{\it fsfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a Usenix FaceSaver(tm) file as input.
-%.IX FaceSaver
-Produces a portable graymap as output.
-\par
-FaceSaver(tm) files sometimes have rectangular pixels.
-While
-{\it fstopgm}
-won't re-scale them into square pixels for you,
-it will give you the precise
-{\it pnmscale}
-command that will do the job.
-Because of this, reading a FaceSaver(tm) image is a two-step process.
-First you do:
-\nofill
-  fstopgm $>$ /dev/null
-\fill
-This will tell you whether you need to use
-{\it pnmscale.}
-Then use one of the following pipelines:
-\nofill
-  fstopgm $|$ pgmnorm
-  fstopgm $|$ pnmscale -whatever $|$ pgmnorm
-\fill
-To go to PBM, you want something more like one of these:
-\nofill
-  fstopgm $|$ pnmenlarge 3 $|$ pgmnorm $|$ pgmtopbm
-  fstopgm $|$ pnmenlarge 3 $|$ pnmscale $<$whatever$>$ $|$ pgmnorm $|$ pgmtopbm
-\fill
-You want to enlarge when going to a bitmap because otherwise you lose
-information; but enlarging by more than 3 does not look good.
-\par
-FaceSaver is a registered trademark of Metron Computerware Ltd. of
-Oakland, CA.
-\shead{SEE ALSO}
-pgmtofs(1), pgm(5), pgmnorm(1), pnmenlarge(1), pnmscale(1), pgmtopbm(1)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: fstopgm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:07:55 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: g3topbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: g3topbm.1
-%
-\phead{g3topbm}{1}{02 October 1989}{}{}
-
-%.IX g3topbm
-\shead{NAME}
-g3topbm - convert a Group 3 fax file into a portable bitmap
-\shead{SYNOPSIS}
-{\bf g3topbm}
-{\rm [}{\bf -kludge}{\rm ]}
-{\rm [}{\bf -reversebits}{\rm ]}
-{\rm [}{\bf -stretch}{\rm ]}
-{\rm [}{\it g3file}{\rm ]}
-\shead{DESCRIPTION}
-Reads a Group 3 fax file as input.
-%.IX "Group 3 fax"
-%.IX fax
-Produces a portable bitmap as output.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -kludge}}
-\item[{{\bf -kludge}}]
-Tells
-{\it g3topbm}
-to ignore the first few lines of the file;
-sometimes fax files have some junk at the beginning.
-\item[{{\bf -reversebits}}]
-Tells
-{\it g3topbm}
-to interpret bits least-significant
-first, instead of the default most-significant first.
-Apparently some fax modems do it one way and others do it the other way.
-If you get a whole bunch of ``bad code word'' messages, try using this
-flag.
-\item[{{\bf -stretch}}]
-Tells
-{\it g3topbm}
-to stretch the image vertically by
-duplicating each row.
-This is for the low-quality transmission mode.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{REFERENCES}
-The standard for Group 3 fax is defined in CCITT Recommendation T.4.
-\shead{BUGS}
-Probably.
-\shead{SEE ALSO}
-pbmtog3(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1989 by Paul Haeberli (paul@manray.sgi.com).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: g3topbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:07:56 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: gemtopbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: gemtopbm.1
-%
-\phead{gemtopbm}{1}{3 December 1988}{}{}
-
-%.IX gemtopbm
-\shead{NAME}
-gemtopbm - convert a GEM .img file into a portable bitmap
-\shead{SYNOPSIS}
-{\bf gemtopbm}
-{\rm [}{\bf -d}{\rm ]}
-{\it gemfile}
-\shead{DESCRIPTION}
-Reads a GEM .img file as input.
-%.IX GEM
-Produces a portable bitmap as output.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -d}}
-\item[{{\bf -d}}]
-Produce output describing the contents of the .img file.
-\end{TPlist}
-
-\shead{BUGS}
-Does not support file containing more than one plane.
-Can't read from standard input.
-\shead{SEE ALSO}
-pbmtogem(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1988 Diomidis D. Spinellis (dds@cc.ic.ac.uk).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted,
-% provided that the above copyright notice appear in all copies and that
-% both that copyright notice and this permission notice appear in
-% supporting documentation.
-%
-% end of input file: gemtopbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:27 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: giftopnm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: giftopnm.1
-%
-\phead{giftopnm}{1}{29 September 1993}{}{}
-
-%.IX giftopnm
-\shead{NAME}
-giftopnm - convert a GIF file into a portable anymap
-\shead{SYNOPSIS}
-{\bf giftopnm}
-{\rm [}{\bf -verbose}{\rm ]}
-{\rm [}{\bf -comments}{\rm ]}
-{\rm [}{\bf -image}
-{\it N}{\rm ]}
-{\rm [}{\it GIFfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a GIF file for input, and outputs portable anymap.
-%.IX GIF
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -verbose}}
-\item[{{\bf -verbose}}]
-Produces verbose output about the GIF file input.
-\item[{{\bf -comments}}]
-Only outputs GIF89 comment fields.
-\item[{{\bf -image}}]
-Output the specified gif image from the
-input gif archive (where
-{\it N}
-is '1', '2', '20'...).
-Normally there is only one image per file, so this option
-is not needed.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{BUGS}
-This does not correctly handle the Plain Text Extension of the GIF89
-standard, since I did not have any example input files containing them.
-\shead{SEE ALSO}
-ppmtogif(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1993 by David Koblas (koblas@netcom.com)
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted,
-% provided that the above copyright notice appear in all copies and that
-% both that copyright notice and this permission notice appear in
-% supporting documentation.
-%
-% end of input file: giftopnm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:40 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: gouldtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: gouldtoppm.1
-%
-\phead{gouldtoppm}{1}{20 May 1990}{}{}
-
-%.IX gouldtoppm
-\shead{NAME}
-gouldtoppm - convert Gould scanner file into a portable pixmap
-\shead{SYNOPSIS}
-{\bf gouldtoppm}
-{\rm [}{\it gouldfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a file produced by the Gould scanner as input.
-%.IX "Gould scanner"
-Produces a portable pixmap as output.
-\shead{SEE ALSO}
-ppm(5)
-\shead{AUTHOR}
-\copyright 1990 by Stephen Paul Lesniewski.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: gouldtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:25 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: hipstopgm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: hipstopgm.1
-%
-\phead{hipstopgm}{1}{24 August 89}{}{}
-
-%.IX hipstopgm
-\shead{NAME}
-hipstopgm - convert a HIPS file into a portable graymap
-\shead{SYNOPSIS}
-{\bf hipstopgm}
-{\rm [}{\it hipsfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a HIPS file as input.
-%.IX HIPS
-Produces a portable graymap as output.
-\par
-If the HIPS file contains more than one frame in sequence, hipstopgm
-will concatenate all the frames vertically.
-\par
-HIPS is a format developed at the Human Information Processing
-Laboratory, NYU.
-\shead{SEE ALSO}
-pgm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: hipstopgm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:07:57 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: icontopbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: icontopbm.1
-%
-\phead{icontopbm}{1}{31 August 1988}{}{}
-
-%.IX icontopbm
-\shead{NAME}
-icontopbm - convert a Sun icon into a portable bitmap
-\shead{SYNOPSIS}
-{\bf icontopbm}
-{\rm [}{\it iconfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a Sun icon as input.
-%.IX Sun
-%.IX "Sun icon format"
-Produces a portable bitmap as output.
-\shead{SEE ALSO}
-pbmtoicon(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: icontopbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:41 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ilbmtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ilbmtoppm.1
-%
-\phead{ilbmtoppm}{1}{20 June 1993}{}{}
-
-%.IX ilbmtoppm
-\shead{NAME}
-ilbmtoppm - convert an ILBM file into a portable pixmap
-\shead{SYNOPSIS}
-{\bf ilbmtoppm}
-{\rm [}{\bf -verbose}{\rm ]}
-{\rm [}{\it ILBMfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads an IFF ILBM file as input.
-%.IX "IFF"
-%.IX "ILBM"
-Produces a portable pixmap as output.
-Supported ILBM types are:
-\begin{TPlist}{Normal ILBMs with 1-16 planes.}
-\item[{Normal ILBMs with 1-16 planes.}]
-\item[{Amiga Extra-Halfbrite (EHB)}]
-\item[{Amiga Hold-and-Modify (HAM) with 3-16 planes.}]
-%.IX "HAM"
-\item[{24 bit.}]
-\item[{Color map (BMHD + CMAP chunk only, nPlanes = 0).}]
-\item[{Unofficial direct color.}]
-1-16 planes for each color component.
-\item[{Chunks used:}]
-BMHD, CMAP, CAMG (only HAM \& EHB flags used), BODY
-unofficial DCOL chunk to identify direct color ILBM
-\item[{Chunks ignored:}]
-GRAB, DEST, SPRT, CRNG, CCRT, CLUT, DPPV, DRNG, EPSF
-\item[{Other chunks (ignored but displayed in verbose mode):}]
-NAME, AUTH, (c), ANNO, DPI
-\item[{Unknown chunks are skipped.}]
-\end{TPlist}
-
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -verbose}}
-\item[{{\bf -verbose}}]
-Give some informaton about the ILBM file.
-\end{TPlist}
-
-\shead{BUGS}
-Probably.
-\shead{REFERENCES}
-Amiga ROM Kernel Reference Manual - Devices (3rd Ed.)
-Addison Wesley, ISBN 0--201--56775--X
-\shead{SEE ALSO}
-ppm(5), ppmtoilbm(1)
-\shead{AUTHORS}
-\copyright 1989 by Jef Poskanzer.
-\nwl
-Modified June 1993 by Ingo Wilken (Ingo.Wilken@informatik.uni-oldenburg.de)
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ilbmtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:41 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: imgtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: imgtoppm.1
-%
-\phead{imgtoppm}{1}{05 September 1989}{}{}
-
-%.IX imgtoppm
-\shead{NAME}
-imgtoppm - convert an Img-whatnot file into a portable pixmap
-\shead{SYNOPSIS}
-{\bf imgtoppm}
-{\rm [}{\it imgfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads an Img-whatnot file as input.
-Produces a portable pixmap as output.
-The Img-whatnot toolkit is available for FTP on venera.isi.edu,
-along with numerous images in this format.
-%.IX Img-whatnot
-\shead{SEE ALSO}
-ppm(5)
-\shead{AUTHOR}
-Based on a simple conversion program posted to comp.graphics by Ed Falk.
-
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: imgtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:19 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: libpbm.3
-
-\newpage
-%--------------------------------------------------
-% start of input file: libpbm.3
-%
-\phead{libpbm}{3}{}{}{}
-
-\shead{NAME}
-libpbm - functions to support portable bitmap programs
-\shead{SYNOPSIS}
-\def\Ss{\par\vspace{1.0\baselineskip}%.ft CW
-\nofill
-}
-\def\Se{\fill
-%.ft P
-\par\vspace{1.0\baselineskip}}
-\Ss
-\#include $<$pbm.h$>$
-cc ... libpbm.a
-\Se
-\shead{DESCRIPTION - PACKAGE-WIDE ROUTINES}
-%.SS KEYWORD MATCHING
-\Ss
-int pm\_keymatch( char* str, char* keyword, int minchars )
-\Se
-Does a case-insensitive match of
-{\bf str}
-against
-{\bf keyword}{\rm .}
-{\bf str}
-can be a leading sunstring of
-{\bf keyword}{\rm ,}
-but at least
-{\bf minchars}
-must be present.
-%.SS LOG BASE TWO
-\Ss
-int pm\_maxvaltobits( int maxval )
-int pm\_bitstomaxval( int bits )
-\Se
-Convert between a maxval and the minimum number of bits required
-to hold it.
-%.SS MESSAGES AND ERRORS
-\Ss
-void pm\_message( char* fmt, ... )
-\Se
-{\bf printf()}
-style routine to write an informational message.
-\Ss
-void pm\_error( char* fmt, ... )
-\Se
-{\bf printf()}
-style routine to write an error message and abort.
-\Ss
-void pm\_usage( char* usage )
-\Se
-Write a usage message.
-The string should indicate what arguments are to be provided to the program.
-%.SS GENERIC FILE MANAGEMENT
-\Ss
-FILE* pm\_openr( char* name )
-\Se
-Open the given file for reading, with appropriate error checking.
-A filename of ``-'' is taken as equivalent to stdin.
-\Ss
-FILE* pm\_openw( char* name )
-\Se
-Open the given file for writing, with appropriate error checking.
-\Ss
-void pm\_close( FILE* fp )
-\Se
-Close the file descriptor, with appropriate error checking.
-%.SS ENDIAN I/O
-\Ss
-int pm\_readbigshort( FILE* in, short* sP )
-int pm\_writebigshort( FILE* out, short s )
-int pm\_readbiglong( FILE* in, long* lP )
-int pm\_writebiglong( FILE* out, long l )
-int pm\_readlittleshort( FILE* in, short* sP )
-int pm\_writelittleshort( FILE* out, short s )
-int pm\_readlittlelong( FILE* in, long* lP )
-int pm\_writelittlelong( FILE* out, long l )
-\Se
-Routines to read and write short and long ints in either big- or
-little-endian byte order.
-\shead{DESCRIPTION - PBM-SPECIFIC ROUTINES}
-%.SS TYPES AND CONSTANTS
-\Ss
-typedef ... bit;
-\#define PBM\_WHITE ...
-\#define PBM\_BLACK ...
-\Se
-each
-{\bf bit}
-should contain only the values of
-{\bf PBM\_WHITE}
-or
-{\bf PBM\_BLACK}{\rm .}
-\Ss
-\#define PBM\_FORMAT ...
-\#define RPBM\_FORMAT ...
-\#define PBM\_TYPE PBM\_FORMAT
-\#define PBM\_FORMAT\_TYPE(f) ...
-\Se
-For distinguishing different file formats and types.
-%.SS INITIALIZATION
-\Ss
-void pbm\_init( int* argcP, char* argv[] )
-\Se
-All PBM programs must call this routine.
-%.SS MEMORY MANAGEMENT
-\Ss
-bit** pbm\_allocarray( int cols, int rows )
-\Se
-Allocate an array of bits.
-\Ss
-bit* pbm\_allocrow( int cols )
-\Se
-Allocate a row of the given number of bits.
-\Ss
-void pbm\_freearray( bit** bits, int rows )
-\Se
-Free the array allocated with
-{\bf pbm\_allocarray()}
-containing the given number
-of rows.
-\Ss
-void pbm\_freerow( bit* bitrow )
-\Se
-Free a row of bits.
-%.SS READING FILES
-\Ss
-void pbm\_readpbminit( FILE* fp, int* colsP, int* rowsP, int* formatP )
-\Se
-Read the header from a PBM file, filling in the rows, cols and format
-variables.
-\Ss
-void pbm\_readpbmrow( FILE* fp, bit* bitrow, int cols, int format )
-\Se
-Read a row of bits into the bitrow array.
-Format and cols were filled in by
-{\bf pbm\_readpbminit()}{\rm .}
-\Ss
-bit** pbm\_readpbm( FILE* fp, int* colsP, int* rowsP )
-\Se
-Read an entire bitmap file into memory, returning the allocated array and
-filling in the rows and cols variables.
-This function combines
-{\bf pbm\_readpbminit()}{\rm ,}
-{\bf pbm\_allocarray()}
-and
-{\bf pbm\_readpbmrow()}{\rm .}
-\Ss
-char* pm\_read\_unknown\_size( FILE* fp, long* nread )
-\Se
-Read an entire file or input stream of unknown size to a buffer.
-Allocate memory more memory as needed. The calling routine has
-to free the allocated buffer with
-{\bf free()}{\rm .}
-{\bf pm\_read\_unknown\_size()}
-returns a pointer to the allocated buffer. The
-{\bf nread}
-argument returns the number of bytes read.
-%.SS WRITING FILES
-\Ss
-void pbm\_writepbminit( FILE* fp, int cols, int rows, int forceplain )
-\Se
-Write the header for a portable bitmap file.
-The forceplain flag forces a plain-format file to be written, as opposed
-to a raw-format one.
-\Ss
-void pbm\_writepbmrow( FILE* fp, bit* bitrow, int cols, int forceplain )
-\Se
-Write a row from a portable bitmap.
-\Ss
-void pbm\_writepbm( FILE* fp, bit** bits, int cols, int rows, int forceplain )
-\Se
-Write the header and all data for a portable bitmap.
-This function combines
-{\bf pbm\_writepbminit()}
-and
-{\bf pbm\_writepbmrow()}{\rm .}
-\shead{SEE ALSO}
-libpgm(3), libppm(3), libpnm(3)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Tony Hansen and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: libpbm.3
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:37 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: libpgm.3
-
-\newpage
-%--------------------------------------------------
-% start of input file: libpgm.3
-%
-\phead{libpgm}{3}{}{}{}
-
-\shead{NAME}
-libpgm - functions to support portable graymap programs
-\shead{SYNOPSIS}
-\def\Ss{\par\vspace{1.0\baselineskip}%.ft CW
-\nofill
-}
-\def\Se{\fill
-%.ft P
-\par\vspace{1.0\baselineskip}}
-\Ss
-\#include $<$pgm.h$>$
-cc ... libpgm.a libpbm.a
-\Se
-\shead{DESCRIPTION}
-%.SS TYPES AND CONSTANTS
-\Ss
-typedef ... gray;
-\#define PGM\_MAXMAXVAL ...
-extern gray pgm\_pbmmaxval;
-\Se
-Each
-{\bf gray}
-should contain only the values between
-{\bf 0}
-and
-{\bf PGM\_MAXMAXVAL}{\rm .}
-{\bf pgm\_pbmmaxval}
-is the maxval used when a PGM program reads a PBM file.
-Normally it is 1; however, for some programs, a larger value gives better
-results.
-\Ss
-\#define PGM\_FORMAT ...
-\#define RPGM\_FORMAT ...
-\#define PGM\_TYPE PGM\_FORMAT
-int PGM\_FORMAT\_TYPE( int format )
-\Se
-For distinguishing different file formats and types.
-%.SS INITIALIZATION
-\Ss
-void pgm\_init( int* argcP, char* argv[] )
-\Se
-All PGM programs must call this routine.
-%.SS MEMORY MANAGEMENT
-\Ss
-gray** pgm\_allocarray( int cols, int rows )
-\Se
-Allocate an array of grays.
-\Ss
-gray* pgm\_allocrow( int cols )
-\Se
-Allocate a row of the given number of grays.
-\Ss
-void pgm\_freearray( gray** grays, int rows )
-\Se
-Free the array allocated with
-{\bf pgm\_allocarray()}
-containing the given number
-of rows.
-\Ss
-void pgm\_freerow( gray* grayrow )
-\Se
-Free a row of grays.
-%.SS READING FILES
-\Ss
-void pgm\_readpgminit( FILE* fp, int* colsP, int* rowsP, gray* maxvalP, int* formatP )
-\Se
-Read the header from a PGM file, filling in the rows, cols, maxval and format
-variables.
-\Ss
-void pgm\_readpgmrow( FILE* fp, gray* grayrow, int cols, gray maxval, int format )
-\Se
-Read a row of grays into the grayrow array.
-Format, cols, and maxval were filled in by
-{\bf pgm\_readpgminit()}{\rm .}
-\Ss
-gray** pgm\_readpgm( FILE* fp, int* colsP, int* rowsP, gray* maxvalP )
-\Se
-Read an entire graymap file into memory, returning the allocated array and
-filling in the rows, cols and maxval variables.
-This function combines
-{\bf pgm\_readpgminit()}{\rm ,}
-{\bf pgm\_allocarray()}
-and
-{\bf pgm\_readpgmrow()}{\rm .}
-%.SS WRITING FILES
-\Ss
-void pgm\_writepgminit( FILE* fp, int cols, int rows, gray maxval, int forceplain )
-\Se
-Write the header for a portable graymap file.
-The forceplain flag forces a plain-format file to be written, as opposed
-to a raw-format one.
-\Ss
-void pgm\_writepgmrow( FILE* fp, gray* grayrow, int cols, gray maxval, int forceplain )
-\Se
-Write a row from a portable graymap.
-\Ss
-void pgm\_writepgm( FILE* fp, gray** grays, int cols, int rows, gray maxval, int forceplain )
-\Se
-Write the header and all data for a portable graymap.
-This function combines
-{\bf pgm\_writepgminit()}
-and
-{\bf pgm\_writepgmrow()}{\rm .}
-\shead{SEE ALSO}
-libpbm(3), libppm(3), libpnm(3)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Tony Hansen and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: libpgm.3
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:34 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: libpnm.3
-
-\newpage
-%--------------------------------------------------
-% start of input file: libpnm.3
-%
-\phead{libpnm}{3}{}{}{}
-
-\shead{NAME}
-libpnm - functions to support portable anymap programs
-\shead{SYNOPSIS}
-\def\Ss{\par\vspace{1.0\baselineskip}%.ft CW
-\nofill
-}
-\def\Se{\fill
-%.ft P
-\par\vspace{1.0\baselineskip}}
-\Ss
-\#include $<$pnm.h$>$
-cc ... libpnm.a libppm.a libpgm.a libpbm.a
-\Se
-\shead{DESCRIPTION}
-%.SS TYPES AND CONSTANTS
-\Ss
-typedef ... xel;
-typedef ... xelval;
-\#define PNM\_MAXMAXVAL ...
-extern xelval pnm\_pbmmaxval;
-\Se
-Each
-{\bf xel}
-contains three
-{\bf xelval}{\rm s,}
-each of which should contain only the values between
-{\bf 0}
-and
-{\bf PNM\_MAXMAXVAL}{\rm .}
-{\bf pnm\_pbmmaxval}
-is the maxval used when a PNM program reads a PBM file.
-Normally it is 1; however, for some programs, a larger value gives better
-results.
-%.SS XEL MANIPULATIONS
-\Ss
-xelval PNM\_GET1( xel x )
-\Se
-This macro extracts a single value from an xel, when you know it's
-from a PBM or PGM file.
-When it's from a PPM file, use
-{\bf PPM\_GETR()}{\rm ,}
-{\bf PPM\_GETG()}{\rm ,}
-and
-{\bf PPM\_GETB()}{\rm .}
-\Ss
-void PNM\_ASSIGN1( xel x, xelval v )
-\Se
-This macro assigns a single value to an xel, when you know it's
-from a PBM or PGM file.
-When it's from a PPM file, use
-{\bf PPM\_ASSIGN()}{\rm .}
-\Ss
-int PNM\_EQUAL( xel x, xel y )
-\Se
-This macro checks two xels for equality.
-\Ss
-int PNM\_FORMAT\_TYPE( int format )
-\Se
-For distinguishing different file types.
-%.SS INITIALIZATION
-\Ss
-void pnm\_init( int* argcP, char* argv[] )
-\Se
-All PNM programs must call this routine.
-%.SS MEMORY MANAGEMENT
-\Ss
-xel** pnm\_allocarray( int cols, int rows )
-\Se
-Allocate an array of xels.
-\Ss
-xel* pnm\_allocrow( int cols )
-\Se
-Allocate a row of the given number of xels.
-\Ss
-void pnm\_freearray( xel** xels, int rows )
-\Se
-Free the array allocated with
-{\bf pnm\_allocarray()}
-containing the given number
-of rows.
-\Ss
-void pnm\_freerow( xel* xelrow )
-\Se
-Free a row of xels.
-%.SS READING FILES
-\Ss
-void pnm\_readpnminit( FILE* fp, int* colsP, int* rowsP, xelval* maxvalP, int* formatP )
-\Se
-Read the header from a PNM file, filling in the rows, cols, maxval and format
-variables.
-\Ss
-void pnm\_readpnmrow( FILE* fp, xel* xelrow, int cols, xelval maxval, int format )
-\Se
-Read a row of xels into the xelrow array.
-Format, cols, and maxval were filled in by
-{\bf pnm\_readpnminit()}{\rm .}
-\Ss
-xel** pnm\_readpnm( FILE* fp, int* colsP, int* rowsP, xelval* maxvalP, int* formatP )
-\Se
-Read an entire anymap file into memory, returning the allocated array and
-filling in the rows, cols, maxval, and format variables.
-This function combines
-{\bf pnm\_readpnminit()}{\rm ,}
-{\bf pnm\_allocarray()}
-and
-{\bf pnm\_readpnmrow()}{\rm .}
-Unlike the equivalent functions in PBM, PGM, and PPM, it returns the format
-so you can tell what type the file is.
-%.SS WRITING FILES
-\Ss
-void pnm\_writepnminit( FILE* fp, int cols, int rows, xelval maxval, int format, int forceplain )
-\Se
-Write the header for a portable anymap file.
-Unlike the equivalent functions in PBM, PGM, and PPM, you have to specify
-the output type.
-The forceplain flag forces a plain-format file to be written, as opposed
-to a raw-format one.
-\Ss
-void pnm\_writepnmrow( FILE* fp, xel* xelrow, int cols, xelval maxval, int format, int forceplain )
-\Se
-Write a row from a portable anymap.
-\Ss
-void pnm\_writepnm( FILE* fp, xel** xels, int cols, int rows, xelval maxval, int format, int forceplain )
-\Se
-Write the header and all data for a portable anymap.
-This function combines
-{\bf pnm\_writepnminit()}
-and
-{\bf pnm\_writepnmrow()}{\rm .}
-%.SS FORMAT PROMOTION
-\Ss
-void pnm\_promoteformatrow( xel* xelrow, int cols, xelval maxval, int format, xelval newmaxval, int newformat )
-\Se
-Promote a row of xels from one maxval and format to a new set.
-Used when combining multiple anymaps of different types - just
-take the max of the maxvals and the max of the formats, and
-promote them all to that.
-\Ss
-void pnm\_promoteformat( xel** xels, int cols, int rows, xelval maxval, int format, xelval newmaxval, int newformat )
-\Se
-Promote an entire anymap.
-%.SS XEL MANIPULATION
-\Ss
-xel pnm\_whitexel( xelval maxval, int format )
-xel pnm\_blackxel( xelval maxval, int format )
-\Se
-Return a white or black xel for the given maxval and format.
-\Ss
-void pnm\_invertxel( xel* x, xelval maxval, int format )
-\Se
-Invert an xel.
-\Ss
-xel pnm\_backgroundxelrow( xel* xelrow, int cols, xelval maxval, int format )
-\Se
-Figure out an appropriate background xel based on this row.
-\Ss
-xel pnm\_backgroundxel( xel** xels, int cols, int rows, xelval maxval, int format )
-\Se
-Figure out a background xel based on an entire anymap.
-This can do a slightly better job than
-{\bf pnm\_backgroundxelrow()}{\rm .}
-\shead{SEE ALSO}
-pbm(3), pgm(3), ppm(3)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Tony Hansen and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: libpnm.3
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:12 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: libppm.3
-
-\newpage
-%--------------------------------------------------
-% start of input file: libppm.3
-%
-\phead{libppm}{3}{}{}{}
-
-\shead{NAME}
-libppm - functions to support portable pixmap programs
-\shead{SYNOPSIS}
-\def\Ss{\par\vspace{1.0\baselineskip}%.ft CW
-\nofill
-}
-\def\Se{\fill
-%.ft P
-\par\vspace{1.0\baselineskip}}
-\Ss
-\#include $<$ppm.h$>$
-cc ... libppm.a libpgm.a libpbm.a
-\Se
-\shead{DESCRIPTION}
-%.SS TYPES AND CONSTANTS
-\Ss
-typedef ... pixel;
-typedef ... pixval;
-\#define PPM\_MAXMAXVAL ...
-extern pixval ppm\_pbmmaxval;
-\Se
-Each
-{\bf pixel}
-contains three
-{\bf pixval}{\rm s,}
-each of which should contain only the values between
-{\bf 0}
-and
-{\bf PPM\_MAXMAXVAL}{\rm .}
-{\bf ppm\_pbmmaxval}
-is the maxval used when a PPM program reads a PBM file.
-Normally it is 1; however, for some programs, a larger value gives better
-results.
-\Ss
-\#define PPM\_FORMAT ...
-\#define RPPM\_FORMAT ...
-\#define PPM\_TYPE PPM\_FORMAT
-int PPM\_FORMAT\_TYPE( int format )
-\Se
-For distinguishing different file formats and types.
-\Ss
-pixval PPM\_GETR( pixel p )
-pixval PPM\_GETG( pixel p )
-pixval PPM\_GETB( pixel p )
-\Se
-These three macros retrieve the red, green or blue value from the given
-pixel.
-\Ss
-void PPM\_ASSIGN( pixel p, pixval red, pixval grn, pixval blu )
-\Se
-This macro assigns the given red, green and blue values to the pixel.
-\Ss
-int PPM\_EQUAL( pixel p, pixel q )
-\Se
-This macro checks two pixels for equality.
-\Ss
-void PPM\_DEPTH( pixel newp, pixel p, pixval oldmaxval, pixval newmaxval )
-\Se
-This macro scales the colors of pixel
-{\bf p}
-according the old and new maximum values and assigns the new values to
-{\bf newp}{\rm .}
-It is intended to make writing ppmtowhatever easier.
-\Ss
-float PPM\_LUMIN( pixel p )
-\Se
-This macro determines the luminance of the pixel
-{\bf p}{\rm .}
-%.SS MEMORY MANAGEMENT
-\Ss
-pixel** ppm\_allocarray( int cols, int rows )
-\Se
-Allocate an array of pixels.
-\Ss
-pixel* ppm\_allocrow( int cols )
-\Se
-Allocate a row of the given number of pixels.
-\Ss
-void ppm\_freearray( pixel** pixels, int rows )
-\Se
-Free the array allocated with
-{\bf ppm\_allocarray()}
-containing the given number
-of rows.
-\Ss
-void pbm\_freerow( pixel* pixelrow )
-\Se
-Free a row of pixels.
-%.SS READING PBM FILES
-\Ss
-void ppm\_readppminit( FILE* fp, int* colsP, int* rowsP, pixval* maxvalP, int* formatP )
-\Se
-Read the header from a PPM file, filling in the rows, cols, maxval and format
-variables.
-\Ss
-void ppm\_readppmrow( FILE* fp, pixel* pixelrow, int cols, pixval maxval, int format )
-\Se
-Read a row of pixels into the pixelrow array.
-Format, cols, and maxval were filled in by
-{\bf ppm\_readppminit()}{\rm .}
-\Ss
-pixel** ppm\_readppm( FILE* fp, int* colsP, int* rowsP, pixval* maxvalP )
-\Se
-Read an entire pixmap file into memory, returning the allocated array and
-filling in the rows, cols and maxval variables.
-This function combines
-{\bf ppm\_readppminit()}{\rm ,}
-{\bf ppm\_allocarray()}
-and
-{\bf ppm\_readppmrow()}{\rm .}
-%.SS WRITING FILES
-\Ss
-void ppm\_writeppminit( FILE* fp, int cols, int rows, pixval maxval, int forceplain )
-\Se
-Write the header for a portable pixmap file.
-The forceplain flag forces a plain-format file to be written, as opposed
-to a raw-format one.
-\Ss
-void ppm\_writeppmrow( FILE* fp, pixel* pixelrow, int cols, pixval maxval, int forceplain )
-\Se
-Write a row from a portable pixmap.
-\Ss
-void ppm\_writeppm( FILE* fp, pixel** pixels, int cols, int rows, pixval maxval, int forceplain )
-\Se
-Write the header and all data for a portable pixmap.
-This function combines
-{\bf ppm\_writeppminit()}
-and
-{\bf ppm\_writeppmrow()}{\rm .}
-%.SS COLOR NAMES
-\Ss
-pixel ppm\_parsecolor( char* colorname, pixval maxval )
-\Se
-Parses an ASCII color name into a pixel.
-The color can be specified in three ways.  One, as a name, assuming
-that a pointer to an X11-style color names file was compiled in.  Two,
-as an X11-style hexadecimal number: \#rgb, \#rrggbb, \#rrrgggbbb, or
-\#rrrrggggbbbb.  Three, as a triplet of decimal floating point numbers
-separated by commas: r.r,g.g,b.b.
-\Ss
-char* ppm\_colorname( pixel* colorP, pixval maxval, int hexok )
-\Se
-Returns a pointer to a string describing the given color.
-If the X11 color names file is available and the color appears in
-it, that name is returned.
-Otherwise, if the hexok flag is true then a hexadecimal colorspec
-is returned; if hexok is false and the X11 color names file is
-available, then the closest matching color is returned;
-otherwise, it's an error.
-\shead{SEE ALSO}
-pbm(3), pgm(3)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Tony Hansen and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: libppm.3
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:25 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: lispmtopgm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: lispmtopgm.1
-%
-\phead{lispmtopgm}{1}{06 March 1990}{}{}
-
-%.IX lispmtopgm
-\shead{NAME}
-lispmtopgm - convert a Lisp Machine bitmap file into pgm format
-\shead{SYNOPSIS}
-{\bf lispmtopgm}
-{\rm [}{\it lispmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a Lisp Machine bitmap as input.
-%.IX "Lisp Machine bitmap"
-Produces a portable graymap as output.
-\par
-This is the file format written by the tv:write-bit-array-file function on
-TI Explorer and Symbolics lisp machines.
-\par
-Multi-plane bitmaps on lisp machines are color; but the lispm image file
-format does not include a color map, so we must treat it as a graymap 
-instead.  This is unfortunate.
-\shead{SEE ALSO}
-pgmtolispm(1), pgm(5)
-\shead{BUGS}
-The Lispm bitmap file format is a bit quirky;  Usually the image in the file
-has its width rounded up to the next higher multiple of 32, but not always.
-If the width is not a multiple of 32, we don't deal with it properly, but 
-because of the Lispm microcode, such arrays are probably not image data 
-anyway.
-\par
-Also, the lispm code for saving bitmaps has a bug, in that if you are writing a
-bitmap which is not mod32 across, the file may be up to 7 bits too short!  They
-round down instead of up, and we don't handle this bug gracefully.
-\par
-No color.
-\shead{AUTHOR}
-\copyright 1991 by Jamie Zawinski and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: lispmtopgm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:07:57 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: macptopbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: macptopbm.1
-%
-\phead{macptopbm}{1}{29 March 1989}{}{}
-
-%.IX macptopbm
-\shead{NAME}
-macptopbm - convert a MacPaint file into a portable bitmap
-\shead{SYNOPSIS}
-{\bf macptopbm}
-{\rm [}{\bf -extraskip}
-{\it N}{\rm ]}
-{\rm [}{\it macpfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a MacPaint file as input.
-%.IX MacPaint
-%.IX Macintosh
-Produces a portable bitmap as output.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -extraskip}}
-\item[{{\bf -extraskip}}]
-This flag is to get around a problem with some methods
-of transferring files from the Mac world to the Unix world.
-Most of these methods leave the Mac files alone, but a few of
-them add the ``finderinfo'' data onto the front of the Unix file.
-This means an extra 128 bytes to skip over when reading the file.
-The symptom to watch for is that the resulting PBM file looks shifted
-to one side.
-If you get this, try
-{\bf -extraskip}
-128, and if that still doesn't look right try another value.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-picttoppm(1), pbmtomacp(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-The MacPaint-reading code is \copyright 1987 by Patrick J. Naughton
-(naughton@wind.sun.com).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted,
-% provided that the above copyright notice appear in all copies and that
-% both that copyright notice and this permission notice appear in
-% supporting documentation. 
-%
-% end of input file: macptopbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:07:58 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: mgrtopbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: mgrtopbm.1
-%
-\phead{mgrtopbm}{1}{24 January 1989}{}{}
-
-%.IX mgrtopbm
-\shead{NAME}
-mgrtopbm - convert a MGR bitmap into a portable bitmap
-\shead{SYNOPSIS}
-{\bf mgrtopbm}
-{\rm [}{\it mgrfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a MGR bitmap as input.
-%.IX MGR
-Produces a portable bitmap as output.
-\shead{SEE ALSO}
-pbmtomgr(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: mgrtopbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:42 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: mtvtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: mtvtoppm.1
-%
-\phead{mtvtoppm}{1}{02 February 1989}{}{}
-
-%.IX mtvtoppm
-\shead{NAME}
-mtvtoppm - convert output from the MTV or PRT ray tracers into a portable pixmap
-\shead{SYNOPSIS}
-{\bf mtvtoppm}
-{\rm [}{\it mtvfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads an input file from Mark VanDeWettering's MTV ray tracer.
-%.IX "MTV raytracer"
-Produces a portable pixmap as output.
-\par
-The PRT raytracer also produces this format.
-%.IX "PRT raytracer"
-\shead{SEE ALSO}
-ppm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: mtvtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:20 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbm.5
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbm.5
-%
-\phead{pbm}{5}{27 September 1991}{}{}
-
-\shead{NAME}
-pbm - portable bitmap file format
-\shead{DESCRIPTION}
-The portable bitmap format is a lowest common denominator monochrome
-file format.
-%.IX "PBM file format"
-It was originally designed to make it reasonable to mail bitmaps
-between different types of machines using the typical stupid network
-mailers we have today.
-Now it serves as the common language of a large family of bitmap
-conversion filters.
-The definition is as follows:
-\begin{IPlist}
-\IPitem{{-}}
-A ``magic number'' for identifying the file type.
-A pbm file's magic number is the two characters ``P1''.
-%.IX "magic numbers"
-\IPitem{{-}}
-Whitespace (blanks, TABs, CRs, LFs).
-\IPitem{{-}}
-A width, formatted as ASCII characters in decimal.
-\IPitem{{-}}
-Whitespace.
-\IPitem{{-}}
-A height, again in ASCII decimal.
-\IPitem{{-}}
-Whitespace.
-\IPitem{{-}}
-Width * height bits, each either '1' or '0', starting at the top-left
-corner of the bitmap, proceeding in normal English reading order.
-\IPitem{{-}}
-The character '1' means black, '0' means white.
-\IPitem{{-}}
-Whitespace in the bits section is ignored.
-\IPitem{{-}}
-Characters from a ``\#'' to the next end-of-line are ignored (comments).
-\IPitem{{-}}
-No line should be longer than 70 characters.
-\end{IPlist}
-
-\par
-Here is an example of a small bitmap in this format:
-\nofill
-P1
-\# feep.pbm
-24 7
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
-0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
-0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
-0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
-0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-\fill
-\par
-Programs that read this format should be as lenient as possible,
-accepting anything that looks remotely like a bitmap.
-\par
-There is also a variant on the format, available
-by setting the RAWBITS option at compile time.  This variant is
-%.IX RAWBITS
-different in the following ways:
-\begin{IPlist}
-\IPitem{{-}}
-The ``magic number'' is ``P4'' instead of ``P1''.
-\IPitem{{-}}
-The bits are stored eight per byte, high bit first low bit last.
-\IPitem{{-}}
-No whitespace is allowed in the bits section, and only a single character
-of whitespace (typically a newline) is allowed after the height.
-\IPitem{{-}}
-The files are eight times smaller and many times faster to read and write.
-\end{IPlist}
-
-\shead{SEE ALSO}
-atktopbm(1), brushtopbm(1), cmuwmtopbm(1), g3topbm(1),
-gemtopbm(1), icontopbm(1),
-macptopbm(1), mgrtopbm(1), pi3topbm(1), xbmtopbm(1),
-ybmtopbm(1),
-pbmto10x(1), pnmtoascii(1), pbmtoatk(1), pbmtobbnbg(1),
-pbmtocmuwm(1), pbmtoepson(1),
-pbmtog3(1), pbmtogem(1), pbmtogo(1), pbmtoicon(1), pbmtolj(1),
-pbmtomacp(1), pbmtomgr(1), pbmtopi3(1), pbmtoplot(1), pbmtoptx(1),
-pbmtox10bm(1), pbmtoxbm(1), pbmtoybm(1),
-pbmtozinc(1),
-pbmlife(1), pbmmake(1), pbmmask(1), pbmreduce(1),
-pbmtext(1), pbmupc(1),
-pnm(5), pgm(5), ppm(5)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbm.5
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:16 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmclean.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmclean.1
-%
-\phead{pbmclean}{12 Dec 1990}{}{}{}
-
-\shead{NAME}
-pbmclean - flip isolated pixels in portable bitmap
-\shead{SYNOPSIS}
-pbmclean [-connect] [pbmfile]
-\shead{DESCRIPTION}
-Reads a portable bitmap as input. Outputs a portable bitmap with every 
-pixel which has less than %
-\it connect %
-\rm identical neighbours inverted.
-Pbmclean can be used to clean up ``snow'' on bitmap images.
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1990 by Angus Duggan.
-\copyright 1989 by Jef Poskanzer.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.  This software is provided "as is" without express or
-implied warranty.
-%
-% end of input file: pbmclean.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:07:58 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmlife.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmlife.1
-%
-\phead{pbmlife}{1}{21 February 1991}{}{}
-
-%.IX pbmlife
-\shead{NAME}
-pbmlife - apply Conway's rules of Life to a portable bitmap
-\shead{SYNOPSIS}
-{\bf pbmlife}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Applies the rules of Life to it for one generation,
-%.IX Life
-and produces a portable bitmap as output.
-\par
-A white pixel in the image is interpreted as a live beastie, and a
-black pixel as an empty space.
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1988, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmlife.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:07:59 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmmake.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmmake.1
-%
-\phead{pbmmake}{1}{22 February 1989}{}{}
-
-%.IX pbmmake
-\shead{NAME}
-pbmmake - create a blank bitmap of a specified size
-\shead{SYNOPSIS}
-{\bf pbmmake}
-{\rm [}{\bf -white}{\rm $|$}{\bf -black}{\rm $|$}{\bf -gray}
-{\rm ]}
-{\it width height}
-\shead{DESCRIPTION}
-Produces a portable bitmap of the specified width and height.
-%.IX "generating bitmaps"
-The color defaults to white.
-\shead{OPTIONS}
-\par
-In addition to the usual
-{\bf -white}
-and
-{\bf -black}{\rm ,}
-this program implements
-{\bf -gray}{\rm .}
-This gives a simple 50\% gray pattern with 1's and 0's alternating.
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pbm(5), ppmmake(1)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmmake.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:00 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmmask.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmmask.1
-%
-\phead{pbmmask}{1}{08 August 1989}{}{}
-
-%.IX pbmmask
-\shead{NAME}
-pbmmask - create a mask bitmap from a regular bitmap
-\shead{SYNOPSIS}
-{\bf pbmmask}
-{\rm [}{\bf -expand}{\rm ]}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Creates a corresponding mask bitmap and writes it out.
-\par
-The color to be interpreted as ``background'' is determined automatically.
-Regardless of which color is background, the mask will be white where
-the background is and black where the figure is.
-\par
-This lets you do a masked paste like this, for objects with a black background:
-\nofill
-    pbmmask obj $>$ objmask
-    pnmpaste $<$ dest -and objmask $<$x$>$ $<$y$>$ $|$ pnmpaste -or obj $<$x$>$ $<$y$>$
-\fill
-%.IX pnmpaste
-For objects with a white background, you can either invert them or
-add a step:
-\nofill
-    pbmmask obj $>$ objmask
-    pnminvert objmask $|$ pnmpaste -and obj 0 0 $>$ blackback
-    pnmpaste $<$ dest -and objmask $<$x$>$ $<$y$>$ $|$ pnmpaste -or blackback $<$x$>$ $<$y$>$
-\fill
-%.IX pnminvert
-Note that this three-step version works for objects with black backgrounds
-too, if you don't care about the wasted time.
-\par
-You can also use masks with graymaps and pixmaps, using the
-{\it pnmarith}
-tool.  For instance:
-\nofill
-    ppmtopgm obj.ppm $|$ pgmtopbm -threshold $|$ pbmmask $>$ objmask.pbm
-    pnmarith -multiply dest.ppm objmask.pbm $>$ t1.ppm
-    pnminvert objmask.pbm $|$ pnmarith -multiply obj.ppm - $>$ t2.ppm
-    pnmarith -add t1.ppm t2.ppm
-\fill
-%.IX pnmarith
-An interesting variation on this is to pipe the mask through the
-{\it pnmsmooth}
-%.IX pnmsmooth
-script before using it.  This makes the boundary between the two images less
-sharp.
-%.OPTIONS
-\begin{TPlist}{{\bf -expand}}
-\item[{{\bf -expand}}]
-Expands the mask by one pixel out from the image.
-This is useful if you want a little white border around your image.
-(A better solution might be to turn the
-{\it pbmlife}
-tool into a general cellular automaton tool...)
-\end{TPlist}
-
-\shead{SEE ALSO}
-pnmpaste(1), pnminvert(1), pbm(5), pnmarith(1), pnmsmooth(1)
-\shead{AUTHOR}
-\copyright 1988 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmmask.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:16 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmpscale.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmpscale.1
-%
-\phead{pbmpscale}{12 Dec 1990}{}{}{}
-
-\shead{NAME}
-pbmpscale - enlarge a portable bitmap with edge smoothing
-\shead{SYNOPSIS}
-pbmpscale N [ pbmfile ]
-\shead{DESCRIPTION}
-Reads a portable bitmap as input, and outputs a portable bitmap
-enlarged N times. Enlargement is done by pixel replication,
-with some additional smoothing of corners and edges.
-\shead{SEE ALSO}
-pnmenlarge(1), ppmscale(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1990 by Angus Duggan.
-\copyright 1989 by Jef Poskanzer.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.  This software is provided "as is" without express or
-implied warranty.
-\shead{NOTES}
-pbmpscale works best for enlargements of 2. Enlargements greater than 2
-should be done by as many enlargements of 2 as possible, followed by an
-enlargement by the remaining factor.
-%
-% end of input file: pbmpscale.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:00 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmreduce.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmreduce.1
-%
-\phead{pbmreduce}{1}{02 August 1989}{}{}
-
-%.IX pbmreduce
-\shead{NAME}
-pbmreduce - read a portable bitmap and reduce it N times
-\shead{SYNOPSIS}
-{\bf pbmreduce}
-{\rm [}{\bf -floyd}{\rm $|$}{\bf -fs}{\rm $|$}{\bf -threshold}
-{\rm ]}
-{\rm [}{\bf -value}
-{\it val}{\rm ]}
-{\it N}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Reduces it by a factor of
-{\it N}{\rm ,}
-and produces a portable bitmap as output.
-%.IX shrinking
-\par
-{\it pbmreduce}
-duplicates a lot of the functionality of
-{\it pgmtopbm;}
-%.IX pgmtopbm
-you could do something like
-{\bf pnmscale $|$ pgmtopbm,}
-%.IX pnmscale
-but
-{\it pbmreduce}
-is a lot faster.
-\par
-{\it pbmreduce}
-can be used to ``re-halftone'' an image.
-%.IX halftoning
-Let's say you have a scanner that only produces black\&white, not
-grayscale, and it does a terrible job of halftoning (most b\&w scanners
-fit this description).
-One way to fix the halftoning is to scan at the highest possible
-resolution, say 300 dpi, and then reduce by a factor of three or
-so using
-{\it pbmreduce}{\rm .}
-You can even correct the brightness of an image, by using the
-{\bf -value}
-flag.
-\shead{OPTIONS}
-\par
-By default, the halftoning after the reduction is done via
-boustrophedonic Floyd-Steinberg error diffusion; however, the
-%.IX Floyd-Steinberg
-%.IX "error diffusion"
-{\bf -threshold}
-flag can be used to specify simple thresholding.  This gives better
-%.IX thresholding
-results when reducing line drawings.
-\par
-The
-{\bf -value}
-flag alters the thresholding value for all quantizations.
-It should be a real number between 0 and 1.
-Above 0.5 means darker images; below 0.5 means lighter.
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pnmenlarge(1), pnmscale(1), pgmtopbm(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmreduce.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:01 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtext.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtext.1
-%
-\phead{pbmtext}{1}{5 January 1991}{}{}
-
-%.IX pbmtext
-\shead{NAME}
-pbmtext - render text into a bitmap
-\shead{SYNOPSIS}
-{\bf pbmtext}
-{\rm [}{\bf -font}
-{\it fontfile}{\rm ]}
-{\rm [}{\it text}{\rm ]}
-\shead{DESCRIPTION}
-\par
-Takes the specified text, either a single line from the command
-line or multiple lines from standard input, and renders it
-into a bitmap.
-%.IX text
-\shead{OPTIONS}
-\par
-By default, pbmtext uses a built-in font.
-You can also specify your own font with the
-{\bf -font}
-flag.
-The
-{\it fontfile}
-is a pbm file, created in a very specific way.
-In your window system of choice, display the following text
-in the desired (fixed-width) font:
-\nofill
-
-    M ",/\^{}\_[`jpqy$|$ M
-
-    /  !"\#\$\%\&'()*+ /
-    $<$ ,-./01234567 $<$
-    $>$ 89:;$<$=$>$?@ABC $>$
-    @ DEFGHIJKLMNO @
-    \_ PQRSTUVWXYZ[ \_
-    \{ \bs ]\^{}\_`abcdefg \{
-    \} hijklmnopqrs \}
-    \~{} tuvwxyz\{$|$\}\~{}  \~{}
-
-    M ",/\^{}\_[`jpqy$|$ M
-
-\fill
-Do a screen grab or window dump of that text, using for instance
-{\it xwd}{\rm ,}
-{\it xgrabsc}{\rm ,}
-or
-{\it screendump}{\rm .}
-Convert the result into a pbm file.
-If necessary, use
-{\it pnmcut}
-to remove everything except the text.
-Finally, run it through
-{\it pnmcrop}
-%.IX pnmcrop
-to make sure the edges are right up against the text.
-{\it pbmtext}
-can figure out the sizes and spacings from that.
-\shead{SEE ALSO}
-pbm(5), pnmcut(1), pnmcrop(1)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtext.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:02 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmto10x.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmto10x.1
-%
-\phead{pbmto10x}{1}{1 January 1990}{}{}
-
-%.IX pbmto10x
-\shead{NAME}
-pbmto10x - convert a portable bitmap into Gemini 10X printer graphics
-\shead{SYNOPSIS}
-{\bf pbmto10x}
-{\rm [}{\bf -h}{\rm ]}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces a file of Gemini 10X printer graphics as output.
-%.IX "Gemini 10X printer graphics"
-The 10x's printer codes are alleged to be similar to the Epson codes.
-%.IX Epson
-\par
-Note that there is no 10xtopbm tool - this transformation is one way.
-\shead{OPTIONS}
-\par
-The resolution is normally 60H by 72V.
-If the
-{\bf -h}
-flag is specified, resolution is 120H by 144V.
-You may find it useful to rotate landscape images before printing.
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1990 by Ken Yap.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmto10x.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:02 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtoascii.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtoascii.1
-%
-\phead{pbmtoascii}{1}{20 March 1992}{}{}
-
-\shead{NAME}
-pbmtoascii - convert a portable bitmap into ASCII graphics
-\shead{SYNOPSIS}
-{\bf pbmtoascii}
-{\rm [}{\bf -1x2}{\rm $|$}{\bf -2x4}{\rm ]}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces a somewhat crude ASCII graphic as output.
-\par
-Note that there is no asciitopbm tool - this transformation is one-way.
-\shead{OPTIONS}
-The
-{\bf -1x2}
-and
-{\bf -2x4}
-flags give you two alternate ways for the bits to get mapped to characters.
-With
-{\bf 1x2}{\rm ,}
-the default, each character represents a group of 1 bit across by 2 bits down.
-With
-{\bf -2x4}{\rm ,}
-each character represents 2 bits across by 4 bits down.
-With the 1x2 mode you can see the individual bits, so it's useful for
-previewing small bitmaps on a non-graphics terminal.
-The 2x4 mode lets you display larger bitmaps on a standard 80-column display,
-but it obscures bit-level details.
-2x4 mode is also good for displaying
-graymaps - ``pnmscale -width 158 $|$ pgmnorm $|$ pgmtopbm -thresh''
-should give good results.
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1988, 1992 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtoascii.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:03 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtoatk.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtoatk.1
-%
-\phead{pbmtoatk}{1}{26 September 1991}{}{}
-
-%.IX pbmtoatk
-\shead{NAME}
-pbmtoatk - convert portable bitmap to Andrew Toolkit raster object
-\shead{SYNOPSIS}
-{\bf pbmtoatk}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces a Andrew Toolkit raster object as output.
-%.IX "Andrew Toolkit raster object"
-\shead{SEE ALSO}
-atktopbm(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1991 by Bill Janssen.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtoatk.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:03 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtobbnbg.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtobbnbg.1
-%
-\phead{pbmtobg}{1}{16 May 1989}{}{}
-
-%.IX pbmtobbnbg
-\shead{NAME}
-pbmtobg - convert a portable bitmap into BitGraph graphics
-\shead{SYNOPSIS}
-{\bf pbmtobg}
-{\rm [}{\it rasterop}{\rm ]}
-{\rm [}{\it x}
-{\it y}{\rm ]}
-$<$
-{\it pbmfile}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces BBN BitGraph terminal Display Pixel Data (DPD) sequence as output.
-%.IX "BBN BitGraph"
-\par
-The rasterop can be specified on the command line.  If this is omitted, 3
-(replace) will be used.  A position in (x,y) coordinates can also be
-specified.  If both are given, the rasterop comes first.  The portable bitmap
-is always taken from the standard input.
-\par
-Note that there is no bgtopbm tool.
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-Copyright 1989 by Mike Parker.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtobbnbg.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:04 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtocmuwm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtocmuwm.1
-%
-\phead{pbmtocmuwm}{1}{15 April 1989}{}{}
-
-%.IX pbmtocmuwm
-\shead{NAME}
-pbmtocmuwm - convert a portable bitmap into a CMU window manager bitmap
-\shead{SYNOPSIS}
-{\bf pbmtocmuwm}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces a CMU window manager bitmap as output.
-%.IX "CMU window manager bitmap"
-\shead{SEE ALSO}
-cmuwmtopbm(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtocmuwm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:17 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtoepsi.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtoepsi.1
-%
-\phead{pbmtoepsi}{1}{1992}{}{}
-
-%.IX pbmtoepsi
-\shead{NAME}
-pbmtoepsi - convert a portable bitmap into an encapsulated PostScript
-style preview bitmap
-\shead{SYNOPSIS}
-{\bf pbmtoepsi}
-{\rm [}{\bf -bbonly}{\rm ]}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produce an encapsulated Postscript style bitmap as output. The output
-is not a stand alone postscript file, it is only a preview bitmap,
-which can be included in an encapsulated PostScript file.
-Note that there is no epsitopbm tool - this transformation is one way.
-
-This utility is a part of the pstoepsi tool by Doug Crabill
-(dgc@cs.purdue.edu).
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -bbonly}}
-\item[{{\bf -bbonly}}]
-Only create a boundary box, don't fill it with the image.
-\end{TPlist}
-
-\shead{SEE ALSO}
-pbm(5), pnmtops(1), psidtopgm(1)
-\shead{AUTHOR}
-\copyright 1988 Jef Poskanzer
-\nwl
-modified by Doug Crabill 1992.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtoepsi.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:04 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtoepson.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtoepson.1
-%
-\phead{pbmtoepson}{1}{4 January 1991}{}{}
-
-%.IX pbmtoepson
-\shead{NAME}
-pbmtoepson - convert a portable bitmap into Epson printer graphics
-\shead{SYNOPSIS}
-{\bf pbmtoepson}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces a file of Epson printer graphics as output.
-%.IX Epson
-\par
-Note that there is no epsontopbm tool - this transformation is one way.
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1991 by John Tiller (tiller@galois.msfc.nasa.gov) and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtoepson.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:05 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtog3.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtog3.1
-%
-\phead{pbmtog3}{1}{02 October 1989}{}{}
-
-%.IX pbmtog3
-\shead{NAME}
-pbmtog3 - convert a portable bitmap into a Group 3 fax file
-\shead{SYNOPSIS}
-{\bf pbmtog3}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as output.
-Produces a Group 3 fax file as input.
-%.IX "Group 3 fax"
-%.IX fax
-\shead{REFERENCES}
-The standard for Group 3 fax is defined in CCITT Recommendation T.4.
-\shead{BUGS}
-Probably.
-\shead{SEE ALSO}
-g3topbm(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1989 by Paul Haeberli (paul@manray.sgi.com).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtog3.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:05 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtogem.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtogem.1
-%
-\phead{pbmtogem}{1}{11 March 1990}{}{}
-
-%.IX pbmtogem
-\shead{NAME}
-pbmtogem - convert a portable bitmap into a GEM .img file
-\shead{SYNOPSIS}
-{\bf pbmtogem}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces a GEM .img file as output.
-%.IX GEM
-\shead{BUGS}
-It does not support compression of the data.
-\shead{SEE ALSO}
-gemtopbm(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by David Beckemeyer (bdt!david) and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted,
-% provided that the above copyright notice appear in all copies and that
-% both that copyright notice and this permission notice appear in
-% supporting documentation.
-%
-% end of input file: pbmtogem.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:06 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtogo.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtogo.1
-%
-\phead{pbmtogo}{1}{24 November 1989}{}{}
-
-%.IX pbmtogo
-\shead{NAME}
-pbmtogo - convert a portable bitmap into compressed GraphOn graphics
-\shead{SYNOPSIS}
-{\bf pbmtogo}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces 2D compressed GraphOn graphics as output.
-%.IX GraphOn
-Be sure to set up your GraphOn with the following modes: 8 bits / no parity;
-obeys no XON/XOFF; NULs are accepted.  These are all on the Comm menu.
-Also, remember to turn off tty post processing.
-Note that there is no gotopbm tool.
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1988, 1989 by Jef Poskanzer, Michael Haberler, and Bo Thide'.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtogo.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:06 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtoicon.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtoicon.1
-%
-\phead{pbmtoicon}{1}{31 August 1988}{}{}
-
-%.IX pbmtoicon
-\shead{NAME}
-pbmtoicon - convert a portable bitmap into a Sun icon
-\shead{SYNOPSIS}
-{\bf pbmtoicon}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces a Sun icon as output.
-%.IX Sun
-%.IX "Sun icon format"
-\shead{SEE ALSO}
-icontopbm(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtoicon.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:07 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtolj.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtolj.1
-%
-\phead{pbmtolj}{1}{29 August 1988}{}{}
-
-%.IX pbmtolj
-\shead{NAME}
-pbmtolj - convert a portable bitmap into HP LaserJet format
-\shead{SYNOPSIS}
-{\bf pbmtolj}
-{\rm [}{\bf -resolution}
-{\it N}{\rm ]}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces HP LaserJet data as output.
-%.IX "HP LaserJet"
-\par
-Note that there is no ljtopbm tool.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -resolution}}
-\item[{{\bf -resolution}}]
-Specifies the resolution of the output device, in dpi.
-Typical values are 75, 100, 150, 300.
-The default is 75.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by Jef Poskanzer and Michael Haberler.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtolj.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:15 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtoln03.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtoln03.1
-%
-\phead{pbmtoln03}{1}{7 May 1993}{}{}
-
-%.IX pbmtoln03
-\shead{NAME}
-pbmtoln03 - convert protable bitmap to DEC LN03+ Sixel output
-\shead{SYNOPSIS}
-{\bf pbmtoln03}
-{\rm [}{\bf -rltbf}{\rm ]}
-{\it pbmfile}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-%.IX "DEC LN03+ Sixel"
-Produces a DEC LN03+ Sixel output file.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -l nn}}
-\item[{{\bf -l nn}}]
-Use ``nn'' as value for left margin (default 0).
-\item[{{\bf -r nn}}]
-Use ``nn'' as value for right margin (default 2400).
-\item[{{\bf -t nn}}]
-Use ``nn'' as value for top margin (default 0).
-\item[{{\bf -b nn}}]
-Use ``nn'' as value for bottom margin (default 3400).
-\item[{{\bf -f nn}}]
-Use ``nn'' as value for form length (default 3400).
-\end{TPlist}
-
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-Tim Cook, 26 Feb 1992
-%
-% end of input file: pbmtoln03.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:18 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtolps.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtolps.1
-%
-\phead{pbmtolps}{12 Dec 1990}{}{}{}
-
-\shead{NAME}
-pbmtolps - convert portable bitmap to PostScript
-\shead{SYNOPSIS}
-pbmtolps [ -dpi n ] [ pbmfile ]
-\shead{DESCRIPTION}
-Reads a portable bitmap as input, and outputs PostScript.
-The output Postscript uses lines instead of the image operator to
-generate a (device dependent) picture which will be imaged
-much faster.
-\par
-The Postscript path length is constrained to be less that 1000
-points so that no limits are overrun on the Apple Laserwriter
-and (presumably) no other printers.
-\shead{SEE ALSO}
-pgmtops(1), ppmtops(1), pbm(5)
-\shead{AUTHOR}
-\copyright George Phillips (phillips@cs.ubc.ca).
-%
-% end of input file: pbmtolps.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:08 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtomacp.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtomacp.1
-%
-\phead{pbmtomacp}{1}{31 August 1988}{}{}
-
-%.IX pbmtomacp
-\shead{NAME}
-pbmtomacp - convert a portable bitmap into a MacPaint file
-\shead{SYNOPSIS}
-{\bf pbmtomacp}
-{\rm [}{\bf -l}
-{\it left}{\rm ]}
-{\rm [}{\bf -r}
-{\it right}{\rm ]}
-{\rm [}{\bf -b}
-{\it bottom}{\rm ]}
-{\rm [}{\bf -t}
-{\it top}{\rm ]}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-If no input-file is given, standard input is assumed.
-Produces a MacPaint file as output.
-%.IX MacPaint
-%.IX Macintosh
-\par
-The generated file is only the data fork of a picture.
-You will need a program such as
-{\it mcvert}
-to generate a Macbinary or a BinHex file that contains the necessary
-information to identify the file as a PNTG file to MacOS.
-\shead{OPTIONS}
-\par
-Left, right, bottom \& top let you define a square into the pbm file,
-that must be converted.
-Default is the whole file.
-If the file is too large for a MacPaint-file, the bitmap is cut to fit
-from ( left, top ).
-\shead{BUGS}
-The source code contains comments in a language other than English.
-\shead{SEE ALSO}
-ppmtopict(1), macptopbm(1), pbm(5), mcvert(1)
-\shead{AUTHOR}
-\copyright 1988 by Douwe van der Schaaf ($\ldots$!mcvax!uvapsy!vdschaaf).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtomacp.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:08 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtomgr.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtomgr.1
-%
-\phead{pbmtomgr}{1}{24 January 1989}{}{}
-
-%.IX pbmtomgr
-\shead{NAME}
-pbmtomgr - convert a portable bitmap into a MGR bitmap
-\shead{SYNOPSIS}
-{\bf pbmtomgr}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces a MGR bitmap as output.
-%.IX MGR
-\shead{SEE ALSO}
-mgrtopbm(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtomgr.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:36 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtopgm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtopgm.1
-%
-\phead{pbmtopgm}{12 Dec 1990}{}{}{}
-
-\shead{NAME}
-pbmtopgm - convert portable bitmap to portable graymap by averaging areas
-\shead{SYNOPSIS}
-pbmtopgm $<$width$>$ $<$height$>$ [pbmfile]
-\shead{DESCRIPTION}
-Reads a portable bitmap as input. Outputs a portable graymap created by
-averaging the number of pixels within a sample area of
-%
-\it width %
-\rm by %
-\it height %
-\rm around each point. Pbmtopgm is similar to a
-special case of ppmconvol. A ppmsmooth step may be needed after pbmtopgm.
-\par
-Pbmtopgm has the effect of anti-aliasing bitmaps which contain distinct
-line features.
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1990 by Angus Duggan.
-\copyright 1989 by Jef Poskanzer.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.  This software is provided "as is" without express or
-implied warranty.
-\shead{NOTES}
-Pbmtopgm works best with odd sample width and heights.
-%
-% end of input file: pbmtopgm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:09 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtopi3.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtopi3.1
-%
-\phead{pbmtopi3}{1}{11 March 1990}{}{}
-
-%.IX pbmtopi3
-\shead{NAME}
-pbmtopi3 - convert a portable bitmap into an Atari Degas .pi3 file 
-\shead{SYNOPSIS}
-{\bf pbmtopi3}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces an Atari Degas .pi3 file as output.
-%.IX Atari
-%.IX "Degas .pi3"
-\shead{SEE ALSO}
-pi3topbm(1), pbm(5), ppmtopi1(1), pi1toppm(1)
-\shead{AUTHOR}
-\copyright 1988 by David Beckemeyer (bdt!david) and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted,
-% provided that the above copyright notice appear in all copies and that
-% both that copyright notice and this permission notice appear in
-% supporting documentation.
-%
-% end of input file: pbmtopi3.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:18 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtopk.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtopk.1
-%
-\phead{pbmtopk}{1}{6 August 1990}{}{}
-
-\shead{NAME}
-pbmtopk - convert a portable bitmap into a packed (PK) format font
-\shead{SYNOPSIS}
-pbmtopk pkfile[.pk] tfmfile[.tfm] resolution [-s designsize] [-p num param...]
-[-C codingscheme] [-F family] [-f optfile] [-c num]
-[-W width] [-H height] [-D depth]
-[-I ital] [-h horiz] [-v vert] [-x xoff] [-y yoff] [pbmfile]...
-\shead{DESCRIPTION}
-Reads portable bitmaps as input, and produces a packed (PK) font file and a
-TFM (TeX font metric) file as output. The resolution parameter indicates the
-resolution of the font, in dots per inch. If the filename ``-'' is used for any
-of the filenames, the standard input stream (or standard output where
-appropriate) will be used.
-\shead{OPTIONS}
-\begin{IPlist}
-\IPitem{{-s\ designsize}}
-Sets the design size of the font, in TeX's points (72.27pt to the inch). The
-default design size is 1. The TFM parameters are given as multiples of the
-design size.
-\IPitem{{-p\ num\ param...}}
-Sets the first num font parameters for the font. The first seven parameters
-are the slant,
-interword spacing, interword space stretchability, interword space
-shrinkability, x-height, quad width, and post-sentence extra space of the
-font. Math and symbol fonts may have more parameters; see The TeXbook for a
-list of these. Reasonable default values are chosen for parameters which are
-not specified.
-\IPitem{{-C\ codingscheme}}
-Sets the coding scheme comment in the TFM file.
-\IPitem{{-F\ family}}
-Sets the font family comment in the TFM file.
-\IPitem{{-f\ optfile}}
-Reads the file optfile, which should contain a lines of the form:
-\par\vspace{1.0\baselineskip}
-\nofill
-\raggedright
-   filename xoff yoff horiz vert width height depth ital
-\fill
-%.ad
-\par\vspace{1.0\baselineskip}
-The pbm files specified by the filename parameters are inserted consecutively
-in the font with the specified attributes. If any of the attributes are
-omitted, or replaced with ``*'', a default value will be calculated from the
-size of the bitmap. The settings of the -W, -H, -D, -I, -h, -v, -x, and -y
-options do not affected characters created in this way.
-The character number can be changed by including a line starting with
-``='',
-followed by the new number.
-Lines beginning with
-``\%'' or ``\#'' are ignored.
-\IPitem{{-c\ num}}
-Sets the character number of the next bitmap encountered to num.
-\IPitem{{-W\ width}}
-Sets the TFM width of the next character to width (in design size multiples).
-\IPitem{{-H\ height}}
-Sets the TFM height of the next character to height (in design size multiples).
-\IPitem{{-D\ depth}}
-Sets the TFM depth of the next character to depth (in design size multiples).
-\IPitem{{-I\ ital}}
-Sets the italic correction of the next character to
-ital (in design size multiples).
-\IPitem{{-h\ horiz}}
-Sets the horizontal escapement of the next character to horiz (in pixels).
-\IPitem{{-v\ vert}}
-Sets the vertical escapement of the next character to vert (in pixels).
-\IPitem{{-x\ xoff}}
-Sets the horizontal offset of the next character to xoff (in pixels).
-\IPitem{{-y\ yoff}}
-Sets the vertical offset of the next character to yoff (in pixels, from the
-top row).
-\end{IPlist}
-
-\shead{SEE ALSO}
-pktopbm(1), pbm(5)
-\shead{AUTHOR}
-Adapted from Tom Rokicki's pxtopk by Angus Duggan (ajcd@dcs.ed.ac.uk).
-
-%
-% end of input file: pbmtopk.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:09 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtoplot.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtoplot.1
-%
-\phead{pbmtoplot}{1}{1 September 1990}{}{}
-
-%.IX pbmtoplot
-\shead{NAME}
-pbmtoplot - convert a portable bitmap into a Unix plot(5) file
-\shead{SYNOPSIS}
-{\bf pbmtoplot}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces a Unix
-{\it plot}
-file.
-%.IX plot
-\par
-Note that there is no plottopbm tool - this transformation is one-way.
-\shead{SEE ALSO}
-pbm(5), plot(5)
-\shead{AUTHOR}
-\copyright 1990 by Arthur David Olson.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtoplot.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:10 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtoptx.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtoptx.1
-%
-\phead{pbmtoptx}{1}{31 August 1988}{}{}
-
-%.IX pbmtoptx
-\shead{NAME}
-pbmtoptx - convert a portable bitmap into Printronix printer graphics
-\shead{SYNOPSIS}
-{\bf pbmtoptx}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces a file of Printronix printer graphics as output.
-%.IX Printronix
-\par
-Note that there is no ptxtopbm tool - this transformation is one way.
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtoptx.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:10 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtox10bm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtox10bm.1
-%
-\phead{pbmtox10bm}{1}{31 August 1988}{}{}
-
-%.IX pbmtox10bm
-\shead{NAME}
-pbmtox10bm - convert a portable bitmap into an X10 bitmap
-\shead{SYNOPSIS}
-{\bf pbmtox10bm}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces an X10 bitmap as output.
-This older format is maintained for compatibility.
-%.IX "X bitmap"
-%.IX "X window system"
-\par
-Note that there is no x10bmtopbm tool, because
-{\it xbmtopbm}
-can read both X11 and X10 bitmaps.
-\shead{SEE ALSO}
-pbmtoxbm(1), xbmtopbm(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtox10bm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:11 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtoxbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtoxbm.1
-%
-\phead{pbmtoxbm}{1}{31 August 1988}{}{}
-
-%.IX pbmtoxbm
-\shead{NAME}
-pbmtoxbm - convert a portable bitmap into an X11 bitmap
-\shead{SYNOPSIS}
-{\bf pbmtoxbm}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces an X11 bitmap as output.
-%.IX "X bitmap"
-%.IX "X window system"
-\shead{SEE ALSO}
-pbmtox10bm(1), xbmtopbm(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtoxbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:12 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtoybm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtoybm.1
-%
-\phead{pbmtoybm}{1}{06 March 1990}{}{}
-
-%.IX pbmtoybm
-\shead{NAME}
-pgmtoybm - convert a portable bitmap into a Bennet Yee ``face'' file
-\shead{SYNOPSIS}
-{\bf pbmtoybm}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces as output a file acceptable to the
-{\it face}
-and
-{\it xbm}
-programs by Bennet Yee (bsy+@cs.cmu.edu).
-%.IX face
-\shead{SEE ALSO}
-ybmtopbm(1), pbm(5), face(1), face(5), xbm(1)
-\shead{AUTHOR}
-\copyright 1991 by Jamie Zawinski and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmtoybm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:12 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmtozinc.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmtozinc.1
-%
-\phead{pbmtozinc}{l}{02 November 1990}{}{}
-
-%.IX pbmtozinc
-\shead{NAME}
-pbmtozinc - convert a portable bitmap into a Zinc bitmap
-\shead{SYNOPSIS}
-{\bf pbmtozinc}
-{\rm [}{\it pbmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable bitmap as input.
-Produces a bitmap in the format used by the Zinc Interface Library
-(ZIL) Version 1.0 as output.
-%.IX "Zinc Interface Library"
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by James Darrell McCauley (jdm5548@diamond.tamu.edu)
-and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% Zinc and Zinc Interface Library are trademarks of
-% Zinc Software Inc., Pleasant Grove, Utah.
-%
-% end of input file: pbmtozinc.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:13 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pbmupc.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pbmupc.1
-%
-\phead{pbmupc}{1}{14 March 1989}{}{}
-
-%.IX pbmupc
-\shead{NAME}
-pbmupc - create a Universal Product Code bitmap
-\shead{SYNOPSIS}
-{\bf pbmupc}
-{\rm [}{\bf -s1}{\rm $|$}{\bf -s2}{\rm ]}
-{\it type manufac product}
-\shead{DESCRIPTION}
-Generates a Universal Product Code symbol.
-%.IX "Universal Product Code"
-The three arguments are: a one digit product type, a five digit
-manufacturer code, and a five digit product code.
-For example, ``0 72890 00011'' is the code for Heineken.
-%.IX Heineken
-\par
-As presently configured,
-{\it pbmupc}
-produces a bitmap 230 bits wide and 175 bits high.
-The size can be altered by changing the defines at the beginning of
-the program, or by running the output through
-{\it pnmenlarge}
-or
-{\it pnmscale}{\rm .}
-\shead{OPTIONS}
-\par
-The
-{\bf -s1}
-and
-{\bf -s2}
-flags select the style of UPC to generate.
-The default,
-{\bf -s1}{\rm ,}
-looks more or less like this:
-\nofill
- $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$
- $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$
- $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$
- $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$
-0$|$$|$12345$|$$|$67890$|$$|$5
-\fill
-The other style,
-{\bf -s2}{\rm ,}
-puts the product type digit higher up, and
-doesn't display the checksum digit:
-\nofill
- $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$
- $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$
-0$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$
- $|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$$|$
- $|$$|$12345$|$$|$67890$|$$|$
-\fill
-\shead{SEE ALSO}
-pbm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pbmupc.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:42 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pcxtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pcxtoppm.1
-%
-\phead{pcxtoppm}{1}{9 April 1990}{}{}
-
-%.IX pcxtoppm
-\shead{NAME}
-pcxtoppm - convert a PCX file into a portable pixmap
-\shead{SYNOPSIS}
-{\bf pcxtoppm}
-{\rm [}{\it pcxfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a PCX file as input.
-%.IX PCX
-Produces a portable pixmap as output.
-\shead{SEE ALSO}
-ppmtopcx(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1990 by Michael Davidson.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pcxtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:38 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgm.5
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgm.5
-%
-\phead{pgm}{5}{12 November 1991}{}{}
-
-\shead{NAME}
-pgm - portable graymap file format
-\shead{DESCRIPTION}
-The portable graymap format is a lowest common denominator grayscale
-file format.
-%.IX "PGM file format"
-The definition is as follows:
-\begin{IPlist}
-\IPitem{{-}}
-A ``magic number'' for identifying the file type.
-A pgm file's magic number is the two characters ``P2''.
-%.IX "magic numbers"
-\IPitem{{-}}
-Whitespace (blanks, TABs, CRs, LFs).
-\IPitem{{-}}
-A width, formatted as ASCII characters in decimal.
-\IPitem{{-}}
-Whitespace.
-\IPitem{{-}}
-A height, again in ASCII decimal.
-\IPitem{{-}}
-Whitespace.
-\IPitem{{-}}
-The maximum gray value, again in ASCII decimal.
-\IPitem{{-}}
-Whitespace.
-\IPitem{{-}}
-Width * height gray values, each in ASCII decimal, between 0 and the specified
-maximum value, separated by whitespace, starting at the top-left
-corner of the graymap, proceeding in normal English reading order.
-A value of 0 means black, and the maximum value means white.
-\IPitem{{-}}
-Characters from a ``\#'' to the next end-of-line are ignored (comments).
-\IPitem{{-}}
-No line should be longer than 70 characters.
-\end{IPlist}
-
-\par
-Here is an example of a small graymap in this format:
-\nofill
-P2
-\# feep.pgm
-24 7
-15
-0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
-0  3  3  3  3  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15 15 15 15  0
-0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0 15  0
-0  3  3  3  0  0  0  7  7  7  0  0  0 11 11 11  0  0  0 15 15 15 15  0
-0  3  0  0  0  0  0  7  0  0  0  0  0 11  0  0  0  0  0 15  0  0  0  0
-0  3  0  0  0  0  0  7  7  7  7  0  0 11 11 11 11  0  0 15  0  0  0  0
-0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
-\fill
-\par
-Programs that read this format should be as lenient as possible,
-accepting anything that looks remotely like a graymap.
-\par
-There is also a variant on the format, available
-by setting the RAWBITS option at compile time.  This variant is
-different in the following ways:
-%.IX RAWBITS
-\begin{IPlist}
-\IPitem{{-}}
-The ``magic number'' is ``P5'' instead of ``P2''.
-\IPitem{{-}}
-The gray values are stored as plain bytes, instead of ASCII decimal.
-\IPitem{{-}}
-No whitespace is allowed in the grays section, and only a single character
-of whitespace (typically a newline) is allowed after the maxval.
-\IPitem{{-}}
-The files are smaller and many times faster to read and write.
-\end{IPlist}
-
-\par
-Note that this raw format can only be used for maxvals less than
-or equal to 255.
-If you use the
-{\it pgm}
-library and try to write a file with a larger maxval,
-it will automatically fall back on the slower but more general plain
-format.
-\shead{SEE ALSO}
-fitstopgm(1), fstopgm(1), hipstopgm(1), lispmtopgm(1), psidtopgm(1),
-rawtopgm(1),
-pgmbentley(1), pgmcrater(1), pgmedge(1), pgmenhance(1), pgmhist(1), pgmnorm(1),
-pgmoil(1), pgmramp(1), pgmtexture(1),
-pgmtofits(1), pgmtofs(1), pgmtolispm(1), pgmtopbm(1),
-pnm(5), pbm(5), ppm(5)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgm.5
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:26 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmbentley.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmbentley.1
-%
-\phead{pgmbentley}{1}{11 January 1991}{}{}
-
-%.IX pgmbentley
-\shead{NAME}
-pgmbentley - Bentleyize a portable graymap
-\shead{SYNOPSIS}
-{\bf pgmbentley}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.
-Performs The Bentley Effect, and writes a portable graymap as output.
-%.IX "Bentley Effect"
-\par
-The Bentley Effect is described in ``Beyond Photography'' by Holzmann,
-chapter 4, photo 4.
-It's a vertical smearing based on brightness.
-\shead{SEE ALSO}
-pgmoil(1), ppmrelief(1), pgm(5)
-\shead{AUTHOR}
-\copyright 1990 by Wilson Bent (whb@hoh-2.att.com).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmbentley.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:27 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmcrater.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmcrater.1
-%
-\phead{pgmcrater}{1}{15 October 1991}{}{}
-
-%.IX pgmcrater
-%.IX fractals
-%.IX craters
-\shead{NAME}
-pgmcrater - create cratered terrain by fractal forgery
-\shead{SYNOPSIS}
-\raggedright
-{\bf pgmcrater}
-'ti 15
-{\rm [}{\bf -number}
-{\it n}{\rm ]}
-{\rm [}{\bf -height}{\rm $|$}{\bf -ysize}
-{\it s}{\rm ]}
-{\rm [}{\bf -width}{\rm $|$}{\bf -xsize}
-{\it s}{\rm ]}
-{\rm [}{\bf -gamma}
-{\it g}{\rm ]}
-%.ad
-\shead{DESCRIPTION}
-{\bf pgmcrater}
-creates a portable graymap which mimics cratered terrain.  The graymap
-is created by simulating the impact of a given number of craters with
-random position and size, then rendering the resulting terrain
-elevations based on a light source shining from one side of the
-screen.  The size distribution of the craters is based on a power law
-which results in many more small craters than large ones.  The number
-of craters of a given size varies as the reciprocal of the area as
-described on pages 31 and 32 of Peitgen and Saupe[1]; cratered bodies
-in the Solar System are observed to obey this relationship.  The
-formula used to obtain crater radii governed by this law from a
-uniformly distributed pseudorandom sequence was developed by Rudy
-Rucker.
-\par
-High resolution images with large numbers of craters often benefit
-from being piped through
-{\bf pnmsmooth}{\rm .}
-The averaging performed by this process eliminates some of the jagged
-pixels and lends a mellow ``telescopic image'' feel to the overall
-picture.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -number}{\it \ n}
-}
-\item[{{\bf -number}{\it \ n}
-}]
-Causes
-{\it n}
-craters to be generated.  If no
-{\bf -number}
-specification is given, 50000 craters will be generated.  Don't expect
-to see them all!  For every large crater there are many, many more
-tiny ones which tend simply to erode the landscape.  In general, the
-more craters you specify the more realistic the result; ideally you
-want the entire terrain to have been extensively turned over again and
-again by cratering.  High resolution images containing five to ten
-million craters are stunning but take quite a while to create.
-\item[{{\bf -height}{\it \ height}
-}]
-Sets the height of the generated image to
-{\it height}
-pixels.  The default height is 256 pixels.
-\item[{{\bf -width}{\it \ width}
-}]
-Sets the width of the generated image to
-{\it width}
-pixels.  The default width is 256 pixels.
-\item[{{\bf -xsize}{\it \ width}
-}]
-Sets the width of the generated image to
-{\it width}
-pixels.  The default width is 256 pixels.
-\item[{{\bf -ysize}{\it \ height}
-}]
-Sets the height of the generated image to
-{\it height}
-pixels.  The default height is 256 pixels.
-\item[{{\bf -gamma}{\it \ factor}
-}]
-The specified
-{\it factor}
-is used to gamma correct the graymap in the same manner as performed
-by
-{\bf pnmgamma}{\rm .}
-The default value is 1.0, which results in a medium contrast image.
-Values larger than 1 lighten the image and reduce contrast, while
-values less than 1 darken the image, increasing contrast.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{BUGS}
-The
-{\bf -gamma}
-option isn't really necessary since you can achieve the same
-effect by piping the output from
-{\bf pgmcrater}
-through
-{\bf pnmgamma}{\rm .}
-However,
-{\bf pgmcrater}
-performs an internal gamma map anyway in the process of rendering the
-elevation array into a graymap, so there's no additional overhead in
-allowing a user-specified gamma.
-\par
-Real craters have two distinct morphologies.
-{\bf pgmcrater}
-simulates only small craters, which are hemispherical in shape
-(regardless of the incidence angle of the impacting body, as long as the
-velocity is sufficiently high).  Large craters, such as Copernicus and
-Tycho on the Moon, have a ``walled plain'' shape with a cross-section more
-like:
-\nofill
-%.ne 2
-%.cs R 18
-                /\bs                             /\bs 
-\nwl
-          \_\_\_\_\_/  \bs \_\_\_\_\_\_\_\_\_\_\_\_/\bs \_\_\_\_\_\_\_\_\_\_\_\_/  \bs \_\_\_\_\_
-%.cs R
-\fill
-%.ss 12
-Larger craters should really use this profile, including the central
-peak, and totally obliterate the pre-existing terrain.
-\shead{SEE ALSO}
-{\bf pgm}{\rm (5),}
-{\bf pnmgamma}{\rm (1),}
-{\bf pnmsmooth}{\rm (1)}
-\begin{TPlist}{[1]}
-\item[{[1]}]
-Peitgen, H.-O., and Saupe, D. eds., The Science Of Fractal Images,
-New York: Springer Verlag, 1988.
-%.ne 10
-\end{TPlist}
-
-\shead{AUTHOR}
-\ind{1\parindent}{\nofill
-    John Walker
-    Autodesk SA
-    Avenue des Champs-Montants 14b
-    CH-2074 MARIN
-    Suisse/Schweiz/Svizzera/Svizra/Switzerland
-\fill}
-\begin{TPlist}{Usenet:}
-\item[{Usenet:}]
-kelvin@Autodesk.com
-\item[{Fax:}]
-038/33 88 15
-\item[{Voice:}]
-038/33 76 33
-\end{TPlist}
-
-\par
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-without any conditions or restrictions.  This software is provided ``as
-is'' without express or implied warranty.
-\par
-{\bf PLUGWARE!}
-If you like this kind of stuff, you may also enjoy ``James Gleick's
-Chaos--The Software'' for MS-DOS, available for \$59.95 from your
-local software store or directly from Autodesk, Inc., Attn: Science
-Series, 2320 Marinship Way, Sausalito, CA 94965, USA.  Telephone:
-(800) 688-2344 toll-free or, outside the U.S. (415) 332-2344 Ext
-4886.  Fax: (415) 289-4718.  ``Chaos--The Software'' includes a more
-comprehensive fractal forgery generator which creates
-three-dimensional landscapes as well as clouds and planets, plus five
-more modules which explore other aspects of Chaos.  The user guide of
-more than 200 pages includes an introduction by James Gleick and
-detailed explanations by Rudy Rucker of the mathematics and algorithms
-used by each program.
-%
-% end of input file: pgmcrater.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:27 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmedge.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmedge.1
-%
-\phead{pgmedge}{1}{04 February 1990}{}{}
-
-%.IX pgmedge
-\shead{NAME}
-pgmedge - edge-detect a portable graymap
-\shead{SYNOPSIS}
-{\bf pgmedge}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.
-Outlines the edges, and writes a portable graymap as output.
-%.IX "edge detection"
-Piping the result through
-{\bf pgmtopbm -threshold}
-and playing with the
-threshold value will give a bitmap of the edges.
-%.IX thresholding
-\par
-The edge detection technique used is to take the Pythagorean sum of
-two Sobel gradient operators at 90 degrees to each other.
-For more details see ``Digital Image Processing'' by Gonzalez and Wintz,
-chapter 7.
-\shead{SEE ALSO}
-pgmenhance(1), pgmtopbm(1), pgm(5), pbm(5)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmedge.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:28 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmenhance.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmenhance.1
-%
-\phead{pgmenhance}{1}{13 January 1989}{}{}
-
-%.IX pgmenhance
-\shead{NAME}
-pgmenhance - edge-enhance a portable graymap
-\shead{SYNOPSIS}
-{\bf pgmenhance}
-{\rm [}{\it -N}{\rm ]}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.
-Enhances the edges, and writes a portable graymap as output.
-%.IX "edge enhancement"
-\par
-The edge enhancing technique is taken from Philip R. Thompson's ``xim''
-program, which in turn took it from section 6 of ``Digital Halftones by
-Dot Diffusion'', D. E. Knuth, ACM Transaction on Graphics Vol. 6, No. 4,
-October 1987, which in turn got it from two 1976 papers by J. F. Jarvis
-{\it et. al.}
-\shead{OPTIONS}
-\par
-The optional
-{\it -N}
-flag should be a digit from 1 to 9.
-1 is the lowest level of enhancement, 9 is the highest,
-The default is 9.
-\shead{SEE ALSO}
-pgmedge(1), pgm(5), pbm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmenhance.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:29 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmhist.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmhist.1
-%
-\phead{pgmhist}{1}{28 February 1989}{}{}
-
-%.IX pgmhist
-\shead{NAME}
-pgmhist - print a histogram of the values in a portable graymap
-\shead{SYNOPSIS}
-{\bf pgmhist}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.
-Prints a histogram of the gray values.
-\shead{SEE ALSO}
-pgmnorm(1), pgm(5), ppmhist(1)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmhist.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Feb  4 14:35:48 1994
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmkernel.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmkernel.1
-%
-\phead{pgmkernel}{1}{10 December 1992}{}{}
-
-%.IX pgmkernel
-\shead{NAME}
-pgmkernel - generate a convolution kernel
-\shead{SYNOPSIS}
-{\bf pgmkernel} [{\bf --weight}{\it w}] {\it width} [{\it height}]
-\shead{DESCRIPTION}
-Generates a portable graymap array of size
-{\it width} x {\it height} (or {\it width} x {\it width} if {\it height}
-is not specified) to be used as a convolution file by
-{\bf pnmconvol}{\rm .}
-The data in the convolution array K are computed according to the
-formula:
-\par
-K(i,j) = 1 / ( 1 + w * sqrt((i-width/2)\^{}2 + (j-height/2)\^{}2)) 
-\par
-where 
-{\it w}
-is a coefficient specified via the 
-{\it --weight}
-flag, and
-{\it width}
-and 
-{\it height}
-are the X and Y filter sizes.
-\par
-The output PGM file is always written out in ASCII format.
-\shead{OPTIONS}
-The optional 
-{\it -weight}
-flag should be a real number greater than -1.
-The default value is 6.0.
-\shead{BUGS}
-The computation time is proportional to 
-{\it width}
-* 
-{\it height}{\rm .}
-This increases rapidly with the increase of the kernel size.  
-A better approach could be using a FFT in these cases.
-\shead{SEE ALSO}
-pnmconvol(1), pnmsmooth(1)
-\shead{AUTHOR}
-Alberto Accomazzi (alberto@cfa.harvard.edu).
-%
-% end of input file: pgmkernel.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Nov 29 13:21:08 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmnoise.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmnoise.1
-%
-\phead{pgmnoise}{1}{16 November 1993}{}{}
-
-%.IX pgmnoise
-\shead{NAME}
-pgmnoise - create a graymap made up of white noise
-\shead{SYNOPSIS}
-{\bf pgmnoise}
-{\it width height}
-\shead{DESCRIPTION}
-Creates a portable graymap that is made up of random pixels with
-gray values in the range of 0 to PGM\_MAXMAXVAL (depends on the compilation,
-either 255 or 65535). The graymap has a size of width * height pixels.
-\shead{SEE ALSO}
-pgm(5)
-\shead{AUTHOR}
-\copyright 1993 by Frank Neumann.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmnoise.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:29 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmnorm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmnorm.1
-%
-\phead{pgmnorm}{1}{28 February 1989}{}{}
-
-%.IX pgmnorm
-\shead{NAME}
-pgmnorm - normalize the contrast in a portable graymap
-\shead{SYNOPSIS}
-{\bf pgmnorm}
-{\rm [}{\bf -bpercent}
-{\it N}
-$|$
-{\bf -bvalue}
-{\it N}{\rm ]}
-{\rm [}{\bf -wpercent}
-{\it N}
-$|$
-{\bf -wvalue}
-{\it N}{\rm ]}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.
-Normalizes the contrast by forcing the lightest pixels to white, the
-%.IX "contrast normalization"
-darkest pixels to black, and linearly rescaling the ones in between;
-and produces a portable graymap as output.
-\shead{OPTIONS}
-\par
-By default, the darkest 2 percent of all pixels are mapped to black, and
-the lightest 1 percent are mapped to white.
-You can override these percentages by using the
-{\bf -bpercent}
-and
-{\bf -wpercent}
-flags,
-or you can specify the exact pixel values to be mapped by using the
-{\bf -bvalue}
-and
-{\bf -wvalue}
-flags.
-Appropriate numbers for the flags can be gotten from the
-{\it pgmhist}
-tool.
-%.IX pgmhist
-If you just want to enhance the contrast, then choose values at elbows in the
-histogram; {\it e.g.}, if value 29 represents 3\% of the image but value 30
-represents 20\%, choose 30 for
-{\it bvalue}{\rm .}
-If you want to lighten the
-image, then set
-{\it bvalue}
-to 0 and just fiddle with
-{\it wvalue}{\rm ;}
-similarly, to darken the image, set
-{\it wvalue}
-to maxval and play with
-{\it bvalue}{\rm .}
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pgmhist(1), pgm(5)
-\shead{AUTHOR}
-Partially based on the fbnorm filter in Michael Mauldin's ``Fuzzy
-Pixmap''
-package.
-
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmnorm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:30 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmoil.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmoil.1
-%
-\phead{pgmoil}{1}{11 January 1991}{}{}
-
-%.IX pgmoil
-\shead{NAME}
-pgmoil - turn a portable graymap into an oil painting
-\shead{SYNOPSIS}
-{\bf pgmoil}
-{\rm [}{\bf -n}
-{\it N}{\rm ]}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.
-Does an ``oil transfer'', and writes a portable graymap as output.
-%.IX "oil transfer"
-\par
-The oil transfer is described in ``Beyond Photography'' by Holzmann,
-chapter 4, photo 7.
-It's a sort of localized smearing.
-\shead{OPTIONS}
-\par
-The optional
-{\bf -n}
-flag controls the size of the area smeared.  The default value is 3.
-\shead{BUGS}
-Takes a long time to run.
-\shead{SEE ALSO}
-pgmbentley(1), ppmrelief(1), pgm(5)
-\shead{AUTHOR}
-\copyright 1990 by Wilson Bent (whb@hoh-2.att.com).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmoil.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:30 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmramp.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmramp.1
-%
-\phead{pgmramp}{1}{24 November 1989}{}{}
-
-%.IX pgmramp
-\shead{NAME}
-pgmramp - generate a grayscale ramp
-\shead{SYNOPSIS}
-{\bf pgmramp}
-{\bf -lr}{\rm $|$}{\bf -tb}
-$|$
-{\bf -rectangle}{\rm $|$}{\bf -ellipse}
-{\it width height}
-\shead{DESCRIPTION}
-Generates a graymap of the specified size containing a black-to-white ramp.
-%.IX "generating graymaps"
-These ramps are useful for multiplying with other images, using the
-{\it pnmarith}
-tool.
-%.IX pnmarith
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -lr}}
-\item[{{\bf -lr}}]
-A left to right ramp.
-\item[{{\bf -tb}}]
-A top to bottom ramp.
-\item[{{\bf -rectangle}}]
-A rectangular ramp.
-\item[{{\bf -ellipse}}]
-An elliptical ramp.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pnmarith(1), pgm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmramp.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:35 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmtexture.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmtexture.1
-%
-\phead{pgmtexture}{1}{22 Aug 1991}{}{}
-
-%.IX pgmtexture
-\shead{NAME}
-pgmtexture - calculate textural features on a portable graymap
-\shead{SYNOPSIS}
-{\bf pgmtexture}
-{\rm [}{\bf -d}
-{\it d}{\rm ]}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.  Calculates textural features
-based on spatial dependence matrices at 0, 45, 90, and 135 degrees for
-a distance 
-{\it d}
-(default = 1).
-Textural features include:
-\begin{IPlist}
-\IPitem{{}}
-(1) Angular Second Moment,
-\nwl
-(2) Contrast,
-\nwl
-(3) Correlation,
-\nwl
-(4) Variance,          
-\nwl
-(5) Inverse Difference Moment,
-\nwl
-(6) Sum Average,
-\nwl
-(7) Sum Variance,
-\nwl
-(8) Sum Entropy,
-\nwl
-(9) Entropy,
-\nwl
-(10) Difference Variance,
-\nwl
-(11) Difference Entropy,
-\nwl
-(12, 13) Information Measures of Correlation, and
-\nwl
-(14) Maximal Correlation Coefficient.
-\end{IPlist}
-
-\par
-Algorithm taken from:
-\nwl
-Haralick, R.M., K. Shanmugam, and I. Dinstein. 1973. Textural features
-for image classification.  
-{\it IEEE Transactions on Systems, Man,}
-{\it and Cybertinetics,}
-SMC-3(6):610-621.
-\shead{BUGS}
-The program can run incredibly slow for large images (larger than 64 x 64)
-and command line options are limited.
-The method for finding (14) the maximal correlation coefficient, which
-requires finding the second largest eigenvalue of a matrix Q, does not
-always converge.
-\shead{REFERENCES}
-{\it IEEE Transactions on Systems, Man,}
-{\it and Cybertinetics,}
-SMC-3(6):610-621.
-\shead{SEE ALSO}
-pgm(5), pnmcut(1)
-\shead{AUTHOR}
-\copyright 1991 by Texas Agricultural Experiment Station, employer for
-hire of James Darrell McCauley. 
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% THE TEXAS AGRICULTURAL EXPERIMENT STATION (TAES) AND THE TEXAS A&M
-% UNIVERSITY SYSTEM (TAMUS) MAKE NO EXPRESS OR IMPLIED WARRANTIES
-% (INCLUDING BY WAY OF EXAMPLE, MERCHANTABILITY) WITH RESPECT TO ANY
-% ITEM, AND SHALL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL
-% OR CONSEQUENTAL DAMAGES ARISING OUT OF THE POSESSION OR USE OF
-% ANY SUCH ITEM. LICENSEE AND/OR USER AGREES TO INDEMNIFY AND HOLD
-% TAES AND TAMUS HARMLESS FROM ANY CLAIMS ARISING OUT OF THE USE OR
-% POSSESSION OF SUCH ITEMS.
-%
-% end of input file: pgmtexture.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:31 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmtofits.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmtofits.1
-%
-\phead{pgmtofits}{1}{20 September 1989}{}{}
-
-%.IX pgmtofits
-\shead{NAME}
-pgmtofits - convert a portable graymap into FITS format
-\shead{SYNOPSIS}
-{\bf pgmtofits}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.
-Produces a FITS file as output.
-%.IX FITS
-\par
-FITS stands for Flexible Image Transport System.  A full description
-can be found in Astronomy \& Astrophysics Supplement Series 44 (1981),
-page 363.
-\shead{SEE ALSO}
-fitstopgm(1), pgm(5)
-\shead{AUTHOR}
-\copyright 1989 by Wilson H. Bent (whb@hoh-2.att.com).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmtofits.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:31 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmtofs.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmtofs.1
-%
-\phead{pgmtofs}{1}{18 May 1990}{}{}
-
-%.IX pgmtofs
-\shead{NAME}
-pgmtofs - convert portable graymap to Usenix FaceSaver(tm) format
-\shead{SYNOPSIS}
-{\bf pgmtofs}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.
-Produces Usenix FaceSaver(tm) format as output.
-%.IX FaceSaver
-\par
-FaceSaver is a registered trademark of Metron Computerware Ltd. of
-Oakland, CA.
-\shead{SEE ALSO}
-fstopgm(1), pgm(5)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmtofs.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:32 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmtolispm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmtolispm.1
-%
-\phead{pgmtolispm}{1}{06 March 1990}{}{}
-
-%.IX pgmtolispm
-\shead{NAME}
-pgmtolispm - convert a portable graymap into Lisp Machine format
-\shead{SYNOPSIS}
-{\bf pgmtolispm}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.
-Produces a Lisp Machine bitmap as output.
-%.IX "Lisp Machine bitmap"
-\par
-This is the file format read by the tv:read-bit-array-file function on
-TI Explorer and Symbolics lisp machines.
-\par
-Given a pgm (instead of a pbm) a multi-plane image will be output.
-This is probably not useful unless you have a color lisp machine.
-\par
-Multi-plane bitmaps on lisp machines are color; but the lispm image file
-format does not include a color map, so we must treat it as a graymap 
-instead.  This is unfortunate.
-\shead{SEE ALSO}
-lispmtopgm(1), pgm(5)
-\shead{BUGS}
-Output width is always rounded up to the nearest multiple of 32; this might 
-not always be what you want, but it probably is (arrays which are not 
-modulo 32 cannot be passed to the Lispm BITBLT function, and thus cannot 
-easily be displayed on the screen).
-\par
-No color.
-\shead{AUTHOR}
-\copyright 1991 by Jamie Zawinski and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmtolispm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:33 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmtopbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmtopbm.1
-%
-\phead{pgmtopbm}{1}{26 July 1988}{}{}
-
-%.IX pgmtopbm
-\shead{NAME}
-pgmtopbm - convert a portable graymap into a portable bitmap
-\shead{SYNOPSIS}
-{\bf pgmtopbm}
-{\rm [}{\bf -floyd}{\rm $|$}{\bf -fs}{\rm $|$}{\bf -threshold}
-{\rm $|$}{\bf -dither8}{\rm $|$}{\bf -d8}{\rm $|$}{\bf -cluster3}
-{\rm $|$}{\bf -c3}{\rm $|$}{\bf -cluster4}{\rm $|$}{\bf -c4}
-{\rm $|$}{\bf -cluster8}{\rm $|$}{\bf -c8}{\rm ]}
-{\rm [}{\bf -value}
-{\it val}{\rm ]}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.
-Produces a portable bitmap as output.
-%.IX halftoning
-\par
-Note that there is no pbmtopgm converter, because any pgm program can
-read pbm files automagically.
-\shead{OPTIONS}
-\par
-The default quantization method is boustrophedonic Floyd-Steinberg error
-diffusion
-{\rm (}{\bf -floyd}
-or
-{\bf -fs}{\rm ).}
-%.IX Floyd-Steinberg
-%.IX "error diffusion"
-Also available are simple thresholding
-{\rm (}{\bf -threshold}{\rm );}
-%.IX thresholding
-Bayer's ordered dither
-{\rm (}{\bf -dither8}{\rm )}
-with a 16x16 matrix; and three different sizes of 45-degree clustered-dot dither
-{\rm (}{\bf -cluster3}{\rm ,}
-{\bf -cluster4}{\rm ,}
-{\bf -cluster8}{\rm ).}
-%.IX dithering
-\par
-Floyd-Steinberg will almost always give the best looking results; however,
-looking good is not always what you want.
-For instance, thresholding can be used in a pipeline with the
-{\it pnmconvol}
-%.IX pnmconvol
-tool, for tasks like edge and peak detection.
-And clustered-dot dithering gives a newspaper-ish look, a useful special effect.
-\par
-The
-{\bf -value}
-flag alters the thresholding value for Floyd-Steinberg and
-simple thresholding.
-It should be a real number between 0 and 1.
-Above 0.5 means darker images; below 0.5 means lighter.
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{REFERENCES}
-The only reference you need for this stuff is ``Digital Halftoning'' by
-Robert Ulichney, MIT Press, ISBN 0--262--21009--6.
-\shead{SEE ALSO}
-pbmreduce(1), pgm(5), pbm(5), pnmconvol(1)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmtopbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:43 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pgmtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pgmtoppm.1
-%
-\phead{pgmtoppm}{1}{11 January 1991}{}{}
-
-%.IX pgmtoppm
-\shead{NAME}
-pgmtoppm - colorize a portable graymap into a portable pixmap
-\shead{SYNOPSIS}
-{\bf pgmtoppm}
-{\it colorspec}
-{\rm [}{\it pgmfile}{\rm ]}
-\nwl
-{\bf pgmtoppm}
-{\it colorspec1}{\bf -}{\it colorspec2}
-{\rm [}{\it pgmfile}{\rm ]}
-\nwl
-{\bf pgmtoppm -map}
-{\it mapfile}
-{\rm [}{\it pgmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable graymap as input.
-Colorizes it by multiplying the the gray values by specified color or colors,
-and produces a portable pixmap as output.
-%.IX colorization
-\par
-If only one color is specified, black in the pgm file stays black and
-white in the pgm file turns into the specified color in the ppm file.
-If two colors (separated by a dash) are specified, then black gets mapped
-to the first color and white gets mapped to the second.
-\par
-The color can be specified in five ways:
-%.IX "specifying colors"
-\begin{TPlist}{o}
-\item[{o}]
-A name, assuming
-that a pointer to an X11-style color names file was compiled in.
-\item[{o}]
-An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are
-each 1- to 4-digit hexadecimal numbers.
-\item[{o}]
-An X11-style decimal specifier: rgbi:r/g/b, where r g and b are
-floating point numbers between 0 and 1.
-\item[{o}]
-For backwards compatibility, an old-X11-style hexadecimal
-number: \#rgb, \#rrggbb, \#rrrgggbbb, or \#rrrrggggbbbb.
-\item[{o}]
-For backwards compatibility, a triplet of numbers
-separated by commas: r,g,b, where r g and b are
-floating point numbers between 0 and 1.
-(This style was added before MIT came up with the similar rgbi style.)
-\end{TPlist}
-
-\par
-Also, the
-{\bf -map}
-flag lets you specify an entire colormap to be used.
-The mapfile is just a
-{\it ppm}
-file; it can be any shape, all that matters
-is the colors in it and their order.
-In this case, black gets mapped into the first
-color in the map file, and white gets mapped to the last.
-\shead{SEE ALSO}
-rgb3toppm(1), ppmtopgm(1), ppmtorgb3(1), ppm(5), pgm(5)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pgmtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:43 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pi1toppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pi1toppm.1
-%
-\phead{pi1toppm}{1}{19 July 1990}{}{}
-
-%.IX pi1toppm
-\shead{NAME}
-pi1toppm - convert an Atari Degas .pi1 into a portable pixmap
-\shead{SYNOPSIS}
-{\bf pi1toppm}
-{\rm [}{\it pi1file}{\rm ]}
-\shead{DESCRIPTION}
-Reads an Atari Degas .pi1 file as input.
-%.IX Atari
-%.IX "Degas .pi1"
-Produces a portable pixmap as output.
-\shead{SEE ALSO}
-ppmtopi1(1), ppm(5), pi3topbm(1), pbmtopi3(1)
-\shead{AUTHOR}
-\copyright 1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer.
-% Permission to use, copy, modify and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pi1toppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:13 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pi3topbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pi3topbm.1
-%
-\phead{pi3topbm}{1}{11 March 1990}{}{}
-
-%.IX pi3topbm
-\shead{NAME}
-pi3topbm - convert an Atari Degas .pi3 file into a portable bitmap
-\shead{SYNOPSIS}
-{\bf pi3topbm}
-{\rm [}{\it pi3file}{\rm ]}
-\shead{DESCRIPTION}
-Reads an Atari Degas .pi3 file as input.
-%.IX Atari
-%.IX "Degas .pi3"
-Produces a portable bitmap as output.
-\shead{SEE ALSO}
-pbmtopi3(1), pbm(5), pi1toppm(1), ppmtopi1(1)
-\shead{AUTHOR}
-\copyright 1988 by David Beckemeyer (bdt!david) and Diomidis D. Spinellis.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted,
-% provided that the above copyright notice appear in all copies and that
-% both that copyright notice and this permission notice appear in
-% supporting documentation.
-%
-% end of input file: pi3topbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:44 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: picttoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: picttoppm.1
-%
-\phead{picttoppm}{1}{29 November 1991}{}{}
-
-%.IX picttoppm
-\shead{NAME}
-picttoppm - convert a Macintosh PICT file into a portable pixmap
-\shead{SYNOPSIS}
-{\bf picttoppm}
-{\rm [}{\bf -verbose}{\rm ]}
-{\rm [}{\bf -fullres}{\rm ]}
-{\rm [}{\bf -noheader}{\rm ]}
-{\rm [}{\it pictfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a PICT file (version 1 or 2) and outputs a portable pixmap.
-%.IX PICT
-%.IX Macintosh
-Useful as the first step in converting a scanned image to something
-that can be displayed on Unix.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf --fullres}}
-\item[{{\bf --fullres}}]
-Force any images in the PICT file to be output with at least their
-full resolution.  A PICT file may indicate that a contained
-image is to be scaled down before output.  This option forces images
-to retain their sizes and prevent information loss.
-\item[{{\bf --noheader}}]
-Do not skip the 512 byte header that is present on all PICT files.
-This is useful when you have PICT data that was not stored in
-the data fork of a PICT file.
-\item[{{\bf --verbose}}]
-Turns on verbose mode which prints a 
-a whole bunch of information that only
-{\it picttoppm}
-hackers really care about.
-\end{TPlist}
-
-\shead{BUGS}
-The PICT file format is a general drawing format.
-{\it picttoppm}
-only supports a small subset of its operations but is still very useful for
-files produced by scanning software.  In particular, text added to a
-scanned image will be silently ignored.
-\shead{SEE ALSO}
-Inside Macintosh volume 5,
-ppmtopict(1),
-ppm(5)
-\shead{AUTHOR}
-\copyright 1989 George Phillips (phillips@cs.ubc.ca).
-% Permission is granted to freely distribute this program in whole or in
-% part provided you don't make money off it, you don't pretend that you
-% wrote it and that this notice accompanies the code.
-%
-% George Phillips <phillips@cs.ubc.ca>
-% Department of Computer Science
-% University of British Columbia
-%
-% end of input file: picttoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:44 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pjtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pjtoppm.1
-%
-\phead{pjtoppm}{1}{14 July 1991}{}{}
-
-%.IX pjtoppm
-\shead{NAME}
-pjtoppm - convert an HP PaintJet file to a portable pixmap
-\shead{SYNOPSIS}
-{\bf pjtoppm}
-{\rm [}{\it paintjet}{\rm ]}
-\shead{DESCRIPTION}
-Reads an HP PaintJet file as input and converts it into a portable pixmap.
-This was a quick hack to save some trees, and it only handles a small
-subset of the paintjet commands.
-In particular, it will only handle 
-enough commands to convert most raster image files.
-\shead{REFERENCES}
-HP PaintJet XL Color Graphics Printer User's Guide
-\shead{SEE ALSO}
-ppmtopj(1)
-\shead{AUTHOR}
-\copyright 1991 by Christos Zoulas.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pjtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:19 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pktopbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pktopbm.1
-%
-\phead{pktopbm}{1}{6 August 1990}{}{}
-
-\shead{NAME}
-pktopbm - convert packed (PK) format font into portable bitmap(s)
-\shead{SYNOPSIS}
-pktopbm pkfile[.pk] [-c num] pbmfile ...
-\shead{DESCRIPTION}
-Reads a packed (PK) font file as input, and produces portable bitmaps as
-output. If the filename ``-'' is used for any
-of the filenames, the standard input stream (or standard output where
-appropriate) will be used.
-\shead{OPTIONS}
-\begin{IPlist}
-\IPitem{{-c\ num}}
-Sets the character number of the next bitmap written to num.
-\end{IPlist}
-
-\shead{SEE ALSO}
-pbmtopk(1), pbm(5)
-\shead{AUTHOR}
-Adapted from Tom Rokicki's pxtopk by Angus Duggan (ajcd@dcs.ed.ac.uk.
-
-%
-% end of input file: pktopbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:35 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnm.5
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnm.5
-%
-\phead{pnm}{5}{27 September 1991}{}{}
-
-\shead{NAME}
-pnm - portable anymap file format
-\shead{DESCRIPTION}
-The
-{\it pnm}
-programs operate on portable bitmaps, graymaps, and pixmaps, produced by the
-{\it pbm, pgm,}
-and
-{\it ppm}
-segments.  There is no file format associated with
-{\it pnm}
-itself.
-\shead{SEE ALSO}
-anytopnm(1), rasttopnm(1), tifftopnm(1), xwdtopnm(1),
-pnmtops(1), pnmtorast(1), pnmtotiff(1), pnmtoxwd(1),
-pnmarith(1), pnmcat(1), pnmconvol(1), pnmcrop(1), pnmcut(1),
-pnmdepth(1), pnmenlarge(1), pnmfile(1), pnmflip(1), pnmgamma(1),
-pnmindex(1), pnminvert(1), pnmmargin(1), pnmnoraw(1), pnmpaste(1),
-pnmrotate(1), pnmscale(1), pnmshear(1), pnmsmooth(1), pnmtile(1),
-ppm(5), pgm(5), pbm(5)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnm.5
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Feb  7 08:47:49 1994
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmalias.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmalias.1
-%
-\phead{pnmalias}{1}{30 April 1992}{}{}
-
-\shead{NAME}
-pnmalias - antialias a portable anyumap.
-\shead{SYNOPSIS}
-{\bf pnmalias}
-{\rm [}{\bf -bgcolor}
-{\it color}{\rm ]}
-{\rm [}{\bf -fgcolor}
-{\it color}{\rm ]}
-{\rm [}{\bf -bonly}{\rm ]}
-{\rm [}{\bf -fonly}{\rm ]}
-{\rm [}{\bf -balias}{\rm ]}
-{\rm [}{\bf -falias}{\rm ]}
-{\rm [}{\bf -weight}
-{\it w}{\rm ]}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input, and applies anti-aliasing to background and
-foreground pixels.
-If the input file is a portable bitmap, the 
-output anti-aliased image is promoted to a graymap, and a message is printed
-informing the user of the change in format.
-\shead{OPTIONS}
-\par
-{\bf --bgcolor}
-{\it colorb,}
-{\bf --fgcolor}
-{\it colorf}
-\ind{1\parindent}set the background color to 
-{\it colorb,}
-and the foreground to color to
-{\it colorf.}
-Pixels with these values will be anti-aliased. by default,
-the background color is taken to be black, and foreground color
-is assumed to be white.  
-The colors can be specified in five ways:
-\begin{TPlist}{{\bf o}}
-\item[{{\bf o}}]
-A name, assuming
-that a pointer to an X11-style color names file was compiled in.
-\item[{{\bf o}}]
-An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are
-each 1- to 4-digit hexadecimal numbers.
-\item[{{\bf o}}]
-An X11-style decimal specifier: rgbi:r/g/b, where r g and b are
-floating point numbers between 0 and 1.
-\item[{{\bf o}}]
-For backwards compatibility, an old-X11-style hexadecimal
-number: \#rgb, \#rrggbb, \#rrrgggbbb, or \#rrrrggggbbbb.
-\item[{{\bf o}}]
-For backwards compatibility, a triplet of numbers
-separated by commas: r,g,b, where r g and b are
-floating point numbers between 0 and 1.
-(This style was added before MIT came up with the similar rgbi style.)
-\end{TPlist}
-\par\noindent
-Note that even when dealing with graymaps, background and foreground
-colors need to be specified in the fashion described above.
-In this case, background and foreground pixel values are taken to be the
-value of the red component for the given color.
-\ind{1\parindent}
-\par
-{\bf --bonly}{\rm ,}
-{\bf --fonly}
-\ind{1\parindent}Apply anti-aliasing only to background 
-{\rm (}{\bf --bonly}{\rm ),}
-or foreground
-{\rm (}{\bf --fonly}{\rm )}
-pixels.
-\ind{1\parindent}
-\par
-{\bf --balias}{\rm ,}
-{\bf --falias}
-\ind{1\parindent}Apply anti-aliasing to all pixels surrounding background
-{\rm (}{\bf --balias}{\rm ),}
-or foreground
-{\rm (}{\bf --falias}{\rm )}
-pixels.  By default, anti-aliasing takes place only among neighboring
-background and foreground pixels.
-\ind{1\parindent}
-\par
-{\bf --weight}
-{\it w}
-\ind{1\parindent}Use 
-{\it w}
-as the central weight for the aliasing filter.
-{\it W}
-must be a real number in the range
-0 $<$ 
-{\it w}
-$<$ 1.
-The lower the value of 
-{\it w}
-is, the ``blurrier'' the output image is.  The default is w = 1/3.
-\shead{SEE ALSO}
-pbmtext(1), pnmsmooth(1), pnm(5)
-\shead{AUTHOR}
-Copyright (C) 1992 by Alberto Accomazzi, Smithsonian Astrophysical Observatory.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmalias.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:17 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmarith.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmarith.1
-%
-\phead{pnmarith}{1}{26 August 1993}{}{}
-
-%.IX pnmarith
-\shead{NAME}
-pnmarith - perform arithmetic on two portable anymaps
-\shead{SYNOPSIS}
-{\bf pnmarith}
-{\bf -add}{\rm $|$}{\bf -subtract}{\rm $|$}{\bf -multiply}{\rm $|$}{\bf -difference}
-{\it pnmfile1 pnmfile2}
-\shead{DESCRIPTION}
-Reads two portable anymaps as input.
-Performs the specified arithmetic operation,
-and produces a portable anymap as output.
-The two input anymaps must be the same width and height.
-\par
-The arithmetic is performed between corresponding pixels in the two
-anymaps, as if maxval was 1.0, black was 0.0, and a linear scale in between.
-Results that fall outside of [0..1) are truncated.
-\par
-The operator
-{\it -difference}
-calculates the absolute value of
-{\it pnmarith -subtract pnmfile1 pnmfile2,}
-{\it i.e.}, no truncation is done.
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pbmmask(1), pnmpaste(1), pnminvert(1), pnm(5)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer..
-Lightly modified by Marcel Wijkstra (wijkstra@fwi.uva.nl).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmarith.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:17 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmcat.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmcat.1
-%
-\phead{pnmcat}{1}{12 March 1989}{}{}
-
-%.IX pnmcat
-\shead{NAME}
-pnmcat - concatenate portable anymaps
-\shead{SYNOPSIS}
-{\bf pnmcat}
-{\rm [}{\bf -white}{\rm $|$}{\bf -black}{\rm ]}
-{\bf -leftright}{\rm $|$}{\bf -lr}
-{\rm [}{\bf -jtop}{\rm $|$}{\bf -jbottom}{\rm ]}
-{\it pnmfile pnmfile}
-{\rm ...}
-\nwl
-{\bf pnmcat}
-{\rm [}{\bf -white}{\rm $|$}{\bf -black}{\rm ]}
-{\bf -topbottom}{\rm $|$}{\bf -tb}
-{\rm [}{\bf -jleft}{\rm $|$}{\bf -jright}{\rm ]}
-{\it pnmfile pnmfile}
-{\rm ...}
-\shead{DESCRIPTION}
-Reads portable anymaps as input.
-Concatenates them either left to right or top to bottom, and produces a
-portable anymap as output.
-%.IX concatenation
-\shead{OPTIONS}
-\par
-If the anymaps are not all the same height (left-right) or width (top-bottom),
-the smaller ones have to be justified with the largest.
-By default, they get centered, but you can specify one side or the other
-with one of the -j* flags.
-So,
-{\bf -topbottom -jleft}
-would stack the anymaps on top of each other, flush with the left edge.
-\par
-The
-{\bf -white}
-and
-{\bf -black}
-flags specify what color to use to fill in the extra space
-when doing this justification.
-If neither is specified, the program makes a guess.
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pnm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmcat.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:31 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmcomp.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmcomp.1
-%
-\phead{pnmcomp}{1}{21 February 1989}{}{}
-
-%.IX pnmcomp
-\shead{NAME}
-pnmcomp - composite two portable anymap files together
-\shead{SYNOPSIS}
-{\bf pnmcomp}
-{\rm [}{\it -invert}{\rm ]}
-{\rm [}{\it -xoff}{\rm N}{\it ]}
-{\rm [}{\it -yoff}{\rm N}{\it ]}
-{\rm [}{\it -alpha}{\rm pgmfile}{\it ]}
-{\rm overlay}
-{\rm [}{\it pnm-input}{\rm ]}
-{\rm [}{\it pnm-output}{\rm ]}
-\shead{DESCRIPTION}
-Reads in a portable any map image and put a overlay upon it, with optional
-alpha mask.  The 
-{\it -alpha pgmfile}
-allows you to also add an alpha mask file to the compositing process, the
-range of max and min can be swapped by using the
-{\it -invert}
-option.
-The
-{\it -xoff}
-and
-{\it -yoff}
-arguments can be negative, allowing you to shift the overlay off the
-top corner of the screen.
-\shead{SEE ALSO}
-pnm(5)
-\shead{AUTHOR}
-\copyright 1992 by David Koblas (koblas@mips.com).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmcomp.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:18 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmconvol.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmconvol.1
-%
-\phead{pnmconvol}{1}{13 January 1991}{}{}
-
-%.IX pnmconvol
-\shead{NAME}
-pnmconvol - general MxN convolution on a portable anymap
-\shead{SYNOPSIS}
-{\bf pnmconvol}
-{\it convolutionfile}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads two portable anymaps as input.
-Convolves the second using the first,
-and writes a portable anymap as output.
-%.IX convolution
-\par
-Convolution means replacing each pixel with a weighted average of the
-nearby pixels.  The weights and the area to average are determined by
-the convolution matrix.
-The unsigned numbers in the convolution file are offset by -maxval/2 to
-make signed numbers, and then normalized, so the actual values in the
-convolution file are only relative.
-\par
-Here is a sample convolution file;
-it does a simple average of the nine immediate neighbors, resulting
-in a smoothed image:
-\nofill
-    P2
-    3 3
-    18
-    10 10 10
-    10 10 10
-    10 10 10
-\fill
-\par
-To see how this works, do the above-mentioned offset: 10 - 18/2 gives 1.
-The possible range of values is from 0 to 18, and after the offset
-that's -9 to 9.  The normalization step makes the range -1 to 1, and
-the values get scaled correspondingly so they become 1/9 - exactly what
-you want.
-The equivalent matrix for 5x5 smoothing would have maxval 50 and be
-filled with 26.
-\par
-The convolution file will usually be a graymap,
-so that the same convolution gets applied to each color component.
-However, if you want to use a pixmap and do a different convolution to
-different colors, you can certainly do that.
-\shead{SEE ALSO}
-pnmsmooth(1), pnm(5)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmconvol.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:18 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmcrop.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmcrop.1
-%
-\phead{pnmcrop}{1}{25 February 1989}{}{}
-
-%.IX pnmcrop
-\shead{NAME}
-pnmcrop - crop a portable anymap
-\shead{SYNOPSIS}
-{\bf pnmcrop}
-{\rm [}{\bf -white}{\rm $|$}{\bf -black}{\rm ]}
-{\rm [}{\bf -left}{\rm ]}
-{\rm [}{\bf -right}{\rm ]}
-{\rm [}{\bf -top}{\rm ]}
-{\rm [}{\bf -bottom}{\rm ]}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Removes edges that are the background color,
-and produces a portable anymap as output.
-%.IX cropping
-\shead{OPTIONS}
-\par
-By default, it makes a guess as to what the background color is.
-You can override the default with the
-{\bf -white}
-and
-{\bf -black}
-flags.
-\par
-The options
-{\bf -left, -right, -top}
-and
-{\bf -bottom}
-restrict cropping to the sides specified. The default is to crop all sides of
-the image.
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pnmcut(1), pnm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmcrop.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:19 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmcut.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmcut.1
-%
-\phead{pnmcut}{1}{21 February 1989}{}{}
-
-%.IX pnmcut
-\shead{NAME}
-pnmcut - cut a rectangle out of a portable anymap
-\shead{SYNOPSIS}
-{\bf pnmcut}
-{\it x y width height}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Extracts the specified rectangle,
-and produces a portable anymap as output.
-%.IX cut
-The
-{\it x}
-and
-{\it y}
-can be negative, in which case they are interpreted
-relative to the right and bottom of the anymap, respectively.
-\shead{SEE ALSO}
-pnm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmcut.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:20 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmdepth.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmdepth.1
-%
-\phead{pnmdepth}{1}{12 January 1991}{}{}
-
-%.IX pnmdepth
-\shead{NAME}
-pnmdepth - change the maxval in a portable anymap
-\shead{SYNOPSIS}
-{\bf pnmdepth}
-{\it newmaxval}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Scales all the pixel values, and writes out the image with the new maxval.
-Scaling the colors down to a smaller maxval will result in some loss
-of information.
-\par
-Be careful of off-by-one errors when choosing the new maxval.
-For instance, if you want the color values to be five bits wide,
-use a maxval of 31, not 32.
-\shead{SEE ALSO}
-pnm(5), ppmquant(1), ppmdither(1)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmdepth.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:20 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmenlarge.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmenlarge.1
-%
-\phead{pnmenlarge}{1}{26 February 1989}{}{}
-
-%.IX pnmenlarge
-\shead{NAME}
-pnmenlarge - read a portable anymap and enlarge it N times
-\shead{SYNOPSIS}
-{\bf pnmenlarge}
-{\it N}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Replicates its pixels
-{\it N}
-times, and produces a portable anymap as output.
-%.IX enlarging
-\par
-{\it pnmenlarge}
-can only enlarge by integer factors.
-The slower but more general
-{\it pnmscale}
-%.IX pnmscale
-can enlarge or reduce by arbitrary
-factors, and
-{\it pbmreduce}
-%.IX pbmreduce
-can reduce by integer factors, but only for bitmaps.
-\par
-If you enlarge by a factor of 3 or more, you should probably add a
-{\it pnmsmooth}
-%.IX pnmsmooth
-step; otherwise, you can see the original pixels in the resulting image.
-\shead{SEE ALSO}
-pbmreduce(1), pnmscale(1), pnmsmooth(1), pnm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmenlarge.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:21 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmfile.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmfile.1
-%
-\phead{pnmfile}{1}{9 January 1991}{}{}
-
-%.IX pnmfile
-\shead{NAME}
-pnmfile - describe a portable anymap
-\shead{SYNOPSIS}
-{\bf pnmfile}
-{\rm [}{\it pnmfile}{\rm ]}
-{\rm ...}
-\shead{DESCRIPTION}
-Reads one or more portable anymaps as input.
-Writes out short descriptions of the image type, size, etc.
-This is mostly for use in shell scripts, so the format is not
-particularly pretty.
-\shead{SEE ALSO}
-pnm(5), file(1)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmfile.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:21 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmflip.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmflip.1
-%
-\phead{pnmflip}{1}{25 July 1989}{}{}
-
-%.IX pnmflip
-\shead{NAME}
-pnmflip - perform one or more flip operations on a portable anymap
-\shead{SYNOPSIS}
-{\bf pnmflip}
-{\rm [}{\bf -leftright}{\rm $|$}{\bf -lr}{\rm ]}
-{\rm [}{\bf -topbottom}{\rm $|$}{\bf -tb}{\rm ]}
-{\rm [}{\bf -transpose}{\rm $|$}{\bf -xy}{\rm ]}
-{\rm [}{\bf -rotate90}{\rm $|$}{\bf -r90}{\rm $|$}{\bf -ccw}
-{\rm ]}
-{\rm [}{\bf -rotate270}{\rm $|$}{\bf -r270}{\rm $|$}{\bf -cw}
-{\rm ]}
-{\rm [}{\bf -rotate180}{\rm $|$}{\bf -r180}{\rm ]}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Performs one or more flip operations, in the order specified, and
-writes out a portable anymap.
-%.IX rotation
-%.IX reflection
-%.IX transposition
-\shead{OPTIONS}
-\par
-The flip operations available are: left for right
-{\rm (}{\bf -leftright}
-or
-{\bf -lr}{\rm );}
-top for bottom
-{\rm (}{\bf -topbottom}
-or
-{\bf -tb}{\rm );}
-and transposition
-{\rm (}{\bf -transpose}
-or
-{\bf -xy}{\rm ).}
-In addition, some canned concatenations are available:
-{\bf -rotate90}
-or
-{\bf -ccw}
-is equivalent to
-{\bf -transpose}
-{\bf -topbottom}{\rm ;}
-{\bf -rotate270}
-or
-{\bf -cw}
-is equivalent to
-{\bf -transpose}
-{\bf -leftright}{\rm ;}
-and
-{\bf -rotate180}
-is equivalent to
-{\bf -leftright}
-{\bf -topbottom}{\rm .}
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pnmrotate(1), pnm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmflip.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:29 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmgamma.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmgamma.1
-%
-\phead{pnmgamma}{1}{12 January 1991}{}{}
-
-%.IX pnmgamma
-\shead{NAME}
-pnmgamma - perform gamma correction on a portable anymap
-\shead{SYNOPSIS}
-{\bf pnmgamma}
-{\it value}
-{\rm [}{\it pnmfile}{\rm ]}
-\nwl
-{\bf pnmgamma}
-{\it redvalue greenvalue bluevalue}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Performs gamma correction,
-and produces a portable anymap as output.
-%.IX "gamma correction"
-\par
-The arguments specify what gamma value(s) to use.
-A value of 1.0 leaves the image alone, less than one darkens it,
-and greater than one lightens it.
-\shead{SEE ALSO}
-pnm(5)
-\shead{AUTHOR}
-\copyright 1991 by Bill Davidson and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmgamma.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:22 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnminvert.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnminvert.1
-%
-\phead{pnminvert}{1}{08 August 1989}{}{}
-
-%.IX pnminvert
-\shead{NAME}
-pnminvert - invert a portable anymap
-\shead{SYNOPSIS}
-{\bf pnminvert}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Inverts it black for white and produces a portable anymap as output.
-\shead{SEE ALSO}
-pnm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnminvert.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:32 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmnlfilt.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmnlfilt.1
-%
-\phead{pnmnlfilt}{1}{5 February 1993}{}{}
-
-%.IX pnmnlfilt
-\shead{NAME}
-pnmnlfilt - non-linear filters: smooth, alpha trim mean, optimal
-estimation smoothing, edge enhancement.
-\shead{SYNOPSIS}
-{\bf pnmnlfilt}
-{\rm alpha}
-{\rm radius}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-%.IX smoothing
-%.IX dithering
-%.IX alpha trim
-%.IX mean filter
-%.IX median filter
-%.IX optimal estimation
-This is something of a swiss army knife filter. It has 3 distinct operating
-modes. In all of the modes each pixel in the image is examined and processed
-according to it and its surrounding pixels values. Rather than using the
-9 pixels in a 3x3 block, 7 hexagonal area samples are taken, the size of
-the hexagons being controlled by the radius parameter. A radius value of
-0.3333 means that the 7 hexagons exactly fit into the center pixel ({\it i.e.},
-there will be no filtering effect). A radius value of 1.0 means that
-the 7 hexagons exactly fit a 3x3 pixel array.
-\shead{Alpha trimmed mean filter.	(0.0 $<$= alpha $<$= 0.5)}
-\par
-The value of the center pixel will be
-replaced by the mean of the 7 hexagon values, but the 7 values are
-sorted by size and the top and bottom alpha portion of the 7 are
-excluded from the mean.  This implies that an alpha value of 0.0 gives
-the same sort of output as a normal convolution ({\it i.e.}, averaging or
-smoothing filter), where radius will determine the ``strength'' of the
-filter. A good value to start from for subtle filtering is alpha = 0.0, radius = 0.55
-For a more blatant effect, try alpha 0.0 and radius 1.0
-\par
-An alpha value of 0.5 will cause the median value of the
-7 hexagons to be used to replace the center pixel value. This sort
-of filter is good for eliminating ``pop'' or single pixel noise from
-an image without spreading the noise out or smudging features on
-the image. Judicious use of the radius parameter will fine tune the
-filtering. Intermediate values of alpha give effects somewhere
-between smoothing and ``pop'' noise reduction. For subtle filtering
-try starting with values of alpha = 0.4, radius = 0.6  For a more blatant
-effect try alpha = 0.5, radius = 1.0
-\shead{Optimal estimation smoothing. (1.0 $<$= alpha $<$= 2.0)}
-\par
-This type of filter applies a smoothing filter adaptively over the image.
-For each pixel the variance of the surrounding hexagon values is calculated,
-and the amount of smoothing is made inversely proportional to it. The idea
-is that if the variance is small then it is due to noise in the image, while
-if the variance is large, it is because of ``wanted'' image features. As usual
-the radius parameter controls the effective radius, but it probably advisable to
-leave the radius between 0.8 and 1.0 for the variance calculation to be meaningful.
-The alpha parameter sets the noise threshold, over which less smoothing will be done.
-This means that small values of alpha will give the most subtle filtering effect,
-while large values will tend to smooth all parts of the image. You could start
-with values like alpha = 1.2, radius = 1.0 and try increasing or decreasing the
-alpha parameter to get the desired effect. This type of filter is best for
-filtering out dithering noise in both bitmap and color images.
-\shead{Edge enhancement. (-0.1 $>$= alpha $>$= -0.9)}
-\par
-This is the opposite type of filter to the smoothing filter. It enhances
-edges. The alpha parameter controls the amount of edge enhancement, from
-subtle (-0.1) to blatant (-0.9). The radius parameter controls the effective
-radius as usual, but useful values are between 0.5 and 0.9. Try starting
-with values of alpha = 0.3, radius = 0.8
-\shead{Combination use.}
-\par
-The various modes of 
-{\bf pnmnlfilt}
-can be used one after the other to get the desired result. For instance to
-turn a monochrome dithered image into a grayscale image you could try
-one or two passes of the smoothing filter, followed by a pass of the optimal estimation
-filter, then some subtle edge enhancement. Note that using edge enhancement is
-only likely to be useful after one of the non-linear filters (alpha trimmed mean
-or optimal estimation filter), as edge enhancement is the direct opposite of
-smoothing.
-\par
-For reducing color quantization noise in images ({\it i.e.}, turning .gif files back into
-24 bit files) you could try a pass of the optimal estimation filter
-(alpha 1.2, radius 1.0), a pass of the median filter (alpha 0.5, radius 0.55),
-and possibly a pass of the edge enhancement filter.
-Several passes of the optimal estimation filter with declining alpha
-values are more effective than a single pass with a large alpha value.
-As usual, there is a tradeoff between filtering effectiveness and loosing
-detail. Experimentation is encouraged.
-\shead{References:}
-\par
-The alpha-trimmed mean filter is 
-based on the description in IEEE CG\&A May 1990 
-Page 23 by Mark E. Lee and Richard A. Redner,
-and has been enhanced to allow continuous alpha adjustment.
-\par
-The optimal estimation filter is taken from an article ``Converting Dithered
-Images Back to Gray Scale'' by Allen Stenger, Dr Dobb's Journal, November
-1992, and this article references ``Digital Image Enhancement and Noise Filtering by
-Use of Local Statistics'', Jong-Sen Lee, IEEE Transactions on Pattern Analysis and
-Machine Intelligence, March 1980.
-\par
-The edge enhancement details are from pgmenhance(1),
-which is taken from Philip R. Thompson's ``xim''
-program, which in turn took it from section 6 of ``Digital Halftones by
-Dot Diffusion'', D. E. Knuth, ACM Transaction on Graphics Vol. 6, No. 4,
-October 1987, which in turn got it from two 1976 papers by J. F. Jarvis
-{\it et. al.}
-\shead{SEE ALSO}
-pgmenhance(1), pnmconvol(1), pnm(5)
-\shead{BUGS}
-Integers and tables may overflow if PPM\_MAXMAXVAL is greater than 255.
-\shead{AUTHOR}
-Graeme W. Gill    graeme@labtam.oz.au
-%
-% end of input file: pnmnlfilt.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:23 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmnoraw.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmnoraw.1
-%
-\phead{pnmnoraw}{1}{8 January 1991}{}{}
-
-%.IX pnmnoraw
-\shead{NAME}
-pnmnoraw - force a portable anymap into plain format
-\shead{SYNOPSIS}
-{\bf pnmnoraw}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Writes it out in plain (non-raw) format.
-This is fairly useless if you haven't defined the PBMPLUS\_RAWBITS
-compile-time option.
-%.IX RAWBITS
-\shead{SEE ALSO}
-pnm(5)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmnoraw.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:33 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmpad.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmpad.1
-%
-\phead{pnmpad}{12 Dec 1990}{}{}{}
-
-\shead{NAME}
-pnmpad - add borders to portable anymap
-\shead{SYNOPSIS}
-pnmpad [-white$|$-black] [-l\#] [-r\#] [-t\#] [-b\#] [pnmfile]
-\shead{DESCRIPTION}
-Reads a portable anymap as input. Outputs a portable anymap with extra
-borders of the sizes specified. The colour of the borders can be set to
-black or white (default black).
-
-\shead{SEE ALSO}
-pbmmake(1), pnmpaste(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1990 by Angus Duggan.
-\copyright 1989 by Jef Poskanzer.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.  This software is provided "as is" without express or
-implied warranty.
-%
-% end of input file: pnmpad.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:23 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmpaste.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmpaste.1
-%
-\phead{pnmpaste}{1}{21 February 1991}{}{}
-
-%.IX pnmpaste
-\shead{NAME}
-pnmpaste - paste a rectangle into a portable anymap
-\shead{SYNOPSIS}
-{\bf pnmpaste}
-{\rm [}{\bf -replace}{\rm $|$}{\bf -or}{\rm $|$}{\bf -and}
-{\rm $|$}{\bf -xor}{\rm ]}
-{\it frompnmfile x y}
-{\rm [}{\it intopnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads two portable anymaps as input.
-Inserts the first anymap into the second at the specified location,
-and produces a portable anymap the same size as the second as output.
-%.IX paste
-If the second anymap is not specified, it is read from stdin.
-The
-{\it x}
-and
-{\it y}
-can be negative, in which case they are interpreted
-relative to the right and bottom of the anymap, respectively.
-\par
-This tool is most useful in combination with
-{\it pnmcut}{\rm .}
-%.IX pnmcut
-For instance, if you want to edit a small segment of a large
-image, and your image editor cannot edit the
-large image, you can cut out the segment you are interested in,
-edit it, and then paste it back in.
-\par
-Another useful companion tool is
-{\it pbmmask}{\rm .}
-%.IX pnmmask
-%.OPTIONS
-\par
-The optional flag specifies the operation to use when doing the paste.
-The default is
-{\bf -replace}{\rm .}
-The other, logical operations are only allowed if both input images
-are bitmaps.
-%.IX "logical operations"
-These operations act as if white is TRUE and black is FALSE.
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pnmcut(1), pnminvert(1), pnmarith(1), pnm(5), pbmmask(1)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmpaste.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:29 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmrotate.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmrotate.1
-%
-\phead{pnmrotate}{1}{12 January 1991}{}{}
-
-%.IX pnmrotate
-\shead{NAME}
-pnmrotate - rotate a portable anymap by some angle
-\shead{SYNOPSIS}
-{\bf pnmrotate}
-{\rm [}{\bf -noantialias}{\rm ]}
-{\it angle}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Rotates it by the specified angle
-and produces a portable anymap as output.
-%.IX rotation
-If the input file is in color, the output will be too,
-otherwise it will be grayscale.
-The angle is in degrees (floating point), measured counter-clockwise.
-It can be negative, but it should be between -90 and 90.
-Also, for rotations greater than 45 degrees you may get better results
-if you first use
-{\it pnmflip}
-%.IX pnmflip
-to do a 90 degree rotation and then
-{\it pnmrotate}
-less than 45 degrees back the other direction
-\par
-The rotation algorithm is Alan Paeth's three-shear method.
-Each shear is implemented by looping over the source pixels and distributing
-fractions to each of the destination pixels.
-This has an ``anti-aliasing'' effect - it avoids jagged edges and similar
-artifacts.
-%.IX anti-aliasing
-However, it also means that the original colors or gray levels in the image
-are modified.
-If you need to keep precisely the same set of colors, you can use the
-{\bf -noantialias}
-flag.  This does the shearing by moving pixels without changing their values.
-If you want anti-aliasing and don't care about the precise colors, but
-still need a limited *number* of colors, you can run the result through
-{\it ppmquant}{\rm .}
-%.IX ppmquant
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{REFERENCES}
-``A Fast Algorithm for General Raster Rotation'' by Alan Paeth,
-Graphics Interface '86, pp. 77-81.
-\shead{SEE ALSO}
-pnmshear(1), pnmflip(1), pnm(5), ppmquant(1)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmrotate.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:24 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmscale.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmscale.1
-%
-\phead{pnmscale}{1}{12 January 1991}{}{}
-
-%.IX pnmscale
-\shead{NAME}
-pnmscale - scale a portable anymap
-\shead{SYNOPSIS}
-{\bf pnmscale}
-{\it s}
-{\rm [}{\it pnmfile}{\rm ]}
-\nwl
-{\bf pnmscale}
-{\bf -xsize}{\rm $|$}{\bf -width}{\rm $|$}{\bf -ysize}{\rm $|$}
-{\bf -height}
-{\it s}
-{\rm [}{\it pnmfile}{\rm ]}
-\nwl
-{\bf pnmscale}
-{\bf -xscale}{\rm $|$}{\bf -yscale}
-{\it s}
-{\rm [}{\it pnmfile}{\rm ]}
-\nwl
-{\bf pnmscale}
-{\bf -xscale}{\rm $|$}{\bf -xsize}{\rm $|$}{\bf -width}
-{\it s}
-{\bf -yscale}{\rm $|$}{\bf -ysize}{\rm $|$}{\bf -height}
-{\it s}
-{\rm [}{\it pnmfile}{\rm ]}
-\nwl
-{\bf pnmscale -xysize}
-{\it x y}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Scales it by the specified factor or factors and produces a portable
-anymap as output.
-%.IX shrinking
-%.IX enlarging
-If the input file is in color, the output will be too,
-otherwise it will be grayscale.
-You can both enlarge (scale factor $>$ 1) and reduce (scale factor $<$ 1).
-\par
-You can specify one dimension as a pixel size, and the other dimension
-will be scaled correspondingly.
-\par
-You can specify one dimension as a scale, and the other dimension
-will not be scaled.
-\par
-You can specify different sizes or scales for each axis.
-\par
-Or, you can use the special
-{\bf -xysize}
-flag, which fits the image into
-the specified size without changing the aspect ratio.
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\par
-If you enlarge by a factor of 3 or more, you should probably add a
-{\it pnmsmooth}
-%.IX pnmsmooth
-step; otherwise, you can see the original pixels in the resulting image.
-\shead{SEE ALSO}
-pbmreduce(1), pnmenlarge(1), pnmsmooth(1), pnm(5)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmscale.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:30 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmshear.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmshear.1
-%
-\phead{pnmshear}{1}{12 January 1991}{}{}
-
-%.IX pnmshear
-\shead{NAME}
-pnmshear - shear a portable anymap by some angle
-\shead{SYNOPSIS}
-{\bf pnmshear}
-{\rm [}{\bf -noantialias}{\rm ]}
-{\it angle}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Shears it by the specified angle and produces a portable
-anymap as output.
-%.IX shearing
-If the input file is in color, the output will be too,
-otherwise it will be grayscale.
-The angle is in degrees (floating point), and measures this:
-\nofill
-    +-------+  +-------+
-    $|$       $|$  $|$\bs        \bs 
-    $|$  OLD  $|$  $|$ \bs   NEW  \bs 
-    $|$       $|$  $|$an\bs        \bs 
-    +-------+  $|$gle+-------+
-\fill
-If the angle is negative, it shears the other way:
-\nofill
-    +-------+  $|$-an+-------+
-    $|$       $|$  $|$gl/       /
-    $|$  OLD  $|$  $|$e/  NEW  /
-    $|$       $|$  $|$/       /
-    +-------+  +-------+
-\fill
-The angle should not get too close to 90 or -90, or the resulting
-anymap will be unreasonably wide.
-\par
-The shearing is implemented by looping over the source pixels and distributing
-fractions to each of the destination pixels.
-This has an ``anti-aliasing'' effect - it avoids jagged edges and similar
-artifacts.
-%.IX anti-aliasing
-However, it also means that the original colors or gray levels in the image
-are modified.
-If you need to keep precisely the same set of colors, you can use
-the
-{\bf -noantialias}
-flag.  This does the shearing by moving pixels without changing their values.
-If you want anti-aliasing and don't care about the precise colors, but
-still need a limited *number* of colors, you can run the result through
-{\it ppmquant}{\rm .}
-%.IX ppmquant
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pnmrotate(1), pnmflip(1), pnm(5), ppmquant(1)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmshear.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:24 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmtile.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmtile.1
-%
-\phead{pnmtile}{1}{13 May 1989}{}{}
-
-%.IX pnmtile
-\shead{NAME}
-pnmtile - replicate a portable anymap into a specified size
-\shead{SYNOPSIS}
-{\bf pnmtile}
-{\it width height}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Replicates it until it is the specified size,
-and produces a portable anymap as output.
-%.IX tiling
-\shead{SEE ALSO}
-pnm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmtile.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Feb  7 08:49:06 1994
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmtofits.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmtofits.1
-%
-\phead{pnmtofits}{1}{5 Dec 1992}{}{}
-\shead{NAME}
-pnmtofits - convert a portable anymap into FITS format
-\shead{SYNOPSIS}
-{\bf pnmtofits}
-{\rm [}{\bf --max}
-{\it f}{\rm ]}
-{\rm [}{\bf --min}
-{\it f}{\rm ]}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Produces a FITS (Flexible Image Transport System) file as output.
-The resolution of the output file is either 8 bits/pixel,
-or 16 bits/pixel, depending on the value of maxval in the input file.
-If the input file is a portable bitmap or a portable graymap, the output file
-consists of a single plane image (NAXIS = 2). If instead the input file is
-a portable pixmap, the output file will consist of a three-plane image
-(NAXIS = 3, NAXIS3 = 3).
-A full description of the FITS format
-can be found in Astronomy \& Astrophysics Supplement Series 44 (1981), page 363.
-\shead{OPTIONS}
-\par
-Flags 
-{\bf --min}
-and 
-{\bf --max}
-can be used to set DATAMAX, DATAMIN, BSCALE and BZERO in the FITS
-header, but do not cause the data to be rescaled.
-\shead{SEE ALSO}
-fitstopnm(1), pgm(5)
-\shead{AUTHOR}
-Copyright (C) 1989 by Wilson H. Bent (whb@hoh-2.att.com), with
-modifications
-by Alberto Accomazzi (alberto@cfa.harvard.edu).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmtofits.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:25 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmtops.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmtops.1
-%
-\phead{pnmtops}{1}{26 October 1991}{}{}
-
-%.IX pnmtops
-\shead{NAME}
-pnmtops - convert portable anymap to PostScript
-\shead{SYNOPSIS}
-{\bf pnmtops}
-{\rm [}{\bf -scale}
-{\it s}{\rm ]}
-{\rm [}{\bf -turn}{\rm $|$}{\bf -noturn}{\rm ]}
-{\rm [}{\bf -rle}{\rm $|$}{\bf -runlength}{\rm ]}
-{\rm [}{\bf -dpi}
-{\it n}{\rm ]}
-{\rm [}{\bf -width}
-{\it n}{\rm ]}
-{\rm [}{\bf -height}
-{\it n}{\rm ]}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Produces Encapsulated PostScript as output.
-%.IX PostScript
-\par
-If the input file is in color (PPM), a color PostScript file gets
-written.
-Some PostScript interpreters can't handle color PostScript.
-If you have one of these you will need to run your image through
-{\it ppmtopgm}
-first.
-\par
-Note that there is no pstopnm
-tool - this transformation is one-way, because a pstopnm tool would
-be a full-fledged PostScript interpreter, which is beyond the scope
-of this package.
-However, see the
-{\it psidtopgm}
-tool, which can read grayscale non-runlength PostScript image data.
-Also, if you're willing to install the fairly large GhostScript package,
-it comes with a pstoppm script.
-\shead{OPTIONS}
-\par
-The
-{\bf -scale}
-flag controls the scale of the result.  The default scale is 1,
-which on a 300 dpi printer such as the Apple LaserWriter makes
-the output look about the same size as the input would if it was displayed
-on a typical 72 dpi screen.
-To get one PNM pixel per 300 dpi printer pixel, use ``-scale 0.25''.
-\par
-The
-{\bf -turn}
-and
-{\bf -noturn}
-flags control whether the image gets turned 90 degrees.
-Normally, if an image is wider than it is tall, it gets turned
-automatically to better fit the page.
-If the
-{\bf -turn}
-flag is specified, it will be turned no matter what its shape; and if the
-{\bf -noturn}
-flag is specified, it will
-{\it not}
-be turned no matter what its shape.
-\par
-The
-{\bf -rle}
-or
-{\bf -runlength}
-flag specifies run-length compression.  This may save
-time if the host-to-printer link is slow; but normally the printer's processing
-time dominates, so
-{\bf -rle}
-makes things slower.
-\par
-The
-{\bf -dpi}
-flag lets you specify the dots per inch of your output device.
-The default is 300 dpi.
-In theory PostScript is device-independent and you don't have to
-worry about this, but in practice its raster rendering can have
-unsightly bands if the device pixels and the image pixels aren't
-in sync.
-\par
-The
-{\bf -width}
-and
-{\bf -height}
-flags let you specify the size of the page.
-The default is 8.5 inches by 11 inches.
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pnm(5), psidtopgm(1)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmtops.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:26 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmtorast.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmtorast.1
-%
-\phead{pnmtorast}{1}{12 January 1991}{}{}
-
-%.IX pnmtorast
-\shead{NAME}
-pnmtorast - convert a portable pixmap into a Sun rasterfile
-\shead{SYNOPSIS}
-{\bf pnmtorast}
-{\rm [}{\bf -standard}{\rm $|$}{\bf -rle}{\rm ]}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces a Sun rasterfile as output.
-%.IX Sun
-%.IX rasterfile
-\par
-Color values in Sun rasterfiles are eight bits wide, so
-{\it pnmtorast}
-will automatically scale colors to have a maxval of 255.
-An extra
-{\it pnmdepth}
-step is not necessary.
-\shead{OPTIONS}
-\par
-The
-{\bf -standard}
-flag forces the result to be in RT\_STANDARD form; the
-{\bf -rle}
-flag, RT\_BYTE\_ENCODED, which is smaller but, well, less standard.
-The default is
-{\bf -rle}{\rm .}
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-rasttopnm(1), pnm(5)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmtorast.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:31 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmtosir.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmtosir.1
-%
-\phead{pnmtosir}{1}{20 March 1991}{}{}
-
-\shead{NAME}
-pnmtosir - convert a portable anymap into a Solitaire format
-\shead{SYNOPSIS}
-{\bf pnmtosir}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Produces a Solitaire Image Recorder format.
-\par
-pnmtosir produces an MGI TYPE 17 file for
-{\it pbm}
-and
-{\it pgm}
-files.
-For
-{\it ppm}{\rm ,}
-it writes a MGI TYPE 11 file.
-\shead{SEE ALSO}
-sirtopnm(1), pnm(5)
-\shead{BUGS}
-
-\shead{AUTHOR}
-\copyright 1991 by Marvin Landis.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-
-%
-% end of input file: pnmtosir.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:36 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmtotiff.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmtotiff.1
-%
-\phead{pnmtotiff}{1}{13 January 1991}{}{}
-
-%.IX pnmtotiff
-\shead{NAME}
-pnmtotiff - convert a a portable anymap into a TIFF file
-\shead{SYNOPSIS}
-{\bf pnmtotiff}
-{\rm [}{\bf -none}{\rm $|$}{\bf -packbits}{\rm $|$}
-{\bf -lzw}{\rm $|$}{\bf -g3}{\rm $|$}{\bf -g4}{\rm ]}
-{\rm [}{\bf -2d}{\rm ]}
-{\rm [}{\bf -fill}{\rm ]}
-{\rm [}{\bf -predictor}
-{\it n}{\rm ]}
-{\rm [}{\bf -msb2lsb}{\rm $|$}{\bf -lsb2msb}{\rm ]}
-{\rm [}{\bf -rowsperstrip}
-{\it n}{\rm ]}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Produces a TIFF file as output.
-%.IX TIFF
-\shead{OPTIONS}
-\par
-By default,
-{\it pnmtotiff}
-creates a TIFF file with LZW compression.
-This is your best bet most of the time.
-However, some TIFF readers can't deal with it.
-If you want to try another compression scheme or tweak some of the
-other even more obscure output options, there are a number of
-flags to play with.
-\par
-The
-{\bf -none}{\rm ,}
-{\bf -packbits}{\rm ,}
-{\bf -lzw}{\rm ,}
-{\bf -g3}{\rm ,}
-and
-{\bf -g4}
-options are used to override the default and set the compression
-scheme used in creating the output file.  The CCITT Group 3 and Group
-4 compression algorithms can only be used with bilevel data.  The
-{\bf -2d}
-and
-{\bf -fill}
-options are meaningful only with Group 3 compression:
-{\bf -2d}
-requests 2-dimensional encoding, while
-{\bf -fill}
-requests that each encoded scanline be zero-filled to a byte boundry.
-The
-{\bf -predictor}
-option is only meaningful with LZW compression: a predictor value of 2
-causes each scanline of the output image to undergo horizontal
-differencing before it is encoded; a value of 1 forces each scanline
-to be encoded without differencing.
-\rm
-By default,
-{\it pnmtotiff}
-creates a TIFF file with msb-to-lsb fill order.
-The
-{\bf -msb2lsb}
-and
-{\bf -lsb2msb}
-options are used to override the default and set the fill order used
-in creating the file.
-\rm
-The
-{\bf -rowsperstrip}
-option can be used to set the number of rows (scanlines) in each
-strip of data in the output file.  By default, the output file has
-the number of rows per strip set to a value that will ensure each
-strip is no more than 8 kilobytes long.
-\shead{BUGS}
-This program is not self-contained.  To use it you must fetch the
-TIFF Software package listed in the OTHER.SYSTEMS file and configure
-PBMPLUS to use libtiff.  See PBMPLUS's Makefile for details on this
-configuration.
-\shead{SEE ALSO}
-tifftopnm(1), pnm(5)
-\shead{AUTHOR}
-Derived by Jef Poskanzer from ras2tiff.c, which is
-\copyright 1990 by Sun Microsystems, Inc.\hfil\break
-Author: Patrick J. Naughton (naughton@wind.sun.com).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted,
-% provided that the above copyright notice appear in all copies and that
-% both that copyright notice and this permission notice appear in
-% supporting documentation.
-% 
-% This file is provided AS IS with no warranties of any kind.  The author
-% shall have no liability with respect to the infringement of copyrights,
-% trade secrets or any patents by this file or any part thereof.  In no
-% event will the author be liable for any lost revenue or profits or
-% other special, indirect and consequential damages.
-%
-% end of input file: pnmtotiff.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:26 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: pnmtoxwd.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: pnmtoxwd.1
-%
-\phead{pnmtoxwd}{1}{24 September 1991}{}{}
-
-%.IX pnmtoxwd
-\shead{NAME}
-pnmtoxwd - convert a portable anymap into an X11 window dump
-\shead{SYNOPSIS}
-{\bf pnmtoxwd}
-{\rm [}{\bf -pseudodepth}
-{\it n}{\rm ]}
-{\rm [}{\bf -directcolor}{\rm ]}
-{\rm [}{\it pnmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable anymap as input.
-Produces an X11 window dump as output.
-%.IX XWD
-%.IX "X window system"
-This window dump can be displayed using the xwud tool.
-\par
-Normally, pnmtoxwd produces a StaticGray dump file for
-{\it pbm}
-and
-{\it pgm}
-files.
-For
-{\it ppm}{\rm ,}
-it writes a PseudoColor dump file if there are up
-to 256 colors in the input, and a DirectColor dump file otherwise.
-The
-{\bf -directcolor}
-flag can be used to force a DirectColor dump.
-And the
-{\bf -pseudodepth}
-flag can be used to change the depth of PseudoColor dumps from the default
-of 8 bits / 256 colors.
-\shead{SEE ALSO}
-xwdtopnm(1), pnm(5), xwud(1)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: pnmtoxwd.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:13 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppm.5
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppm.5
-%
-\phead{ppm}{5}{27 September 1991}{}{}
-
-\shead{NAME}
-ppm - portable pixmap file format
-\shead{DESCRIPTION}
-The portable pixmap format is a lowest common denominator color image
-file format.
-%.IX "PPM file format"
-The definition is as follows:
-\begin{IPlist}
-\IPitem{{-}}
-A ``magic number'' for identifying the file type.
-A ppm file's magic number is the two characters ``P3''.
-%.IX "magic numbers"
-\IPitem{{-}}
-Whitespace (blanks, TABs, CRs, LFs).
-\IPitem{{-}}
-A width, formatted as ASCII characters in decimal.
-\IPitem{{-}}
-Whitespace.
-\IPitem{{-}}
-A height, again in ASCII decimal.
-\IPitem{{-}}
-Whitespace.
-\IPitem{{-}}
-The maximum color-component value, again in ASCII decimal.
-\IPitem{{-}}
-Whitespace.
-\IPitem{{-}}
-Width * height pixels, each three ASCII decimal values between 0 and the
-specified maximum value, starting at the top-left
-corner of the pixmap, proceeding in normal English reading order.
-The three values for each pixel represent red, green, and blue, respectively;
-a value of 0 means that color is off, and the maximum value means that color
-is maxxed out.
-\IPitem{{-}}
-Characters from a ``\#'' to the next end-of-line are ignored (comments).
-\IPitem{{-}}
-No line should be longer than 70 characters.
-\end{IPlist}
-
-\par
-Here is an example of a small pixmap in this format:
-\nofill
-P3
-\# feep.ppm
-4 4
-15
- 0  0  0    0  0  0    0  0  0   15  0 15
- 0  0  0    0 15  7    0  0  0    0  0  0
- 0  0  0    0  0  0    0 15  7    0  0  0
-15  0 15    0  0  0    0  0  0    0  0  0
-\fill
-\par
-Programs that read this format should be as lenient as possible,
-accepting anything that looks remotely like a pixmap.
-\par
-There is also a variant on the format, available
-by setting the RAWBITS option at compile time.  This variant is
-different in the following ways:
-%.IX RAWBITS
-\begin{IPlist}
-\IPitem{{-}}
-The ``magic number'' is ``P6'' instead of ``P3''.
-\IPitem{{-}}
-The pixel values are stored as plain bytes, instead of ASCII decimal.
-\IPitem{{-}}
-Whitespace is not allowed in the pixels area, and only a single character
-of whitespace (typically a newline) is allowed after the maxval.
-\IPitem{{-}}
-The files are smaller and many times faster to read and write.
-\end{IPlist}
-
-\par
-Note that this raw format can only be used for maxvals less than
-or equal to 255.
-If you use the
-{\it ppm}
-library and try to write a file with a larger maxval,
-it will automatically fall back on the slower but more general plain
-format.
-\shead{SEE ALSO}
-giftoppm(1), gouldtoppm(1), ilbmtoppm(1), imgtoppm(1), mtvtoppm(1),
-pcxtoppm(1), pgmtoppm(1), pi1toppm(1), picttoppm(1), pjtoppm(1), qrttoppm(1),
-rawtoppm(1), rgb3toppm(1), sldtoppm(1), spctoppm(1), sputoppm(1), tgatoppm(1),
-ximtoppm(1), xpmtoppm(1), yuvtoppm(1),
-ppmtoacad(1), ppmtogif(1), ppmtoicr(1), ppmtoilbm(1), ppmtopcx(1), ppmtopgm(1),
-ppmtopi1(1), ppmtopict(1), ppmtopj(1), ppmtopuzz(1), ppmtorgb3(1),
-ppmtosixel(1), ppmtotga(1), ppmtouil(1), ppmtoxpm(1), ppmtoyuv(1),
-ppmdither(1), ppmforge(1), ppmhist(1), ppmmake(1), ppmpat(1), ppmquant(1),
-ppmquantall(1), ppmrelief(1),
-pnm(5), pgm(5), pbm(5)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppm.5
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:08 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmbrighten.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmbrighten.1
-%
-\phead{ppmbrighten}{1}{20 Nov 1990}{}{}
-
-\shead{NAME}
-ppmbrighten - change an images Saturation and Value from an HSV map
-\shead{SYNOPSIS}
-ppmbrighten [-n] [-s $<$+- saturation$>$] [-v $<$+- value$>$] $<$ppmfile$>$
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Converts the image from RGB space to HSV space and changes
-the Value by $<$+- value$>$ as a percentage.
-Likewise with the Saturation.
-Doubling the Value would involve
-\par\vspace{1.0\baselineskip}
-ppmbrighten -v 100
-\par\vspace{1.0\baselineskip}
-to add 100 percent to the Value.
-\par
-The 'n' option normalizes the Value to exist between 0 and 1
-(normalized).
-\shead{SEE ALSO}
-pgmnorm(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1990 by Brian Moffet.
-\copyright 1989 by Jef Poskanzer.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.  This software is provided "as is" without express or
-implied warranty.
-\shead{NOTES}
-This program does not change the number of colors.
-%
-% end of input file: ppmbrighten.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Feb  7 08:50:59 1994
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmchange.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmchange.1
-%
-\phead{ppmchange}{1}{3 December 1993}{}{}
-
-\shead{NAME}
-ppmchange - change all pixels of one color to another in a portable pixmap
-\shead{SYNOPSIS}
-{\bf ppmchange}
-{\it oldcolor newcolor [...]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Changes all pixels of 
-{\it oldcolor}
-to 
-{\it newcolor}{\rm ,}
-leaving all others unchanged.
-Up to 256 colors may be replaced by specifying couples of colors on
-the command line.  
-\par
-The colors can be specified in five ways:
-\begin{TPlist}{o}
-\item[{o}]
-A name, assuming
-that a pointer to an X11-style color names file was compiled in.
-\item[{o}]
-An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are
-each 1- to 4-digit hexadecimal numbers.
-\item[{o}]
-An X11-style decimal specifier: rgbi:r/g/b, where r g and b are
-floating point numbers between 0 and 1.
-\item[{o}]
-For backwards compatibility, an old-X11-style hexadecimal
-number: \#rgb, \#rrggbb, \#rrrgggbbb, or \#rrrrggggbbbb.
-\item[{o}]
-For backwards compatibility, a triplet of numbers
-separated by commas: r,g,b, where r g and b are
-floating point numbers between 0 and 1.
-(This style was added before MIT came up with the similar rgbi style.)
-\end{TPlist}
-\shead{SEE ALSO}
-pgmtoppm(1), ppm(5)
-\shead{AUTHOR}
-Wilson H. Bent. Jr. (whb@usc.edu)
-with modifications by Alberto Accomazzi (alberto@cfa.harvard.edu)
-%
-% end of input file: ppmchange.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Nov 29 13:33:23 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmdim.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmdim.1
-%
-\phead{ppmdim}{1}{16 November 1993}{}{}
-
-%.IX ppmdim
-\shead{NAME}
-ppmdim - dim a portable pixmap down to total blackness
-\shead{SYNOPSIS}
-ppmdim
-{\it dimfactor}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input. Diminishes its brightness by
-the specified dimfactor down to total blackness.
-The dimfactor may be in the range from 0.0 (total blackness,
-deep night, nada, null, nothing) to 1.0 (original picture's
-brightness).
-\par
-As
-{\it pnmgamma}
-does not do the brightness correction in the way I
-wanted it, this small program was written.
-\par
-ppmdim is similar to
-{\it ppmbrighten}
-, but not exactly the same.
-\shead{SEE ALSO}
-ppm(5), ppmflash(1), pnmgamma(1), ppmbrighten(1)
-\shead{AUTHOR}
-Copyright (C) 1993 by Frank Neumann
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmdim.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:08 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmdist.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmdist.1
-%
-\phead{ppmdist}{1}{22 July 1992}{}{}
-
-%.IX ppmdist
-\shead{NAME}
-ppmdist - simplistic grayscale assignment for machine generated, color images
-\shead{SYNOPSIS}
-{\bf ppmdist}
-{\rm [}{\bf -intensity}{\rm $|$}{\bf -frequency}{\rm ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input, performs a simplistic grayscale
-assignment intended for use with grayscale or bitmap printers.
-
-Often conversion from ppm to pgm will yield an image with contrast too
-low for good printer output.  The program maximizes contrast between
-the gray levels output.
-
-A ppm input of n colors is read, and a pgm of n gray levels is written.
-The gray levels take on the values 0..n-1, while maxval takes on n-1.
-
-The mapping from color to stepped grayscale can be performed in order
-of input pixel intensity, or input pixel frequency (number of repetitions).
-\shead{OPTIONS}
-\begin{TPlist}{}
-\item[{}]
-{\bf -frequency}
-Sort input colors by the number of times a color appears in the input,
-before mapping to evenly distributed graylevels of output.
-{\bf -intensity}
-Sort input colors by their grayscale intensity, before mapping to evenly
-distributed graylevels of output.  This is the default.
-\end{TPlist}
-
-\shead{BUGS}
-Helpful only for images with a very small number of colors.
-Perhaps should have been an option to ppmtopgm(1).
-\shead{SEE ALSO}
-ppmtopgm(1), ppmhist(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1993 by Dan Stromberg.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmdist.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:45 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmdither.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmdither.1
-%
-\phead{ppmdither}{1}{14 July 1991}{}{}
-
-%.IX ppmdither
-\shead{NAME}
-ppmdither - ordered dither for color images
-\shead{SYNOPSIS}
-{\bf ppmdither}
-{\rm [}{\bf -dim}
-{\it dimension}{\rm ]}
-{\rm [}{\bf -red}
-{\it shades}{\rm ]}
-{\rm [}{\bf -green}
-{\it shades}{\rm ]}
-{\rm [}{\bf -blue}
-{\it shades}{\rm ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input, and applies dithering to it to reduce
-the number of colors used down to the specified number of shades for
-each primary.
-The default number of shades is red=5, green=9, blue=5, for
-a total of 225 colors.
-To convert the image to a binary rgb format 
-suitable for color printers, use -red 2 -green 2 -blue 2.
-The maximum
-number of colors that can be used is 256 and can be computed as the 
-product of the number of red, green and blue shades.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -dim}{\it \ dimension}
-}
-\item[{{\bf -dim}{\it \ dimension}
-}]
-The size of the dithering matrix.
-Must be a power of 2.
-\item[{{\bf -red}{\it \ shades}
-}]
-The number of red shades to be used; minimum of 2.
-\item[{{\bf -green}{\it \ shades}
-}]
-The number of green shades to be used; minimum of 2.
-\item[{{\bf -blue}{\it \ shades}
-}]
-The number of blue shades to be used; minimum of 2.
-\end{TPlist}
-
-\shead{SEE ALSO}
-pnmdepth(1), ppmquant(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1991 by Christos Zoulas.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmdither.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Nov 29 13:33:29 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmflash.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmflash.1
-%
-\phead{ppmflash}{1}{16 November 1993}{}{}
-
-%.IX ppmflash
-\shead{NAME}
-ppmflash - brighten a picture up to complete white-out
-\shead{SYNOPSIS}
-ppmflash 
-{\it flashfactor}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input. Increases its brightness by
-the specified flashfactor up to a total white-out image.
-The flashfactor may be in the range from 0.0 (original picture's
-brightness) to 1.0 (full white-out, The Second After).
-\par
-As
-{\it pnmgamma}
-does not do the brightness correction in the way I
-wanted it, this small program was written.
-\par
-This program is similar to
-{\it ppmbrighten}
-, but not exactly the same.
-\shead{SEE ALSO}
-ppm(5), ppmdim(1), pnmgamma(1), ppmbrighten(1)
-\shead{AUTHOR}
-Copyright (C) 1993 by Frank Neumann
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmflash.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:46 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmforge.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmforge.1
-%
-\phead{ppmforge}{1}{25 October 1991}{}{}
-
-%.IX ppmforge
-%.IX fractals
-%.IX clouds
-%.IX planets
-%.IX stars
-\shead{NAME}
-ppmforge - fractal forgeries of clouds, planets, and starry skies
-\shead{SYNOPSIS}
-\raggedright
-%.nh
-{\bf ppmforge}
-{\rm [}{\bf -clouds}{\rm ]}
-'in +9n
-{\rm [}{\bf -night}{\rm ]}
-{\rm [}{\bf -dimension}
-{\it dimen}{\rm ]}
-{\rm [}{\bf -hour}
-{\it hour}{\rm ]}
-{\rm [}{\bf -inclination$|$-tilt}
-{\it angle}{\rm ]}
-{\rm [}{\bf -mesh}
-{\it size}{\rm ]}
-{\rm [}{\bf -power}
-{\it factor}{\rm ]}
-{\rm [}{\bf -glaciers}
-{\it level}{\rm ]}
-{\rm [}{\bf -ice}
-{\it level}{\rm ]}
-{\rm [}{\bf -saturation}
-{\it sat}{\rm ]}
-{\rm [}{\bf -seed}
-{\it seed}{\rm ]}
-{\rm [}{\bf -stars}
-{\it fraction}{\rm ]}
-{\rm [}{\bf -xsize$|$-width}
-{\it width}{\rm ]}
-{\rm [}{\bf -ysize$|$-height}
-{\it height}{\rm ]}
-\ind{-4.5em}
-%.ad
-%.hy
-\shead{DESCRIPTION}
-{\bf ppmforge}
-generates three kinds of ``random fractal forgeries,'' the term coined
-by Richard F. Voss of the IBM Thomas J. Watson Research Center for
-seemingly realistic pictures of natural objects generated by simple
-algorithms embodying randomness and fractal self-similarity.  The
-techniques used by
-{\bf ppmforge}
-are essentially those
-given by Voss[1], particularly the technique of spectral synthesis
-explained in more detail by Dietmar Saupe[2].
-\par
-The program generates two varieties of pictures: planets and clouds,
-which are just different renderings of data generated in an identical
-manner, illustrating the unity of the fractal structure of these very
-different objects.  A third type of picture, a starry sky, is
-synthesised directly from pseudorandom numbers.
-\par
-The generation of planets or clouds begins with the preparation of an
-array of random data in the frequency domain.  The size of this
-array, the ``mesh size,'' can be set with the
-{\bf -mesh}
-option; the larger the mesh the more realistic the pictures but the
-calculation time and memory requirement increases as the square of the
-mesh size.  The fractal dimension, which you can specify with the
-{\bf -dimension}
-option, determines the roughness of the terrain on the planet or the
-scale of detail in the clouds.  As the fractal dimension is increased,
-more high frequency components are added into the random mesh.
-\par
-Once the mesh is generated, an inverse two dimensional Fourier
-transform is performed upon it.  This converts the original random
-frequency domain data into spatial amplitudes.  We scale the real
-components that result from the Fourier transform into numbers from 0
-to 1 associated with each point on the mesh.  You can further
-modify this number by applying a ``power law scale'' to it with the
-{\bf -power}
-option.   Unity scale
-leaves the numbers unmodified; a power scale of 0.5 takes the square
-root of the numbers in the mesh, while a power scale of 3 replaces the
-numbers in the mesh with their cubes.  Power law scaling is best
-envisioned by thinking of the data as representing the elevation of
-terrain; powers less than 1 yield landscapes with vertical scarps that
-look like glacially-carved valleys; powers greater than one make
-fairy-castle spires (which require large mesh sizes and high
-resolution for best results).
-\par
-After these calculations, we have a array of the specified size
-containing numbers that range from 0 to 1.  The pixmaps are generated as
-follows:
-\begin{TPlist}{{\bf Clouds}}
-\item[{{\bf Clouds}}]
-A colour map is created that ranges from pure blue to white by
-increasing admixture (desaturation) of blue with white.  Numbers less
-than 0.5 are coloured blue, numbers between 0.5 and 1.0 are coloured
-with corresponding levels of white, with 1.0 being pure white.
-\item[{{\bf Planet}}]
-The mesh is projected onto a sphere.  Values less than 0.5 are treated
-as water and values between 0.5 and 1.0 as land.  The water areas are
-coloured based upon the water depth, and land based on its elevation.
-The random depth data are used to create clouds over the oceans.  An
-atmosphere approximately like the Earth's is simulated; its light
-absorption is calculated to create a blue cast around the limb of the
-planet.  A function that rises from 0 to 1 based on latitude is
-modulated by the local elevation to generate polar ice caps--high
-altitude terrain carries glaciers farther from the pole.  Based on the
-position of the star with respect to the observer, the apparent colour
-of each pixel of the planet is calculated by ray-tracing from the star
-to the planet to the observer and applying a lighting model that sums
-ambient light and diffuse reflection (for most planets ambient light
-is zero, as their primary star is the only source of illumination).
-Additional random data are used to generate stars around the planet.
-\item[{{\bf Night}}]
-A sequence of pseudorandom numbers is used to generate stars with a
-user specified density.
-\end{TPlist}
-
-\par
-Cloud pictures always contain 256 or fewer colours and may be
-displayed on most colour mapped devices without further processing.
-Planet pictures often contain tens of thousands of colours which
-must be compressed with
-{\bf ppmquant}
-or
-{\bf ppmdither}
-before encoding in a colour mapped format.  If the display resolution is
-high enough,
-{\bf ppmdither}
-generally produces better looking planets.
-{\bf ppmquant}
-tends to create discrete colour bands, particularly in the oceans,
-which are unrealistic and distracting.  The number of colours in starry
-sky pictures generated with the
-{\bf -night}
-option depends on the value specified for
-{\bf -saturation}{\rm .}
-Small values limit the colour temperature distribution of the stars
-and reduce the number of colours in the image.
-If the
-{\bf -saturation}
-is set to 0, none of the stars will be coloured and the resulting
-image will never contain more than 256 colours.
-Night sky pictures with many different star colours often look
-best when colour compressed by
-{\bf pnmdepth}
-rather than
-{\bf ppmquant}
-or
-{\bf ppmdither}{\rm .}
-Try
-{\it newmaxval}
-settings of 63, 31, or 15 with
-{\bf pnmdepth}
-to reduce the number of colours in the picture to 256 or fewer.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -clouds}}
-\item[{{\bf -clouds}}]
-Generate clouds.  A pixmap of fractal clouds is generated.  Selecting clouds
-sets the default for fractal dimension to 2.15 and power scale factor
-to 0.75.
-\item[{{\bf -dimension}{\it \ dimen}
-}]
-Sets the fractal dimension to the specified
-{\it dimen}{\rm ,}
-which may be any floating point value between 0 and 3.  Higher fractal
-dimensions create more ``chaotic'' images, which require higher
-resolution output and a larger FFT mesh size to look good.  If no
-dimension is specified, 2.4 is used when generating planets and 2.15
-for clouds.
-\item[{{\bf -glaciers}{\it \ level}
-}]
-The floating point
-{\it level}
-setting controls the extent to which terrain elevation causes ice to
-appear at lower latitudes.  The default value of 0.75 makes the polar
-caps extend toward the equator across high terrain and forms glaciers
-in the highest mountains, as on Earth.  Higher values make ice sheets
-that cover more and more of the land surface, simulating planets in the
-midst of an ice age.  Lower values tend to be boring, resulting in
-unrealistic geometrically-precise ice cap boundaries.
-\item[{{\bf -hour}{\it \ hour}
-}]
-When generating a planet,
-{\it hour}
-is used as the ``hour angle at the central meridian.''  If you specify
-{\bf -hour\ 12}{\rm ,}
-for example, the planet will be fully illuminated, corresponding to
-high noon at the longitude at the centre of the screen.  You can
-specify any floating point value between 0 and 24 for
-{\it hour}{\rm ,}
-but values which place most of the planet in darkness (0 to 4 and 20
-to 24) result in crescents which, while pretty, don't give you many
-illuminated pixels for the amount of computing that's required.  If no
-{\bf -hour}
-option is specified, a random hour angle is chosen, biased so that
-only 25\% of the images generated will be crescents.
-\item[{{\bf -ice}{\it \ level}
-}]
-Sets the extent of the polar ice caps to the given floating point
-{\it level}{\rm .}
-The default level of 0.4 produces ice caps similar to those of the Earth.
-Smaller values reduce the amount of ice, while larger
-{\bf -ice}
-settings create more prominent ice caps.  Sufficiently large values,
-such as 100 or more, in conjunction with small settings for
-{\bf -glaciers}
-(try 0.1) create ``ice balls'' like Europa.
-\item[{{\bf -inclination$|$-tilt}{\it \ angle}
-}]
-The inclination angle of the planet with regard to its primary star is
-set to
-{\it angle}{\rm ,}
-which can be any floating point value from -90 to 90.  The inclination
-angle can be thought of as specifying, in degrees, the ``season'' the
-planet is presently experiencing or, more precisely, the latitude at
-which the star transits the zenith at local noon.  If 0, the planet
-is at equinox; the star is directly overhead at the equator.
-Positive values represent summer in the northern hemisphere, negative
-values summer in the southern hemisphere.  The Earth's inclination
-angle, for example, is about 23.5 at the June solstice, 0 at the
-equinoxes in March and September, and -23.5 at the December solstice.
-If no inclination angle is specified, a random value between -21.6 and
-21.6 degrees is chosen.
-\item[{{\bf -mesh}{\it \ size}
-}]
-A mesh of
-{\it size}{\rm \ by\ }{\it size}
-will be used for the fast Fourier transform (FFT).  Note that memory
-requirements and computation speed increase as the square of
-{\it size}{\rm ;}
-if you double the mesh size, the program will use four times the
-memory and run four times as long.  The default mesh is 256x256, which
-produces reasonably good looking pictures while using half a megabyte
-for the 256x256 array of single precision complex numbers
-required by the FFT.  On machines with limited memory capacity, you
-may have to reduce the mesh size to avoid running out of RAM.
-Increasing the mesh size produces better looking pictures; the
-difference becomes particularly noticeable when generating high
-resolution images with relatively high fractal dimensions (between 2.2
-and 3).
-\item[{{\bf -night}}]
-A starry sky is generated.  The stars are created by the same algorithm
-used for the stars that surround planet pictures, but the output
-consists exclusively of stars.
-\item[{{\bf -power}{\it \ factor}
-}]
-Sets the ``power factor'' used to scale elevations synthesised from
-the FFT to
-{\it factor}{\rm ,}
-which can be any floating point number greater than zero.  If no
-factor is specified a default of 1.2 is used if a planet is being
-generated, or 0.75 if clouds are selected by the
-{\bf -clouds}
-option.  The result of the FFT image synthesis is an array of elevation
-values between 0 and 1.  A non-unity power factor exponentiates each
-of these elevations to the specified power.  For example, a power
-factor of 2 squares each value, while a power factor of 0.5 replaces
-each with its square root.  (Note that exponentiating values between 0
-and 1 yields values that remain within that range.)  Power factors
-less than 1 emphasise large-scale elevation changes at the expense of
-small variations.  Power factors greater than 1 increase the roughness
-of the terrain and, like high fractal dimensions, may require a larger
-FFT mesh size and/or higher screen resolution to look good.
-\item[{{\bf -saturation}{\it \ sat}
-}]
-Controls the degree of colour saturation of the stars that surround planet
-pictures and fill starry skies created with the
-{\bf -night}
-option.  The default value of 125 creates stars which resemble the sky
-as seen by the human eye from Earth's surface.  Stars are dim; only
-the brightest activate the cones in the human retina, causing colour
-to be perceived.  Higher values of
-{\it sat}
-approximate the appearance of stars from Earth orbit, where better
-dark adaptation, absence of skyglow, and the concentration of light
-from a given star onto a smaller area of the retina thanks to the lack
-of atmospheric turbulence enhances the perception of colour.  Values
-greater than 250 create ``science fiction'' skies that, while pretty,
-don't occur in this universe.
-\item[{\ }]
-Thanks to the inverse square law combined with Nature's love of
-mediocrity, there are many, many dim stars for every bright one.
-This population relationship is accurately reflected in the skies
-created by
-{\bf ppmforge}{\rm .}
-Dim, low mass stars live much longer than bright massive stars,
-consequently there are many reddish stars for every blue giant.  This
-relationship is preserved by
-{\bf ppmforge}{\rm .}
-You can reverse the proportion, simulating the sky as seen in a starburst
-galaxy, by specifying a negative
-{\it sat}
-value.
-\item[{{\bf -seed}{\it \ num}
-}]
-Sets the seed for the random number generator to the integer
-{\it num}{\rm .}
-The seed used to create each picture is displayed on standard output (unless
-suppressed with the
-{\bf -quiet}
-option).  Pictures generated with the same seed will be identical.  If no
-{\bf -seed}
-is specified, a random seed derived from the date and time will be
-chosen.  Specifying an explicit seed allows you to re-render a picture
-you particularly like at a higher resolution or with different viewing
-parameters.
-\item[{{\bf -stars}{\it \ fraction}
-}]
-Specifies the percentage of pixels, in tenths of a percent, which will
-appear as stars, either surrounding a planet or filling the entire
-frame if
-{\bf -night}
-is specified.  The default
-{\it fraction}
-is 100.
-\item[{{\bf -xsize$|$-width}{\it \ width}
-}]
-Sets the width of the generated image to
-{\it width}
-pixels.  The default width is 256 pixels.  Images must be at least as
-wide as they are high; if a width less than the height is specified,
-it will be increased to equal the height.  If you must have a long
-skinny pixmap, make a square one with
-{\bf ppmforge}{\rm ,}
-then use
-{\bf pnmcut}
-to extract a portion of the shape and size you require.
-\item[{{\bf -ysize$|$-height}{\it \ height}
-}]
-Sets the height of the generated image to
-{\it height}
-pixels.  The default height is 256 pixels.  If the height specified
-exceeds the width, the width will be increased to equal the height.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{BUGS}
-\par
-The algorithms require the output pixmap to be at least as wide as it
-is high, and the width to be an even number of pixels.  These
-constraints are enforced by increasing the size of the requested
-pixmap if necessary.
-\par
-You may have to reduce the FFT mesh size on machines with 16 bit
-integers and segmented pointer architectures.
-\shead{SEE ALSO}
-{\bf pnmcut}{\rm (1),}
-{\bf pnmdepth}{\rm (1),}
-{\bf ppmdither}{\rm (1),}
-{\bf ppmquant}{\rm (1),}
-{\bf ppm}{\rm (5)}
-\begin{TPlist}{[1] }
-\item[{[1] }]
-Voss, Richard F., ``Random Fractal Forgeries,'' in Earnshaw
-{\it et. al.}, Fundamental Algorithms for Computer Graphics, Berlin:
-Springer-Verlag, 1985.
-\item[{[2]}]
-Peitgen, H.-O., and Saupe, D. eds., The Science Of Fractal Images,
-New York: Springer Verlag, 1988.
-%.ne 10
-\end{TPlist}
-
-\shead{AUTHOR}
-\ind{1\parindent}{\nofill
-    John Walker
-    Autodesk SA
-    Avenue des Champs-Montants 14b
-    CH-2074 MARIN
-    Suisse/Schweiz/Svizzera/Svizra/Switzerland
-\fill}
-\begin{TPlist}{Usenet:}
-\item[{Usenet:}]
-kelvin@Autodesk.com
-\item[{Fax:}]
-038/33 88 15
-\item[{Voice:}]
-038/33 76 33
-\end{TPlist}
-
-\par
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-without any conditions or restrictions.  This software is provided ``as
-is'' without express or implied warranty.
-\par
-{\bf PLUGWARE!}
-If you like this kind of stuff, you may also enjoy ``James Gleick's
-Chaos--The Software'' for MS-DOS, available for \$59.95 from your
-local software store or directly from Autodesk, Inc., Attn: Science
-Series, 2320 Marinship Way, Sausalito, CA 94965, USA.  Telephone:
-(800) 688-2344 toll-free or, outside the U.S. (415) 332-2344 Ext
-4886.  Fax: (415) 289-4718.  ``Chaos--The Software'' includes a more
-comprehensive fractal forgery generator which creates
-three-dimensional landscapes as well as clouds and planets, plus five
-more modules which explore other aspects of Chaos.  The user guide of
-more than 200 pages includes an introduction by James Gleick and
-detailed explanations by Rudy Rucker of the mathematics and algorithms
-used by each program.
-%
-% end of input file: ppmforge.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:47 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmhist.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmhist.1
-%
-\phead{ppmhist}{1}{03 April 1989}{}{}
-
-%.IX ppmhist
-\shead{NAME}
-ppmhist - print a histogram of a portable pixmap
-\shead{SYNOPSIS}
-{\bf ppmhist}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Generates a histogram of the colors in the pixmap.
-\shead{SEE ALSO}
-ppm(5), pgmhist(1)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmhist.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:48 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmmake.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmmake.1
-%
-\phead{ppmmake}{1}{24 September 1991}{}{}
-
-%.IX ppmmake
-\shead{NAME}
-ppmmake - create a pixmap of a specified size and color
-\shead{SYNOPSIS}
-{\bf ppmmake}
-{\it color width height}
-\shead{DESCRIPTION}
-Produces a portable pixmap of the specified color, width, and height.
-%.IX "generating pixmaps"
-\par
-The color can be specified in five ways:
-%.IX "specifying colors"
-\begin{TPlist}{o}
-\item[{o}]
-A name, assuming
-that a pointer to an X11-style color names file was compiled in.
-\item[{o}]
-An X11-style hexadecimal specifier: rgb:r/g/b, where r g and b are
-each 1- to 4-digit hexadecimal numbers.
-\item[{o}]
-An X11-style decimal specifier: rgbi:r/g/b, where r g and b are
-floating point numbers between 0 and 1.
-\item[{o}]
-For backwards compatibility, an old-X11-style hexadecimal
-number: \#rgb, \#rrggbb, \#rrrgggbbb, or \#rrrrggggbbbb.
-\item[{o}]
-For backwards compatibility, a triplet of numbers
-separated by commas: r,g,b, where r g and b are
-floating point numbers between 0 and 1.
-(This style was added before MIT came up with the similar rgbi style.)
-\end{TPlist}
-
-\shead{SEE ALSO}
-ppm(5), pbmmake(1)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmmake.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Nov 29 13:23:43 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmmix.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmmix.1
-%
-\phead{ppmmix}{1}{16 November 1993}{}{}
-
-%.IX ppmmix
-\shead{NAME}
-ppmmix - blend together two portable pixmaps
-\shead{SYNOPSIS}
-ppmmix 
-{\it fadefactor}
-{\it ppmfile1 ppmfile2}
-\shead{DESCRIPTION}
-Reads two portable pixmaps as input. Mixes them together using the
-specified fade factor. The fade factor may be in the range from 0.0
-(only ppmfile1's image data) to 1.0 (only ppmfile2's image data).
-Anything in between gains a smooth blend between the two images.
-\par
-The two pixmaps must have the same size.
-\shead{SEE ALSO}
-ppm(5)
-\shead{AUTHOR}
-\copyright 1993 by Frank Neumann.
-% Permission to use, , modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmmix.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:06 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmpat.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmpat.1
-%
-\phead{ppmpat}{1}{04 September 1989}{}{}
-
-%.IX ppmpat
-\shead{NAME}
-ppmpat - make a pretty pixmap
-\shead{SYNOPSIS}
-{\bf ppmpat}
-{\bf -gingham2}{\rm $|$}{\bf -g2}{\rm $|$}{\bf -gingham3}{\rm $|$}
-{\bf -g3}{\rm $|$}{\bf -madras}{\rm $|$}{\bf -tartan}{\rm $|$}
-{\bf -poles}{\rm $|$}{\bf -squig}{\rm $|$}{\bf -camo}{\rm $|$}
-{\bf -anticamo}
-{\it width height}
-\shead{DESCRIPTION}
-Produces a portable pixmap of the specified width and height,
-with a pattern in it.
-%.IX "generating pixmaps"
-\par
-This program is mainly to demonstrate use of the ppmdraw routines, a
-simple but powerful drawing library.
-See the ppmdraw.h include file for more info on using these routines.
-Still, some of the patterns can be rather pretty.
-If you have a color workstation, something like
-{\bf ppmpat\ -squig\ 300\ 300 $|$ ppmquant\ 128}
-should generate a nice background.
-\shead{OPTIONS}
-\par
-The different flags specify various different pattern types:
-\begin{TPlist}{{\bf -gingham2}}
-\item[{{\bf -gingham2}}]
-A gingham check pattern.  Can be tiled.
-\item[{{\bf -gingham3}}]
-A slightly more complicated gingham.  Can be tiled.
-\item[{{\bf -madras}}]
-A madras plaid.  Can be tiled.
-\item[{{\bf -tartan}}]
-A tartan plaid.  Can be tiled.
-\item[{{\bf -poles}}]
-Color gradients centered on randomly-placed poles.
-May need to be run through
-{\it ppmquant}{\rm .}
-\item[{{\bf -squig}}]
-Squiggley tubular pattern.  Can be tiled.
-May need to be run through
-{\it ppmquant}{\rm .}
-\item[{{\bf -camo}}]
-Camouflage pattern.
-May need to be run through
-{\it ppmquant}{\rm .}
-\item[{{\bf -anticamo}}]
-Anti-camouflage pattern - like -camo, but ultra-bright colors.
-May need to be run through
-{\it ppmquant}{\rm .}
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{REFERENCES}
-Some of the patterns are from ``Designer's Guide to Color 3'' by Jeanne Allen.
-\shead{SEE ALSO}
-pnmtile(1), ppmquant(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmpat.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:48 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmquant.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmquant.1
-%
-\phead{ppmquant}{1}{12 January 1991}{}{}
-
-%.IX ppmquant
-\shead{NAME}
-ppmquant - quantize the colors in a portable pixmap down to a specified number
-
-\shead{SYNOPSIS}
-{\bf ppmquant}
-{\rm [}{\bf -floyd}{\rm $|$}{\bf -fs}{\rm ]}
-{\it ncolors}
-{\rm [}{\it ppmfile}{\rm ]}
-\nwl
-{\bf ppmquant}
-{\rm [}{\bf -floyd}{\rm $|$}{\bf -fs}{\rm ]}
-{\bf -map}
-{\it mapfile}
-{\rm [}{\it ppmfile}{\rm ]}
-
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Chooses
-{\it ncolors}
-colors to best represent the image, maps the existing colors
-to the new ones, and writes a portable pixmap as output.
-%.IX "colormap reduction"
-\par
-The quantization method is Heckbert's ``median cut''.
-%.IX "median cut"
-\par
-Alternately, you can skip the color-choosing step by
-specifying your own set of colors with the
-{\bf -map}
-flag.  The
-{\it mapfile}
-is just a
-{\it ppm}
-file; it can be any shape, all that matters is the colors in it.
-For instance, to quantize down to the 8-color IBM TTL color set, you
-might use:
-{\tt\nofill
-    P3
-    8 1
-    255
-      0   0   0
-    255   0   0
-      0 255   0
-      0   0 255
-    255 255   0
-    255   0 255
-      0 255 255
-    255 255 255
-\fill}
-
-If you want to quantize one pixmap to use the colors in another one,
-just use the second one as the mapfile.
-You don't have to reduce it down to only one pixel of each color,
-just use it as is.
-\par
-The
-{\bf -floyd}{\rm /}{\bf -fs}
-flag enables a Floyd-Steinberg error diffusion step.
-%.IX Floyd-Steinberg
-%.IX "error diffusion"
-Floyd-Steinberg gives vastly better results on images where the unmodified
-quantization has banding or other artifacts, especially when going to a
-small number of colors such as the above IBM set.
-However, it does take substantially more CPU time, so the default is off.
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{REFERENCES}
-``Color Image Quantization for Frame Buffer Display'' by Paul Heckbert,
-SIGGRAPH '82 Proceedings, page 297.
-\shead{SEE ALSO}
-ppmquantall(1), pnmdepth(1), ppmdither(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmquant.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Nov 29 13:33:41 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmquantall.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmquantall.1
-%
-\phead{ppmquantall}{1}{27 July 1990}{}{}
-
-%.IX ppmquantall
-\shead{NAME}
-ppmquantall - run ppmquant on a bunch of files all at once, so they share a common colormap
-\shead{SYNOPSIS}
-{\bf ppmquantall}
-{\it ncolors ppmfile}
-{\rm ...}
-\shead{DESCRIPTION}
-Takes a bunch of portable pixmap as input.
-Chooses
-{\it ncolors}
-colors to best represent all of the images, maps the
-existing colors to the new ones, and
-{\bf overwrites the input files}
-with the new quantized versions.
-%.IX "colormap reduction"
-\par
-Verbose explanation: Let's say you've got a dozen pixmaps that you want
-to display on the screen all at the same time.  Your screen can only
-display 256 different colors, but the pixmaps have a total of a thousand
-or so different colors.  For a single pixmap you solve this problem with
-{\it ppmquant}{\rm ;}
-%.IX ppmquant
-this script solves it for multiple pixmaps.  All it does is
-concatenate them together into one big pixmap, run
-{\it ppmquant}
-on that, and then split it up into little pixmaps again.
-\par
-(Note that another way to solve this problem is to pre-select a set of
-colors and then use
-{\it ppmquant}{\rm 's}
-{\bf -map}
-option to separately quantize each pixmap to that set.)
-\shead{SEE ALSO}
-ppmquant(1), ppm(5)
-\shead{BUGS}
-It's a csh script.
-Csh scripts are not portable to System V.
-Scripts in general are not portable to non-Unix environments.
-\shead{AUTHOR}
-Copyright (C) 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmquantall.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:09 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmqvga.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmqvga.1
-%
-\phead{PPMQVGA}{1}{local}{}{}
-
-'% Heading: name(sect)    center (paren)    name(sect)
-\shead{NAME}
-ppmqvga - 8 plane quantization
-'% name [, name] ... \- brief description on a single line of \s-1INPUT\s+1
-\shead{SYNOPSIS}
-ppmqvga [ options ] [ input file ]
-'% foo [ options ] files1 [ file2 [ ... ] ]
-\shead{DESCRIPTION}
-{\bf ppmqvga}
-quantizes PPM files to 8 planes, with optional Floyd-Steinberg dithering.
-Input is a PPM file from the file named, or standard input of no file is
-provided.
-%.SS Options
-{\bf -d}
-dither. Apply Floyd-Steinberg dithering to the data
-
-{\bf -q}
-quiet. Produces no progress reporting, and no terminal output unless
-and error occurs.
-
-{\bf -v}
-verbose. Produces additional output describing the number of colors found,
-and some information on the resulting mapping. May be repeated to generate
-loads of internal table output, but generally only useful once.
-\shead{EXAMPLES}
-ppmqvga -d my\_image.ppm $|$ ppmtogif $>$my\_image.gif
-
-tgatoppm zombie.tga $|$ ppmqvga $|$ ppmtotif $>$ zombie.tif
-\shead{SEE ALSO}
-ppmquant
-\shead{DIAGNOSTICS}
-Error messages if problems, various levels of optional progress reporting.
-\shead{LIMITATIONS}
-none known.
-\shead{AUTHOR}
-Original by Lyle Rains (lrains@netcom.com) as ppmq256 and ppmq256fs
-combined, documented, and enhanced by Bill Davidsen (davidsen@crd.ge.com)
-\shead{Copyright}
-Copyright 1991,1992 by Bill Davidsen, all rights reserved.
-The program and documentation may be freely distributed by anyone in source
-or binary format. Please clearly note any changes.
-%
-% end of input file: ppmqvga.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:49 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmrelief.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmrelief.1
-%
-\phead{ppmrelief}{1}{11 January 1991}{}{}
-
-%.IX ppmrelief
-\shead{NAME}
-ppmrelief - run a Laplacian relief filter on a portable pixmap
-\shead{SYNOPSIS}
-{\bf ppmrelief}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Does a Laplacian relief filter, and writes a portable pixmap as output.
-%.IX "Laplacian relief"
-\par
-The Laplacian relief filter is described in ``Beyond Photography'' by Holzmann,
-equation 3.19.
-It's a sort of edge-detection.
-%.IX "edge detection"
-\shead{SEE ALSO}
-pgmbentley(1), pgmoil(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1990 by Wilson Bent (whb@hoh-2.att.com).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmrelief.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Nov 29 13:24:20 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmshift.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmshift.1
-%
-\phead{ppmshift}{1}{16 November 1993}{}{}
-
-%.IX ppmshift
-\shead{NAME}
-ppmshift - shift lines of a portable pixmap left or right by a random amount
-\shead{SYNOPSIS}
-ppmshift 
-{\it shift}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input. Shifts every row of image data to the
-left or right by a certain amount. The 'shift' parameter determines by how 
-many pixels a row is to be shifted at most.
-\par
-Another one of those effects I intended to use for MPEG tests.
-Unfortunately, this program will not help me here - it creates too random
-patterns to be used for animations. Still, it might give interesting
-results on still images.
-\shead{EXAMPLE}
-Check this out: Save your favourite model's picture from something like
-alt.binaries.pictures.supermodels (ok, or from any other picture source),
-convert it to ppm, and process it e.g. like this, assuming the picture is 
-800x600 pixels:
-\nofill\ind{1\parindent}\tt{}  \# take the upper half, and leave it like it is
-  pnmcut 0 0 800 300 cs.ppm $>$upper.ppm
-
-  \# take the lower half, flip it upside down, dim it and distort it a little
-  pnmcut 0 300 800 300 cs.ppm $|$ pnmflip -tb $|$ ppmdim 0.7 $|$ 
-     ppmshift 10 $>$lower.ppm
-
-  \# and concatenate the two pieces
-  pnmcat -tb upper.ppm lower.ppm $>$newpic.ppm
-\fill 
-The resulting picture looks like the image being reflected on a water 
-surface with slight ripples.
-\shead{SEE ALSO}
-ppm(5), pnmcut(1), pnmflip(1), ppmdim(1), pnmcat(1)
-\shead{AUTHOR}
-\copyright 1993 by Frank Neumann
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmshift.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Nov 29 13:24:10 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmspread.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmspread.1
-%
-\phead{ppmspread}{1}{16 November 1993}{}{}
-
-%.IX ppmspread
-\shead{NAME}
-ppmspread - displace a portable pixmap's pixels by a random amount
-\shead{SYNOPSIS}
-ppmspread
-{\it amount}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input. Moves every pixel around a bit
-relative to its original position. amount determines by how many
-pixels a pixel is to be moved around at most.
-\par
-Pictures processed with this filter will seem to be somewhat 
-dissolved or unfocussed (although they appear more coarse than
-images processed by something like
-{\it pnmconvol}
-).
-\shead{SEE ALSO}
-ppm(5), pnmconvol(1)
-\shead{AUTHOR}
-\copyright 1993 by Frank Neumann
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty
-%
-% end of input file: ppmspread.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:50 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtoacad.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtoacad.1
-%
-\phead{ppmtoacad}{1}{10 October 1991}{}{}
-
-%.IX ppmtoacad
-%.IX AutoCAD
-\shead{NAME}
-ppmtoacad - convert portable pixmap to AutoCAD database or slide
-\shead{SYNOPSIS}
-\raggedright
-{\bf ppmtoacad}
-'in 15n
-{\rm [}{\bf -dxb}{\rm ]}
-{\rm [}{\bf -poly}{\rm ]}
-{\rm [}{\bf -background}
-{\it colour}{\rm ]}
-{\rm [}{\bf -white}{\rm ]}
-{\rm [}{\bf -aspect}
-{\it ratio}{\rm ]}
-{\rm [}{\bf -8}{\rm ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\ind{-7.5em}
-%.ad
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.  Produces an AutoCAD{l}ide file or
-binary database import (.dxb) file as output.
-If no
-{\it ppmfile}
-is specified, input is read from standard input.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -dxb}}
-\item[{{\bf -dxb}}]
-An AutoCAD binary database import (.dxb) file is written.  This file
-is read with the DXBIN command and, once loaded, becomes part of
-the AutoCAD geometrical database and can be viewed and edited like
-any other object.  Each sequence of identical pixels becomes a
-separate object in the database; this can result in very large AutoCAD
-drawing files.  However, if you want to trace over a bitmap, it lets
-you zoom and pan around the bitmap as you wish.
-\item[{{\bf -poly}}]
-If the
-{\bf -dxb}
-option is not specified, the output of
-{\bf ppmtoacad}
-is an AutoCAD slide file.  Normally each row of pixels is
-represented by an AutoCAD line entity.  If
-{\bf -poly}
-is selected, the pixels are rendered as filled polygons.  If the
-slide is viewed on a display with higher resolution than the source
-pixmap, this will cause the pixels to expand instead of appearing as
-discrete lines against the screen background colour.  Regrettably,
-this representation yields slide files which occupy more disc space
-and take longer to display.
-\item[{{\bf -background}{\it \ colour}
-}]
-Most AutoCAD display drivers can be configured to use any available
-colour as the screen background.  Some users perfer a black screen
-background, others white, while splinter groups advocate burnt ocher,
-tawny puce, and shocking grey.  Discarding pixels whose closest
-AutoCAD colour representation is equal to the background colour can
-substantially reduce the size of the AutoCAD database or slide file
-needed to represent a bitmap.  If no
-{\bf -background}
-colour is specified, the screen background colour is assumed to be
-black.  Any AutoCAD colour number may be specified as the screen
-background; colour numbers are assumed to specify the hues defined
-in the standard AutoCAD 256 colour palette.
-\item[{{\bf -white}}]
-Since many AutoCAD users choose a white screen background, this option
-is provided as a short-cut.  Specifying
-{\bf -white}
-is identical in effect to
-{\bf -background\ 7}{\rm .}
-\item[{{\bf -aspect}{\it \ ratio}
-}]
-If the source pixmap had non-square pixels, the ratio of the pixel
-width to pixel height should be specified as
-{\it ratio}{\rm .}
-The resulting slide or .dxb file will be corrected so that pixels on
-the AutoCAD screen will be square.  For example, to correct an image made
-for a 320x200 VGA/MCGA screen, specify
-{\bf -aspect\ 0.8333}{\rm .}
-\item[{{\bf -8}}]
-Restricts the colours in the output file to the 8 RGB shades.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{BUGS}
-AutoCAD has a fixed palette of 256 colours, distributed along the hue,
-lightness, and saturation axes.  Pixmaps which contain many
-nearly-identical colours, or colours not closely approximated by
-AutoCAD's palette, may be poorly rendered.
-\par
-{\bf ppmtoacad}
-works best if the system displaying its output supports the full 256
-colour AutoCAD palette.  Monochrome, 8 colour, and 16 colour
-configurations will produce less than optimal results.
-\par
-When creating a .dxb file or a slide file with the
-{\bf -poly}
-option,
-{\bf ppmtoacad}
-finds both vertical and horizontal runs of identical pixels and
-consolidates them into rectangular regions to reduce the size of the
-output file.  This is effective for images with large areas of
-constant colour but it's no substitute for true raster to vector
-conversion.  In particular, thin diagonal lines are not optimised at
-all by this process.
-\par
-Output files can be huge.
-\shead{SEE ALSO}
-AutoCAD Reference Manual:
-{\it Slide File Format}
-and
-{\it Binary\ Drawing\ Interchange\ (DXB)\ Files}{\rm ,}
-{\bf ppm}{\rm (5)}
-\shead{AUTHOR}
-\ind{1\parindent}{\nofill
-    John Walker
-    Autodesk SA
-    Avenue des Champs-Montants 14b
-    CH-2074 MARIN
-    Suisse/Schweiz/Svizzera/Svizra/Switzerland
-\fill}
-\begin{TPlist}{Usenet:}
-\item[{Usenet:}]
-kelvin@Autodesk.com
-\item[{Fax:}]
-038/33 88 15
-\item[{Voice:}]
-038/33 76 33
-\end{TPlist}
-
-\par
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-without any conditions or restrictions.  This software is provided ``as
-is'' without express or implied warranty.
-\par
-AutoCAD and Autodesk are registered trademarks of Autodesk, Inc.
-%
-% end of input file: ppmtoacad.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:09 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtobmp.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtobmp.1
-%
-\phead{ppmtobmp}{1}{26 Oct 1992}{}{}
-
-%.IX ppmtobmp
-\shead{NAME}
-ppmtobmp -- convert a portable pixmap into a BMP file
-\shead{SYNOPSIS}
-{\bf ppmtobmp}
-{\rm [}{\it --windows}{\rm ]}
-{\rm [}{\it --os2}{\rm ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces a Microsoft Windows or OS/2 BMP file as output.
-%.IX BMP
-\shead{OPTIONS}
-\begin{TPlist}{{\bf --windows}}
-\item[{{\bf --windows}}]
-Tells the program to produce a Microsoft Windows BMP file.
-\item[{{\bf --os2}}]
-Tells the program to produce an OS/2 BMP file.
-(This is the default.)
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-bmptoppm(1),
-ppm(5)
-\shead{AUTHOR}
-\copyright 1992 by David W. Sanderson.
-% Permission to use, copy, modify, and distribute this software and
-% its documentation for any purpose and without fee is hereby granted,
-% provided that the above copyright notice appear in all copies and
-% that both that copyright notice and this permission notice appear in
-% supporting documentation.  This software is provided "as is" without
-% express or implied warranty.
-%
-% end of input file: ppmtobmp.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:50 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtogif.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtogif.1
-%
-\phead{ppmtogif}{1}{30 June 1993}{}{}
-
-%.IX ppmtogif
-\shead{NAME}
-ppmtogif - convert a portable pixmap into a GIF file
-\shead{SYNOPSIS}
-{\bf ppmtogif}
-{\rm [}{\bf -interlace}{\rm ]}
-{\rm [}{\bf -sort}{\rm ]}
-{\rm [}{\bf -map}
-{\it mapfile ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces a GIF file as output.
-%.IX GIF
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -interlace}}
-\item[{{\bf -interlace}}]
-Tells the program to produce an interlaced GIF file.
-\item[{{\bf -sort}}]
-Produces a GIF file with a sorted color map.
-\item[{{\bf -map}}]
-{\it mapfile}
-
-Uses the colors found in the
-{\it mapfile}
-to create the colormap in the GIF file, instead of the colors from
-{\it ppmfile.}
-The
-{\it mapfile}
-can be any
-{\it ppm}
-file; all that matters is the colors in it. If the colors in
-{\it ppmfile}
-do not match those in
-{\it mapfile}
-, they are matched to a ``best match''. A (much) better result can be obtained by
-using the following filter in advance:
-
-{\it ppmquant}
--floyd -map
-{\it mapfile}
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-giftoppm(1), ppmquant(1), ppm(5)
-\shead{AUTHOR}
-Based on GIFENCOD by David Rowley (mgardi@watdcsu.waterloo.edu).
-Lempel-Ziv compression based on ``compress''.
-
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% The Graphics Interchange Format(c) is the Copyright property of
-% CompuServe Incorporated.  GIF(sm) is a Service Mark property of
-% CompuServe Incorporated.
-%
-% end of input file: ppmtogif.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:51 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtoicr.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtoicr.1
-%
-\phead{ppmtoicr}{1}{30 July 1990}{}{}
-
-%.IX ppmtoicr
-\shead{NAME}
-ppmtoicr - convert a portable pixmap into NCSA ICR format 
-\shead{SYNOPSIS}
-{\bf ppmtoicr}
-{\rm [}{\bf -windowname}
-{\it name}{\rm ]}
-{\rm [}{\bf -expand}
-{\it expand}{\rm ]}
-{\rm [}{\bf -display}
-{\it display}{\rm ]}
-{\rm [}{\bf -rle}{\rm ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap file as input.
-Produces an NCSA Telnet Interactive Color Raster graphic file as output.
-%.IX "NCSA ICR"
-If
-{\it ppmfile}
-is not supplied, 
-{\it ppmtoicr}
-will read from standard input.
-\par
-Interactive Color Raster (ICR) is a protocol for displaying raster
-graphics on workstation screens. The protocol is implemented in NCSA
-Telnet for the Macintosh version 2.3.
-%.IX Macintosh
-The ICR protocol shares
-characteristics of the Tektronix graphics terminal emulation protocol.
-%.IX Tektronix
-For example, escape sequences are used to control the display.
-\par
-{\it ppmtoicr}
-will output the appropriate sequences to create a window of the
-dimensions of the input pixmap,
-create a colormap of up to 256
-colors on the display, then load the picture data into the window.
-\par
-Note that there is no icrtoppm tool - this transformation is one way.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -windowname}{\it name}
-}
-\item[{{\bf -windowname}{\it name}
-}]
-Output will be displayed in
-{\it name}
-(Default is to use
-{\it ppmfile}
-or ``untitled'' if standard input is read.)
-\item[{{\bf -expand}{\it expand}
-}]
-Output will be expanded on display by factor 
-{\it expand}
-(For example, a value of 2 will cause four pixels to be displayed for
-every input pixel.)
-\item[{{\bf -display}{\it display}
-}]
-Output will be displayed on screen numbered 
-{\it display}
-\item[{{\bf -rle}}]
-Use run-length encoded format for display. (This will nearly always
-result in a quicker display, but may skew the colormap.)
-\end{TPlist}
-
-\shead{EXAMPLES}
-To display a
-{\it ppm}
-file using the protocol:
-\nofill
-    ppmtoicr ppmfile
-\fill
-This will create a window named 
-{\it ppmfile}
-on the display with the correct dimensions for
-{\it ppmfile,}
-create and download a colormap of up
-to 256 colors, and download the picture into the window. The same effect
-may be achieved by the following sequence:
-\nofill
-    ppmtoicr ppmfile $>$ filename
-    cat filename
-\fill
-To display a GIF 
-file using the protocol in a window titled after the input file, zoom
-the displayed image by a factor of 2, and
-run-length encode the data:
-\nofill
-    giftoppm giffile $|$ ppmtoicr -w giffile -r -e 2
-\fill
-\shead{BUGS}
-\par
-The protocol uses frequent 
-{\it fflush}
-calls to speed up display. If the
-output is saved to a file for later display via
-{\it cat,}
-drawing will be
-much slower. In either case, increasing the Blocksize limit on the
-display will speed up transmission substantially.
-\shead{SEE ALSO}
-{\bf ppm(5)}
-\par\noindent
-{\it NCSA\ Telnet\ for\ the\ Macintosh}{\rm ,}
-University of Illinois at Urbana-Champaign (1989)
-\shead{AUTHOR}
-\copyright 1990 by Kanthan Pillay (svpillay@Princeton.EDU),
-Princeton University Computing and Information Technology.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtoicr.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:52 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtoilbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtoilbm.1
-%
-\phead{ppmtoilbm}{1}{29 August 1993}{}{}
-
-%.IX ppmtoilbm
-\shead{NAME}
-ppmtoilbm - convert a portable pixmap into an ILBM file
-\shead{SYNOPSIS}
-{\bf ppmtoilbm}
-{\rm [}{\bf -maxplanes}{\rm $|$}{\bf -mp}
-{\it N}{\rm ]}
-{\rm [}{\bf -fixplanes}{\rm $|$}{\bf -fp}
-{\it N}{\rm ]}
-{\rm [}{\bf -ham6}{\rm $|$}{\bf -ham8}{\rm ]}
-{\rm [}{\bf -dcbits}{\rm $|$}{\bf -dcplanes}{\rm r}{\bf g}{\rm b}{\bf ]}
-{\rm [}{\bf -normal}{\rm $|$}{\bf -hamif}{\rm $|$}{\bf -hamforce}{\rm $|$}{\bf -24if}{\rm $|$}{\bf -24force}{\rm $|$}
-{\rm -dcif}{\bf $|$}{\rm -dcforce}{\bf $|$}{\rm -cmaponly}{\bf ]}
-{\rm [}{\bf -ecs}{\rm $|$}{\bf -aga}{\rm ]}
-{\rm [}{\bf -map}{\rm ppmfile}{\bf ]}
-{\rm [}{\bf ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-%.IX "ILBM"
-Produces an ILBM file as output.
-Supported ILBM types are:
-\begin{TPlist}{Normal ILBMs with 1-16 planes.}
-\item[{Normal ILBMs with 1-16 planes.}]
-\item[{Amiga Hold-and-Modify (HAM) with 3-16 planes.}]
-%.IX "Amiga"
-%.IX "HAM"
-\item[{24 bit.}]
-\item[{Color map (BMHD + CMAP chunk only, nPlanes = 0).}]
-\item[{Unofficial direct color.}]
-1-16 planes for each color component.
-\item[{Chunks written:}]
-BMHD, CMAP, CAMG (only for HAM), BODY (not for colormap files)
-unofficial DCOL chunk for direct color ILBM
-\item[{Chunks ignored:}]
-GRAB, DEST, SPRT, CRNG, CCRT, CLUT, DPPV, DRNG, EPSF
-\item[{Other chunks (ignored but displayed in verbose mode):}]
-NAME, AUTH, (c), ANNO, DPI
-\end{TPlist}
-
-\shead{OPTIONS}
-Options marked with (*) can be prefixed with a ``no'',
-{\it e.g.}, ``-nohamif''. All options can be abbreviated to
-their shortest unique prefix.
-\begin{TPlist}{{\bf -maxplanes $|$ -mp n}}
-\item[{{\bf -maxplanes $|$ -mp n}}]
-(default 5, minimum 1, maximum 16)
-Maximum planes to write in a normal ILBM.  If the pixmap
-does not fit into $<$n$>$ planes, ppmtoilbm writes a HAM file
-(if -hamif is used), a 24bit file (if -24if is used) or a
-direct color file (if -dcif is used) or aborts with an error.
-\item[{{\bf -fixplanes $|$ -fp n}}]
-(min 1, max 16)
-If a normal ILBM is written, it will have exactly $<$n$>$ planes.
-\item[{{\bf -hambits $|$ -hamplanes n}}]
-(default 6, min 3, max 16)
-Select number of planes for HAM picture.  The current Amiga
-hardware supports 6 and 8 planes, so for now you should
-only use this values.
-\item[{{\bf -normal (default)}}]
-Turns off -hamif/-24if/-dcif, -hamforce/-24force/-dcforce and
--cmaponly.
-\item[{{\bf -hamif (*)}}]
-\item[{{\bf -24if (*)}}]
-\item[{{\bf -dcif (*)}}]
-Write a HAM/24bit/direct color file if the pixmap does not
-fit into $<$maxplanes$>$ planes.
-\item[{{\bf -hamforce (*)}}]
-\item[{{\bf -24force (*)}}]
-\item[{{\bf -dcforce (*)}}]
-Write a HAM/24bit/direct color file.
-\item[{{\bf -dcbits $|$ -dcplanes r g b}}]
-(default 5, min 1, max 16).
-Select number of bits for red, green \& blue in a direct
-color ILBM.
-\item[{{\bf -ecs (default)}}]
-Shortcut for: -hamplanes 6 -maxplanes 5
-\item[{{\bf -aga}}]
-\item[{{\bf Shortcut for: -hamplanes 8 -maxplanes 8}}]
-\item[{{\bf -ham6}}]
-\item[{{\bf Shortcut for: -hamplanes 6 -hamforce}}]
-\item[{{\bf -ham8}}]
-Shortcut for: -hamplanes 8 -hamforce
-\item[{{\bf -map ppmfile}}]
-Write a normal ILBM using the colors in $<$ppmfile$>$ as the
-colormap. The colormap file also determines the number of
-planes, a -maxplanes or -fixplanes option is ignored.
-\item[{{\bf -cmaponly}}]
-Write a colormap file: only BMHD and CMAP chunks, no BODY
-chunk, nPlanes = 0.
-\end{TPlist}
-
-\shead{BUGS}
-Needs a real colormap selection algorithm for HAM pictures,
-instead of using a grayscale colormap.
-\shead{REFERENCES}
-Amiga ROM Kernel Reference Manual - Devices (3rd Ed.)
-Addison Wesley, ISBN 0--201--56775--X
-\shead{SEE ALSO}
-ppm(5), ilbmtoppm(1)
-\shead{AUTHORS}
-\copyright 1989 by Jef Poskanzer.
-\nwl
-Modified August 1993 by Ingo Wilken
-(Ingo.Wilken@informatik.uni-oldenburg.de).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtoilbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Tue Nov 30 08:30:37 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtomitsu.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtomitsu.1
-%
-\phead{ppmtomitsu}{1}{29 Jan 1992}{}{}
-
-%.IX ppmtomitsu
-\shead{NAME}
-ppmtomitsu - convert a portable pixmap to a Mitsubishi S340-10 file
-\shead{SYNOPSIS}
-{\bf ppmtomitsu}
-{\rm [-sharpness}
-{\it val}{\rm ]}
-{\rm [}{\bf -enlarge}
-{\it val}{\rm ]}
-{\rm [}{\bf -media}
-{\it string}{\rm ]}
-{\rm [}{\bf -copy}
-{\it val}{\rm ]}
-{\rm [}{\bf -dpi300}{\rm ]}
-{\rm [}{\bf -tiny}{\rm ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input and converts it into a format suitable
-to be printed by a Mitsubishi S340-10 printer, or any other Mitsubishi
-color sublimation printer.
-\par
-The Mitsubishi S340-10 Color Sublimation printer supports 24bit color.
-Images of the available sizes take so long to transfer that there is a
-fast method, employing a lookuptable, that ppmtomitsu will use if there
-is a maximum of 256 colors in the pixmap.
-ppmtomitsu will try to position your image to the center of the paper,
-and will rotate your image for you if xsize is larger than ysize.
-If your image is larger than the media allows, ppmtomitsu will quit
-with an error message. (We decided that the media were too expensive
-to have careless users produce misprints.) 
-Once data transmission has started, the job can't be stopped in a
-sane way without resetting the printer.
-The printer understands putting together images in the printers memory;
-ppmtomitsu doesn't utilize this as pnmcat etc provide the same functionality
-and let you view the result on-screen, too.
-The S340-10 is the lowest common denominator printer; for higher
-resolution printers there's the dpi300 option. The other printers also
-support higher values for enlarge eg, but I don't think that's essential
-enough to warrant a change in the program.
-\begin{TPlist}{{\bf -sharpness}{\it \ 1-4}
-}
-\item[{{\bf -sharpness}{\it \ 1-4}
-}]
- 'sharpness' designation. Default is to use the current sharpness.
-\item[{{\bf -enlarge}{\it \ 1-3}
-}]
-Enlarge by a factor; Default is 1 (no enlarge)
-\item[{{\bf -media}{\it \ A,\ A4,\ AS,\ A4S}
-}]
-Designate the media you're using. Default is 1184 x 1350, which will fit
-on any media. A is 1216 x 1350, A4 is 1184 x 1452, AS is 1216 x 1650 and 
-A4S is 1184 x 1754. A warning: If you specify a different media than the
-printer currently has, the printer will wait until you put in the correct
-media or switch it off.
-\item[{{\bf -copy}{\it \ 1-9}
-}]
-The number of copies to produce. Default is 1.
-\item[{{\bf -dpi300}
-}]
-Double the number of allowed pixels for a S3600-30 Printer in S340-10
-compatibility mode. (The S3600-30 has 300 dpi).
-\item[{{\bf -tiny}
-}]
-Memory-safing, but always slow. The printer will get the data line-by-line
-in 24bit. It's probably a good idea to use this if your machine starts
-paging a lot without this option.
-\end{TPlist}
-
-\shead{REFERENCES}
-Mitsubishi Sublimation Full Color Printer S340-10 Specifications of
-Parallel Interface LSP-F0232F
-\shead{SEE ALSO}
-ppmquant(1), pnmscale(1), ppm(5)
-\shead{BUGS}
-We didn't find any - yet. (Besides, they're called features anyway :-)
-If you should find one, my email-adress is below.
-\shead{AUTHOR}
-\copyright 1992, 93 by S.Petra Zeidler, MPIfR Bonn, Germany.
-(spz@specklec.mpifr-bonn.mpg.de)
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtomitsu.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:10 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtomap.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtomap.1
-%
-\phead{ppmtomap}{1}{11 August 1993}{}{}
-
-%.IX ppmtomap
-\shead{NAME}
-ppmtomap - extract all colors from a portable pixmap
-\shead{SYNOPSIS}
-{\bf ppmtomap}
-{\rm [}{\bf -sort}{\rm ]}
-{\rm [}{\bf -square}{\rm ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces a portable pixmap as output, representing a color map of the
-input file. All N different colors found are put in an Nx1 portable
-pixmap.
-This color map file can be used as a mapfile for
-{\it ppmquant}
-or
-{\it ppmtogif.}
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -sort}}
-\item[{{\bf -sort}}]
-Produces a portable pixmap with the colors in some sorted order.
-\item[{{\bf -square}}]
-Produces a (more or less) square output file, instead of putting all
-colors on the top row.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{WARNING}
-If you want to use the output file as a mapfile for
-{\it ppmtogif,}
-you first have to do a
-{\it ppmquant 256,}
-since
-{\it ppmtomap}
-is not limited to 256 colors (but to 65536).
-\shead{SEE ALSO}
-ppmtogif(1), ppmquant(1), ppm(5)
-\shead{AUTHOR}
-Marcel Wijkstra (wijkstra@fwi.uva.nl).
-
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% The Graphics Interchange Format(c) is the Copyright property of
-% CompuServe Incorporated.  GIF(sm) is a Service Mark property of
-% CompuServe Incorporated.
-%
-% end of input file: ppmtomap.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:53 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtopcx.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtopcx.1
-%
-\phead{ppmtopcx}{1}{09 April 1990}{}{}
-
-%.IX ppmtopcx
-\shead{NAME}
-ppmtopcx - convert a portable pixmap into a PCX file
-\shead{SYNOPSIS}
-{\bf ppmtopcx}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces a PCX file as output.
-%.IX PCX
-\shead{SEE ALSO}
-pcxtoppm(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1990 by Michael Davidson.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtopcx.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:53 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtopgm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtopgm.1
-%
-\phead{ppmtopgm}{1}{23 December 1988}{}{}
-
-%.IX ppmtopgm
-\shead{NAME}
-ppmtopgm - convert a portable pixmap into a portable graymap
-\shead{SYNOPSIS}
-{\bf ppmtopgm}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces a portable graymap as output.
-The quantization formula used is .299 r + .587 g + .114 b.
-\par
-Note that although there is a
-{\it pgmtoppm}
-program, it is not necessary
-for simple conversions from
-{\it pgm}
-to
-{\it ppm}{\rm ,}
-because any ppm program can
-read
-{\it pgm}
-(and
-{\it pbm}
-) files automagically.
-{\it pgmtoppm}
-is for colorizing a
-{\it pgm}
-file.  Also, see
-{\it ppmtorgb3}
-%.IX ppmtorgb3
-for a different way of converting color to gray.
-\shead{QUOTE}
-\nofill
-Cold-hearted orb that rules the night
-Removes the colors from our sight
-Red is gray, and yellow white
-But we decide which is right
-And which is a quantization error.
-\fill
-\shead{SEE ALSO}
-pgmtoppm(1), ppmtorgb3(1), rgb3toppm(1), ppm(5), pgm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtopgm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:54 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtopi1.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtopi1.1
-%
-\phead{ppmtopi1}{1}{19 July 1990}{}{}
-
-%.IX ppmtopi1
-\shead{NAME}
-ppmtopi1 - convert a portable pixmap into an Atari Degas .pi1 file
-\shead{SYNOPSIS}
-{\bf ppmtopi1}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces an Atari Degas .pi1 file as output.
-%.IX Atari
-%.IX "Degas .pi1"
-\shead{SEE ALSO}
-pi1toppm(1), ppm(5), pbmtopi3(1), pi3topbm(1)
-\shead{AUTHOR}
-\copyright 1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer.
-% Permission to use, copy, modify and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtopi1.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:54 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtopict.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtopict.1
-%
-\phead{ppmtopict}{1}{15 April 1990}{}{}
-
-%.IX ppmtopict
-\shead{NAME}
-ppmtopict - convert a portable pixmap into a Macintosh PICT file
-\shead{SYNOPSIS}
-{\bf ppmtopict}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces a Macintosh PICT file as output.
-%.IX PICT
-%.IX Macintosh
-\par
-The generated file is only the data fork of a picture.
-You will need a program such as
-{\it mcvert}
-to generate a Macbinary or a BinHex file that contains the necessary
-information to identify the file as a PICT file to MacOS.
-\par
-Even though PICT supports 2 and 4 bits per pixel,
-{\it ppmtopict}
-always generates an 8 bits per pixel file.
-\shead{BUGS}
-The picture size field is only correct if the output is to a file
-since writing into this field requires seeking backwards on a file.
-However the PICT documentation seems to suggest that this field is
-not critical anyway since it is only the lower 16 bits of the picture size.
-\shead{SEE ALSO}
-picttoppm(1), ppm(5), mcvert(1)
-\shead{AUTHOR}
-\copyright 1990 by Ken Yap (ken@cs.rocester.edu).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtopict.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:55 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtopj.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtopj.1
-%
-\phead{ppmtopj}{1}{13 July 1991}{}{}
-
-%.IX ppmtopj
-\shead{NAME}
-ppmtopj - convert a portable pixmap to an HP PaintJet file
-\shead{SYNOPSIS}
-{\bf ppmtopj}
-{\rm [-gamma}
-{\it val}{\rm ]}
-{\rm [}{\bf -xpos}
-{\it val}{\rm ]}
-{\rm [}{\bf -ypos}
-{\it val}{\rm ]}
-{\rm [}{\bf -back}
-{\bf dark}{\rm $|$}{\bf lite}{\rm ]}
-{\rm [}{\bf -rle}{\rm ]}
-{\rm [}{\bf -center}{\rm ]}
-{\rm [}{\bf -render}
-{\bf none$|$snap$|$bw$|$dither$|$diffuse$|$monodither$|$monodiffuse$|$clusterdither$|$monoclusterdither}{\rm ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input and converts it into a format suitable
-to be printed by an HP PaintJet printer.
-\par
-For best results, the input file should be in 8-color RGB form;
-{\it i.e.}, it should have only
-the 8 binary combinations of full-on and full-off primaries.
-You could get this by sending the input file through
-{\it ppmquant -map}
-with a map file such as:
-\nofill
-    P3
-    8 1
-    255
-    0 0 0      255 0 0    0 255 0    0 0 255
-    255 255 0  255 0 255  0 255 255  255 255 255
-\fill
-Or else you could use use
-{\it ppmdither -red 2 -green 2 -blue 2.}
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -rle}}
-\item[{{\bf -rle}}]
-Run length encode the image.
-(This can result in larger images)
-\item[{{\bf -back}}]
-Enhance the foreground by indicating if the background is light or
-dark compated to the foreground.
-\item[{{\bf -render}{\it \ alg}
-}]
-Use an internal rendering algorithm (default dither).
-\item[{{\bf -gamma}{\it \ int}
-}]
-Gamma correct the image using the integet parameter as a gamma (default 0).
-\item[{{\bf -center}}]
-Center the image to an 8.5 by 11 page
-\item[{{\bf -xpos}{\it \ pos}
-}]
-Move by pos pixels in the x direction.
-\item[{{\bf -ypos}{\it \ pos}
-}]
-Move by pos pixels in the y direction.
-\end{TPlist}
-
-\shead{REFERENCES}
-HP PaintJet XL Color Graphics Printer User's Guide
-\shead{SEE ALSO}
-pnmdepth(1), ppmquant(1), ppmdither(1), ppm(5)
-\shead{BUGS}
-Most of the options have not been tested because of the price of the paper.
-\shead{AUTHOR}
-\copyright 1991 by Christos Zoulas.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtopj.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:10 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtopjxl.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtopjxl.1
-%
-\phead{ppmtopjxl}{1}{14 March 1991}{}{}
-
-\shead{NAME}
-ppmtopjxl - convert a portable pixmap into an HP PaintJet XL PCL file
-\shead{SYNOPSIS}
-ppmtopjxl [-nopack] [-gamma
-{\it $<$n$>$}
-] [-presentation] [-dark] [-diffuse] [-cluster] [-dither] [-xshift
-{\it $<$s$>$}
-] [-yshift
-{\it $<$s$>$}
-] [-xshift
-{\it $<$s$>$}
-] [-yshift
-{\it $<$s$>$}
-] [-xsize$|$-width$|$-xscale
-{\it $<$s$>$}
-] [-ysize$|$-height$|$-yscale
-{\it $<$s$>$}
-] [ppmfile]
-
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces a PCL file suitable for printing on an HP PaintJet XL printer as
-output.
-\par
-The generated file is not suitable for printing on a normal PrintJet printer.
-The
-{\bf --nopack}
-option generates a file which does not use the normal TIFF 4.0 compression
-method. This file might be printable on a normal PaintJet printer (not an XL).
-\par
-The
-{\bf --gamma}
-option sets the gamma correction for the image. The useful range for the
-PaintJet XL is approximately 0.6 to 1.5.
-\par
-The rendering algorithm used for images can be altered with the
-{\bf -dither,}
-{\bf -cluster,}
-and
-{\bf -diffuse}
-options. These options select ordered dithering, clustered ordered dithering,
-or error diffusion respectively.
-The
-{\bf --dark}
-option can be used to enhance images with a dark background when they are
-reduced in size.
-The
-{\bf --presentation}
-option turns on presentation mode, in which two passes are made over the paper
-to increase ink density. This should be used only for images where quality is
-critical.
-
-\par
-The image can be resized by setting the 
-{\bf --xsize}
-and 
-{\bf --ysize}
-options. The parameter to either of these options is interpreted as the
-number of dots to set the width or height to, but an optional dimension of
-`%
-\bf pt%
-\rm ' (points), `%
-\bf dp%
-\rm ' (decipoints), `%
-\bf in%
-\rm ' (inches), or
-`%
-\bf cm%
-\rm ' (centimetres) may be appended.
-If only one dimension is specified, the other will be scaled appropriately.
-
-The options
-{\bf --width}
-and
-{\bf --height}
-are synonyms of
-{\bf --xsize}
-and
-{\bf --ysize.}
-
-The
-{\bf --xscale}
-and
-{\bf --yscale}
-options can alternatively be used to scale the image by a simple factor.
-
-\par
-The image can be shifted on the page by using the
-{\bf --xshift}
-and
-{\bf --yshift}
-options. These move the image the specified dimensions right and down.
-
-\shead{SEE ALSO}
-ppm(5)
-\shead{AUTHOR}
-Angus Duggan
-%
-% end of input file: ppmtopjxl.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:56 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtopuzz.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtopuzz.1
-%
-\phead{ppmtopuzz}{1}{22 August 1990}{}{}
-
-%.IX ppmtopuzz
-\shead{NAME}
-ppmtopuzz - convert a portable pixmap into an X11 ``puzzle'' file
-\shead{SYNOPSIS}
-{\bf ppmtopuzz}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces an X11 ``puzzle'' file as output.
-A ``puzzle'' file is for use with the
-{\it puzzle}
-%.IX puzzle
-%.IX "X window system"
-program included with the X11 distribution -
-{\it puzzle}{\rm 's}
-{\bf -picture}
-flag lets you specify an image file.
-\shead{SEE ALSO}
-ppm(5), puzzle(1)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtopuzz.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:57 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtorgb3.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtorgb3.1
-%
-\phead{ppmtorgb3}{1}{10 January 1991}{}{}
-
-%.IX ppmtorgb3
-\shead{NAME}
-ppmtorgb3 - separate a portable pixmap into three portable graymaps
-\shead{SYNOPSIS}
-{\bf ppmtorgb3}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Writes three portable graymaps as output, one each for red, green, and blue.
-%.IX "color separation"
-\par
-The output filenames are constructed by taking the input filename,
-stripping off any extension, and appending ``.red'', ``.grn'', and
-``.blu''.
-For example, separating lenna.ppm would result in lenna.red, lenna.grn,
-and lenna.blu.
-If the input comes from stdin, the names are noname.red, noname.grn,
-and noname.blu.
-\shead{SEE ALSO}
-rgb3toppm(1), ppmtopgm(1), pgmtoppm(1), ppm(5), pgm(5)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtorgb3.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:57 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtosixel.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtosixel.1
-%
-\phead{ppmtosixel}{1}{26 April 1991}{}{}
-
-%.IX ppmtosixel
-\shead{NAME}
-ppmtosixel - convert a portable pixmap into DEC sixel format
-\shead{SYNOPSIS}
-{\bf ppmtosixel}
-{\rm [}{\bf -raw}{\rm ]}
-{\rm [}{\bf -margin}{\rm ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces sixel commands (SIX) as output.
-The output is formatted for color printing, {\it e.g.}, for a DEC LJ250 color
-inkjet printer. 
-\par
-If RGB values from the PPM file do not have maxval=100,
-the RGB values are rescaled.
-A printer control header and a color assignment table begin the SIX file.
-Image data is written in a compressed format by default.
-A printer control footer ends the image file.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -raw}}
-\item[{{\bf -raw}}]
-If specified, each pixel will be explicitly described in the image file.
-If
-{\bf -raw}
-is not specified, output will default to compressed format in which
-identical adjacent pixels are replaced by ``repeat pixel'' commands.
-A raw file is often an order of magnitude larger than a compressed
-file and prints much slower.
-\item[{{\bf -margin}}]
-If
-{\bf -margin}
-is not specified, the image will be start at the left margin
-(of the window, paper, or whatever).
-If
-{\bf -margin}
-is specified, a 1.5 inch left margin will offset the image.
-\end{TPlist}
-
-\shead{PRINTING}
-Generally, sixel files must reach the printer unfiltered.
-Use the lpr -x option or cat filename $>$ /dev/tty0?.
-\shead{BUGS}
-Upon rescaling, truncation of the least significant bits of RGB values
-may result in poor color conversion.
-If the original PPM maxval was greater than 100, rescaling also
-reduces the image depth.
-While the actual RGB values from the ppm file are more or less
-retained, the color palette of the LJ250 may not match the colors
-on your screen.
-This seems to be a printer limitation.
-\shead{SEE ALSO}
-ppm(5)
-\shead{AUTHOR}
-\copyright 1991 by Rick Vinci.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtosixel.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:58 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtotga.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtotga.1
-%
-\phead{ppmtotga}{1}{28 October 1991}{}{}
-
-%.IX ppmtotga
-\shead{NAME}
-ppmtotga - convert portable pixmap into a TrueVision Targa file
-\shead{SYNOPSIS}
-{\bf ppmtotga}
-{\rm [}{\bf -mono$|$-cmap$|$-rgb}{\rm ]}
-{\rm [}{\bf -norle}{\rm ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces a TrueVision Targa file as output.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -mono}}
-\item[{{\bf -mono}}]
-Forces Targa file to be of type 8 bit monochrome.  Input must be a portable
-bitmap or a portable graymap.
-\item[{{\bf -cmap}}]
-Forces Targa file to be of type 24 bit colormapped.  Input must be a portable
-bitmap, a portable graymap or a portable pixmap containing no more than
-256 distinct colors.
-\item[{{\bf -rgb}}]
-Forces Targa file to be of type 24 bit unmapped color.
-\item[{{\bf -norle}}]
-Disables run-length encoding, in case you have a Targa reader which
-can't read run-length encoded files.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.  If no
-file type is specified the most highly constained compatible type is
-used, where monochrome is more constained than colormapped which is in
-turn more constained than unmapped.
-\shead{BUGS}
-Does not support all possible Targa file types.
-Should really be in PNM, not PPM.
-\shead{SEE ALSO}
-tgatoppm(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Mark Shand and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtotga.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:59 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtouil.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtouil.1
-%
-\phead{ppmtouil}{1}{31 August 1990}{}{}
-
-%.IX ppmtouil
-\shead{NAME}
-ppmtouil - convert a portable pixmap into a Motif UIL icon file
-\shead{SYNOPSIS}
-{\bf ppmtouil}
-{\rm [}{\bf -name}
-{\it uilname}{\rm ]}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces a Motif UIL icon file as output.
-%.IX Motif
-%.IX UIL
-%.IX "X window system"
-\par
-If the program was compiled with an rgb database specified, and
-a RGB value from the ppm input matches a RGB value from the database,
-then the corresponding color name mnemonic is printed in the UIL's colormap.
-If no rgb database was compiled in, or if the RGB values don't match,
-then the color
-will be printed with the \#RGB, \#RRGGBB, \#RRRGGGBBB, or \#RRRRGGGGBBBB
-hexadecimal format.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -name}}
-\item[{{\bf -name}}]
-Allows you to specify the prefix string which is printed
-in the resulting UIL output.  If not specified, will default to the
-filename (without extension) of the ppmfile argument.
-If
-{\bf -name}
-is not specified and no ppmfile
-is specified ({\it i.e.}, piped input), the prefix string will default to
-the string ``noname''.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-ppm(5)
-\shead{AUTHOR}
-Converted by Jef Poskanzer from ppmtoxpm.c, which is
-\copyright 1990 by Mark W. Snitily.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtouil.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:59 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtoxpm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtoxpm.1
-%
-\phead{ppmtoxpm}{1}{Tue Apr 9 1991}{}{}
-
-\shead{NAME}
-ppmtoxpm - convert a portable pixmap into an X11 pixmap
-\shead{SYNOPSIS}
-ppmtoxpm [-name $<$xpmname$>$] [-rgb $<$rgb-textfile$>$] [$<$ppmfile$>$]
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces X11 pixmap  (version 3) as output which
-can be loaded directly by the XPM library.
-\par
-The {\bf -nameoption} allows one to specify the prefix string which is printed
-in the resulting XPM output.  If not specified, will default to the
-filename (without extension) of the $<$ppmfile$>$ argument.
-If {\bf -nameis} not specified and $<$ppmfile$>$
-is not specified ({\it i.e.}, piped input), the prefix string will default to
-the string ``noname''.
-\par
-The {\bf -rgboption} allows one to specify an X11 rgb text file for the
-lookup of color name mnemonics.  This rgb text file is typically the
-/usr/lib/X11/rgb.txt of the MIT X11 distribution, but any file using the
-same format may be used.  When specified and
-a RGB value from the ppm input matches a RGB value from the $<$rgb-textfile$>$,
-then the corresponding color name mnemonic is printed in the XPM's colormap.
-If {\bf -rgbis} not specified, or if the RGB values don't match, then the color
-will be printed with the \#RGB, \#RRGGBB, \#RRRGGGBBB, or \#RRRRGGGGBBBB
-hexadecimal format.
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\par
-For example, to convert the file ``dot'' (found in /usr/include/X11/bitmaps),
-from xbm to xpm one could specify
-\begin{IPlist}
-\IPitem{{}}
-xbmtopbm dot $|$ ppmtoxpm -name dot
-\end{IPlist}
-
-\par
-or, with a rgb text file (in the local directory)
-\begin{IPlist}
-\IPitem{{}}
-xbmtopbm dot $|$ ppmtoxpm -name dot -rgb rgb.txt
-\end{IPlist}
-
-\shead{BUGS}
-An option to match the closest (rather than exact) color name mnemonic
-from the rgb text would be a desirable enhancement.
-\par
-Truncation of the least significant bits of a RGB value may result in
-nonexact matches when performing color name mnemonic lookups.
-\shead{SEE ALSO}
-ppm(5)
-\nwl
-XPM Manual by Arnaud Le Hors (lehors@mirsa.inria.fr).
-\shead{AUTHOR}
-\copyright 1990 by Mark W. Snitily.
-
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted, provided
-that the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.  This software is provided "as is" without express or
-implied warranty.
-
-This tool was developed for Schlumberger Technologies, ATE Division, and
-with their permission is being made available to the public with the above
-copyright notice and permission notice.
-
-Upgraded to XPM2 by
-   Paul Breslaw, Mecasoft SA, Zurich, Switzerland (paul@mecazh.uu.ch)
-   Thu Nov  8 16:01:17 1990
-
-Upgraded to XPM version 3 by
-   Arnaud Le Hors (lehors@mirsa.inria.fr)
-   Tue Apr 9 1991
-
-
-%
-% end of input file: ppmtoxpm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:00 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtoyuv.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtoyuv.1
-%
-\phead{ppmtoyuv}{1}{25 March 91}{}{}
-
-%.IX ppmtoyuv
-\shead{NAME}
-ppmtoyuv - convert a portable pixmap into an Abekas YUV file
-\shead{SYNOPSIS}
-{\bf ppmtoyuv}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces an Abekas YUV file as output.
-%.IX Abekas
-\shead{SEE ALSO}
-yuvtoppm(1), ppm(5)
-\shead{AUTHOR}
-Marc Boucher (marc@PostImage.COM),
-based on Example Conversion Program, A60/A64 Digital Video Interface
-Manual, page 69.
-\par
-\copyright 1991 by DHD PostImage Inc.
-\par
-\copyright 1987 by Abekas Video Systems Inc.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtoyuv.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:11 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ppmtoyuvsplit.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ppmtoyuvsplit.1
-%
-\phead{ppmtoyuvsplit}{1}{9 September 1993}{}{}
-
-%.IX ppmtoyuvsplit
-\shead{NAME}
-ppmtoyuvsplit - convert a portable pixmap into 3 subsampled raw YUV files
-\shead{SYNOPSIS}
-{\bf ppmtoyuvsplit}
-{\it basename}
-{\rm [}{\it ppmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a portable pixmap as input.
-Produces 3 raw files basename.Y, basename.U and basename.V as output.
-These files are the subsampled raw YUV representation of the input
-pixmap, as required by the Stanford MPEG codec. The subsampling is done
-by arithmetic mean of 4 pixels colors into one. The YUV values are scaled
-according to CCIR.601, as assumed by MPEG.
-\shead{SEE ALSO}
-mpeg(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1993 by Andre Beck. (Andre\_Beck@IRS.Inf.TU-Dresden.de).
-\par
-Based on ppmtoyuv.c.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ppmtoyuvsplit.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:33 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: psidtopgm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: psidtopgm.1
-%
-\phead{psidtopgm}{1}{02 August 89}{}{}
-
-%.IX psidtopgm
-\shead{NAME}
-psidtopgm - convert PostScript ``image'' data into a portable graymap
-\shead{SYNOPSIS}
-{\bf psidtopgm}
-{\it width height bits/sample}
-{\rm [}{\it imagedata}{\rm ]}
-\shead{DESCRIPTION}
-Reads the ``image'' data from a PostScript file as input.
-%.IX PostScript
-Produces a portable graymap as output.
-\par
-This is a very simple and limited program, and is here only because
-so many people have asked for it.
-To use it you have to
-{\bf manually}
-extract the readhexstring data portion from your PostScript file, and then
-give the width, height, and bits/sample on the command line.
-Before you attempt this, you should
-{\bf at least}
-read the description of the ``image'' operator in the PostScript Language
-Reference Manual.
-\par
-It would probably not be too hard to write a script that uses this filter
-to read a specific variety of PostScript image, but the variation is too
-great to make a general-purpose reader.
-Unless, of course, you want to write a full-fledged PostScript interpreter...
-\shead{SEE ALSO}
-pnmtops(1), pgm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: psidtopgm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:00 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: qrttoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: qrttoppm.1
-%
-\phead{qrttoppm}{1}{25 August 1989}{}{}
-
-%.IX qrttoppm
-\shead{NAME}
-qrttoppm - convert output from the QRT ray tracer into a portable pixmap
-\shead{SYNOPSIS}
-{\bf qrttoppm}
-{\rm [}{\it qrtfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a QRT file as input.
-%.IX "QRT raytracer"
-Produces a portable pixmap as output.
-\shead{SEE ALSO}
-ppm(5)
-\shead{AUTHOR}
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: qrttoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:28 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: rasttopnm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: rasttopnm.1
-%
-\phead{rasttopnm}{1}{13 January 1991}{}{}
-
-%.IX rasttopnm
-\shead{NAME}
-rasttopnm - convert a Sun rasterfile into a portable anymap
-\shead{SYNOPSIS}
-{\bf rasttopnm}
-{\rm [}{\it rastfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a Sun rasterfile as input.
-%.IX Sun
-%.IX rasterfile
-Produces a portable anymap as output.
-The type of the output file depends on the input file - if it's
-black \& white, a
-{\it pbm}
-file is written, else if it's grayscale a
-{\it pgm}
-file, else a
-{\it ppm}
-file.  The program tells you which type it is writing.
-\shead{SEE ALSO}
-pnmtorast(1), pnm(5)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: rasttopnm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:34 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: rawtopgm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: rawtopgm.1
-%
-\phead{rawtopgm}{1}{15 June 1993}{}{}
-
-%.IX rawtopgm
-\shead{NAME}
-rawtopgm - convert raw grayscale bytes into a portable graymap
-\shead{SYNOPSIS}
-{\bf rawtopgm}
-{\rm [}{\bf -headerskip}
-{\it N}{\rm ]}
-{\rm [}{\bf -rowskip}
-{\it N}{\rm ]}
-{\rm [}{\bf -tb}{\rm $|$}{\bf -topbottom}{\rm ]}
-{\rm [}{\it width}
-{\it height}{\rm ]}
-{\rm [}{\it imagedata}{\rm ]}
-\shead{DESCRIPTION}
-Reads raw grayscale bytes as input.
-%.IX "raw grayscale"
-Produces a portable graymap as output.
-The input file is just grayscale bytes.
-If you don't specify the width and height on the command line,
-the program will check the size of the image and try to make
-a quadratic image of it. It is an error to supply a non
-quadratic image without specifying width and height.
-The maxval is assumed to be 255.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -headerskip}}
-\item[{{\bf -headerskip}}]
-If the file has a header, you can use this flag to
-skip over it.
-\item[{{\bf -rowskip}}]
-If there is padding at the ends of the rows, you can skip it with this flag.
-Note that rowskip can be a real number.
-Amazingly, I once had an image with 0.376 bytes of padding per row.
-This turned out to be due to a file-transfer problem, but I was still
-able to read the image.
-\item[{{\bf -tb -topbottom}}]
-Flips the image upside down.
-The first pixel in a pgm file is in the lower left corner of the image.
-For conversion from images with the first pixel in the upper left corner
-({\it e.g.}, the Molecular Dynamics and Leica confocal formats) this flips the
-image right.
-This is equivalent to
-{\bf rawtopgm\ [file]\ $|$\ pnmflip\ -tb .}
-\end{TPlist}
-
-\shead{BUGS}
-If you don't specify the image width and height, the program will
-try to read the entire image to a memory buffer. If you get a
-message that states that you are out of memory, try to specify the width
-and height on the command line. Also, the -tb option consumes much
-memory.
-\shead{SEE ALSO}
-pgm(5), rawtoppm(1), pnmflip(1)
-\shead{AUTHORS}
-\copyright 1989 by Jef Poskanzer.
-\nwl
-Modified June 1993 by Oliver Trepte (oliver@fysik4.kth.se).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: rawtopgm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:01 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: rawtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: rawtoppm.1
-%
-\phead{rawtoppm}{1}{06 February 1991}{}{}
-
-%.IX rawtoppm
-\shead{NAME}
-rawtoppm - convert raw RGB bytes into a portable pixmap
-\shead{SYNOPSIS}
-{\bf rawtoppm}
-{\rm [}{\bf -headerskip}
-{\it N}{\rm ]}
-{\rm [}{\bf -rowskip}
-{\it N}{\rm ]}
-{\rm [}{\bf -rgb}{\rm $|$}{\bf -rbg}{\rm $|$}{\bf -grb}
-{\rm $|$}{\bf -gbr}{\rm $|$}{\bf -brg}{\rm $|$}{\bf -bgr}
-{\rm ]}
-{\rm [}{\bf -interpixel}{\rm $|$}{\bf -interrow}{\rm ]}
-{\it width height}
-{\rm [}{\it imagedata}{\rm ]}
-\shead{DESCRIPTION}
-Reads raw RGB bytes as input.
-%.IX "raw RGB"
-Produces a portable pixmap as output.
-The input file is just RGB bytes.
-You have to specify the width and height on the command line,
-since the program obviously can't get them from the file.
-The maxval is assumed to be 255.
-If the resulting image is upside down, run it through
-{\bf pnmflip\ -tb .}
-%.IX pnmflip
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -headerskip}}
-\item[{{\bf -headerskip}}]
-If the file has a header, you can use this flag to
-skip over it.
-\item[{{\bf -rowskip}}]
-If there is padding at the ends of the rows, you can skip it with this flag.
-\item[{{\bf -rgb -rbg -grb -gbr -brg -bgr}}]
-These flags let you specify alternate color orders.  The default is
-{\bf -rgb}{\rm .}
-\item[{{\bf -interpixel -interrow}}]
-These flags let you specify how the colors are interleaved.
-The default is
-{\bf -interpixel}{\rm ,}
-meaning interleaved by pixel.
-A byte of red, a byte of green, and a byte
-of blue, or whatever color order you specified.
-{\bf -interrow}
-means interleaved by row - a row of red, a row of green, a row of blue,
-assuming standard rgb color order.
-An
-{\bf -interplane}
-flag  - all the red pixels, then all the green, then all the blue - would
-be an obvious extension, but is not implemented.
-You could get the same effect by splitting the file into three parts
-(perhaps using
-{\it dd}{\rm ),}
-turning each part into a PGM file with rawtopgm, and then combining them
-with rgb3toppm.
-\end{TPlist}
-
-\shead{SEE ALSO}
-ppm(5), rawtopgm(1), rgb3toppm(1), pnmflip(1)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: rawtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:02 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: rgb3toppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: rgb3toppm.1
-%
-\phead{rgb3toppm}{1}{15 February 1990}{}{}
-
-%.IX rgb3toppm
-\shead{NAME}
-rgb3toppm - combine three portable graymaps into one portable pixmap
-\shead{SYNOPSIS}
-{\bf rgb3toppm}
-{\it redpgmfile greenpgmfile bluepgmfile}
-\shead{DESCRIPTION}
-Reads three portable graymaps as input.
-Combines them and produces one portable pixmap as output.
-\shead{SEE ALSO}
-ppmtorgb3(1), pgmtoppm(1), ppmtopgm(1), ppm(5), pgm(5)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: rgb3toppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:32 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: sirtopnm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: sirtopnm.1
-%
-\phead{sirtopnm}{1}{20 March 1991}{}{}
-
-\shead{NAME}
-sirtopnm - convert a Solitaire file into a portable anymap
-\shead{SYNOPSIS}
-{\bf sirtopnm}
-{\rm [}{\it sirfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a Solitaire Image Recorder file as input.
-Produces a portable anymap as output.
-The type of the output file depends on the input file - if it's
-an MGI TYPE 17 file, a
-{\it pgm}
-file is written. If it's an MGI TYPE 11 file, a
-{\it ppm}
-file is written.  The program tells you which type it is writing.
-\shead{BUGS}
-
-\shead{SEE ALSO}
-pnmtosir(1), pnm(5)
-\shead{AUTHOR}
-\copyright 1991 by Marvin Landis.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-
-%
-% end of input file: sirtopnm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:02 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: sldtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: sldtoppm.1
-%
-\phead{sldtoppm}{1}{10 October 1991}{}{}
-
-%.IX sldtoppm
-%.IX AutoCAD
-\shead{NAME}
-sldtoppm - convert an AutoCAD slide file into a portable pixmap
-\shead{SYNOPSIS}
-\raggedright
-{\bf sldtoppm}
-'in 14n
-{\rm [}{\bf -adjust}{\rm ]}
-{\rm [}{\bf -dir}{\rm ]}
-{\rm [}{\bf -height}{\rm $|$}{\bf -ysize}
-{\it s}{\rm ]}
-{\rm [}{\bf -info}{\rm ]}
-{\rm [}{\bf -lib}{\rm $|$}{\bf -Lib}
-{\it name}{\rm ]}
-{\rm [}{\bf -scale}
-{\it s}{\rm ]}
-{\rm [}{\bf -verbose}{\rm ]}
-{\rm [}{\bf -width}{\rm $|$}{\bf -xsize}
-{\it s}{\rm ]}
-{\rm [}{\it slidefile}{\rm ]}
-\ind{-7.0em}
-%.ad
-\shead{DESCRIPTION}
-Reads an AutoCAD{l}ide file and outputs a portable pixmap.
-If no
-{\it slidefile}
-is specified, input is read from standard input.
-The ppmdraw library is used to convert the vector and polygon
-information in the slide file to a pixmap; see the file ppmdraw.h for
-details on this package.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -adjust}}
-\item[{{\bf -adjust}}]
-If the display on which the slide file was created had non-square
-pixels, when the slide is processed with
-{\bf sldtoppm}
-and the
-{\bf -adjust}
-option is not present, the following warning will appear:
-\ind{-6.8in}
-Warning - pixels on source screen were non-square.
-\nwl
-Specifying
-{\bf -adjust}
-will correct image width to compensate.
-\ind{-7.0in}
-Specifying the
-{\bf -adjust}
-option causes
-{\bf sldtoppm}
-to scale the width of the image so that pixels in the resulting
-portable pixmap are square (and hence circles appear as true circles,
-not ellipses).  The scaling is performed in the vector domain, before
-scan converting the objects.  The results are, therefore, superior in
-appearance to what you'd obtain were you to perform the equivalent
-scaling with
-{\bf pnmscale}
-after the bitmap had been created.
-\item[{{\bf -dir}}]
-The input is assumed to be an AutoCAD slide library file.  A directory
-listing each slide in the library is printed on standard error.
-\item[{{\bf -height}{\it \ size}
-}]
-Scales the image in the vector domain so it is
-{\it size}
-pixels in height.  If no
-{\bf -width}
-or
-{\bf -xsize}
-option is specified, the width will be adjusted to preserve the
-pixel aspect ratio. 
-\item[{{\bf -info}}]
-Dump the slide file header on standard error, displaying the original
-screen size and aspect ratio among other information.
-\item[{{\bf -lib}{\it \ name}
-}]
-Extracts the slide with the given
-{\it name}
-from the slide library given as input.  The specified
-{\it name}
-is converted to upper case.
-\item[{{\bf -Lib}{\it \ name}
-}]
-Extracts the slide with the given
-{\it name}
-from the slide library given as input.  The
-{\it name}
-is used exactly as specified; it is not converted to upper case.
-\item[{{\bf -scale}{\it \ s}
-}]
-Scales the image by factor
-{\it s}{\rm ,}
-which may be any floating point value greater than zero.  Scaling is
-done after aspect ratio adjustment, if any.  Since scaling is
-performed in the vector domain, before rasterisation, the results look
-much better than running the output of
-{\bf sldtoppm}
-through
-{\bf pnmscale}{\rm .}
-\item[{{\bf -verbose}}]
-Dumps the slide file header and lists every vector and polygon in the
-file on standard error.
-\item[{{\bf -width}{\it \ size}
-}]
-Scales the image in the vector domain so it is
-{\it size}
-pixels wide.  If no
-{\bf -height}
-or
-{\bf -ysize}
-option is specified, the height will be adjusted to preserve the
-pixel aspect ratio. 
-\item[{{\bf -xsize}{\it \ size}
-}]
-Scales the image in the vector domain so it is
-{\it size}
-pixels wide.  If no
-{\bf -height}
-or
-{\bf -ysize}
-option is specified, the height will be adjusted to preserve the
-pixel aspect ratio. 
-\item[{{\bf -ysize}{\it \ size}
-}]
-Scales the image in the vector domain so it is
-{\it size}
-pixels in height.  If no
-{\bf -width}
-or
-{\bf -xsize}
-option is specified, the width will be adjusted to preserve the
-pixel aspect ratio. 
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{BUGS}
-Only Level 2 slides are converted.  Level 1 format has been obsolete
-since the advent of AutoCAD Release 9 in 1987, and was not portable
-across machine architectures.
-\par
-Slide library items with names containing 8 bit (such as ISO) or 16
-bit (Kanji, for example) characters may not be found when chosen with the
-{\bf -lib}
-option unless
-{\bf sldtoppm}
-has been built with character set conversion functions appropriate to
-the locale.  You can always retrieve slides from libraries regardless
-of the character set by using the
-{\bf -Lib}
-option and specifying the precise name of library member.  Use the
-{\bf -dir}
-option to list the slides in a library if you're unsure of the
-exact name.
-\shead{SEE ALSO}
-AutoCAD Reference Manual:
-{\it Slide\ File\ Format}{\rm ,}
-{\bf pnmscale}{\rm (1),}
-{\bf ppm}{\rm (5)}
-\shead{AUTHOR}
-\ind{1\parindent}{\nofill
-    John Walker
-    Autodesk SA
-    Avenue des Champs-Montants 14b
-    CH-2074 MARIN
-    Suisse/Schweiz/Svizzera/Svizra/Switzerland
-\fill}
-\begin{TPlist}{Usenet:}
-\item[{Usenet:}]
-kelvin@Autodesk.com
-\item[{Fax:}]
-038/33 88 15
-\item[{Voice:}]
-038/33 76 33
-\end{TPlist}
-
-\par
-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
-without any conditions or restrictions.  This software is provided ``as
-is'' without express or implied warranty.
-\par
-AutoCAD and Autodesk are registered trademarks of Autodesk, Inc.
-%
-% end of input file: sldtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:03 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: spctoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: spctoppm.1
-%
-\phead{spctoppm}{1}{19 July 1990}{}{}
-
-%.IX spctoppm
-\shead{NAME}
-spctoppm - convert an Atari compressed Spectrum file into a portable pixmap
-\shead{SYNOPSIS}
-{\bf spctoppm}
-{\rm [}{\it spcfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads an Atari compressed Spectrum file as input.
-%.IX Atari
-%.IX Spectrum
-Produces a portable pixmap as output.
-\shead{SEE ALSO}
-sputoppm(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer.
-% Permission to use, copy, modify and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: spctoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:37 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: spottopgm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: spottopgm.1
-%
-\phead{spottopgm}{1L}{}{}{}
-
-\shead{NAME}
-spottopgm -- convert SPOT satellite images to Portable Greymap format
-\shead{SYNTAX}
-spottopgm [--1$|$2$|$3] [Firstcol Firstline Lastcol Lastline] inputfile
-\shead{OPTIONS}
-\begin{TPlist}{{\bf --1$|$2$|$3}}
-\item[{{\bf --1$|$2$|$3}}]
-Extract the given colour from the SPOT image. The colours are infra-red,
-visible light and ultra-violet, although I don't know which corresponds
-to which number. If the image is in colour, this will be announced on
-standard error. The default colour is 1.
-\item[{{\bf Firstcol Firstline Lastcol Lastline}}]
-Extract the specified rectangle from the SPOT image. Most SPOT images are
-3000 lines long and 3000 or more columns wide. Unfortunately the SPOT format
-only gives the width and not the length. The width is printed on standard
-error. The default rectangle is the width of the input image by 3000 lines.
-\end{TPlist}
-
-\shead{DESCRIPTION}
-{\it Spottopgm}
-converts the named
-{\bf inputfile}
-into Portable Greymap format, defaulting to the first color and the whole
-SPOT image unless specified by the options.
-\shead{INSTALLATION}
-You
-{\bf must}
-edit the source program and either define BIGENDIAN or LITTLEENDIAN,
-and fix the typedefs for uint32t, uint16t and uint8t appropriately.
-\shead{BUGS}
-Currently
-{\it spottopgm}
-doesn't determine the length of the input file; this would involve two
-passes over the input file. It defaults to 3000 lines instead.
-\par
-{\it Spottopgm}
-could extract a three-color image (ppm), but I didn't feel like making the
-program more complicated than it is now. Besides, there is no one-to-one
-correspondence between red, green, blue and infra-red, visible and
-ultra-violet.
-\par
-I've only had a limited number of SPOT images to play with, and therefore
-wouldn't guarantee that this will work on any other images.
-\shead{AUTHOR}
-Warren Toomey  wkt@csadfa.cs.adfa.oz.au
-\shead{SEE ALSO}
-The rest of the Pbmplus suite.
-%
-% end of input file: spottopgm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:03 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: sputoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: sputoppm.1
-%
-\phead{sputoppm}{1}{19 July 1990}{}{}
-
-%.IX sputoppm
-\shead{NAME}
-sputoppm - convert an Atari uncompressed Spectrum file into a portable pixmap
-\shead{SYNOPSIS}
-{\bf sputoppm}
-{\rm [}{\it spufile}{\rm ]}
-\shead{DESCRIPTION}
-Reads an Atari uncompressed Spectrum file as input.
-%.IX Atari
-%.IX Spectrum
-Produces a portable pixmap as output.
-\shead{SEE ALSO}
-spctoppm(1), ppm(5)
-\shead{AUTHOR}
-\copyright 1991 by Steve Belczyk (seb3@gte.com) and Jef Poskanzer.
-% Permission to use, copy, modify and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: sputoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:04 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: tgatoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: tgatoppm.1
-%
-\phead{tgatoppm}{1}{26 August 1989}{}{}
-
-%.IX tgatoppm
-\shead{NAME}
-tgatoppm - convert TrueVision Targa file into a portable pixmap
-\shead{SYNOPSIS}
-{\bf tgatoppm}
-{\rm [}{\bf -debug}{\rm ]}
-{\rm [}{\it tgafile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a TrueVision Targa file as input.
-%.IX TrueVision
-%.IX Targa
-Produces a portable pixmap as output.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -debug}}
-\item[{{\bf -debug}}]
-Causes the header information to be dumped to stderr.
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-%.BUGS
-Should really be in PNM, not PPM.
-\shead{SEE ALSO}
-ppmtotga(1), ppm(5)
-\shead{AUTHOR}
-Partially based on tga2rast, version 1.0, by Ian J. MacPhedran.
-
-\copyright 1989 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: tgatoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:36 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: tifftopnm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: tifftopnm.1
-%
-\phead{tifftopnm}{1}{13 January 1991}{}{}
-
-%.IX tifftopnm
-\shead{NAME}
-tifftopnm - convert a TIFF file into a portable anymap
-\shead{SYNOPSIS}
-{\bf tifftopnm}
-{\rm [}{\bf -headerdump}{\rm ]}
-{\rm tifffile}
-\shead{DESCRIPTION}
-Reads a TIFF file as input.
-%.IX TIFF
-Produces a portable anymap as output.
-The type of the output file depends on the input file - if it's
-black \& white, a
-{\it pbm}
-file is written, else if it's grayscale a
-{\it pgm}
-file, else a
-{\it ppm}
-file.  The program tells you which type it is writing.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -headerdump}}
-\item[{{\bf -headerdump}}]
-Dump TIFF file information to stderr.  This information may be useful 
-in debugging TIFF file conversion problems.  
-\end{TPlist}
-
-\par
-All flags can be abbreviated to their shortest unique prefix.
-\shead{SEE ALSO}
-pnmtotiff(1), pnm(5)
-\shead{BUGS}
-This program is not self-contained.  To use it you must fetch the
-TIFF Software package listed in the OTHER.SYSTEMS file and configure
-PBMPLUS to use libtiff.  See PBMPLUS's Makefile for details on this
-configuration.
-\shead{AUTHOR}
-Derived by Jef Poskanzer from tif2ras.c, which is
-\copyright 1990 by Sun Microsystems, Inc.\hfil\break
-Author: Patrick J. Naughton (naughton@wind.sun.com).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted,
-% provided that the above copyright notice appear in all copies and that
-% both that copyright notice and this permission notice appear in
-% supporting documentation.
-% 
-% This file is provided AS IS with no warranties of any kind.  The author
-% shall have no liability with respect to the infringement of copyrights,
-% trade secrets or any patents by this file or any part thereof.  In no
-% event will the author be liable for any lost revenue or profits or
-% other special, indirect and consequential damages.
-%
-% end of input file: tifftopnm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:14 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: xbmtopbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: xbmtopbm.1
-%
-\phead{xbmtopbm}{1}{31 August 1988}{}{}
-
-%.IX xbmtopbm
-\shead{NAME}
-xbmtopbm - convert an X11 or X10 bitmap into a portable bitmap
-\shead{SYNOPSIS}
-{\bf xbmtopbm}
-{\rm [}{\it bitmapfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads an X11 or X10 bitmap as input.
-Produces a portable bitmap as output.
-%.IX "X bitmap"
-%.IX "X window system"
-\shead{SEE ALSO}
-pbmtoxbm(1), pbmtox10bm(1), pbm(5)
-\shead{AUTHOR}
-\copyright 1988 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: xbmtopbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:05 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ximtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ximtoppm.1
-%
-\phead{ximtoppm}{1}{25 March 1990}{}{}
-
-%.IX ximtoppm
-\shead{NAME}
-ximtoppm - convert an Xim file into a portable pixmap
-\shead{SYNOPSIS}
-{\bf ximtoppm}
-{\rm [}{\it ximfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads an Xim file as input.
-%.IX Xim
-%.IX "X window system"
-Produces a portable pixmap as output.
-The Xim toolkit is included in the contrib tree of the X.V11R4 release.
-\shead{SEE ALSO}
-ppm(5)
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ximtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:05 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: xpmtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: xpmtoppm.1
-%
-\phead{xpmtoppm}{1}{16 August 1990}{}{}
-
-\shead{NAME}
-xpmtoppm - convert an X11 pixmap into a portable pixmap
-\shead{SYNOPSIS}
-{\bf xpmtoppm}
-{\rm [}{\it xpmfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads an X11 pixmap (XPM version 1 or 3) as input.
-Produces a portable pixmap as output.
-\shead{KNOWN BUGS}
-The support to XPM version 3 is limited. Comments can only be single lines
-and there must be for every pixel a default colorname for a color type visual.
-\shead{SEE ALSO}
-ppmtoxpm(1), ppm(5)
-\nwl
-XPM Manual by Arnaud Le Hors (lehors@mirsa.inria.fr).
-\shead{AUTHOR}
-\copyright 1991 by Jef Poskanzer.
-Upgraded to support XPM version 3 by Arnaud Le Hors
-(lehors@mirsa.inria.fr) Tue Apr 9 1991.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: xpmtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Mon Feb  7 08:46:26 1994
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: xvminitoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: xvminitoppm.1
-%
-\phead{xvminitoppm}{1}{14 December 1993}{}{}
-
-\shead{NAME}
-xvminitoppm - convert a XV ``thumbnail'' picture to PPM
-\shead{SYNOPSIS}
-{\bf xvminitoppm}
-{\rm [}{\it xvminipic}{\rm ]}
-\shead{DESCRIPTION}
-Reads a XV ``thumbnail'' picture (a miniature picture generated by
-the ``VisualSchnauzer'' browser) as input.
-Produces a portable pixmap as output.
-\shead{SEE ALSO}
-ppm(5), xv(1)
-\shead{AUTHOR}
-Copyright (C) 1993 by Ingo Wilken
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: xvminitoppm.1
-%--------------------------------------------------
-
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:28 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: xwdtopnm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: xwdtopnm.1
-%
-\phead{xwdtopnm}{1}{11 January 1991}{}{}
-
-%.IX xwdtopnm
-\shead{NAME}
-xwdtopnm - convert a X11 or X10 window dump file into a portable anymap
-\shead{SYNOPSIS}
-{\bf xwdtopnm}
-{\rm [}{\it xwdfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a X11 or X10 window dump file as input.
-%.IX XWD
-%.IX "X window system"
-Produces a portable anymap as output.
-The type of the output file depends on the input file - if it's
-black \& white, a
-{\it pbm}
-file is written, else if it's grayscale a
-{\it pgm}
-file, else a
-{\it ppm}
-file.  The program tells you which type it is writing.
-\par
-Using this program, you can convert anything on an X workstation's screen
-into an anymap.
-Just display whatever you're interested in, do an xwd, run it through
-xwdtopnm, and then use pnmcut to select the part you want.
-\shead{BUGS}
-I haven't tested this tool with very many configurations, so there are
-probably bugs.
-Please let me know if you find any.
-\shead{SEE ALSO}
-pnmtoxwd(1), pnm(5), xwd(1)
-\shead{AUTHOR}
-\copyright 1989, 1991 by Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: xwdtopnm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:08:14 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: ybmtopbm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: ybmtopbm.1
-%
-\phead{ybmtopbm}{1}{06 March 1990}{}{}
-
-%.IX ybmtopbm
-\shead{NAME}
-ybmtopbm - convert a Bennet Yee ``face'' file into a portable bitmap
-\shead{SYNOPSIS}
-{\bf ybmtopbm}
-{\rm [}{\it facefile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a file acceptable to the
-{\it face}
-and
-{\it xbm}
-programs by Bennet Yee (bsy+@cs.cmu.edu).
-%.IX face
-Writes a portable bitmap as output.
-\shead{SEE ALSO}
-pbmtoybm(1), pbm(5), face(1), face(5), xbm(1)
-\shead{AUTHOR}
-\copyright 1991 by Jamie Zawinski and Jef Poskanzer.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: ybmtopbm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:12 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: yuvsplittoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: yuvsplittoppm.1
-%
-\phead{yuvsplittoppm}{1}{26 August 93}{}{}
-
-%.IX yuvsplittoppm
-\shead{NAME}
-yuvplittoppm - convert a Y- an U- and a V-file into a portable pixmap.
-\shead{SYNOPSIS}
-{\bf yuvsplittoppm}
-{\it basename width height}
-[-ccir601]
-\shead{DESCRIPTION}
-Reads three files, containing the YUV components, as input.
-These files are
-{\it basename}
-Y,
-{\it basename}
-U
-and
-{\it basename}
-.V .
-Produces a portable pixmap on stdout.
-
-Since the YUV files are raw files, the dimensions
-{\it width}
-and
-{\it height}
-must be specified on the command line.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -ccir601}}
-\item[{{\bf -ccir601}}]
-Assumes that the YUV triplets are scaled into the smaller range of the
-CCIR 601 (MPEG) standard. Else, the JFIF (JPEG) standard is assumed.
-\end{TPlist}
-
-\shead{SEE ALSO}
-ppmtoyuvsplit(1), yuvtoppm(1), ppm(5)
-\shead{AUTHOR}
-Marcel Wijkstra (wijkstra@fwi.uva.nl), based on {\it ppmtoyuvsplit.}
-%
-% end of input file: yuvsplittoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:06 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: yuvtoppm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: yuvtoppm.1
-%
-\phead{yuvtoppm}{1}{25 March 91}{}{}
-
-%.IX yuvtoppm
-\shead{NAME}
-yuvtoppm - convert Abekas YUV bytes into a portable pixmap
-\shead{SYNOPSIS}
-{\bf yuvtoppm}
-{\it width height}
-{\rm [}{\it imagedata}{\rm ]}
-\shead{DESCRIPTION}
-Reads raw Abekas YUV bytes as input.
-%.IX Abekas
-Produces a portable pixmap as output.
-The input file is just YUV bytes.
-You have to specify the width and height on the command line,
-since the program obviously can't get them from the file.
-The maxval is assumed to be 255.
-\shead{SEE ALSO}
-ppmtoyuv(1), ppm(5)
-\shead{AUTHOR}
-Marc Boucher (marc@PostImage.COM),
-based on Example Conversion Program, A60/A64 Digital Video Interface
-Manual, page 69.
-\par
-\copyright 1991 by DHD PostImage Inc.
-\par
-\copyright 1987 by Abekas Video Systems Inc.
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: yuvtoppm.1
-%--------------------------------------------------
- 
-% -*-LaTeX-*-
-% Converted automatically from troff to LaTeX
-% by tr2latex ($Revision: 2.2 $$Date: 1992/04/27 15:13:26 $ by C. Engel)
-% on Fri Oct  8 16:09:34 1993
-% tr2latex was written by Kamal Al-Yahya at Stanford University
-% (Kamal%Hanauma@SU-SCORE.ARPA)
-% and substantially enhanced by Christian Engel at RWTH Aachen
-% (krischan@informatik.rwth-aachen.de).
-%
-% troff input file: zeisstopnm.1
-
-\newpage
-%--------------------------------------------------
-% start of input file: zeisstopnm.1
-%
-\phead{zeisstopnm}{1}{15 June 1993}{}{}
-
-%.IX zeisstopnm
-\shead{NAME}
-zeisstopnm - convert a Zeiss confocal file into a portable anymap
-\shead{SYNOPSIS}
-{\bf zeisstopnm}
-{\rm [}{\it -pgm}
-$|$
-{\it -ppm}{\rm ]}
-{\rm [}{\it zeissfile}{\rm ]}
-\shead{DESCRIPTION}
-Reads a Zeiss confocal file as input.
-Produces a portable anymap as output.
-The type of the output file depends on the input file -
-if it's grayscale a
-{\it pgm}
-file, else a
-{\it ppm}
-file will be produced.
-The program tells you which type it is writing.
-\shead{OPTIONS}
-\begin{TPlist}{{\bf -pgm}}
-\item[{{\bf -pgm}}]
-Force the output to be a
-{\it pgm}
-file.
-\item[{{\bf -ppm}}]
-Force the output to be a
-{\it ppm}
-file.
-\end{TPlist}
-
-\shead{SEE ALSO}
-pnm(5)
-\shead{AUTHOR}
-\copyright 1993 by Oliver Trepte (oliver@fysik4.kth.se).
-% Permission to use, copy, modify, and distribute this software and its
-% documentation for any purpose and without fee is hereby granted, provided
-% that the above copyright notice appear in all copies and that both that
-% copyright notice and this permission notice appear in supporting
-% documentation.  This software is provided "as is" without express or
-% implied warranty.
-%
-% end of input file: zeisstopnm.1
-%--------------------------------------------------
-\end{document}
diff --git a/vms/PBMplus.hlp b/vms/PBMplus.hlp
deleted file mode 100644
index 52ba0f33..00000000
--- a/vms/PBMplus.hlp
+++ /dev/null
@@ -1,6814 +0,0 @@
-1 HELP
-        See PBMplus and OVERVIEW.
-
-1 OVERVIEW
-        Enhanced portable bitmap  toolkit.  The PBMPLUS toolkit allows
-    conversions between image files  of different format.  By means of
-    using common intermediate formats, only  2  * N conversion filters
-    are required to support N distinct  formats,  instead  of the N**2
-    which would be required to convert directly between any one format
-    and  any  other.    The  package also includes  simple  tools  for
-    manipulating portable bitmaps.
-
-        The package consists of four upwardly compatible sections:
-        
-    pbm     Supports monochrome bitmaps (1 bit per pixel).
-
-    pgm     Supports grayscale  images.    Reads  either  PBM  or  PGM
-            formats and writes PGM format.
-
-    ppm     Supports full-color images.  Reads either PBM, PGM, or PPM
-            formats, writes PPM format.
-
-    pnm     Supports content-independent manipulations on any  of  the
-            three formats listed above, as well  as  external  formats
-            having  multiple  types.  Reads either PBM,  PGM,  or  PPM
-            formats,  and  generally writes the same type as  it  read
-            (whenever a PNM tool makes an exception and ``promotes'' a
-            file to a higher format, it informs the user).
-
-        See PBMplus for more infomation.
-
-1 PBMplus
-        Enhanced portable bitmap  toolkit.  The PBMPLUS toolkit allows
-    conversions between image files  of different format.  By means of
-    using common intermediate formats, only  2  * N conversion filters
-    are required to support N distinct  formats,  instead  of the N**2
-    which would be required to convert directly between any one format
-    and  any  other.    The  package also includes  simple  tools  for
-    manipulating portable bitmaps.
-
-        The package consists of four upwardly compatible sections:
-        
-    pbm     Supports monochrome bitmaps (1 bit per pixel).
-
-    pgm     Supports grayscale  images.    Reads  either  PBM  or  PGM
-            formats and writes PGM format.
-
-    ppm     Supports full-color images.  Reads either PBM, PGM, or PPM
-            formats, writes PPM format.
-
-    pnm     Supports content-independent manipulations on any  of  the
-            three formats listed above, as well  as  external  formats
-            having  multiple  types.  Reads either PBM,  PGM,  or  PPM
-            formats,  and  generally writes the same type as  it  read
-            (whenever a PNM tool makes an exception and ``promotes'' a
-            file to a higher format, it informs the user).
-
-2 Description_of_Contents
-        A brief,  one-line  description  of  each  of  the  individual
-    programs in the PBMplus package.  They are sorted by general type.
-
-3 pbm
-    atktopbm    convert Andrew Toolkit raster object to portable bitmap
-    brushtopbm  convert Xerox doodle brushes to portable bitmap
-    cmuwmtopbm  convert CMU window manager format to portable bitmap
-    g3topbm     convert Group 3 FAX to portable bitmap
-    icontopbm   convert Sun icon to portable bitmap
-    gemtopbm    convert GEM .img format to portable bitmap
-    macptopbm   convert MacPaint to portable bitmap
-    mgrtopbm    convert MGR format to portable bitmap
-    pktopbm     convert packed (PK) format font into portable bitmap(s)
-    pbmmerge    merge wrapper routine
-    pbmto10x    convert portable bitmap to Gemini 10x printer graphics
-    pbmto4425   convert portable bitmap to AT&T 4425 terminal
-    pbmtoascii  convert portable bitmap to ASCII graphic form
-    pbmtoatk    convert portable bitmap to Andrew Toolkit raster object
-    pbmtobbnbg  convert portable bitmap to BBN BitGraph graphics
-    pbmtocmuwm  convert portable bitmap to CMU window manager format
-    pbmtoepson  convert portable bitmap to Epson printer graphics
-    pbmtog3     convert portable bitmap to Group 3 FAX
-    pbmtogem    convert portable bitmap into GEM .img file
-    pbmtogo     convert portable bitmap to GraphOn graphics
-    pbmtoicon   convert portable bitmap to Sun icon
-    pbmtolj     convert portable bitmap to HP LaserJet graphics
-    pbmtoln03   convert portable bitmap to DEC LN03+ Laserprinter
-    pbmtolps    convert portable bitmap to PostScript
-    pbmtomacp   convert portable bitmap to MacPaint
-    pbmtomgr    convert portable bitmap to MGR format
-    pbmtopgm    convert portable bitmap to portable graymap by ave. areas
-    pbmtopi3    convert portable bitmap to Atari Degas .pi3
-    pbmtopk     convert portable bitmap into a packed (PK) format font
-    pbmtoplot   convert portable bitmap into Unix plot(5) file
-    pbmtoptx    convert portable bitmap to Printronix graphics
-    pbmtoxbm    convert portable bitmap to X11 bitmap
-    pbmtox10bm  convert portable bitmap to X10 bitmap
-    pbmtoybm    convert portable bitmap into Bennet Yee "face" file
-    pbmtozinc   convert portable bitmap to Zinc Interface Library icon
-    pbmtoepsi   convert portable bitmap into an encapsulated PostScript
-    pi3topbm    convert Atari Degas .pi3 to portable bitmap
-    xbmtopbm    convert X10 or X11 bitmap to portable bitmap
-    ybmtopbm    convert Bennet Yee "face" file into portable bitmap
-
-    pbmclean    flip isolated pixels in portable bitmap
-    pbmlife     apply Conway's rules of Life to a portable bitmap
-    pbmmake     create a blank bitmap of a specified size and color
-    pbmmask     create a mask bitmap from a regular bitmap
-    pbmreduce   reduce a portable bitmap N times, using Floyd-Steinberg
-    pbmspcale   enlarge a portable bitmap with edge smoothing
-    pbmtext     render text into a bitmap
-    pbmupc      create a Universal Product Code bitmap
-
-3 pgm
-    asciitopgm  convert ASCII graphics into a portable graymap
-    fstopgm     convert Usenix FaceSaver format to portable graymap
-    hipstopgm   convert HIPS format to portable graymap
-    lispmtopgm  convert a Lisp Machine bitmap file into pgm format
-    bioradtopgm convert a Biorad confocal file into a portable graymap
-    psidtopgm   convert PostScript "image" data to portable graymap
-    rawtopgm    convert raw grayscale bytes to portable graymap
-    spottopgm   convert SPOT satellite images to Portable Greymap format
-    pgmtofs     convert portable graymap to Usenix FaceSaver format
-    pgmtolispm  convert a portable graymap into Lisp Machine format
-    pgmtopbm    convert portable graymap to portable bitmap
-
-    pgmbentley  Bentleyize a portable graymap
-    pgmcrater   create cratered terrain by fractal forgery
-    pgmedge     edge-detect a portable graymap
-    pgmenhance  edge-enhance a portable graymap
-    pgmhist     print a histogram of the values in a portable graymap
-    pgmkernel   generate a convolution kernel
-    pgmmerge    merge wrapper routine
-    pgmnoise    create a graymap made up of white noise
-    pgmnorm     normalize contrast in a portable graymap
-    pgmoil      turn a portable graymap into an oil painting
-    pgmramp     generate a grayscale ramp
-    pgmtexture  calculate textural features on a portable graymap
-
-3 ppm
-    bmptoppm    convert BMP file to portable pixmap
-    gouldtoppm  convert Gould scanner file to portable pixmap
-    ilbmtoppm   convert IFF ILBM to portable pixmap
-    imgtoppm    convert Img-whatnot to portable pixmap
-    mtvtoppm    convert MTV ray-tracer output to portable pixmap
-    pcxtoppm    convert PC Paintbrush format to portable pixmap
-    pgmtoppm    colorize a portable graymap into a portable pixmap
-    pi1toppm    convert Atari Degas .pi1 to portable pixmap
-    picttoppm   convert Macintosh PICT to portable pixmap
-    pjtoppm     convert HP PaintJet file to portable pixmap
-    ppmtoacad   convert portable pixmap to AutoCAD database or slide
-    ppmtobmp    convert portable pixmap to BMP file
-    ppmtogif    convert portable pixmap to GIF
-    ppmtoicr    convert portable pixmap to NCSA ICR graphics
-    ppmtoilbm   convert portable pixmap to IFF ILBM
-    ppmtomitsu  convert a portable pixmap to a Mitsubishi S340-10 file
-    ppmtomap    extract all colors from a portable pixmap
-    ppmtopcx    convert portable pixmap to PC Paintbrush format
-    ppmtopgm    convert portable pixmap to portable graymap
-    ppmtopi1    convert portable pixmap to Atari Degas .pi1
-    ppmtopict   convert portable pixmap to Macintosh PICT
-    ppmtopj     convert portable pixmap to HP PaintJet file
-    ppmtopjxl   convert portable pixmap to HP PaintJet XL PCL file
-    ppmtopuzz   convert portable pixmap to X11 "puzzle" file
-    ppmtorgb3   separate a portable pixmap to three portable graymaps
-    ppmtosixel  convert portable pixmap to DEC sixel format
-    ppmtotga    convert portable pixmap to TrueVision Targa file
-    ppmtouil    convert portable pixmap to Motif UIL icon file
-    ppmtoxpm    convert portable pixmap to XPM format
-    ppmtoyuv    convert portable pixmap to Abekas YUV format
-    qrttoppm    convert QRT ray-tracer output to portable pixmap
-    rawtoppm    convert raw RGB bytes to portable pixmap
-    rgb3toppm   combine three portable graymaps to one portable pixmap
-    sldtoppm    convert an AutoCAD slide file into a portable pixmap
-    spctoppm    convert Atari compressed Spectrum to portable pixmap
-    sputoppm    convert Atari uncompressed Spectrum to portable pixmap
-    tgatoppm    convert TrueVision Targa file to portable pixmap
-    ximtoppm    convert Xim to portable pixmap
-    xpmtoppm    convert XPM format to portable pixmap
-    xvminitoppm convert a XV "thumbnail" picture to PPM
-    yuvtoppm    convert Abekas YUV format to portable pixmap
-
-    ppm3d       convert 2 portable pixmap to a red/blue 3d glasses pixmap
-    ppmbrighten change images Saturation and Value from an HSV map
-    ppmchange   change pixels of one color to another in a portable pixmap
-    ppmdim      dim a portable pixmap down to total blackness
-    ppmdist     simple grayscale for machine generated, color images
-    ppmdither   ordered dither for color images
-    ppmflash    brighten a picture up to complete white-out
-    ppmforge    fractal forgeries of clouds, planets, and starry skies
-    ppmhist     print a histogram of a portable pixmap
-    ppmmake     create a pixmap of a specified size and color
-    ppmmix      blend together two portable pixmaps
-    ppmpat      create a pretty pixmap
-    ppmquant    quantize colors down to a specified number
-    ppmqvga     8 plane quantization
-    ppmrelief   run a Laplacian Relief filter on a portable pixmap
-    ppmshift    shift lines of a portable pixmap left or right by a
-                random amount
-    ppmspread   displace a portable pixmap's pixels by a random amount
-
-3 pnm
-    pnmtoddif   convert portable anymap to DDIF format
-    pnmtofits   convert a portable anymap into FITS format
-    pnmtops     convert portable anymap to PostScript
-    pnmtorast   convert portable anymap to Sun raster file
-    pnmtotiff   convert portable anymap to TIFF file
-    pnmtoxwd    convert portable anymap to X11 window dump
-    fitstopnm   convert a FITS file into a portable anymap
-    rasttopnm   convert Sun raster file to portable anymap
-    tifftopnm   convert TIFF file to portable anymap
-    xwdtopnm    convert X10 or X11 window dump to portable anymap
-    pnmtosir    convert a portable anymap into a Solitaire format
-    sirtopnm    convert a Solitaire file into a portable anymap
-    zeisstopnm  convert a Zeiss confocal file into a portable anymap
-
-    pnmalias    antialias a portable anyumap.
-    pnmarith    perform arithmetic on two portable anymaps
-    pnmcat      concatenate portable anymaps
-    pnmcomp     composite two portable anymap files together
-    pnmconvol   general MxN convolution on a portable anymap
-    pnmcrop     crop all like-colored borders off a portable anymap
-    pnmcut      select a rectangular region from a portable anymap
-    pnmdepth    change the maxval in a portable anymap
-    pnmenlarge  enlarge a portable anymap N times
-    pnmfile     describe a portable anymap
-    pnmflip     perform one or more flip operations on a portable anymap
-    pnmgamma    perform gamma correction on a portable anymap
-    pnmhistmap  draw a histogram for a PGM or PPM file
-    pnminvert   invert a portable anymap
-    pnmnlfilt   non-linear filters: smooth, alpha trim mean,
-                optimal estimation smoothing, edge enhancement
-    pnmnoraw    force a portable anymap into ASCII format
-    pnmpad      add borders to portable anymap
-    pnmpaste    paste a rectangle into a portable anymap
-    pnmrotate   rotate a portable anymap
-    pnmscale    scale a portable anymap
-    pnmshear    shear a portable anymap
-    pnmtile     replicate a portable anymap into a specified size
-
-2 See_Also
-        There are a number of related image-manipulation tools:
-
-    IM Raster Toolkit
-        A portable and efficient format toolkit.   The format supports
-    pixels  of  arbitrary  channels,  components, and bit  precisions,
-    while  allowing  compression  and machine byte-order independence.
-    Support for  image  manipulation,  digital  halftoning, and format
-    conversion.  Previously  distributed on tape c/o the University of
-    Waterloo (an ftp version is to appear later).  Author:  Alan Paeth
-    (awpaeth@watcgl.uwaterloo.ca).
-
-    Utah RLE Toolkit
-        Conversion  and  manipulation  package,  similar  to  PBMPLUS.
-    Available  via  ftp  as  cs.utah.edu:   pub/toolkit-2.0.tar.Z  and
-    ucsd.edu:  graphics/utah-raster-toolkit.tar.Z.
-
-    Fuzzy Pixmap Manipulation
-        Conversion  and  manipulation  package,  similar  to  PBMPLUS.
-    Version     1.0    available    via    ftp    as    nl.cs.cmu.edu:
-    /usr/mlm/ftp/fbm.tar.Z,  uunet.uu.net:        pub/fbm.tar.Z,   and
-    ucsd.edu:    graphics/fbm.tar.Z.       Author:    Michael  Mauldin
-    (mlm@nl.cs.cmu.edu).
-
-    Img Software Set
-        Reads and  writes  its own image format, displaying results on
-    an X11 screen,  and does some image manipulations.  Version 1.3 is
-    available  via  ftp  as    ftp.x.org:contrib/img_1.3.tar.Z,    and
-    venera.isi.edu:pub/img_1.3.tar.Z, along with a large collection of
-    color images.  Author:  Paul Raveling (raveling@venera.isi.edu).
-
-    Xim
-        Reads and writes its own image  format,  displays  on  an  X11
-    screen,  and  does some image manipulations.   Available  in  your
-    nearest  X11R4  source  tree  as it contrib/clients/xim.   A  more
-    recent version is available via ftp from video.mit.edu.   It  uses
-    X11R4 and the OSF/Motif toolkit to provide basic interactive image
-    manipulation  and  reads/writes GIF, xwd, xbm, tiff, rle, xim, and
-    other formats.  Author:  Philip R.  Thompson.
-
-    xloadimage
-        Reads in images in various formats and displays them on an X11
-    screen.  Available  via  ftp as ftp.x.org:contrib/xloadimage*, and
-    in  your nearest comp.sources.x  archive.    Author:    Jim  Frost
-    (madd@std.com).
-
-    TIFF Software
-        Nice portable library for reading and writing TIFF files, plus
-    a few tools for  manipulating  them  and  reading  other  formats.
-    Available    via    ftp    as   sgi.com:pub/graphics/*.tar.Z    or
-    uunet.uu.net:graphics/tiff.tar.Z. Author: Sam Leffler (sam@sgi.com).
-
-    ALV
-        A  Sun-specific  image  toolkit.    Version  2.0.6  posted  to
-    comp.sources.sun on 11 December 1989.  Also available via email to
-    alv-users-request@cs.bris.ac.uk.
-
-    popi
-        An  image  manipulation  language.    Version  2.1  posted  to
-    comp.sources.misc on 12 December 1989.
-
-    ImageMagick
-        X11  package  for  display  and  interactive  manipulation  of
-    images.  Uses its own format (MIFF), and includes some converters.
-    Available via ftp as ftp.x.org:contrib/ImageMagick.tar.Z.
-
-    Khoros
-        Huge  (~100  meg)  graphical  development environment based on
-    X11R4.    Components  include  a visual programming language, code
-    generators for  extending  the  visual  language  and  adding  new
-    application packages to  the system, an interactive user interface
-    editor, an interactive image display package, an extensive library
-    of  image  and  signal processing  routines,  and  2D/3D  plotting
-    packages.  Available via ftp as pprg.unm.edu:pub/khoros/*.
-
-    JPEG package
-        JPEG is a a standardized compression method for full-color and
-    gray-scale  images  of "real-world"  scenes;    this  experimental
-    package includes programs to compress  gif and ppm format files to
-    JPEG  format  ( cjpeg(1L)), and to  decompress  them  (djpeg(1L)).
-    Available by ftp as uunet.uu.net:graphics/jpeg/jpegsrc.v1.tar.Z.
-
-        libpbm(3L),  libpgm(3L),    libpnm(3L),  libppm(3L),  pbm(5L),
-    pgm(5L), pnm(5L), ppm(5L), rasterfile(1)
-
-2 Author
-        Distribution of 1 December 1991.   Copyright 1989, 1991 by Jef
-    Poskanzer.
-
-        Feedback and questions are welcome.  Please send them to:
-
-                             jef@well.sf.ca.us
-                              apple!well!jef
-
-        When  sending  bug  reports,  always  include  the output from
-    running  any  pbmplus  program  with  the -version flag, including
-    descriptions of  the  type  of system you are on, the compiler you
-    use, and whether you are using Makefiles or Imakefiles.
-
-        When  suggesting  new  formats  or  features,  please  include
-    whatever documentation you have,  and  a  uuencoded  sample.   The
-    response time will depend upon  my  schedule and the complexity of
-    the task;  if you need  it right away, or it is a complicated job,
-    you might consider paying me.
-
-        The  Usenet  newsgroup  alt.graphics.pixutils  is a forum  for
-    discussion  of  image  conversion  and editing packages.   Posting
-    queries  there  may be better than mailing them to  me,  since  it
-    allows other people to help provide answers.
-
-        Permission  to use, copy, modify, and distribute this software
-    and its  documentation  for  any purpose and without fee is hereby
-    granted, provided that  the  above  copyright notice appear in all
-    copies and that both  that  copyright  notice  and this permission
-    notice  appear  in supporting documentation.    This  software  is
-    provided "as is" without express or  implied  warranty.  Thus, you
-    may do what you want with this  software.    Build  it  into  your
-    package, steal code from it, whatever.  Just be sure to let people
-    know where it came from.
-
-1 asciitopgm
-        asciitopgm - convert ASCII graphics into a portable graymap
-
-2 Synopis
-        asciitopgm [-d divisor] height width [asciifile]
-
-2 Description
-        Reads  ASCII data as input.  Produces a portable graymap  with
-    pixel values which are an approximation of the "brightness" of the
-    ASCII  characters,  assuming black-on-white printing.    In  other
-    words, a capital M is very  dark,  a  period  is  ver light, and a
-    space is white.  Input lines which are fewer than width characters
-    are automatically padded with spaces.
-
-        The divisor argument is a floating-point number by  which  the
-    output pixels are divided;  the default value is 1.0.  This can be
-    used to adjust the brightness of the graymap:  for example, if the
-    image is too dim, reduce the divisor.
-
-        In keeping with  (I believe) Fortran line-printer conventions,
-    input lines beginning with  a  +  (plus)  character are assumed to
-    "overstrike" the previous line, allowing  a  larger  range of gray
-    values.
-
-        This tool contradicts the message in  the  pbmtoascii  manual:
-    "Note that there is no asciitopbm tool  -  this  transformation is
-    one-way."
-
-2 Bugs
-        The    table    of    ASCII-to-grey    values  is  subject  to
-    interpretation,  and,  of course, depends on the typeface intended
-    for the input.
-
-2 See_Also
-        pbmtoascii(1), pgm(5)
-
-2 Author
-        Wilson H. Bent. Jr. (whb@usc.edu)
-
-1 atktopbm
-     atktopbm  -  convert  Andrew  Toolkit  raster  object to portable
-     bitmap
-
-2 Synopsis
-     atktopbm [atkfile]
-
-2 Description
-     Reads an Andrew Toolkit raster object as input.  Produces  a
-     portable bitmap as output.
-
-2 See_Also
-     pbmtoatk, pbm
-
-2 Author
-     Copyright (C) 1991 by Bill Janssen.
-
-1 brushtopbm
-     brushtopbm - convert a doodle brush  file  into  a  portable
-     bitmap
-
-2 Synopsis
-     brushtopbm [brushfile]
-
-2 Description
-     Reads a Xerox doodle brush file as input.  Produces a  port-
-     able bitmap as output.
-
-     Note that there is currently no pbmtobrush tool.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright (C) 1988 by Jef Poskanzer.
-
-1 cmuwmtopbm
-     cmuwmtopbm - convert a CMU  window  manager  bitmap  into  a
-     portable bitmap
-
-2 Synopsis
-     cmuwmtopbm [cmuwmfile]
-
-2 Description
-     Reads a CMU window manager  bitmap  as  input.   Produces  a
-     portable bitmap as output.
-
-2 See_Also
-     pbmtocmuwm, pbm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 g3topbm
-     g3topbm - convert a Group 3 fax file into a portable bitmap
-
-2 Synopsis
-     g3topbm [-kludge] [-reversebits] [-stretch] [g3file]
-
-2 Description
-     Reads a Group 3 fax file as input.  Produces a portable bit-
-     map as output.
-
-2 Options
-     -kludge
-          Tells g3topbm to ignore the  first  few  lines  of  the
-          file;  sometimes fax files have some junk at the begin-
-          ning.
-
-     -reversebits
-          Tells  g3topbm  to  interpret  bits   least-significant
-          first,  instead  of the default most-significant first.
-          Apparently some fax modems do it one way and others  do
-          it  the  other  way.   If you get a whole bunch of "bad
-          code word" messages, try using this flag.
-
-     -stretch
-          Tells g3topbm to stretch the image vertically by dupli-
-          cating each row.  This is for the low-quality transmis-
-          sion mode.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 References
-     The standard for Group 3 fax is defined in CCITT Recommenda-
-     tion T.4.
-
-2 Bugs
-     Probably.
-
-2 See_Also
-     pbmtog3, pbm
-
-2 Author
-     Copyright (C) 1989 by Paul Haeberli <paul@manray.sgi.com>.
-
-1 icontopbm
-     icontopbm - convert a Sun icon into a portable bitmap
-
-2 Synopsis
-     icontopbm [iconfile]
-
-2 Description
-     Reads a Sun icon as input.  Produces a  portable  bitmap  as
-     output.
-
-2 See_Also
-     pbmtoicon, pbm
-
-2 Author
-     Copyright (C) 1988 by Jef Poskanzer.
-
-1 gemtopbm
-     gemtopbm - convert a GEM .img file into a portable bitmap
-
-2 Synopsis
-     gemtopbm [-d] gemfile
-
-2 Description
-     Reads a GEM .img file as input.  Produces a portable  bitmap
-     as output.
-
-2 Options
-     -d   Produce output describing  the  contents  of  the  .img
-          file.
-
-2 Bugs
-     Does not support file containing more than one plane.  Can't
-     read from standard input.
-
-2 See_Also
-     pbmtogem, pbm
-
-2 Author
-     Copyright (C) 1988 Diomidis D. Spinellis (dds@cc.ic.ac.uk).
-
-1 macptopbm
-     macptopbm - convert a MacPaint file into a portable bitmap
-
-2 Synopsis
-     macptopbm [-extraskip N] [macpfile]
-
-2 Description
-     Reads a MacPaint file as input.  Produces a portable  bitmap
-     as output.
-
-2 Options
-     -extraskip
-          This flag is to get around a problem with some  methods
-          of  transferring  files  from the Mac world to the Unix
-          world.  Most of  these  methods  leave  the  Mac  files
-          alone, but a few of them add the "finderinfo" data onto
-          the front of the Unix file.  This means  an  extra  128
-          bytes  to skip over when reading the file.  The symptom
-          to watch for is  that  the  resulting  PBM  file  looks
-          shifted  to  one side.  If you get this, try -extraskip
-          128, and if that still doesn't look right  try  another
-          value.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     picttoppm, pbmtomacp, pbm
-
-2 Author
-     Copyright (C) 1988 by Jef Poskanzer.   The  MacPaint-reading
-     code   is   copyright   (c)  1987  by  Patrick  J.  Naughton
-     (naughton@wind.sun.com).
-
-1 mgrtopbm
-     mgrtopbm - convert a MGR bitmap into a portable bitmap
-
-2 Synopsis
-     mgrtopbm [mgrfile]
-
-2 Description
-     Reads a MGR bitmap as input.  Produces a portable bitmap  as
-     output.
-
-2 See_Also
-     pbmtomgr, pbm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pbmclean
-     pbmclean - flip isolated pixels in portable bitmap
-
-2 Synopsis
-     pbmclean [-connect] [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input. Outputs a portable  bitmap
-     with  every  pixel  which  has  less  than connect identical
-     neighbours inverted.  Pbmclean  can  be  used  to  clean  up
-     "snow" on bitmap images.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright (C) 1990 by Angus Duggan Copyright (C) 1989 by Jef
-     Poskanzer.
-
-     Permission  to  use,  copy,  modify,  and  distribute   this
-     software  and  its documentation for any purpose and without
-     fee is hereby granted, provided  that  the  above  copyright
-     notice  appear  in  all  copies and that both that copyright
-     notice and this permission notice appear in supporting docu-
-     mentation.   This  software  is  provided  "as  is"  without
-     express or implied warranty.
-
-1 pbmlife
-     pbmlife - apply Conway's rules of Life to a portable bitmap
-
-2 Synopsis
-     pbmlife [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Applies the rules of Life
-     to  it for one generation, and produces a portable bitmap as
-     output.
-
-     A white pixel in the image is interpreted as a live beastie,
-     and a black pixel as an empty space.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright (C) 1988, 1991 by Jef Poskanzer.
-
-1 pbmmake
-     pbmmake - create a blank bitmap of a specified size
-
-2 Synopsis
-     pbmmake [-white|-black|-gray ] width height
-
-2 Description
-     Produces a  portable  bitmap  of  the  specified  width  and
-     height.  The color defaults to white.
-
-2 Options
-     In addition to the usual -white  and  -black,  this  program
-     implements -gray.  This gives a simple 50% gray pattern with
-     1's and 0's alternating.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pbm, ppmmake
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pbmmask
-     pbmmask - create a mask bitmap from a regular bitmap
-
-2 Synopsis
-     pbmmask [-expand] [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Creates  a  corresponding
-     mask bitmap and writes it out.
-
-     The color to be interpreted as  "background"  is  determined
-     automatically.  Regardless of which color is background, the
-     mask will be white where the background is and  black  where
-     the figure is.
-
-     This lets you do a masked paste like this, for objects  with
-     a black background:
-         pbmmask obj > objmask
-         pnmpaste < dest -and objmask <x> <y> | pnmpaste -or obj <x> <y>
-     For objects with a white background, you can  either  invert
-     them or add a step:
-         pbmmask obj > objmask
-         pnminvert objmask | pnmpaste -and obj 0 0 > blackback
-         pnmpaste < dest -and objmask <x> <y> | pnmpaste -or blackback <x> <y>
-     Note that this three-step version  works  for  objects  with
-     black  backgrounds  too,  if you don't care about the wasted
-     time.
-
-     You can also use masks with graymaps and pixmaps, using  the
-     pnmarith tool.  For instance:
-         ppmtopgm obj.ppm | pgmtopbm -threshold | pbmmask > objmask.pbm
-         pnmarith -multiply dest.ppm objmask.pbm > t1.ppm
-         pnminvert objmask.pbm | pnmarith -multiply obj.ppm - > t2.ppm
-         pnmarith -add t1.ppm t2.ppm
-     An interesting variation on this is to pipe the mask through
-     the  pnmsmooth script before using it.  This makes the boun-
-     dary between the two images less sharp.
-
-     -expand
-          Expands the mask by one pixel out from the image.  This
-          is useful if you want a little white border around your
-          image.  (A better solution might be to turn the pbmlife
-          tool into a general cellular automaton tool...)
-
-2 See_Also
-     pnmpaste, pnminvert, pbm, pnmarith, pnmsmooth
-
-2 Author
-     Copyright (C) 1988 by Jef Poskanzer.
-
-1 pbmpscale
-     pbmpscale - enlarge a portable bitmap with edge smoothing
-
-2 Synopsis
-     pbmpscale N [ pbmfile ]
-
-2 Description
-     Reads a portable bitmap as input,  and  outputs  a  portable
-     bitmap enlarged N times. Enlargement is done by pixel repli-
-     cation, with some additional smoothing of corners and edges.
-
-2 See_Also
-     pnmenlarge, ppmscale, pbm
-
-2 Author
-     Copyright (C) 1990 by Angus Duggan Copyright (C) 1989 by Jef
-     Poskanzer.
-
-     Permission  to  use,  copy,  modify,  and  distribute   this
-     software  and  its documentation for any purpose and without
-     fee is hereby granted, provided  that  the  above  copyright
-     notice  appear  in  all  copies and that both that copyright
-     notice and this permission notice appear in supporting docu-
-     mentation.   This  software  is  provided  "as  is"  without
-     express or implied warranty.
-
-2 Notes
-     pbmpscale works best for  enlargements  of  2.  Enlargements
-     greater  than  2 should be done by as many enlargements of 2
-     as possible, followed by an  enlargement  by  the  remaining
-     factor.
-
-1 pbmreduce
-     pbmreduce - read a portable bitmap and reduce it N times
-
-2 Synopsis
-     pbmreduce [-floyd|-fs|-threshold ] [-value val] N [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Reduces it by a factor of
-     N, and produces a portable bitmap as output.
-
-     pbmreduce duplicates a lot of the functionality of pgmtopbm;
-     you  could  do  something  like  pnmscale  |  pgmtopbm,  but
-     pbmreduce is a lot faster.
-
-     pbmreduce can be used to "re-halftone" an image.  Let's  say
-     you  have  a  scanner  that  only  produces black&white, not
-     grayscale, and it does a terrible job  of  halftoning  (most
-     b&w  scanners  fit  this  description).   One way to fix the
-     halftoning is to scan at the  highest  possible  resolution,
-     say  300  dpi,  and  then  reduce by a factor of three or so
-     using pbmreduce.  You can even correct the brightness of  an
-     image, by using the -value flag.
-
-2 Options
-     By default, the halftoning after the reduction is  done  via
-     boustrophedonic  Floyd-Steinberg  error  diffusion; however,
-     the -threshold flag can be used to specify simple threshold-
-     ing.  This gives better results when reducing line drawings.
-
-     The -value flag alters the thresholding value for all quant-
-     izations.   It  should  be  a  real  number between 0 and 1.
-     Above 0.5 means darker images; below 0.5 means lighter.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pnmenlarge, pnmscale, pgmtopbm, pbm
-
-2 Author
-     Copyright (C) 1988 by Jef Poskanzer.
-
-1 pbmtext
-     pbmtext - render text into a bitmap
-
-2 Synopsis
-     pbmtext [-font fontfile] [text]
-
-2 Description
-     Takes the specified text, either a single line from the com-
-     mand line or multiple lines from standard input, and renders
-     it into a bitmap.
-
-2 Options
-     By default, pbmtext uses a  built-in  font.   You  can  also
-     specify  your own font with the -font flag.  The fontfile is
-     a pbm file, created in a very specific way.  In your  window
-     system  of choice, display the following text in the desired
-     (fixed-width) font:
-
-         M ",/^_[`jpqy| M
-
-         /  !"#$%&'()*+ /
-         < ,-./01234567 <
-         > 89:;<=>?@ABC >
-         @ DEFGHIJKLMNO @
-         _ PQRSTUVWXYZ[ _
-         { \]^_`abcdefg {
-         } hijklmnopqrs }
-         ~ tuvwxyz{|}~  ~
-
-         M ",/^_[`jpqy| M
-
-     Do a screen grab or window dump  of  that  text,  using  for
-     instance  xwd,  xgrabsc,  or screendump.  Convert the result
-     into a pbm file.  If necessary, use pnmcut to remove  every-
-     thing  except  the text.  Finally, run it through pnmcrop to
-     make sure the edges are right up against the text.   pbmtext
-     can figure out the sizes and spacings from that.
-
-2 See_Also
-     pbm, pnmcut, pnmcrop
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 pbmto4425
-     pbmto4425 - Display PBM images on an AT&T 4425 terminal
-
-2 Synopsis
-     pbmto4425 [pbmfile]
-
-2 Description
-     Pbmto4425 displays PBM format images on an AT&T  4425  ASCII
-     terminal  using  that  terminal's  mosaic graphics character
-     set.  The program should also  work  with  other  VT100-like
-     terminals with mosaic graphics character sets such as the C.
-     Itoh CIT-101, but it has not yet been  tested  on  terminals
-     other than the 4425.
-
-     Pbmto4425 puts the terminal into 132 column mode to  achieve
-     the  maximum  resolution  of the terminal.  In this mode the
-     terminal has a resolution of 264 columns by  69  rows.   The
-     pixels  have  an  aspect  ratio of 1:2.6, therefore an image
-     should be processed before being displayed in a manner  such
-     as this:
-
-          % pnmscale -xscale 2.6 pnmfile \
-               | pnmscale -xysize 264 69 \
-               | ppmtopgm \
-               | pgmtopbm \
-               | pbmto4425
-
-2 Author
-     Copyright (C) 1993 by Robert Perlberg
-
-1 pbmto10x
-     pbmto10x - convert a portable bitmap into Gemini 10X printer
-     graphics
-
-2 Synopsis
-     pbmto10x [-h] [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces a file of Gemini
-     10X printer graphics as output.  The 10x's printer codes are
-     alleged to be similar to the Epson codes.
-
-     Note that there is no 10xtopbm tool - this transformation is
-     one way.
-
-2 Options
-     The resolution is normally 60H by 72V.  If the  -h  flag  is
-     specified, resolution is 120H by 144V.  You may find it use-
-     ful to rotate landscape images before printing.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright (C) 1990 by Ken Yap
-
-1 pbmtoascii
-     pbmtoascii - convert a portable bitmap into ASCII graphics
-
-2 Synopsis
-     pbmtoascii [-1x2|-2x4] [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces a somewhat crude
-     ASCII graphic as output.
-
-     Note that there is no asciitopbm tool - this  transformation
-     is one-way.
-
-2 Options
-     The -1x2 and -2x4 flags give you two alternate ways for  the
-     bits  to  get  mapped to characters.  With 1x2, the default,
-     each character represents a group of 1 bit across by 2  bits
-     down.  With -2x4, each character represents 2 bits across by
-     4 bits down.  With the 1x2 mode you can see  the  individual
-     bits,  so it's useful for previewing small bitmaps on a non-
-     graphics terminal.  The 2x4 mode  lets  you  display  larger
-     bitmaps  on  a  standard  80-column display, but it obscures
-     bit-level details.  2x4 mode is  also  good  for  displaying
-     graymaps  -  "pnmscale  -width  158  |  pgmnorm  |  pgmtopbm
-     -thresh" should give good results.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright (C) 1988, 1992 by Jef Poskanzer.
-
-1 pbmtoatk
-     pbmtoatk - convert portable bitmap to Andrew Toolkit  raster
-     object
-
-2 Synopsis
-     pbmtoatk [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces a Andrew Toolkit
-     raster object as output.
-
-2 See_Also
-     atktopbm, pbm
-
-2 Author
-     Copyright (C) 1991 by Bill Janssen.
-
-1 pbmtobg
-     pbmtobg - convert a portable bitmap into BitGraph graphics
-
-2 Synopsis
-     pbmtobg [rasterop] [x y] < pbmfile
-
-2 Description
-     Reads a portable bitmap as  input.   Produces  BBN  BitGraph
-     terminal Display Pixel Data (DPD) sequence as output.
-
-     The rasterop can be specified on the command line.  If  this
-     is  omitted,  3 (replace) will be used.  A position in (x,y)
-     coordinates can also be specified.  If both are  given,  the
-     rasterop  comes  first.  The portable bitmap is always taken
-     from the standard input.
-
-     Note that there is no bgtopbm tool.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright 1989 by Mike Parker.
-
-1 pbmtocmuwm
-     pbmtocmuwm - convert a portable bitmap  into  a  CMU  window
-     manager bitmap
-
-2 Synopsis
-     pbmtocmuwm [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.   Produces  a  CMU  window
-     manager bitmap as output.
-
-2 See_Also
-     cmuwmtopbm, pbm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pbmtoepsi
-     pbmtoepsi - convert a portable bitmap into  an  encapsulated
-     PostScript style preview bitmap
-
-2 Synopsis
-     pbmtoepsi [-bbonly] [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produce  an  encapsulated
-     Postscript style bitmap as output. The output is not a stand
-     alone postscript file, it is only a  preview  bitmap,  which
-     can  be  included  in an encapsulated PostScript file.  Note
-     that there is no epsitopbm tool - this transformation is one
-     way.
-
-     This utility is a part of the pstoepsi tool by Doug  Crabill
-     (dgc@cs.purdue.edu).
-
-2 Options
-     -bbonly
-          Only create a boundary box,  don't  fill  it  with  the
-          image.
-
-2 See_Also
-     pbm, pnmtops, psidtopgm
-
-2 Author
-     Copyright (C) 1988 Jef Poskanzer, modified by  Doug  Crabill
-     1992
-
-1 pbmtoepson
-     pbmtoepson - convert a portable bitmap  into  Epson  printer
-     graphics
-
-2 Synopsis
-     pbmtoepson [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces a file of  Epson
-     printer graphics as output.
-
-     Note that there is no epsontopbm tool - this  transformation
-     is one way.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright      (C)      1991      by       John       Tiller
-     (tiller@galois.msfc.nasa.gov) and Jef Poskanzer.
-
-1 pbmtog3
-     pbmtog3 - convert a portable bitmap into a Group 3 fax file
-
-2 Synopsis
-     pbmtog3 [pbmfile]
-
-2 Description
-     Reads a portable bitmap as output.  Produces a Group  3  fax
-     file as input.
-
-REFERENCES
-     The standard for Group 3 fax is defined in CCITT Recommenda-
-     tion T.4.
-
-2 Bugs
-     Probably.
-
-2 See_Also
-     g3topbm, pbm
-
-2 Author
-     Copyright (C) 1989 by Paul Haeberli <paul@manray.sgi.com>.
-
-1 pbmtogem
-     pbmtogem - convert a portable bitmap into a GEM .img file
-
-2 Synopsis
-     pbmtogem [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces a GEM .img  file
-     as output.
-
-2 Bugs
-     It does not support compression of the data.
-
-2 See_Also
-     gemtopbm, pbm
-
-2 Author
-     Copyright (C) 1988 by David Beckemeyer (bdt!david)  and  Jef
-     Poskanzer.
-
-1 pbmtogo
-     pbmtogo - convert a portable bitmap into compressed  GraphOn
-     graphics
-
-2 Synopsis
-     pbmtogo [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.   Produces  2D  compressed
-     GraphOn  graphics as output.  Be sure to set up your GraphOn
-     with the following modes: 8  bits  /  no  parity;  obeys  no
-     XON/XOFF;  NULs  are  accepted.   These  are all on the Comm
-     menu.  Also, remember to turn off tty post processing.  Note
-     that there is no gotopbm tool.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright (C) 1988, 1989 by Jef Poskanzer, Michael Haberler,
-     and Bo Thide'.
-
-1 pbmtoicon
-     pbmtoicon - convert a portable bitmap into a Sun icon
-
-2 Synopsis
-     pbmtoicon [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces a  Sun  icon  as
-     output.
-
-2 See_Also
-     icontopbm, pbm
-
-2 Author
-     Copyright (C) 1988 by Jef Poskanzer.
-
-1 pbmtolj
-     pbmtolj - convert a portable bitmap into HP LaserJet format
-
-2 Synopsis
-     pbmtolj [-resolution N] [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces HP LaserJet data
-     as output.
-
-     Note that there is no ljtopbm tool.
-
-2 Options
-     -resolution
-          Specifies the resolution of the output device, in  dpi.
-          Typical  values  are 75, 100, 150, 300.  The default is
-          75.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright (C) 1988 by Jef Poskanzer and Michael Haberler.
-
-1 pbmtoln03
-     pbmtoln03 - convert protable bitmap to DEC LN03+ Sixel  out-
-     put
- 
-2 Synopsis
-     pbmtoln03 [-rltbf] pbmfile
- 
-2 Description
-     Reads a portable bitmap as  input.   Produces  a  DEC  LN03+
-     Sixel output file.
- 
-2 Options
-     -l nn
-          Use "nn" as value for left margin (default 0).
- 
-     -r nn
-          Use "nn" as value for right margin (default 2400).
- 
-     -t nn
-          Use "nn" as value for top margin (default 0).
- 
-     -b nn
-          Use "nn" as value for bottom margin (default 3400).
- 
-     -f nn
-          Use "nn" as value for form length (default 3400).
- 
-2 See_Also
-     pbm
- 
-2 Author
-     Tim Cook, 26 Feb 1992
- 
-1 pbmtolps
-     pbmtolps - convert portable bitmap to PostScript
-
-2 Synopsis
-     pbmtolps [ -dpi n ] [ pbmfile ]
-
-2 Description
-     Reads a portable bitmap as input,  and  outputs  PostScript.
-     The output Postscript uses lines instead of the image opera-
-     tor to generate a (device dependent) picture which  will  be
-     imaged much faster.
-
-     The Postscript path length is constrained to  be  less  that
-     1000  points  so  that  no  limits  are overrun on the Apple
-     Laserwriter and (presumably) no other printers.
-
-2 See_Also
-     pgmtops, ppmtops, pbm
-
-2 Author
-     George Phillips <phillips@cs.ubc.ca>
-
-1 pbmtomacp
-     pbmtomacp - convert a portable bitmap into a MacPaint file
-
-2 Synopsis
-     pbmtomacp  [-l  left]  [-r  right]  [-b  bottom]  [-t   top]
-     [pbmfile]
-
-2 Description
-     Reads a portable bitmap  as  input.   If  no  input-file  is
-     given,  standard input is assumed.  Produces a MacPaint file
-     as output.
-
-     The generated file is only the data fork of a picture.   You
-     will  need  a program such as mcvert to generate a Macbinary
-     or a BinHex file that contains the necessary information  to
-     identify the file as a PNTG file to MacOS.
-
-2 Options
-     Left, right, bottom & top let you define a square  into  the
-     pbm  file,  that  must  be  converted.  Default is the whole
-     file.  If the file is too large  for  a  MacPaint-file,  the
-     bitmap is cut to fit from ( left, top ).
-
-2 Bugs
-     The source code contains comments in a language  other  than
-     English.
-
-2 See_Also
-     ppmtopict, macptopbm, pbm, mcvert
-
-2 Author
-     Copyright   (C)   1988   by    Douwe    van    der    Schaaf
-     (...!mcvax!uvapsy!vdschaaf).
-
-1 pbmtomgr
-     pbmtomgr - convert a portable bitmap into a MGR bitmap
-
-2 Synopsis
-     pbmtomgr [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces a MGR bitmap  as
-     output.
-
-2 See_Also
-     mgrtopbm, pbm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pbmtopi3
-     pbmtopi3 - convert a portable bitmap  into  an  Atari  Degas
-     .pi3 file
-
-2 Synopsis
-     pbmtopi3 [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces an  Atari  Degas
-     .pi3 file as output.
-
-2 See_Also
-     pi3topbm, pbm, ppmtopi1, pi1toppm
-
-2 Author
-     Copyright (C) 1988 by David Beckemeyer (bdt!david)  and  Jef
-     Poskanzer.
-
-1 pbmtoplot
-     pbmtoplot - convert a portable bitmap into  a  Unix  plot
-     file
-
-2 Synopsis
-     pbmtoplot [pbmfile]
-
-2 Description
-     Reads a portable bitmap as  input.   Produces  a  Unix  plot
-     file.
-
-     Note that there is no plottopbm tool -  this  transformation
-     is one-way.
-
-2 See_Also
-     pbm, plot
-
-2 Author
-     Copyright (C) 1990 by Arthur David Olson.
-
-1 pbmtoptx
-     pbmtoptx - convert a portable bitmap into Printronix printer
-     graphics
-
-2 Synopsis
-     pbmtoptx [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces a file of  Prin-
-     tronix printer graphics as output.
-
-     Note that there is no ptxtopbm tool - this transformation is
-     one way.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright (C) 1988 by Jef Poskanzer.
-
-1 pbmtox10bm
-     pbmtox10bm - convert a portable bitmap into an X10 bitmap
-
-2 Synopsis
-     pbmtox10bm [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces an X10 bitmap as
-     output.  This older format is maintained for compatibility.
-
-     Note that there is no x10bmtopbm tool, because xbmtopbm  can
-     read both X11 and X10 bitmaps.
-
-2 See_Also
-     pbmtoxbm, xbmtopbm, pbm
-
-2 Author
-     Copyright (C) 1988 by Jef Poskanzer.
-
-1 pbmtoxbm
-     pbmtoxbm - convert a portable bitmap into an X11 bitmap
-
-2 Synopsis
-     pbmtoxbm [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces an X11 bitmap as
-     output.
-
-2 See_Also
-     pbmtox10bm, xbmtopbm, pbm
-
-2 Author
-     Copyright (C) 1988 by Jef Poskanzer.
-
-1 pbmtoybm
-     pgmtoybm - convert a  portable  bitmap  into  a  Bennet  Yee
-     "face" file
-
-2 Synopsis
-     pbmtoybm [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces as output a file
-     acceptable  to  the  face  and  xbm  programs  by Bennet Yee
-     (bsy+@cs.cmu.edu).
-
-2 See_Also
-     ybmtopbm, pbm, face, face, xbm
-
-2 Author
-     Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer.
-
-1 pbmtozinc
-     pbmtozinc - convert a portable bitmap into a Zinc bitmap
-
-2 Synopsis
-     pbmtozinc [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input.  Produces a bitmap in  the
-     format  used by the Zinc Interface Library (ZIL) Version 1.0
-     as output.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright   (C)   1988    by    James    Darrell    McCauley
-     (jdm5548@diamond.tamu.edu) and Jef Poskanzer.
-
-1 pbmupc
-     pbmupc - create a Universal Product Code bitmap
-
-2 Synopsis
-     pbmupc [-s1|-s2] type manufac product
-
-2 Description
-     Generates a Universal Product Code symbol.  The three  argu-
-     ments  are:  a one digit product type, a five digit manufac-
-     turer code, and a five digit product code.  For example,  "0
-     72890 00011" is the code for Heineken.
-
-     As presently configured, pbmupc produces a bitmap  230  bits
-     wide and 175 bits high.  The size can be altered by changing
-     the defines at the beginning of the program, or  by  running
-     the output through pnmenlarge or pnmscale.
-
-2 Options
-     The -s1 and -s2 flags select the style of UPC  to  generate.
-     The default, -s1, looks more or less like this:
-      ||||||||||||||||
-      ||||||||||||||||
-      ||||||||||||||||
-      ||||||||||||||||
-     0||12345||67890||5
-     The other style, -s2, puts the product type digit higher up,
-     and doesn't display the checksum digit:
-      ||||||||||||||||
-      ||||||||||||||||
-     0||||||||||||||||
-      ||||||||||||||||
-      ||12345||67890||
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pi3topbm
-     pi3topbm - convert an Atari Degas .pi3 file into a  portable
-     bitmap
-
-2 Synopsis
-     pi3topbm [pi3file]
-
-2 Description
-     Reads an Atari Degas .pi3 file as input.  Produces  a  port-
-     able bitmap as output.
-
-2 See_Also
-     pbmtopi3, pbm, pi1toppm, ppmtopi1
-
-2 Author
-     Copyright (C)  1988  by  David  Beckemeyer  (bdt!david)  and
-     Diomidis D. Spinellis.
-
-1 pktopbm
-     pktopbm - convert packed  (PK)  format  font  into  portable
-     bitmap(s)
-
-2 Synopsis
-     pktopbm pkfile[.pk] [-c num] pbmfile ...
-
-2 Description
-     Reads a packed (PK) font file as input, and  produces  port-
-     able  bitmaps as output. If the filename "-" is used for any
-     of the filenames, the standard  input  stream  (or  standard
-     output where appropriate) will be used.
-
-2 Options
-     -c num
-          Sets the character number of the next bitmap written to
-          num.
-
-2 See_Also
-     pbmtopk, pbm
-
-2 Author
-     Adapted  from  Tom  Rokicki's   pxtopk   by   Angus   Duggan
-     <ajcd@uk.ac.ed.lfcs>.
-
-1 xbmtopbm
-     xbmtopbm - convert an X11 or X10 bitmap into a portable bit-
-     map
-
-2 Synopsis
-     xbmtopbm [bitmapfile]
-
-2 Description
-     Reads an X11 or X10 bitmap as input.   Produces  a  portable
-     bitmap as output.
-
-2 See_Also
-     pbmtoxbm, pbmtox10bm, pbm
-
-2 Author
-     Copyright (C) 1988 by Jef Poskanzer.
-
-1 ybmtopbm
-     ybmtopbm - convert a Bennet Yee "face" file into a  portable
-     bitmap
-
-2 Synopsis
-     ybmtopbm [facefile]
-
-2 Description
-     Reads a file acceptable to the face and xbm programs by Ben-
-     net Yee (bsy+@cs.cmu.edu).  Writes a portable bitmap as out-
-     put.
-
-2 See_Also
-     pbmtoybm, pbm, face, face, xbm
-
-2 Author
-     Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer.
-
-1 pbmtopk
-     pbmtopk - convert a portable bitmap into a packed (PK)  for-
-     mat font
-
-2 Synopsis
-     pbmtopk pkfile[.pk] tfmfile[.tfm] resolution [-s designsize]
-     [-p num param...] [-C codingscheme] [-F family] [-f optfile]
-     [-c num] [-W width] [-H height] [-D  depth]  [-I  ital]  [-h
-     horiz] [-v vert] [-x xoff] [-y yoff] [pbmfile]...
-
-2 Description
-     Reads portable bitmaps as input, and produces a packed  (PK)
-     font  file  and  a TFM (TeX font metric) file as output. The
-     resolution parameter indicates the resolution of  the  font,
-     in dots per inch. If the filename "-" is used for any of the
-     filenames, the standard input  stream  (or  standard  output
-     where appropriate) will be used.
-
-2 Options
-     -s designsize
-          Sets the design size  of  the  font,  in  TeX's  points
-          (72.27pt  to  the  inch). The default design size is 1.
-          The TFM parameters are given as multiples of the design
-          size.
-
-     -p num param...
-          Sets the first num font parameters for  the  font.  The
-          first  seven  parameters are the slant, interword spac-
-          ing, interword space  stretchability,  interword  space
-          shrinkability,  x-height, quad width, and post-sentence
-          extra space of the font. Math and symbol fonts may have
-          more  parameters;  see The TeXbook for a list of these.
-          Reasonable default values  are  chosen  for  parameters
-          which are not specified.
-
-     -C codingscheme
-          Sets the coding scheme comment in the TFM file.
-
-     -F family
-          Sets the font family comment in the TFM file.
-
-     -f optfile
-          Reads the file optfile, which should contain a lines of
-          the form:
-
-             filename xoff yoff horiz vert width height depth ital
-
-          The pbm files specified by the filename parameters  are
-          inserted  consecutively  in the font with the specified
-          attributes. If any of the attributes  are  omitted,  or
-          replaced  with  "*", a default value will be calculated
-          from the size of the bitmap. The settings  of  the  -W,
-          -H,  -D, -I, -h, -v, -x, and -y options do not affected
-          characters created in this way.  The  character  number
-          can  be  changed by including a line starting with "=",
-          followed by the new number.  Lines beginning  with  "%"
-          or "#" are ignored.
-
-     -c num
-          Sets the character number of the  next  bitmap  encoun-
-          tered to num.
-
-     -W width
-          Sets the TFM width of the next character to  width  (in
-          design size multiples).
-
-     -H height
-          Sets the TFM height of the next character to height (in
-          design size multiples).
-
-     -D depth
-          Sets the TFM depth of the next character to  depth  (in
-          design size multiples).
-
-     -I ital
-          Sets the italic correction of  the  next  character  to
-          ital (in design size multiples).
-
-     -h horiz
-          Sets the horizontal escapement of the next character to
-          horiz (in pixels).
-
-     -v vert
-          Sets the vertical escapement of the next  character  to
-          vert (in pixels).
-
-     -x xoff
-          Sets the horizontal offset of  the  next  character  to
-          xoff (in pixels).
-
-     -y yoff
-          Sets the vertical offset of the next character to  yoff
-          (in pixels, from the top row).
-
-2 See_Also
-     pktopbm, pbm
-
-2 Author
-     Adapted  from  Tom  Rokicki's   pxtopk   by   Angus   Duggan
-     <ajcd@uk.ac.ed.lfcs>.
-
-1 libpbm              C LIBRARY FUNCTIONS              libpbm
-     libpbm - functions to support portable bitmap programs
-
-2 Synopsis
-     #include <pbm.h>
-     cc ... libpbm.a
-
-
-2 Description - PACKAGE-WIDE ROUTINES
-  KEYWORD MATCHING
-     int pm_keymatch( char* str, char* keyword, int minchars )
-
-     Does a case-insensitive match of str against  keyword.   str
-     can be a leading sunstring of keyword, but at least minchars
-     must be present.
-
-  LOG BASE TWO
-     int pm_maxvaltobits( int maxval )
-     int pm_bitstomaxval( int bits )
-
-     Convert between a maxval and  the  minimum  number  of  bits
-     required to hold it.
-
-  MESSAGES AND ERRORS
-     void pm_message( char* fmt, ... )
-
-     printf() style routine to write an informational message.
-
-     void pm_error( char* fmt, ... )
-
-     printf() style routine to write an error message and abort.
-
-     void pm_usage( char* usage )
-
-     Write a usage message.   The  string  should  indicate  what
-     arguments are to be provided to the program.
-
-  GENERIC FILE MANAGEMENT
-     FILE* pm_openr( char* name )
-
-     Open the given file  for  reading,  with  appropriate  error
-     checking.   A  filename  of  "-"  is  taken as equivalent to
-     stdin.
-
-     FILE* pm_openw( char* name )
-
-     Open the given file  for  writing,  with  appropriate  error
-     checking.
-
-     void pm_close( FILE* fp )
-
-     Close the file descriptor, with appropriate error checking.
-
-  ENDIAN I/O
-     int pm_readbigshort( FILE* in, short* sP )
-     int pm_writebigshort( FILE* out, short s )
-     int pm_readbiglong( FILE* in, long* lP )
-     int pm_writebiglong( FILE* out, long l )
-     int pm_readlittleshort( FILE* in, short* sP )
-     int pm_writelittleshort( FILE* out, short s )
-     int pm_readlittlelong( FILE* in, long* lP )
-     int pm_writelittlelong( FILE* out, long l )
-
-     Routines to read and write short and  long  ints  in  either
-     big- or little-endian byte order.
-
-2 Description - PBM-SPECIFIC ROUTINES
-  TYPES AND CONSTANTS
-     typedef ... bit;
-     #define PBM_WHITE ...
-     #define PBM_BLACK ...
-
-     each bit should contain only  the  values  of  PBM_WHITE  or
-     PBM_BLACK.
-
-     #define PBM_FORMAT ...
-     #define RPBM_FORMAT ...
-     #define PBM_TYPE PBM_FORMAT
-     #define PBM_FORMAT_TYPE(f) ...
-
-     For distinguishing different file formats and types.
-
-  INITIALIZATION
-     void pbm_init( int* argcP, char* argv[] )
-
-     All PBM programs must call this routine.
-
-  MEMORY MANAGEMENT
-     bit** pbm_allocarray( int cols, int rows )
-
-     Allocate an array of bits.
-
-     bit* pbm_allocrow( int cols )
-
-     Allocate a row of the given number of bits.
-
-     void pbm_freearray( bit** bits, int rows )
-
-     Free the array allocated  with  pbm_allocarray()  containing
-     the given number of rows.
-
-     void pbm_freerow( bit* bitrow )
-
-     Free a row of bits.
-
-  READING FILES
-     void pbm_readpbminit( FILE* fp, int* colsP, int* rowsP, int* formatP )
-
-     Read the header from a PBM file, filling in the  rows,  cols
-     and format variables.
-
-     void pbm_readpbmrow( FILE* fp, bit* bitrow, int cols, int format )
-
-     Read a row of bits into the bitrow array.  Format  and  cols
-     were filled in by pbm_readpbminit().
-
-     bit** pbm_readpbm( FILE* fp, int* colsP, int* rowsP )
-
-     Read an entire bitmap file into memory, returning the  allo-
-     cated  array  and  filling  in  the rows and cols variables.
-     This function combines  pbm_readpbminit(),  pbm_allocarray()
-     and pbm_readpbmrow().
-
-     char* pm_read_unknown_size( FILE* fp, long* nread )
-
-     Read an entire file or input stream of  unknown  size  to  a
-     buffer.   Allocate memory more memory as needed. The calling
-     routine has  to  free  the  allocated  buffer  with  free().
-     pm_read_unknown_size()  returns  a  pointer to the allocated
-     buffer. The nread argument returns the number of bytes read.
-
-  WRITING FILES
-     void pbm_writepbminit( FILE* fp, int cols, int rows, int forceplain )
-
-     Write the header for a portable bitmap file.  The forceplain
-     flag forces a plain-format file to be written, as opposed to
-     a raw-format one.
-
-     void pbm_writepbmrow( FILE* fp, bit* bitrow, int cols, int forceplain )
-
-     Write a row from a portable bitmap.
-
-     void pbm_writepbm( FILE* fp, bit** bits, int cols, int rows, int forceplain )
-
-     Write the header and all data for a portable  bitmap.   This
-     function combines pbm_writepbminit() and pbm_writepbmrow().
-
-2 See_Also
-     libpgm, libppm, libpnm
-
-2 Author
-     Copyright (C) 1989, 1991 by Tony Hansen and Jef Poskanzer.
-
-1 pbm
-     pbm - portable bitmap file format
-
-2 Description
-     The portable bitmap format is a  lowest  common  denominator
-     monochrome  file format.  It was originally designed to make
-     it reasonable to mail bitmaps  between  different  types  of
-     machines  using  the  typical stupid network mailers we have
-     today.  Now it serves as the common language of a large fam-
-     ily of bitmap conversion filters.  The definition is as fol-
-     lows:
-
-     - A "magic number" for identifying the  file  type.   A  pbm
-       file's magic number is the two characters "P1".
-
-     - Whitespace (blanks, TABs, CRs, LFs).
-
-     - A width, formatted as ASCII characters in decimal.
-
-     - Whitespace.
-
-     - A height, again in ASCII decimal.
-
-     - Whitespace.
-
-     - Width * height bits, each either '1' or '0',  starting  at
-       the  top-left  corner  of the bitmap, proceeding in normal
-       English reading order.
-
-     - The character '1' means black, '0' means white.
-
-     - Whitespace in the bits section is ignored.
-
-     - Characters from a "#" to the next end-of-line are  ignored
-       (comments).
-
-     - No line should be longer than 70 characters.
-
-     Here is an example of a small bitmap in this format:
-     P1
-     # feep.pbm
-     24 7
-     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-     0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0
-     0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
-     0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0
-     0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0
-     0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 0
-     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
-
-     Programs that read this format should be as lenient as  pos-
-     sible, accepting anything that looks remotely like a bitmap.
-     There is also a variant on the format, available by  setting
-     the  RAWBITS  option  at compile time.  This variant is dif-
-     ferent in the following ways:
-
-     - The "magic number" is "P4" instead of "P1".
-
-     - The bits are stored eight per byte, high bit first low bit
-       last.
-
-     - No whitespace is allowed in the bits section, and  only  a
-       single  character  of  whitespace (typically a newline) is
-       allowed after the height.
-
-     - The files are eight times smaller and many times faster to
-       read and write.
-
-2 See_Also
-    atktopbm, brushtopbm,  cmuwmtopbm,  g3topbm,  gemtopbm, icontopbm,
-    macptopbm,  mgrtopbm,  pi3topbm,   xbmtopbm,  ybmtopbm,  pbmto10x,
-    pnmtoascii, pbmtoatk, pbmtobbnbg, pbmtocmuwm, pbmtoepson, pbmtog3,
-    pbmtogem,  pbmtogo,  pbmtoicon,  pbmtolj,  pbmtomacp,    pbmtomgr,
-    pbmtopi3,  pbmtoplot,  pbmtoptx,  pbmtox10bm,  pbmtoxbm, pbmtoybm,
-    pbmtozinc,  pbmlife, pbmmake, pbmmask, pbmreduce, pbmtext, pbmupc,
-    pnm, pgm, ppm
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 bioradtopgm
-     bioradtopgm - convert a Biorad confocal file into a portable
-     graymap
-
-2 Synopsis
-     bioradtopgm [-image#] [imagedata]
-
-2 Description
-     Reads a Biorad confocal file as input.  Produces a  portable
-     graymap  as  output.  If the resulting image is upside down,
-     run it through pnmflip -tb .
-
-2 Options
-     -image#
-          A Biorad image file may contain more  than  one  image.
-          With  this flag, you can specify which image to extract
-          (only one at a time). The first image in the  file  has
-          number  zero.  If  no  image  number  is supplied, only
-          information about the image  size  and  the  number  of
-          images  in  the input is printed out. No output is pro-
-          duced.
-
-2 Bugs
-     A Biorad image may be in word format. If PbmPlus is not com-
-     piled  with  the "BIGGRAYS" flag, word files can not be con-
-     verted. See the Makefile.
-
-2 See_Also
-     pgm, pnmflip
-
-2 Authors
-     Copyright (C) 1993 by Oliver Trepte
-
-1 fitstopgm
-     fitstopgm - convert a FITS file into a portable graymap
-
-2 Synopsis
-     fitstopgm [-image N] [FITSfile]
-
-2 Description
-     Reads a FITS file as input.  Produces a portable graymap  as
-     output.   The results may need to be flipped top for bottom;
-     if so, just pipe the output through pnmflip -tb.
-
-2 Options
-     The -image option is for FITS files with  three  axes.   The
-     assumption  is  that  the third axis is for multiple images,
-     and this option lets you select which one you want.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 References
-     FITS stands for Flexible Image  Transport  System.   A  full
-     description can be found in Astronomy & Astrophysics Supple-
-     ment Series 44 (1981), page 363.
-
-2 See_Also
-     pgmtofits, pgm, pnmflip
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 fstopgm
-     fstopgm - convert a Usenix FaceSaver(tm) file into  a  port-
-     able graymap
-
-2 Synopsis
-     fstopgm [fsfile]
-
-2 Description
-     Reads a Usenix FaceSaver(tm)  file  as  input.   Produces  a
-     portable graymap as output.
-
-     FaceSaver(tm)  files  sometimes  have  rectangular   pixels.
-     While  fstopgm  won't  re-scale  them into square pixels for
-     you, it will give you the precise pnmscale command that will
-     do  the job.  Because of this, reading a FaceSaver(tm) image
-     is a two-step process.  First you do:
-       fstopgm > /dev/null
-     This will tell you whether you need to  use  pnmscale.  Then
-     use one of the following pipelines:
-       fstopgm | pgmnorm
-       fstopgm | pnmscale -whatever | pgmnorm
-     To go to PBM, you want something more like one of these:
-       fstopgm | pnmenlarge 3 | pgmnorm | pgmtopbm
-       fstopgm | pnmenlarge 3 | pnmscale <whatever> | pgmnorm | pgmtopbm
-     You want to enlarge when going to a bitmap because otherwise
-     you  lose information; but enlarging by more than 3 does not
-     look good.
-
-     FaceSaver is a registered trademark of  Metron  Computerware
-     Ltd. of Oakland, CA.
-
-2 See_Also
-     pgmtofs, pgm, pgmnorm, pnmenlarge,  pnmscale,
-     pgmtopbm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 hipstopgm
-     hipstopgm - convert a HIPS file into a portable graymap
-
-2 Synopsis
-     hipstopgm [hipsfile]
-
-2 Description
-     Reads a HIPS file as input.  Produces a portable graymap  as
-     output.
-
-     If the HIPS file contains more than one frame  in  sequence,
-     hipstopgm will concatenate all the frames vertically.
-
-     HIPS is a format developed at the Human Information Process-
-     ing Laboratory, NYU.
-
-2 See_Also
-     pgm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 lispmtopgm
-     lispmtopgm - convert a Lisp Machine  bitmap  file  into  pgm
-     format
-
-2 Synopsis
-     lispmtopgm [lispmfile]
-
-2 Description
-     Reads a Lisp Machine bitmap as input.  Produces  a  portable
-     graymap as output.
-
-     This is the file format written by  the  tv:write-bit-array-
-     file function on TI Explorer and Symbolics lisp machines.
-
-     Multi-plane bitmaps on lisp  machines  are  color;  but  the
-     lispm  image file format does not include a color map, so we
-     must treat it as a graymap instead.  This is unfortunate.
-
-2 See_Also
-     pgmtolispm, pgm
-
-2 Bugs
-     The Lispm bitmap file format is a bit quirky;   Usually  the
-     image  in  the  file  has  its  width rounded up to the next
-     higher multiple of 32, but not always.  If the width is  not
-     a  multiple  of  32,  we  don't  deal  with it properly, but
-     because of the Lispm microcode, such arrays are probably not
-     image data anyway.
-
-     Also, the lispm code for saving bitmaps has a bug,  in  that
-     if  you  are writing a bitmap which is not mod32 across, the
-     file may be up to 7 bits too short!  They round down instead
-     of up, and we don't handle this bug gracefully.
-
-     No color.
-
-2 Author
-     Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer.
-
-1 pbmtopgm
-     pbmtopgm - convert portable bitmap to  portable  graymap  by
-     averaging areas
-
-2 Synopsis
-     pbmtopgm <width> <height> [pbmfile]
-
-2 Description
-     Reads a portable bitmap as input. Outputs a portable graymap
-     created  by  averaging  the number of pixels within a sample
-     area of width by height around each point. Pbmtopgm is simi-
-     lar  to a special case of ppmconvol. A ppmsmooth step may be
-     needed after pbmtopgm.
-
-     Pbmtopgm has the effect of anti-aliasing bitmaps which  con-
-     tain distinct line features.
-
-2 See_Also
-     pbm
-
-2 Author
-     Copyright (C) 1990 by Angus Duggan Copyright (C) 1989 by Jef
-     Poskanzer.
-
-     Permission  to  use,  copy,  modify,  and  distribute   this
-     software  and  its documentation for any purpose and without
-     fee is hereby granted, provided  that  the  above  copyright
-     notice  appear  in  all  copies and that both that copyright
-     notice and this permission notice appear in supporting docu-
-     mentation.   This  software  is  provided  "as  is"  without
-     express or implied warranty.
-
-2 Notes
-     Pbmtopgm works best with odd sample width and heights.
-
-1 pgmbentley
-     pgmbentley - Bentleyize a portable graymap
-
-2 Synopsis
-     pgmbentley [pgmfile]
-
-2 Description
-     Reads a portable graymap as  input.   Performs  The  Bentley
-     Effect, and writes a portable graymap as output.
-
-     The Bentley Effect is described in "Beyond  Photography"  by
-     Holzmann,  chapter  4,  photo  4.   It's a vertical smearing
-     based on brightness.
-
-2 See_Also
-     pgmoil, ppmrelief, pgm
-
-2 Author
-     Copyright (C) 1990 by Wilson Bent (whb@hoh-2.att.com)
-
-1 pgmenhance
-     pgmenhance - edge-enhance a portable graymap
-
-2 Synopsis
-     pgmenhance [-N] [pgmfile]
-
-2 Description
-     Reads a portable graymap as input.  Enhances the edges,  and
-     writes a portable graymap as output.
-
-     The  edge  enhancing  technique  is  taken  from  Philip  R.
-     Thompson's "xim" program, which in turn took it from section
-     6 of "Digital Halftones by Dot Diffusion", D. E. Knuth,  ACM
-     Transaction  on  Graphics Vol. 6, No. 4, October 1987, which
-     in turn got it from two 1976 papers by J. F. Jarvis et. al.
-
-2 Options
-     The optional -N flag should be a digit from 1 to  9.   1  is
-     the  lowest  level  of  enhancement,  9  is the highest, The
-     default is 9.
-
-2 See_Also
-     pgmedge, pgm, pbm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pgmhist
-     pgmhist - print a histogram of  the  values  in  a  portable
-     graymap
-
-2 Synopsis
-     pgmhist [pgmfile]
-
-2 Description
-     Reads a portable graymap as input.  Prints  a  histogram  of
-     the gray values.
-
-2 See_Also
-     pgmnorm, pgm, ppmhist
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pgmnoise
-     pgmnoise - create a graymap made up of white noise
-
-2 Synopsis
-     pgmnoise width height
-
-2 Description
-     Creates a portable graymap that is made up of random  pixels
-     with gray values in the range of 0 to PGM_MAXMAXVAL (depends
-     on the compilation, either 255 or 65535). The graymap has  a
-     size of width * height pixels.
-
-2 See_Also
-     pgm(5)
-
-2 Author
-     Copyright (C) 1993 by Frank Neumann
-
-1 pgmnorm
-     pgmnorm - normalize the contrast in a portable graymap
-
-2 Synopsis
-     pgmnorm [-bpercent N | -bvalue N] [-wpercent N | -wvalue  N]
-     [pgmfile]
-
-2 Description
-     Reads a portable graymap as input.  Normalizes the  contrast
-     by  forcing the lightest pixels to white, the darkest pixels
-     to black, and linearly rescaling the ones  in  between;  and
-     produces a portable graymap as output.
-
-2 Options
-     By default, the darkest 2 percent of all pixels  are  mapped
-     to  black,  and  the lightest 1 percent are mapped to white.
-     You can override these percentages by  using  the  -bpercent
-     and  -wpercent  flags,  or  you  can specify the exact pixel
-     values to be mapped by using the -bvalue and -wvalue  flags.
-     Appropriate  numbers  for  the  flags can be gotten from the
-     pgmhist tool.  If you just want  to  enhance  the  contrast,
-     then choose values at elbows in the histogram; e.g. if value
-     29 represents 3% of the image but value 30  represents  20%,
-     choose  30  for  bvalue.   If you want to lighten the image,
-     then set bvalue to 0 and just fiddle with wvalue; similarly,
-     to  darken  the  image,  set  wvalue to maxval and play with
-     bvalue.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pgmhist, pgm
-
-2 Author
-     Partially based on the fbnorm filter  in  Michael  Mauldin's
-     "Fuzzy Pixmap" package.
-
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pgmoil
-     pgmoil - turn a portable graymap into an oil painting
-
-2 Synopsis
-     pgmoil [-n N] [pgmfile]
-
-2 Description
-     Reads a portable graymap as input.  Does an "oil  transfer",
-     and writes a portable graymap as output.
-
-     The oil transfer is described  in  "Beyond  Photography"  by
-     Holzmann,  chapter  4,  photo  7.   It's a sort of localized
-     smearing.
-
-2 Options
-     The optional -n flag controls the size of the area  smeared.
-     The default value is 3.
-
-2 Bugs
-     Takes a long time to run.
-
-2 See_Also
-     pgmbentley, ppmrelief, pgm
-
-2 Author
-     Copyright (C) 1990 by Wilson Bent (whb@hoh-2.att.com)
-
-1 pgmramp
-     pgmramp - generate a grayscale ramp
-
-2 Synopsis
-     pgmramp -lr|-tb | -rectangle|-ellipse width height
-
-2 Description
-     Generates a graymap  of  the  specified  size  containing  a
-     black-to-white ramp.  These ramps are useful for multiplying
-     with other images, using the pnmarith tool.
-
-2 Options
-     -lr  A left to right ramp.
-
-     -tb  A top to bottom ramp.
-
-     -rectangle
-          A rectangular ramp.
-
-     -ellipse
-          An elliptical ramp.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pnmarith, pgm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pgmtofits
-     pgmtofits - convert a portable graymap into FITS format
-
-2 Synopsis
-     pgmtofits [pgmfile]
-
-2 Description
-     Reads a portable graymap as input.  Produces a FITS file  as
-     output.
-
-     FITS stands for Flexible Image  Transport  System.   A  full
-     description can be found in Astronomy & Astrophysics Supple-
-     ment Series 44 (1981), page 363.
-
-2 See_Also
-     fitstopgm, pgm
-
-2 Author
-     Copyright (C) 1989 by Wilson H. Bent (whb@hoh-2.att.com).
-
-1 pgmtofs
-     pgmtofs - convert portable graymap to  Usenix  FaceSaver(tm)
-     format
-
-2 Synopsis
-     pgmtofs [pgmfile]
-
-2 Description
-     Reads  a  portable  graymap  as  input.    Produces   Usenix
-     FaceSaver(tm) format as output.
-
-     FaceSaver is a registered trademark of  Metron  Computerware
-     Ltd. of Oakland, CA.
-
-2 See_Also
-     fstopgm, pgm
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 pgmtolispm
-     pgmtolispm - convert a portable graymap  into  Lisp  Machine
-     format
-
-2 Synopsis
-     pgmtolispm [pgmfile]
-
-2 Description
-     Reads a portable graymap as input.  Produces a Lisp  Machine
-     bitmap as output.
-
-     This is the file format read by  the  tv:read-bit-array-file
-     function on TI Explorer and Symbolics lisp machines.
-
-     Given a pgm (instead of a pbm) a multi-plane image  will  be
-     output.  This is probably not useful unless you have a color
-     lisp machine.
-
-     Multi-plane bitmaps on lisp  machines  are  color;  but  the
-     lispm  image file format does not include a color map, so we
-     must treat it as a graymap instead.  This is unfortunate.
-
-2 See_Also
-     lispmtopgm, pgm
-
-2 Bugs
-     Output width is always rounded up to the nearest multiple of
-     32;  this might not always be what you want, but it probably
-     is (arrays which are not modulo 32 cannot be passed  to  the
-     Lispm  BITBLT  function, and thus cannot easily be displayed
-     on the screen).
-
-     No color.
-
-2 Author
-     Copyright (C) 1991 by Jamie Zawinski and Jef Poskanzer.
-
-1 pgmtopbm
-     pgmtopbm - convert a portable graymap into a portable bitmap
-
-2 Synopsis
-     pgmtopbm [-floyd|-fs|-threshold  |-dither8|-d8|-cluster3  |-
-     c3|-cluster4|-c4 |-cluster8|-c8] [-value val] [pgmfile]
-
-2 Description
-     Reads a portable graymap as input.  Produces a portable bit-
-     map as output.
-
-     Note that there is no pbmtopgm converter,  because  any  pgm
-     program can read pbm files automagically.
-
-2 Options
-     The default quantization method  is  boustrophedonic  Floyd-
-     Steinberg  error  diffusion (-floyd or -fs).  Also available
-     are simple thresholding (-threshold); Bayer's ordered dither
-     (-dither8) with a 16x16 matrix; and three different sizes of
-     45-degree  clustered-dot  dither  (-cluster3,  -cluster4,  -
-     cluster8).
-
-     Floyd-Steinberg will almost always  give  the  best  looking
-     results;  however, looking good is not always what you want.
-     For instance, thresholding can be used in  a  pipeline  with
-     the  pnmconvol tool, for tasks like edge and peak detection.
-     And clustered-dot dithering gives a  newspaper-ish  look,  a
-     useful special effect.
-
-     The -value flag alters the  thresholding  value  for  Floyd-
-     Steinberg  and  simple  thresholding.   It  should be a real
-     number between 0 and 1.   Above  0.5  means  darker  images;
-     below 0.5 means lighter.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 References
-     The only reference you need for this stuff is "Digital Half-
-     toning" by Robert Ulichney, MIT Press, ISBN 0-262-21009-6.
-
-2 See_Also
-     pbmreduce, pgm, pbm, pnmconvol
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 psidtopgm
-     psidtopgm - convert PostScript "image" data into a  portable
-     graymap
-
-2 Synopsis
-     psidtopgm width height bits/sample [imagedata]
-
-2 Description
-     Reads the "image" data from  a  PostScript  file  as  input.
-     Produces a portable graymap as output.
-
-     This is a very simple and limited program, and is here  only
-     because  so  many  people  have asked for it.  To use it you
-     have to manually extract the readhexstring data portion from
-     your  PostScript  file, and then give the width, height, and
-     bits/sample on the command line.  Before you  attempt  this,
-     you  should  at  least  read  the description of the "image"
-     operator in the PostScript Language Reference Manual.
-
-     It would probably not be too hard to  write  a  script  that
-     uses  this  filter  to read a specific variety of PostScript
-     image, but the variation is too great  to  make  a  general-
-     purpose  reader.   Unless,  of  course,  you want to write a
-     full-fledged PostScript interpreter...
-
-2 See_Also
-     pnmtops, pgm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 spottopgm
-     spottopgm - convert SPOT satellite images to Portable  Grey-
-     map format
-
-2 Synopis
-     spottopgm [-1|2|3]  [Firstcol  Firstline  Lastcol  Lastline]
-     inputfile
-
-2 Options
-     -1|2|3  Extract the given colour from the  SPOT  image.  The
-             colours  are  infra-red,  visible  light  and ultra-
-             violet, although I don't know which  corresponds  to
-             which  number.  If the image is in colour, this will
-             be announced on standard error. The  default  colour
-             is 1.
-
-     Firstcol Firstline Lastcol Lastline
-             Extract the specified rectangle from the SPOT image.
-             Most  SPOT  images  are  3000 lines long and 3000 or
-             more columns wide.  Unfortunately  the  SPOT  format
-             only  gives  the width and not the length. The width
-             is printed on standard error. The default  rectangle
-             is the width of the input image by 3000 lines.
-
-2 Description
-     Spottopgm converts the named inputfile into Portable Greymap
-     format,  defaulting  to  the  first color and the whole SPOT
-     image unless specified by the options.
-
-2 INSTALLATION
-     You  must  edit  the  source  program  and   either   define
-     BIGNDIAN  or  LITTLENDIAN,  and  fix  the  typedefs  for
-     uint32, uint16 and uint8 appropriately.
-
-2 Bugs
-     Currently spottopgm doesn't  determine  the  length  of  the
-     input  file;  this  would  involve two passes over the input
-     file. It defaults to 3000 lines instead.
-
-     Spottopgm could extract a three-color  image  (ppm),  but  I
-     didn't feel like making the program more complicated than it
-     is now.  Besides,  there  is  no  one-to-one  correspondence
-     between  red,  green, blue and infra-red, visible and ultra-
-     violet.
-
-     I've only had a limited number of SPOT images to play  with,
-     and  therefore wouldn't guarantee that this will work on any
-     other images.
-
-2 Author
-     Warren Toomey  wkt@csadfa.cs.adfa.oz.au
-
-1 pgmcrater
-     pgmcrater - create cratered terrain by fractal forgery
-
-2 Synopsis
-     pgmcrater [-number n] [-height|-ysize s] [-width|-xsize s]
-               [-gamma g]
-
-2 Description
-     pgmcrater creates a portable graymap which  mimics  cratered
-     terrain.  The graymap is created by simulating the impact of
-     a given number of craters with  random  position  and  size,
-     then  rendering  the resulting terrain elevations based on a
-     light source shining from one side of the screen.  The  size
-     distribution  of  the  craters is based on a power law which
-     results in many more small craters  than  large  ones.   The
-     number  of  craters of a given size varies as the reciprocal
-     of the area as described on pages 31 and 32 of  Peitgen  and
-     Saupe[1];  cratered  bodies in the Solar System are observed
-     to obey this  relationship.   The  formula  used  to  obtain
-     crater  radii  governed by this law from a uniformly distri-
-     buted pseudorandom sequence was developed by Rudy Rucker.
-
-     High resolution images with large numbers of  craters  often
-     benefit  from  being piped through pnmsmooth.  The averaging
-     performed by this process eliminates some of the jagged pix-
-     els  and  lends  a  mellow  ``telescopic image'' feel to the
-     overall picture.
-
-2 Options
-     -number n Causes n craters to be generated.  If  no  -number
-               specification is given, 50000 craters will be gen-
-               erated.  Don't expect to see them all!  For  every
-               large  crater  there are many, many more tiny ones
-               which tend simply to erode the landscape.  In gen-
-               eral,  the more craters you specify the more real-
-               istic the result; ideally you want the entire ter-
-               rain  to  have  been extensively turned over again
-               and again by cratering.   High  resolution  images
-               containing  five  to ten million craters are stun-
-               ning but take quite a while to create.
-
-     -height height
-               Sets the height of the generated image  to  height
-               pixels.  The default height is 256 pixels.
-
-     -width width
-               Sets the width of the  generated  image  to  width
-               pixels.  The default width is 256 pixels.
-
-     -xsize width
-               Sets the width of the  generated  image  to  width
-               pixels.  The default width is 256 pixels.
-
-
-     -ysize height
-               Sets the height of the generated image  to  height
-               pixels.  The default height is 256 pixels.
-
-     -gamma factor
-               The specified factor is used to gamma correct  the
-               graymap   in  the  same  manner  as  performed  by
-               pnmgamma.  The default value is 1.0, which results
-               in  a medium contrast image.  Values larger than 1
-               lighten  the  image  and  reduce  contrast,  while
-               values  less  than  1 darken the image, increasing
-               contrast.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 Bugs
-     The -gamma option  isn't  really  necessary  since  you  can
-     achieve  the same effect by piping the output from pgmcrater
-     through pnmgamma.  However, pgmcrater performs  an  internal
-     gamma  map  anyway in the process of rendering the elevation
-     array into a graymap, so there's no additional  overhead  in
-     allowing a user-specified gamma.
-
-     Real craters  have  two  distinct  morphologies.   pgmcrater
-     simulates  only  small  craters,  which are hemispherical in
-     shape (regardless of the incidence angle  of  the  impacting
-     body,  as long as the velocity is sufficiently high).  Large
-     craters, such as Copernicus and Tycho on the  Moon,  have  a
-     ``walled plain'' shape with a cross-section more like:
-                /\                            /\
-          _____/  \____________/\____________/  \_____
-     Larger craters should really use this profile, including the
-     central  peak,  and totally obliterate the pre-existing ter-
-     rain.
-
-2 See_Also
-     pgm, pnmgamma, pnmsmooth
-
-     [1]  Peitgen, H.-O., and Saupe,  D.  eds.,  The  Science  Of
-          Fractal Images, New York: Springer Verlag, 1988.
-
-2 Author
-          John Walker
-          Autodesk SA
-          Avenue des Champs-Montants 14b
-          CH-2074 MARIN
-          Suisse/Schweiz/Svizzera/Svizra/Switzerland
-          Usenet:  kelvin@Autodesk.com
-          Fax:     038/33 88 15
-          Voice:   038/33 76 33
-
-     software  and  its documentation for any purpose and without
-     fee is hereby granted, without any  conditions  or  restric-
-     tions.   This software is provided ``as is'' without express
-     or implied warranty.
-
-     PLUGWARE! If you like this kind of stuff, you may also enjoy
-     ``James Gleick's Chaos--The Software'' for MS-DOS, available
-     for $59.95 from your local software store or  directly  from
-     Autodesk,  Inc.,  Attn:  Science Series, 2320 Marinship Way,
-     Sausalito, CA 94965, USA.  Telephone: (800)  688-2344  toll-
-     free  or,  outside  the  U.S. (415) 332-2344 Ext 4886.  Fax:
-     (415) 289-4718.  ``Chaos--The  Software''  includes  a  more
-     comprehensive   fractal   forgery  generator  which  creates
-     three-dimensional landscapes as well as clouds and  planets,
-     plus five more modules which explore other aspects of Chaos.
-     The user guide of more than 200 pages includes an  introduc-
-     tion  by  James  Gleick  and  detailed  explanations by Rudy
-     Rucker of the mathematics and algorithms used by  each  pro-
-     gram.
-
-
-1 pgmedge
-     pgmedge - edge-detect a portable graymap
-
-2 Synopsis
-     pgmedge [pgmfile]
-
-2 Description
-     Reads a portable graymap as input.  Outlines the edges,  and
-     writes  a  portable  graymap  as  output.  Piping the result
-     through pgmtopbm -threshold and playing with  the  threshold
-     value will give a bitmap of the edges.
-
-     The edge detection technique used is to take the Pythagorean
-     sum  of  two  Sobel gradient operators at 90 degrees to each
-     other.  For more details see "Digital Image  Processing"  by
-     Gonzalez and Wintz, chapter 7.
-
-2 See_Also
-     pgmenhance, pgmtopbm, pgm, pbm
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 pgmtexture
-     pgmtexture - calculate textural features on a portable gray-
-     map
-
-2 Synopsis
-     pgmtexture [-d d] [pgmfile]
-
-2 Description
-     Reads a portable  graymap  as  input.   Calculates  textural
-     features  based on spatial dependence matrices at 0, 45, 90,
-     and 135 degrees for a distance d (default  =  1).   Textural
-     features include:
-
-          (1) Angular Second Moment,
-          (2) Contrast,
-          (3) Correlation,
-          (4) Variance,
-          (5) Inverse Difference Moment,
-          (6) Sum Average,
-          (7) Sum Variance,
-          (8) Sum Entropy,
-          (9) Entropy,
-          (10) Difference Variance,
-          (11) Difference Entropy,
-          (12, 13) Information Measures of Correlation, and
-          (14) Maximal Correlation Coefficient.
-
-     Algorithm taken from:
-     Haralick, R.M., K. Shanmugam, and I.  Dinstein.  1973.  Tex-
-     tural  features  for image classification. IEEE Transactions
-     on Systems, Man, and Cybertinetics, SMC-3(6):610-621.
-
-2 Bugs
-     The program can run incredibly slow for large images (larger
-     than  64  x  64)  and command line options are limited.  The
-     method for finding (14) the maximal correlation coefficient,
-     which  requires  finding  the second largest eigenvalue of a
-     matrix Q, does not always converge.
-
-2 References
-     IEEE Transactions on Systems, Man, and  Cybertinetics,  SMC-
-     3(6):610-621.
-
-2 See_Also
-     pgm, pnmcut
-
-2 Author
-     Copyright (C) 1991 by Texas Agricultural Experiment Station,
-     employer for hire of James Darrell McCauley.
-
-1 rawtopgm
-     rawtopgm - convert raw grayscale bytes into a portable gray-
-     map
-
-2 Synopsis
-     rawtopgm  [-headerskip  N]  [-rowskip  N]   [-tb|-topbottom]
-     [width height] [imagedata]
-
-2 Description
-     Reads raw grayscale bytes as  input.   Produces  a  portable
-     graymap  as output.  The input file is just grayscale bytes.
-     If you don't specify the width and  height  on  the  command
-     line,  the  program will check the size of the image and try
-     to make a quadratic image of it. It is an error to supply  a
-     non  quadratic  image  without  specifying width and height.
-     The maxval is assumed to be 255.
-
-2 Options
-     -headerskip
-          If the file has a header, you can use this flag to skip
-          over it.
-
-     -rowskip
-          If there is padding at the ends of the  rows,  you  can
-          skip  it  with  this  flag.  Note that rowskip can be a
-          real number.  Amazingly, I once had an image with 0.376
-          bytes of padding per row.  This turned out to be due to
-          a file-transfer problem, but I was still able  to  read
-          the image.
-
-     -tb -topbottom
-          Flips the image upside down.  The first pixel in a  pgm
-          file  is  in  the  lower left corner of the image.  For
-          conversion from images with  the  first  pixel  in  the
-          upper  left  corner  (e.g.  the  Molecular Dynamics and
-          Leica confocal formats) this  flips  the  image  right.
-          This is equivalent to rawtopgm [file] | pnmflip -tb .
-
-2 Bugs
-     If you don't specify the image width and height, the program
-     will try to read the entire image to a memory buffer. If you
-     get a message that states that you are out of memory, try to
-     specify  the width and height on the command line. Also, the
-     -tb option consumes much memory.
-
-2 See_Also
-     pgm, rawtoppm, pnmflip
-
-2 Authors
-     Copyright (C) 1989 by Jef Poskanzer.
-     Modified June 1993 by Oliver Trepte, oliver@fysik4.kth.se
-
-1 pnmarith              
-     pnmarith - perform arithmetic on two portable anymaps
-
-2 Synopsis
-     pnmarith -add|-subtract|-multiply| pnmfile1 pnmfile2
-
-2 Description
-     Reads two portable anymaps as input.  Performs the specified
-     arithmetic operation, and produces a portable anymap as out-
-     put.  The two input anymaps  must  be  the  same  width  and
-     height.
-
-     The arithmetic is performed between corresponding pixels  in
-     the  two anymaps, as if maxval was 1.0, black was 0.0, and a
-     linear scale in  between.   Results  that  fall  outside  of
-     [0..1) are truncated.
-
-     The operator -difference calculates the  absolute  value  of
-     pnmarith  -subtract pnmfile1 pnmfile2, i.e. no truncation is
-     done.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pbmmask, pnmpaste, pnminvert, pnm
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.  Lightly modified
-     by Marcel Wijkstra <wijkstra@fwi.uva.nl>
-
-1 pnmcat                
-     pnmcat - concatenate portable anymaps
-
-2 Synopsis
-     pnmcat   [-white|-black]   -leftright|-lr   [-jtop|-jbottom]
-     pnmfile pnmfile ...
-     pnmcat   [-white|-black]   -topbottom|-tb   [-jleft|-jright]
-     pnmfile pnmfile ...
-
-2 Description
-     Reads portable anymaps as input.  Concatenates  them  either
-     left  to  right  or  top  to bottom, and produces a portable
-     anymap as output.
-
-2 Options
-     If the anymaps are not all the same height  (left-right)  or
-     width  (top-bottom),  the  smaller ones have to be justified
-     with the largest.  By default, they get  centered,  but  you
-     can specify one side or the other with one of the -j* flags.
-     So, -topbottom -jleft would stack the anymaps on top of each
-     other, flush with the left edge.
-
-     The -white and -black flags specify what  color  to  use  to
-     fill  in  the extra space when doing this justification.  If
-     neither is specified, the program makes a guess.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pnm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pnmcomp
-     pnmcomp - composite two portable anymap files together
-
-2 Synopsis
-     pnmcomp [-invert] [-xoffN] [-yoffN] [-alphapgmfile]  overlay
-     [pnm-input] [pnm-output]
-
-2 Description
-     Reads in a portable any map image and put a overlay upon it,
-     with  optional alpha mask.  The -alpha pgmfile allows you to
-     also add an alpha mask file to the compositing process,  the
-     range  of  max  and  min can be swapped by using the -invert
-     option.  The -xoff and  -yoff  arguments  can  be  negative,
-     allowing  you to shift the overlay off the top corner of the
-     screen.
-
-2 See_Also
-     pnm
-
-2 Author
-     Copyright (C) 1992 by David Koblas (koblas@mips.com).
-
-1 pnmconvol             
-     pnmconvol - general MxN convolution on a portable anymap
-
-2 Synopsis
-     pnmconvol convolutionfile [pnmfile]
-
-2 Description
-     Reads two portable anymaps as input.  Convolves  the  second
-     using the first, and writes a portable anymap as output.
-
-     Convolution means replacing each pixel with a weighted aver-
-     age of the nearby pixels.  The weights and the area to aver-
-     age are determined by the convolution matrix.  The  unsigned
-     numbers  in  the convolution file are offset by -maxval/2 to
-     make signed numbers, and  then  normalized,  so  the  actual
-     values in the convolution file are only relative.
-
-     Here is a sample convolution file; it does a simple  average
-     of  the  nine  immediate  neighbors, resulting in a smoothed
-     image:
-         P2
-         3 3
-         18
-         10 10 10
-         10 10 10
-         10 10 10
-
-     To see how this works, do the above-mentioned offset:  10  -
-     18/2 gives 1.  The possible range of values is from 0 to 18,
-     and after the offset that's -9 to 9.  The normalization step
-     makes  the  range  -1  to  1,  and  the  values  get  scaled
-     correspondingly so they become 1/9 - exactly what you  want.
-     The equivalent matrix for 5x5 smoothing would have maxval 50
-     and be filled with 26.
-
-     The convolution file will usually be a graymap, so that  the
-     same convolution gets applied to each color component.  How-
-     ever, if you want to use a pixmap and do a different  convo-
-     lution to different colors, you can certainly do that.
-
-2 See_Also
-     pnmsmooth, pnm
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 pnmcrop               
-     pnmcrop - crop a portable anymap
-
-2 Synopsis
-     pnmcrop [-white|-black] [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.  Removes  edges  that  are
-     the background color, and produces a portable anymap as out-
-     put.
-
-2 Options
-     By default, it makes a guess as to what the background color
-     is.  You can override the default with the -white and -black
-     flags.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pnmcut, pnm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pnmcut                
-     pnmcut - cut a rectangle out of a portable anymap
-
-2 Synopsis
-     pnmcut x y width height [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.   Extracts  the  specified
-     rectangle,  and produces a portable anymap as output.  The x
-     and y can be negative, in which case  they  are  interpreted
-     relative  to  the  right  and  bottom of the anymap, respec-
-     tively.
-
-2 See_Also
-     pnm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pnmdepth              
-     pnmdepth - change the maxval in a portable anymap
-
-2 Synopsis
-     pnmdepth newmaxval [pnmfile]
-
-2 Description
-     Reads a portable anymap as  input.   Scales  all  the  pixel
-     values, and writes out the image with the new maxval.  Scal-
-     ing the colors down to a smaller maxval will result in  some
-     loss of information.
-
-     Be careful of off-by-one errors when choosing the  new  max-
-     val.   For instance, if you want the color values to be five
-     bits wide, use a maxval of 31, not 32.
-
-2 See_Also
-     pnm, ppmquant, ppmdither
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 pnmenlarge            
-     pnmenlarge - read a portable anymap and enlarge it N times
-
-2 Synopsis
-     pnmenlarge N [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.  Replicates its  pixels  N
-     times, and produces a portable anymap as output.
-
-     pnmenlarge can only enlarge by integer factors.  The  slower
-     but more general pnmscale can enlarge or reduce by arbitrary
-     factors, and pbmreduce can reduce by  integer  factors,  but
-     only for bitmaps.
-
-     If you enlarge by a factor of 3 or more, you should probably
-     add  a  pnmsmooth  step; otherwise, you can see the original
-     pixels in the resulting image.
-
-2 See_Also
-     pbmreduce, pnmscale, pnmsmooth, pnm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pnmfile               
-     pnmfile - describe a portable anymap
-
-2 Synopsis
-     pnmfile [pnmfile] ...
-
-2 Description
-     Reads one or more portable anymaps  as  input.   Writes  out
-     short  descriptions  of  the image type, size, etc.  This is
-     mostly for use in shell scripts, so the format is  not  par-
-     ticularly pretty.
-
-2 See_Also
-     pnm, file
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 pnmflip               
-     pnmflip - perform one or more flip operations on a  portable
-     anymap
-
-2 Synopsis
-     pnmflip [-leftright|-lr]  [-topbottom|-tb]  [-transpose|-xy]
-     [-rotate90|-r90|-ccw    ]    [-rotate270|-r270|-cw    ]   [-
-     rotate180|-r180] [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.  Performs one or more flip
-     operations,  in  the order specified, and writes out a port-
-     able anymap.
-
-2 Options
-     The  flip  operations  available  are:  left  for  right  (-
-     leftright  or  -lr); top for bottom (-topbottom or -tb); and
-     transposition (-transpose or -xy).  In addition, some canned
-     concatenations   are   available:   -rotate90   or  -ccw  is
-     equivalent to -transpose -topbottom; -rotate270  or  -cw  is
-     equivalent  to  -transpose  -leftright;  and  -rotate180  is
-     equivalent to -leftright -topbottom.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pnmrotate, pnm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pnminvert             
-     pnminvert - invert a portable anymap
-
-2 Synopsis
-     pnminvert [pnmfile]
-
-2 Description
-     Reads a portable anymap as  input.   Inverts  it  black  for
-     white and produces a portable anymap as output.
-
-2 See_Also
-     pnm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pnmnoraw              
-     pnmnoraw - force a portable anymap into plain format
-
-2 Synopsis
-     pnmnoraw [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.  Writes it  out  in  plain
-     (non-raw)  format.   This  is  fairly useless if you haven't
-     defined the PBMPLUSAWBITS compile-time option.
-
-2 See_Also
-     pnm
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 pnmpad
-     pnmpad - add borders to portable anymap
-
-2 Synopsis
-     pnmpad [-white|-black] [-l#] [-r#] [-t#] [-b#] [pnmfile]
-
-2 Description
-     Reads a portable anymap as input. Outputs a portable  anymap
-     with extra borders of the sizes specified. The colour of the
-     borders can be set to black or white (default black).
-
-
-2 See_Also
-     pbmmake, pnmpaste, pbm
-
-2 Author
-     Copyright (C) 1990 by Angus Duggan Copyright (C) 1989 by Jef
-     Poskanzer.
-
-     Permission  to  use,  copy,  modify,  and  distribute   this
-     software  and  its documentation for any purpose and without
-     fee is hereby granted, provided  that  the  above  copyright
-     notice  appear  in  all  copies and that both that copyright
-     notice and this permission notice appear in supporting docu-
-     mentation.   This  software  is  provided  "as  is"  without
-     express or implied warranty.
-
-1 pnmpaste              
-     pnmpaste - paste a rectangle into a portable anymap
-
-2 Synopsis
-     pnmpaste   [-replace|-or|-and   |-xor]   frompnmfile   x   y
-     [intopnmfile]
-
-2 Description
-     Reads two portable anymaps  as  input.   Inserts  the  first
-     anymap  into  the second at the specified location, and pro-
-     duces a portable anymap the same size as the second as  out-
-     put.  If the second anymap is not specified, it is read from
-     stdin.  The x and y can be negative, in which case they  are
-     interpreted  relative to the right and bottom of the anymap,
-     respectively.
-
-     This tool is most useful in combination  with  pnmcut.   For
-     instance,  if  you  want  to edit a small segment of a large
-     image, and your image editor cannot edit  the  large  image,
-     you  can cut out the segment you are interested in, edit it,
-     and then paste it back in.
-
-     Another useful companion tool is pbmmask.
-
-     The optional flag specifies the operation to use when  doing
-     the  paste.   The  default  is -replace.  The other, logical
-     operations are only allowed if both input  images  are  bit-
-     maps.  These operations act as if white is TRUE and black is
-     FALSE.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pnmcut, pnminvert, pnmarith, pnm, pbmmask
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 pnmscale              
-     pnmscale - scale a portable anymap
-
-2 Synopsis
-     pnmscale s [pnmfile]
-     pnmscale -xsize|-width|-ysize| -height s [pnmfile]
-     pnmscale -xscale|-yscale s [pnmfile]
-     pnmscale -xscale|-xsize|-width  s  -yscale|-ysize|-height  s
-     [pnmfile]
-     pnmscale -xysize x y [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.  Scales it by  the  speci-
-     fied  factor  or  factors  and produces a portable anymap as
-     output.  If the input file is in color, the output  will  be
-     too,  otherwise  it will be grayscale.  You can both enlarge
-     (scale factor > 1) and reduce (scale factor < 1).
-
-     You can specify one dimension as a pixel size, and the other
-     dimension will be scaled correspondingly.
-
-     You can specify one dimension as  a  scale,  and  the  other
-     dimension will not be scaled.
-
-     You can specify different sizes or scales for each axis.
-
-     Or, you can use the special -xysize  flag,  which  fits  the
-     image  into  the  specified size without changing the aspect
-     ratio.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-     If you enlarge by a factor of 3 or more, you should probably
-     add  a  pnmsmooth  step; otherwise, you can see the original
-     pixels in the resulting image.
-
-2 See_Also
-     pbmreduce, pnmenlarge, pnmsmooth, pnm
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 pnmtile               
-     pnmtile - replicate a portable anymap into a specified size
-
-2 Synopsis
-     pnmtile width height [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.  Replicates it until it is
-     the  specified  size, and produces a portable anymap as out-
-     put.
-
-2 See_Also
-     pnm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pnmtoddif
-     pnmtoddif - Convert a portable anymap to DDIF format
-
-2 Synopis
-     pnmtoddif pnmtoddif [-resolution x y] [pnmfile [ddiffile]]
-
-2 Description
-     pnmtoddif takes a portable anymap from  standard  input  and
-     converts it into a DDIF image file on standard output or the
-     specified DDIF file.
-
-     pbm format (bitmap) data is written as 1 bit DDIF, pgm  for-
-     mat data (greyscale) as 8 bit greyscale DDIF, and ppm format
-     data is written as 8,8,8 bit  color  DDIF.  All  DDIF  image
-     files  are written as uncompressed. The data plane organiza-
-     tion is interleaved by pixel.
-
-     In addition to the number of pixels in the width and  height
-     dimension, DDIF images also carry information about the size
-     that the image should have, that is, the physical space that
-     a  pixel occupies. PBMPLUS images do not carry this informa-
-     tion, hence it has to be externally supplied.   The  default
-     of  78  dpi  has  the  beneficial  property of not causing a
-     resize on most Digital Equipment Corporation color monitors.
-
-2 Options
-     resolution
-          The horizontal and vertical resolution  of  the  output
-          image in dots per inch. Defaults to 78 dpi.
-
-     pnmfile        The filename for the image file in  pnm  for-
-                    mat.   If  this argument is omitted, input is
-                    read from stdin.
-
-     ddiffile       The filename for the image file to be created
-                    in DDIF format.  If this argument is omitted,
-                    the ddiffile is written to  standard  output.
-                    It  can  only  specified if a pnmfile is also
-                    specified.
-
-2 Author
-     Burkhard Neidecker-Lutz
-     Digital Equipment Corporation, CEC Karlsruhe
-     neideck@nestvx.enet.dec.com
-
-1 pnmtops               
-     pnmtops - convert portable anymap to PostScript
-
-2 Synopsis
-     pnmtops [-scale s] [-turn|-noturn]  [-rle|-runlength]  [-dpi
-     n] [-width n] [-height n] [pnmfile]
-
-2 Description
-     Reads a portable anymap  as  input.   Produces  Encapsulated
-     PostScript as output.
-
-     If the input file is in color (PPM), a color PostScript file
-     gets  written.   Some  PostScript  interpreters can't handle
-     color PostScript.  If you have one of these you will need to
-     run your image through ppmtopgm first.
-
-     Note that there is no pstopnm tool - this transformation  is
-     one-way,  because  a  pstopnm  tool  would be a full-fledged
-     PostScript interpreter, which is beyond the  scope  of  this
-     package.   However,  see  the psidtopgm tool, which can read
-     grayscale non-runlength PostScript  image  data.   Also,  if
-     you're willing to install the fairly large GhostScript pack-
-     age, it comes with a pstoppm script.
-
-2 Options
-     The -scale flag controls  the  scale  of  the  result.   The
-     default  scale  is 1, which on a 300 dpi printer such as the
-     Apple LaserWriter makes the output look about the same  size
-     as  the  input would if it was displayed on a typical 72 dpi
-     screen.  To get one PNM pixel per 300 dpi printer pixel, use
-     "-scale 0.25".
-
-     The -turn and -noturn flags control whether the  image  gets
-     turned  90  degrees.  Normally, if an image is wider than it
-     is tall, it gets turned  automatically  to  better  fit  the
-     page.   If the -turn flag is specified, it will be turned no
-     matter what its shape; and if the -noturn flag is specified,
-     it will not be turned no matter what its shape.
-
-     The -rle or -runlength flag  specifies  run-length  compres-
-     sion.   This  may  save  time if the host-to-printer link is
-     slow; but normally the printer's processing time  dominates,
-     so -rle makes things slower.
-
-     The -dpi flag lets you specify the dots  per  inch  of  your
-     output   device.    The  default  is  300  dpi.   In  theory
-     PostScript is device-independent and you don't have to worry
-     about  this,  but  in practice its raster rendering can have
-     unsightly bands if the device pixels and  the  image  pixels
-     aren't in sync.
-
-     The -width and -height flags let you specify the size of the
-     page.  The default is 8.5 inches by 11 inches.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pnm, psidtopgm
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 pnmtorast             
-     pnmtorast - convert a portable pixmap into a Sun rasterfile
-
-2 Synopsis
-     pnmtorast [-standard|-rle] [pnmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces a Sun rasterfile
-     as output.
-
-     Color values in Sun rasterfiles  are  eight  bits  wide,  so
-     pnmtorast  will  automatically scale colors to have a maxval
-     of 255.  An extra pnmdepth step is not necessary.
-
-2 Options
-     The -standard flag forces the result to  be  in  RT_STANDARD
-     form;  the -rle flag, RT_BYTE_ENCODED, which is smaller but,
-     well, less standard.  The default is -rle.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     rasttopnm, pnm
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 pnmtoxwd              
-     pnmtoxwd - convert a portable anymap into an X11 window dump
-
-2 Synopsis
-     pnmtoxwd [-pseudodepth n] [-directcolor] [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.  Produces  an  X11  window
-     dump as output.  This window dump can be displayed using the
-     xwud tool.
-
-     Normally, pnmtoxwd produces a StaticGray dump file  for  pbm
-     and  pgm  files.  For ppm, it writes a PseudoColor dump file
-     if  there  are  up  to  256  colors  in  the  input,  and  a
-     DirectColor  dump file otherwise.  The -directcolor flag can
-     be used to force a DirectColor dump.  And  the  -pseudodepth
-     flag  can  be  used to change the depth of PseudoColor dumps
-     from the default of 8 bits / 256 colors.
-
-2 See_Also
-     xwdtopnm, pnm, xwud
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 rasttopnm             
-     rasttopnm - convert a Sun rasterfile into a portable anymap
-
-2 Synopsis
-     rasttopnm [rastfile]
-
-2 Description
-     Reads a Sun rasterfile as input.  Produces a portable anymap
-     as output.  The type of the output file depends on the input
-     file - if it's black & white, a pbm file is written, else if
-     it's  grayscale  a  pgm  file, else a ppm file.  The program
-     tells you which type it is writing.
-
-2 See_Also
-     pnmtorast, pnm
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 xwdtopnm              
-     xwdtopnm - convert a X11 or X10  window  dump  file  into  a
-     portable anymap
-
-2 Synopsis
-     xwdtopnm [xwdfile]
-
-2 Description
-     Reads a X11 or X10 window dump file as  input.   Produces  a
-     portable  anymap  as  output.   The  type of the output file
-     depends on the input file - if it's black  &  white,  a  pbm
-     file  is  written, else if it's grayscale a pgm file, else a
-     ppm file.  The program tells you which type it is writing.
-
-     Using this  program,  you  can  convert  anything  on  an  X
-     workstation's  screen into an anymap.  Just display whatever
-     you're interested in, do an xwd, run  it  through  xwdtopnm,
-     and then use pnmcut to select the part you want.
-
-2 Bugs
-     I haven't tested this tool with very many configurations, so
-     there  are  probably  bugs.   Please let me know if you find
-     any.
-
-2 See_Also
-     pnmtoxwd, pnm, xwd
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 zeisstopnm            
-     zeisstopnm - convert a Zeiss confocal file into  a  portable
-     anymap
-
-2 Synopsis
-     zeisstopnm [-pgm | -ppm] [zeissfile]
-
-2 Description
-     Reads a Zeiss confocal file as input.  Produces  a  portable
-     anymap  as  output.   The type of the output file depends on
-     the input file - if it's grayscale a pgm file,  else  a  ppm
-     file  will be produced.  The program tells you which type it
-     is writing.
-
-2 Options
-     -pgm Force the output to be a pgm file.
-
-     -ppm Force the output to be a ppm file.
-
-2 See_Also
-     pnm
-
-2 Author
-     Copyright (C) 1993 by Oliver Trepte
-
-1 pnmgamma              
-     pnmgamma - perform gamma correction on a portable anymap
-
-2 Synopsis
-     pnmgamma value [pnmfile]
-     pnmgamma redvalue greenvalue bluevalue [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.   Performs  gamma  correc-
-     tion, and produces a portable anymap as output.
-
-     The arguments specify what gamma value(s) to use.   A  value
-     of 1.0 leaves the image alone, less than one darkens it, and
-     greater than one lightens it.
-
-2 See_Also
-     pnm
-
-2 Author
-     Copyright (C) 1991 by Bill Davidson and Jef Poskanzer.
-
-1 pnmhistmap
-     pnmhistmap - draw a histogram for a PGM or PPM file
-
-2 Synopsis
-     pnmhistmap [-black] [-white] [-max N] [-verbose] [pnmfile]
-
-2 Description
-     Reads a portable anymap  as  input,  although  bitmap  (PBM)
-     input  produces  an error message and no image.  Produces an
-     image showing a histogram of the color (or gray)  values  in
-     the  input.  A graymap (PGM) input produces a bitmap output.
-     A pixmap (PPM) input produces pixmap output with three over-
-     laid  histograms:  a  red one for the red input, a green one
-     for the green input, and a blue one for the blue input.  The
-     output is fixed in size: 256 pixels wide by 200 pixels high.
-
-2 Options
-     -black
-          Ignores the count of black pixels when scaling the his-
-          togram.
-
-     -white
-          Ignores the count of white pixels when scaling the his-
-          togram.
-
-     The -black and -white options, which can be used  seperately
-     or  together,  are useful for images with a large percentage
-     of pixels whose value is zero or 255, which  can  cause  the
-     remaining  histogram  data to become unreadbaly small.  Note
-     that, for pixmap inputs, these options apply to all  colors;
-     if,  for example, the input has a large number of bright-red
-     areas, you will probably want to use the -white option.
-
-     -max N
-          Force the scaling of the histogram  to  use  N  as  the
-          largest-count  value.  This is useful for inputs with a
-          large percentage of single-color pixels which  are  not
-          black or white.
-
-     -verbose
-          Report the progress of making the histogram,  including
-          the largest-count value used to scale the output.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 Bugs
-     Assumes maxval is always 255.  Images with a smaller  maxval
-     will  only  use the lower-value side of the histogram.  This
-     can be overcome either by piping the input through "pnmdepth
-     255"  or  by cutting and scaling the lower-value side of the
-     histogram.  Neither is a particularly elegant solution.
-     Should allow the output size to be specified.
-
-2 See_Also
-     pgmhist(1), ppmhist(1), pgm(5), ppm(5)
-
-2 Author
-     Wilson H. Bent. Jr. (whb@usc.edu).
-
-1 pnmnlfilt             
-     pnmnlfilt - non-linear filters:  smooth,  alpha  trim  mean,
-     optimal estimation smoothing, edge enhancement.
-
-2 Synopsis
-     pnmnlfilt alpha radius [pnmfile]
-
-2 Description
-     This is something of a swiss army knife  filter.  It  has  3
-     distinct  operating modes. In all of the modes each pixel in
-     the image is examined and processed according to it and  its
-     surrounding pixels values. Rather than using the 9 pixels in
-     a 3x3 block, 7 hexagonal area samples are taken, the size of
-     the  hexagons  being  controlled  by the radius parameter. A
-     radius value of 0.3333 means that the 7 hexagons exactly fit
-     into  the  center  pixel  (ie.   there  will be no filtering
-     effect). A radius value of 1.0 means  that  the  7  hexagons
-     exactly fit a 3x3 pixel array.
-
-        Alpha trimmed mean filter.    (0.0 <= alpha
-     The value of the center pixel will be replaced by  the  mean
-     of the 7 hexagon values, but the 7 values are sorted by size
-     and the top and bottom alpha portion of the 7  are  excluded
-     from  the  mean.   This  implies  that an alpha value of 0.0
-     gives the same sort of output as a normal  convolution  (ie.
-     averaging  or smoothing filter), where radius will determine
-     the "strength" of the filter. A good value to start from for
-     subtle  filtering  is  alpha = 0.0, radius = 0.55 For a more
-     blatant effect, try alpha 0.0 and radius 1.0
-
-     An alpha value of 0.5 will cause the median value of  the  7
-     hexagons  to be used to replace the center pixel value. This
-     sort of filter is good for eliminating "pop" or single pixel
-     noise  from  an  image  without  spreading  the noise out or
-     smudging features on the image. Judicious use of the  radius
-     parameter  will fine tune the filtering. Intermediate values
-     of alpha give effects somewhere between smoothing and  "pop"
-     noise  reduction.  For  subtle  filtering  try starting with
-     values of alpha = 0.4, radius =  0.6   For  a  more  blatant
-     effect try alpha = 0.5, radius = 1.0
-
-        Optimal estimation smoothing. (1.0 <= alpha
-     This type of filter applies a  smoothing  filter  adaptively
-     over  the  image.   For  each pixel the variance of the sur-
-     rounding hexagon values is calculated,  and  the  amount  of
-     smoothing  is made inversely proportional to it. The idea is
-     that if the variance is small then it is due to noise in the
-     image,  while  if  the  variance  is large, it is because of
-     "wanted" image features. As usual the radius parameter  con-
-     trols  the  effective  radius,  but it probably advisable to
-     leave the radius between 0.8 and 1.0 for the variance calcu-
-     lation to be meaningful.  The alpha parameter sets the noise
-     threshold, over which less smoothing  will  be  done.   This
-     means  that  small values of alpha will give the most subtle
-     filtering effect, while large values will tend to smooth all
-     parts of the image. You could start with values like alpha =
-     1.2, radius = 1.0 and try increasing or decreasing the alpha
-     parameter  to get the desired effect. This type of filter is
-     best for filtering out dithering noise in  both  bitmap  and
-     color images.
-
-        Edge enhancement. (-0.1 >= alpha >=
-     This is the opposite type of filter to the smoothing filter.
-     It  enhances  edges. The alpha parameter controls the amount
-     of edge enhancement, from subtle (-0.1) to  blatant  (-0.9).
-     The radius parameter controls the effective radius as usual,
-     but useful values are between 0.5 and 0.9. Try starting with
-     values of alpha = 0.3, radius = 0.8
-
-        Combination use.
-     The various modes of pnmnlfilt can be  used  one  after  the
-     other  to  get  the  desired  result. For instance to turn a
-     monochrome dithered image into a grayscale image  you  could
-     try one or two passes of the smoothing filter, followed by a
-     pass of the optimal estimation filter, then some subtle edge
-     enhancement. Note that using edge enhancement is only likely
-     to be useful after one  of  the  non-linear  filters  (alpha
-     trimmed mean or optimal estimation filter), as edge enhance-
-     ment is the direct opposite of smoothing.
-
-     For reducing color quantization noise in images (ie. turning
-     .gif  files  back into 24 bit files) you could try a pass of
-     the optimal estimation filter (alpha  1.2,  radius  1.0),  a
-     pass of the median filter (alpha 0.5, radius 0.55), and pos-
-     sibly a pass of the edge enhancement filter.  Several passes
-     of the optimal estimation filter with declining alpha values
-     are more effective than a single pass  with  a  large  alpha
-     value.   As  usual,  there  is  a tradeoff between filtering
-     effectiveness  and  loosing   detail.   Experimentation   is
-     encouraged.
-
-2 References
-     The alpha-trimmed mean filter is based on the description in
-     IEEE  CG&A  May  1990  Page 23 by Mark E. Lee and Richard A.
-     Redner, and has been  enhanced  to  allow  continuous  alpha
-     adjustment.
-
-     The optimal estimation filter is taken from an article "Con-
-     verting  Dithered  Images  Back  to  Gray  Scale"  by  Allen
-     Stenger, Dr Dobb's Journal, November 1992, and this  article
-     references "Digital Image Enhancement and Noise Filtering by
-     Use of Local Statistics", Jong-Sen Lee, IEEE Transactions on
-     Pattern Analysis and Machine Intelligence, March 1980.
-     The edge enhancement details are from  pgmenhance,  which
-     is  taken  from Philip R. Thompson's "xim" program, which in
-     turn took it from section 6 of  "Digital  Halftones  by  Dot
-     Diffusion", D. E. Knuth, ACM Transaction on Graphics Vol. 6,
-     No. 4, October 1987, which in turn  got  it  from  two  1976
-     papers by J. F. Jarvis et. al.
-
-2 See_Also
-     pgmenhance, pnmconvol, pnm
-
-2 Bugs
-     Integers and tables may overflow if PPM_MAXMAXVAL is greater
-     than 255.
-
-2 Author
-     Graeme W. Gill    graeme@labtam.oz.au
-
-1 pnmrotate             
-     pnmrotate - rotate a portable anymap by some angle
-
-2 Synopsis
-     pnmrotate [-noantialias] angle [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.  Rotates it by the  speci-
-     fied angle and produces a portable anymap as output.  If the
-     input file is in color, the output will be too, otherwise it
-     will  be  grayscale.   The  angle  is  in  degrees (floating
-     point), measured counter-clockwise.  It can be negative, but
-     it  should  be  between  -90  and  90.   Also, for rotations
-     greater than 45 degrees you may get better  results  if  you
-     first use pnmflip to do a 90 degree rotation and then pnmro-
-     tate less than 45 degrees back the other direction
-
-     The rotation algorithm is Alan Paeth's  three-shear  method.
-     Each  shear is implemented by looping over the source pixels
-     and distributing fractions to each of the  destination  pix-
-     els.   This has an "anti-aliasing" effect - it avoids jagged
-     edges and similar artifacts.  However, it  also  means  that
-     the  original  colors  or gray levels in the image are modi-
-     fied.  If you need to keep precisely the same set of colors,
-     you  can  use the -noantialias flag.  This does the shearing
-     by moving pixels without changing their values.  If you want
-     anti-aliasing  and  don't care about the precise colors, but
-     still need a limited *number* of colors,  you  can  run  the
-     result through ppmquant.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 References
-     "A Fast Algorithm  for  General  Raster  Rotation"  by  Alan
-     Paeth, Graphics Interface '86, pp. 77-81.
-
-2 See_Also
-     pnmshear, pnmflip, pnm, ppmquant
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 pnmshear              
-     pnmshear - shear a portable anymap by some angle
-
-2 Synopsis
-     pnmshear [-noantialias] angle [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.  Shears it by  the  speci-
-     fied angle and produces a portable anymap as output.  If the
-     input file is in color, the output will be too, otherwise it
-     will  be  grayscale.   The  angle  is  in  degrees (floating
-     point), and measures this:
-         +-------+  +-------+
-         |       |  |\       \
-         |  OLD  |  | \  NEW  \
-         |       |  |an\       \
-         +-------+  |gle+-------+
-     If the angle is negative, it shears the other way:
-         +-------+  |-an+-------+
-         |       |  |gl/       /
-         |  OLD  |  |e/  NEW  /
-         |       |  |/       /
-         +-------+  +-------+
-     The angle should not get too close to  90  or  -90,  or  the
-     resulting anymap will be unreasonably wide.
-
-     The shearing is implemented by looping over the source  pix-
-     els  and  distributing  fractions to each of the destination
-     pixels.  This has an  "anti-aliasing"  effect  -  it  avoids
-     jagged  edges and similar artifacts.  However, it also means
-     that the original colors or gray levels  in  the  image  are
-     modified.   If  you  need  to keep precisely the same set of
-     colors, you can use the -noantialias flag.   This  does  the
-     shearing by moving pixels without changing their values.  If
-     you want anti-aliasing and  don't  care  about  the  precise
-     colors, but still need a limited *number* of colors, you can
-     run the result through ppmquant.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pnmrotate, pnmflip, pnm, ppmquant
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 tifftopnm             
-     tifftopnm - convert a TIFF file into a portable anymap
-
-2 Synopsis
-     tifftopnm [-headerdump] tifffile
-
-2 Description
-     Reads a TIFF file as input.  Produces a portable  anymap  as
-     output.   The  type  of the output file depends on the input
-     file - if it's black & white, a pbm file is written, else if
-     it's  grayscale  a  pgm  file, else a ppm file.  The program
-     tells you which type it is writing.
-
-2 Options
-     -headerdump
-          Dump TIFF file information to stderr.  This information
-          may  be  useful in debugging TIFF file conversion prob-
-          lems.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     pnmtotiff, pnm
-
-2 Bugs
-     This program is not self-contained.   To  use  it  you  must
-     fetch  the TIFF Software package listed in the OTHER.SYSTEMS
-     file and configure PBMPLUS to use  libtiff.   See  PBMPLUS's
-     Makefile for details on this configuration.
-
-2 Author
-     Derived by Jef Poskanzer from tif2ras.c, which is  Copyright
-     (c)  1990  by  Sun  Microsystems,  Inc.   Author: Patrick J.
-     Naughton (naughton@wind.sun.com).
-
-1 pnmtotiff             
-     pnmtotiff - convert a a portable anymap into a TIFF file
-
-2 Synopsis
-     pnmtotiff [-none|-packbits| -lzw|-g3|-g4] [-2d]  [-fill]  [-
-     predictor n] [-msb2lsb|-lsb2msb] [-rowsperstrip n] [pnmfile]
-
-2 Description
-     Reads a portable anymap as input.  Produces a TIFF  file  as
-     output.
-
-2 Options
-     By default, pnmtotiff creates a TIFF file with LZW  compres-
-     sion.   This  is  your  best bet most of the time.  However,
-     some TIFF readers can't deal with it.  If you  want  to  try
-     another  compression  scheme or tweak some of the other even
-     more obscure output options, there are a number of flags  to
-     play with.
-
-     The -none, -packbits, -lzw, -g3, and -g4 options are used to
-     override  the default and set the compression scheme used in
-     creating the output file.  The CCITT Group  3  and  Group  4
-     compression  algorithms  can only be used with bilevel data.
-     The -2d and -fill options are meaningful only with  Group  3
-     compression:  -2d  requests  2-dimensional encoding, while -
-     fill requests that each encoded scanline be zero-filled to a
-     byte boundry.  The -predictor option is only meaningful with
-     LZW compression: a predictor value of 2 causes each scanline
-     of  the  output  image  to  undergo  horizontal differencing
-     before it is encoded; a value of 1 forces each  scanline  to
-     be  encoded  without  differencing.   By  default, pnmtotiff
-     creates a TIFF file  with  msb-to-lsb  fill  order.   The  -
-     msb2lsb  and  -lsb2msb  options  are  used  to  override the
-     default and set the fill order used in  creating  the  file.
-     The  -rowsperstrip  option  can be used to set the number of
-     rows (scanlines) in each strip of data in the  output  file.
-     By default, the output file has the number of rows per strip
-     set to a value that will ensure each strip is no more than 8
-     kilobytes long.
-
-2 Bugs
-     This program is not self-contained.   To  use  it  you  must
-     fetch  the TIFF Software package listed in the OTHER.SYSTEMS
-     file and configure PBMPLUS to use  libtiff.   See  PBMPLUS's
-     Makefile for details on this configuration.
-
-2 See_Also
-     tifftopnm, pnm
-
-2 Author
-     Derived by Jef Poskanzer from ras2tiff.c, which is Copyright
-     (c)  1990  by  Sun  Microsystems,  Inc.   Author: Patrick J.
-     Naughton (naughton@wind.sun.com).
-
-1 libpnm
-     libpnm - functions to support portable anymap programs
-
-2 Synopsis
-     #include <pnm.h>
-     cc ... libpnm.a libppm.a libpgm.a libpbm.a
-
-
-2 Description
-  TYPES AND CONSTANTS
-     typedef ... xel;
-     typedef ... xelval;
-     #define PNM_MAXMAXVAL ...
-     extern xelval pnm_pbmmaxval;
-
-     Each xel contains three xelvals, each of which  should  con-
-     tain   only   the   values   between  0  and  PNM_MAXMAXVAL.
-     pnm_pbmmaxval is the maxval used when a PNM program reads  a
-     PBM  file.   Normally it is 1; however, for some programs, a
-     larger value gives better results.
-
-  XEL MANIPULATIONS
-     xelval PNM_GET1( xel x )
-
-     This macro extracts a single value from  an  xel,  when  you
-     know  it's  from  a  PBM  or PGM file.  When it's from a PPM
-     file, use PPM_GETR(), PPM_GETG(), and PPM_GETB().
-
-     void PNM_ASSIGN1( xel x, xelval v )
-
-     This macro assigns a single value to an xel, when  you  know
-     it's from a PBM or PGM file.  When it's from a PPM file, use
-     PPM_ASSIGN().
-
-     int PNM_EQUAL( xel x, xel y )
-
-     This macro checks two xels for equality.
-
-     int PNM_FORMAT_TYPE( int format )
-
-     For distinguishing different file types.
-
-  INITIALIZATION
-     void pnm_init( int* argcP, char* argv[] )
-
-     All PNM programs must call this routine.
-
-  MEMORY MANAGEMENT
-     xel** pnm_allocarray( int cols, int rows )
-
-     Allocate an array of xels.
-     xel* pnm_allocrow( int cols )
-
-     Allocate a row of the given number of xels.
-
-     void pnm_freearray( xel** xels, int rows )
-
-     Free the array allocated  with  pnmllocarray()  containing
-     the given number of rows.
-
-     void pnm_freerow( xel* xelrow )
-
-     Free a row of xels.
-
-  READING FILES
-     void pnm_readpnminit( FILE* fp, int* colsP, int* rowsP, xelval* maxvalP, int* formatP )
-
-     Read the header from a PNM file, filling in the rows,  cols,
-     maxval and format variables.
-
-     void pnm_readpnmrow( FILE* fp, xel* xelrow, int cols, xelval maxval, int format )
-
-     Read a row of xels into the xelrow array.  Format, cols, and
-     maxval were filled in by pnm_readpnminit().
-
-     xel** pnm_readpnm( FILE* fp, int* colsP, int* rowsP, xelval* maxvalP, int* formatP )
-
-     Read an entire anymap file into memory, returning the  allo-
-     cated  array and filling in the rows, cols, maxval, and for-
-     mat variables.  This  function  combines  pnm_readpnminit(),
-     pnm_allocarray()    and    pnm_readpnmrow().    Unlike   the
-     equivalent functions in PBM, PGM, and PPM,  it  returns  the
-     format so you can tell what type the file is.
-
-  WRITING FILES
-     void pnm_writepnminit( FILE* fp, int cols, int rows, xelval maxval, int format, int forceplain )
-
-     Write the header for a portable  anymap  file.   Unlike  the
-     equivalent  functions  in  PBM,  PGM,  and  PPM, you have to
-     specify the output  type.   The  forceplain  flag  forces  a
-     plain-format  file to be written, as opposed to a raw-format
-     one.
-
-     void pnm_writepnmrow( FILE* fp, xel* xelrow, int cols, xelval maxval, int format, int forceplain )
-
-     Write a row from a portable anymap.
-
-     void pnm_writepnm( FILE* fp, xel** xels, int cols, int rows, xelval maxval, int format, int forceplain )
-
-     Write the header and all data for a portable  anymap.   This
-     function combines pnm_writepnminit() and pnm_writepnmrow().
-
-  FORMAT PROMOTION
-     void pnm_promoteformatrow( xel* xelrow, int cols, xelval maxval, int format, xelval newmaxval, int newformat )
-
-     Promote a row of xels from one maxval and format  to  a  new
-     set.   Used  when  combining  multiple  anymaps of different
-     types - just take the max of the maxvals and the max of  the
-     formats, and promote them all to that.
-
-     void pnm_promoteformat( xel** xels, int cols, int rows, xelval maxval, int format, xelval newmaxval, int newformat )
-
-     Promote an entire anymap.
-
-  XEL MANIPULATION
-     xel pnm_whitexel( xelval maxval, int format )
-     xel pnm_blackxel( xelval maxval, int format )
-
-     Return a white or black xel for the given maxval and format.
-
-     void pnm_invertxel( xel* x, xelval maxval, int format )
-
-     Invert an xel.
-
-     xel pnm_backgroundxelrow( xel* xelrow, int cols, xelval maxval, int format )
-
-     Figure out an appropriate background xel based on this row.
-
-     xel pnm_backgroundxel( xel** xels, int cols, int rows, xelval maxval, int format )
-
-     Figure out a background xel based on an entire anymap.  This
-     can do a slightly better job than pnm_backgroundxelrow().
-
-2 See_Also
-     pbm, pgm, ppm
-
-2 Author
-     Copyright (C) 1989, 1991 by Tony Hansen and Jef Poskanzer.
-
-1 pnm
-     pnm - portable anymap file format
-
-2 Description
-     The pnm programs operate on portable bitmaps, graymaps,  and
-     pixmaps,  produced by the pbm, pgm, and ppm segments.  There
-     is no file format associated with pnm itself.
-
-2 See_Also
-    anytopnm,    rasttopnm,  tifftopnm,  xwdtopnm,  pnmtops,  pnmtorast,
-    pnmtotiff, pnmtoxwd, pnmar- ith, pnmcat, pnmconvol, pnmcrop, pnmcut,
-    pnmdepth,  pnmenlarge,    pnmfile,    pnmflip,  pnmgamma,  pnmindex,
-    pnminvert,  pnmmargin,  pnmnoraw,   pnmpaste,  pnmrotate,  pnmscale,
-    pnmshear, pnmsmooth, pnmtile, ppm, pgm, pbm
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-1 bmptoppm
-     bmptoppm - convert a BMP file into a portable pixmap
-
-2 Synopsis
-     bmptoppm [bmpfile]
-
-2 Description
-     Reads a Microsoft Windows or OS/2 BMP file as  input.   Pro-
-     duces a portable pixmap as output.
-
-2 See_Also
-     ppmtobmp, ppm
-
-2 Author
-     Copyright (C) 1992 by David W. Sanderson.
-
-1 gouldtoppm
-     gouldtoppm - convert Gould scanner file into a portable pix-
-     map
-
-2 Synopsis
-     gouldtoppm [gouldfile]
-
-2 Description
-     Reads a file produced by the Gould scanner as  input.   Pro-
-     duces a portable pixmap as output.
-
-2 See_Also
-     ppm
-
-2 Author
-     Copyright(C) 1990 by Stephen Paul Lesniewski
-
-1 ilbmtoppm
-     ilbmtoppm - convert an ILBM file into a portable pixmap
-
-2 Synopsis
-     ilbmtoppm [-verbose] [ILBMfile]
-
-2 Description
-     Reads an IFF ILBM file as input.  Produces a portable pixmap
-     as output.  Supported ILBM types are:
-
-     Normal ILBMs with 1-16 planes.
-
-     Amiga Extra-Halfbrite (EHB)
-
-     Amiga Hold-and-modify (HAM) with 3-16 planes.
-
-     24 bit.
-
-     Color map (BMHD + CMAP chunk only, nPlanes = 0).
-
-     Unofficial direct color.
-          1-16 planes for each color component.
-
-     Chunks used:
-          BMHD, CMAP, CAMG (only HAM  &  EHB  flags  used),  BODY
-          unofficial DCOL chunk to identify direct color ILBM
-
-     Chunks ignored:
-          GRAB, DEST, SPRT, CRNG, CCRT, CLUT, DPPV, DRNG, EPSF
-
-     Other chunks (ignored but displayed in verbose mode):
-          NAME, AUTH, (c), ANNO, DPI
-
-     Unknown chunks are skipped.
-
-2 Options
-     -verbose
-          Give some informaton about the ILBM file.
-
-2 Bugs
-     Probably.
-
-2 References
-     Amiga ROM Kernel Reference Manual - Devices (3rd Ed.)
-     Addison Wesley, ISBN 0-201-56775-X
-
-2 See_Also
-     ppm(5), ppmtoilbm(1)
-
-2 Authors
-     Copyright (C) 1989 by Jef Poskanzer.
-     Modified June 1993 by Ingo Wilken
-     (Ingo.Wilken@informatik.uni-oldenburg.de)
-
-1 imgtoppm
-     imgtoppm - convert an Img-whatnot file into a portable  pix-
-     map
-
-2 Synopsis
-     imgtoppm [imgfile]
-
-2 Description
-     Reads an Img-whatnot file as  input.   Produces  a  portable
-     pixmap  as output.  The Img-whatnot toolkit is available for
-     FTP on venera.isi.edu, along with numerous  images  in  this
-     format.
-
-2 See_Also
-     ppm
-
-2 Author
-     Based on a simple conversion program posted to comp.graphics
-     by Ed Falk.
-
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 mtvtoppm
-     mtvtoppm - convert output from the MTV or  PRT  ray  tracers
-     into a portable pixmap
-
-2 Synopsis
-     mtvtoppm [mtvfile]
-
-2 Description
-     Reads an input  file  from  Mark  VanDeWettering's  MTV  ray
-     tracer.  Produces a portable pixmap as output.
-
-     The PRT raytracer also produces this format.
-
-2 See_Also
-     ppm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 pcxtoppm
-     pcxtoppm - convert a PCX file into a portable pixmap
-
-2 Synopsis
-     pcxtoppm [pcxfile]
-
-2 Description
-     Reads a PCX file as input.  Produces a  portable  pixmap  as
-     output.
-
-2 See_Also
-     ppmtopcx, ppm
-
-2 Author
-     Copyright (C) 1990 by Michael Davidson.
-
-1 pgmtoppm
-     pgmtoppm - colorize a portable graymap into a portable  pix-
-     map
-
-2 Synopsis
-     pgmtoppm colorspec [pgmfile]
-     pgmtoppm colorspec1-colorspec2 [pgmfile]
-     pgmtoppm -map mapfile [pgmfile]
-
-2 Description
-     Reads a portable graymap as input.  Colorizes it  by  multi-
-     plying the the gray values by specified color or colors, and
-     produces a portable pixmap as output.
-
-     If only one color is specified, black in the pgm file  stays
-     black  and  white  in  the pgm file turns into the specified
-     color in the ppm file.  If two colors (separated by a  dash)
-     are specified, then black gets mapped to the first color and
-     white gets mapped to the second.
-
-     The color can be specified in five ways:
-
-     o    A name, assuming that a pointer to an  X11-style  color
-          names file was compiled in.
-
-     o    An X11-style hexadecimal specifier: rgb:r/g/b, where  r
-          g and b are each 1- to 4-digit hexadecimal numbers.
-
-     o    An X11-style decimal specifier: rgbi:r/g/b, where  r  g
-          and b are floating point numbers between 0 and 1.
-
-     o    For backwards compatibility, an  old-X11-style  hexade-
-          cimal    number:    #rgb,   #rrggbb,   #rrrgggbbb,   or
-          #rrrrggggbbbb.
-
-     o    For  backwards  compatibility,  a  triplet  of  numbers
-          separated  by commas: r,g,b, where r g and b are float-
-          ing point numbers between 0 and  1.   (This  style  was
-          added before MIT came up with the similar rgbi style.)
-
-     Also, the -map flag lets you specify an entire  colormap  to
-     be  used.   The  mapfile  is  just a ppm file; it can be any
-     shape, all that matters is the colors in it and their order.
-     In  this case, black gets mapped into the first color in the
-     map file, and white gets mapped to the last.
-
-2 See_Also
-     rgb3toppm, ppmtopgm, ppmtorgb3, ppm, pgm
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 pi1toppm
-     pi1toppm - convert an Atari Degas .pi1 into a portable  pix-
-     map
-
-2 Synopsis
-     pi1toppm [pi1file]
-
-2 Description
-     Reads an Atari Degas .pi1 file as input.  Produces  a  port-
-     able pixmap as output.
-
-2 See_Also
-     ppmtopi1, ppm, pi3topbm, pbmtopi3
-
-2 Author
-     Copyright (C) 1991 by Steve Belczyk (seb3@gte.com)  and  Jef
-     Poskanzer.
-
-1 picttoppm
-     picttoppm - convert a Macintosh PICT file  into  a  portable
-     pixmap
-
-2 Synopsis
-     picttoppm [-verbose] [-fullres] [-noheader] [pictfile]
-
-2 Description
-     Reads a PICT file (version 1 or 2) and  outputs  a  portable
-     pixmap.   Useful  as  the first step in converting a scanned
-     image to something that can be displayed on Unix.
-
-2 Options
-     -fullres
-          Force any images in the PICT file to be output with  at
-          least  their full resolution.  A PICT file may indicate
-          that a contained image is to be scaled down before out-
-          put.   This  option forces images to retain their sizes
-          and prevent information loss.
-
-     -noheader
-          Do not skip the 512 byte header that is present on  all
-          PICT  files.   This  is  useful when you have PICT data
-          that was not stored in the data fork of a PICT file.
-
-     -verbose
-          Turns on verbose mode which prints a a whole  bunch  of
-          information  that  only  picttoppm  hackers really care
-          about.
-
-2 Bugs
-     The PICT file format is a general drawing format.  picttoppm
-     only  supports a small subset of its operations but is still
-     very useful for files produced  by  scanning  software.   In
-     particular,  text  added to a scanned image will be silently
-     ignored.
-
-2 See_Also
-     Inside Macintosh volume 5, ppmtopict, ppm
-
-2 Author
-     Copyright 1989 George Phillips
-
-1 pjtoppm
-     pjtoppm - convert an HP PaintJet file to a portable pixmap
-
-2 Synopsis
-     pjtoppm [paintjet]
-
-2 Description
-     Reads an HP PaintJet file as input and converts  it  into  a
-     portable  pixmap.  This was a quick hack to save some trees,
-     and it only handles a small subset of the paintjet commands.
-     In  particular,  it will only handle enough commands to con-
-     vert most raster image files.
-
-REFERENCES
-     HP PaintJet XL Color Graphics Printer User's Guide
-
-2 See_Also
-     ppmtopj
-
-2 Author
-     Copyright (C) 1991 by Christos Zoulas.
-
-1 ppm3d
-     ppm3d - convert two  portable  pixmap  into  a  red/blue  3d
-     glasses pixmap
-
-2 Synopsis
-     ppm3d leftppmfile rightppmfile [horizontal offset]
-
-2 Description
-     Reads two portable pixmaps as input.   Produces  a  portable
-     pixmap   as   output,   with   the   images  overlapping  by
-     horizontal offset
-
-     pixels in blue/red format.
-
-     horizontal offset defaults to 30 pixels.   Pixmaps  MUST  be
-     the same size.
-
-2 See_Also
-     ppm(5)
-
-2 Author
-     Copyright (C) 1993 by David K. Drum.
-
-1 ppmbrighten
-     ppmbrighten - change an images Saturation and Value from  an
-     HSV map
-
-2 Synopsis
-     ppmbrighten  [-n]  [-s  <+-  saturation>]  [-v  <+-  value>]
-     <ppmfile>
-
-2 Description
-     Reads a portable pixmap as input.  Converts the  image  from
-     RGB  space  to HSV space and changes the Value by <+- value>
-     as a percentage.  Likewise with  the  Saturation.   Doubling
-     the Value would involve
-
-     ppmbrighten -v 100
-
-     to add 100 percent to the Value.
-
-     The 'n' option normalizes the Value to exist between 0 and 1
-     (normalized).
-
-2 See_Also
-     pgmnorm, ppm
-
-2 Notes
-     This program does not change the number of colors.
-
-2 Author
-     Copyright (C) 1990 by Brian Moffet Copyright (C) 1989 by Jef
-     Poskanzer.
-
-     Permission  to  use,  copy,  modify,  and  distribute   this
-     software  and  its documentation for any purpose and without
-     fee is hereby granted, provided  that  the  above  copyright
-     notice  appear  in  all  copies and that both that copyright
-     notice and this permission notice appear in supporting docu-
-     mentation.   This  software  is  provided  "as  is"  without
-     express or implied warranty.
-
-1 ppmchange
-     ppmchange -  change  all  pixels  of  one  color  to another in a
-     portable pixmap
-
-2 Synopsis
-     ppmchange colorspec1 colorspec2 [ppmfile]
-
-2 Description
-     Reads  a portable  pixmap  as  input.    Changes  all  pixels  of
-     colorspec1 to colorspec2, leaving all others unchanged.
-
-     The color can be specified in five ways:
-
-     o    A name, assuming that a pointer to an  X11-style  color
-          names file was compiled in.
-
-     o    An X11-style hexadecimal specifier: rgb:r/g/b, where  r
-          g and b are each 1- to 4-digit hexadecimal numbers.
-
-     o    An X11-style decimal specifier: rgbi:r/g/b, where  r  g
-          and b are floating point numbers between 0 and 1.
-
-     o    For backwards compatibility, an  old-X11-style  hexade-
-          cimal    number:    #rgb,   #rrggbb,   #rrrgggbbb,   or
-          #rrrrggggbbbb.
-
-     o    For  backwards  compatibility,  a  triplet  of  numbers
-          separated  by commas: r,g,b, where r g and b are float-
-          ing point numbers between 0 and  1.   (This  style  was
-          added before MIT came up with the similar rgbi style.)
-
-2 See_Also
-     pgmtoppm(1), ppm(5)
-
-2 Author
-     Wilson H. Bent. Jr. (whb@usc.edu)
-
-1 ppmdim
-     ppmdim - dim a portable pixmap down to total blackness
-
-2 Synopsis
-     ppmdim dimfactor [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.    Diminishes its brightness by
-     the specified dimfactor down to total blackness.    The dimfactor
-     may be in the range from 0.0 (total  blackness, deep night, nada,
-     null, nothing) to 1.0 (original picture's brightness).
-
-     As pnmgamma does not do the brightness correction in  the  way  I
-     wanted it, this small program was written.
-
-     ppmdim is similar to ppmbrighten , but not exactly the same.
-
-2 See_Also
-     ppm(5), ppmflash(1), pnmgamma(1), ppmbrighten(1)
-
-2 Author
-     Copyright (C) 1993 by Frank Neumann
-
-1 ppmdist
-     ppmdist -  simplistic grayscale assignment for machine generated,
-     color images
-
-2 Synopsis
-     ppmdist [-intensity|-frequency] [ppmfile]
-
-2 Description
-     Reads a portable pixmap  as  input,  performs  a  simplistic
-     grayscale assignment intended for use with grayscale or bit-
-     map printers.
-
-     Often conversion from ppm to pgm will yield  an  image  with
-     contrast  too low for good printer output.  The program max-
-     imizes contrast between the gray levels output.
-
-     A ppm input of n colors is read, and a pgm of n gray  levels
-     is  written.   The  gray  levels  take on the values 0..n-1,
-     while maxval takes on n-1.
-
-     The mapping from color to stepped grayscale can be performed
-     in  order of input pixel intensity, or input pixel frequency
-     (number of repetitions).
-
-2 Options
-     Helpful only for images with a very small number of  colors.
-     Perhaps should have been an option to ppmtopgm.
-
-2 See_Also
-     ppmtopgm, ppmhist, ppm
-
-2 Author
-     Copyright (C) 1993 by Dan Stromberg.
-
-1 ppmdither
-     ppmdither - ordered dither for color images
-
-2 Synopsis
-     ppmdither [-dim dimension] [-red shades] [-green shades]  [-
-     blue shades] [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input, and applies  dithering  to
-     it to reduce the number of colors used down to the specified
-     number of shades for each primary.  The  default  number  of
-     shades is red=5, green=9, blue=5, for a total of 225 colors.
-     To convert the image to a binary  rgb  format  suitable  for
-     color  printers,  use  -red 2 -green 2 -blue 2.  The maximum
-     number of colors that can be used is 256 and can be computed
-     as the product of the number of red, green and blue shades.
-
-2 Options
-     -dim dimension
-                   The size of the dithering matrix.  Must  be  a
-                   power of 2.
-
-     -red shades   The number of red shades to be  used;  minimum
-                   of 2.
-
-     -green shades The number of green shades to be used; minimum
-                   of 2.
-
-     -blue shades  The number of blue shades to be used;  minimum
-                   of 2.
-
-2 See_Also
-     pnmdepth, ppmquant, ppm
-
-2 Author
-     Copyright (C) 1991 by Christos Zoulas.
-
-1 ppmflash
-     ppmflash - brighten a picture up to complete white-out
-
-2 Synopsis
-     ppmflash flashfactor [ppmfile]
-
-2 Description
-     Reads  a portable pixmap as input.  Increases its  brightness  by
-     the  specified  flashfactor  up to a total white-out image.   The
-     flashfactor  may  be  in  the  range from 0.0 (original picture's
-     brightness) to 1.0 (full white-out, The Second After).
-
-     As pnmgamma  does  not  do the brightness correction in the way I
-     wanted it, this small program was written.
-
-     This program is similar to ppmbrighten, but not exactly the same.
-
-2 See_Also
-     ppm(5), ppmdim(1), pnmgamma(1), ppmbrighten(1)
-
-2 Author
-     Copyright (C) 1993 by Frank Neumann
-
-1 ppmhist
-     ppmhist - print a histogram of a portable pixmap
-
-2 Synopsis
-     ppmhist [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Generates a histogram  of
-     the colors in the pixmap.
-
-2 See_Also
-     ppm, pgmhist
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 ppmmake
-     ppmmake - create a pixmap of a specified size and color
-
-2 Synopsis
-     ppmmake color width height
-
-2 Description
-     Produces a portable pixmap of the  specified  color,  width,
-     and height.
-
-     The color can be specified in five ways:
-
-     o    A name, assuming that a pointer to an  X11-style  color
-          names file was compiled in.
-
-     o    An X11-style hexadecimal specifier: rgb:r/g/b, where  r
-          g and b are each 1- to 4-digit hexadecimal numbers.
-
-     o    An X11-style decimal specifier: rgbi:r/g/b, where  r  g
-          and b are floating point numbers between 0 and 1.
-
-     o    For backwards compatibility, an  old-X11-style  hexade-
-          cimal    number:    #rgb,   #rrggbb,   #rrrgggbbb,   or
-          #rrrrggggbbbb.
-
-     o    For  backwards  compatibility,  a  triplet  of  numbers
-          separated  by commas: r,g,b, where r g and b are float-
-          ing point numbers between 0 and  1.   (This  style  was
-          added before MIT came up with the similar rgbi style.)
-
-2 See_Also
-     ppm, pbmmake
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 ppmmix
-     ppmmix - blend together two portable pixmaps
-
-2 Synopsis
-     ppmmix fadefactor ppmfile1 ppmfile2
-
-2 Description
-     Reads two portable pixmaps  as  input.  Mixes them together using
-     the specified fade factor.   The  fade factor may be in the range
-     from 0.0 (only ppmfile1's image data)  to  1.0  (only  ppmfile2's
-     image data).  Anything in between gains  a  smooth  blend between
-     the two images.
-
-     The two pixmaps must have the same size.
-
-2 See_Also
-     ppm(5)
-
-2 Author
-     Copyright (C) 1993 by Frank Neumann
-
-1 ppmquant
-     ppmquant - quantize the colors in  a  portable  pixmap  down to a
-     specified number
-
-2 Synopsis
-     ppmquant [-floyd|-fs] ncolors [ppmfile]
-     ppmquant [-floyd|-fs] -map mapfile [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Chooses ncolors colors to
-     best  represent  the  image, maps the existing colors to the
-     new ones, and writes a portable pixmap as output.
-
-     The quantization method is Heckbert's "median cut".
-
-     Alternately, you can skip the color-choosing step by  speci-
-     fying  your  own set of colors with the -map flag.  The map-
-     file is just a ppm file; it  can  be  any  shape,  all  that
-     matters is the colors in it.  For instance, to quantize down
-     to the 8-color IBM TTL color set, you might use:
-         P3
-         8 1
-         255
-           0   0   0
-         255   0   0
-           0 255   0
-           0   0 255
-         255 255   0
-         255   0 255
-           0 255 255
-         255 255 255
-     If you want to quantize one pixmap  to  use  the  colors  in
-     another  one,  just  use the second one as the mapfile.  You
-     don't have to reduce it down  to  only  one  pixel  of  each
-     color, just use it as is.
-
-     The -floyd/-fs flag enables a Floyd-Steinberg  error  diffu-
-     sion  step.   Floyd-Steinberg gives vastly better results on
-     images where the  unmodified  quantization  has  banding  or
-     other  artifacts, especially when going to a small number of
-     colors such as the above IBM set.   However,  it  does  take
-     substantially more CPU time, so the default is off.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 References
-     "Color Image Quantization for Frame Buffer Display" by  Paul
-     Heckbert, SIGGRAPH '82 Proceedings, page 297.
-
-2 See_Also
-     ppmquantall, pnmdepth, ppmdither, ppm
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 ppmrelief
-     ppmrelief - run a Laplacian relief filter on a portable pixmap
-
-2 Synopsis
-     ppmrelief [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Does a  Laplacian  relief
-     filter, and writes a portable pixmap as output.
-
-     The Laplacian relief filter is described in "Beyond  Photog-
-     raphy"  by  Holzmann,  equation  3.19.  It's a sort of edge-
-     detection.
-
-2 See_Also
-     pgmbentley, pgmoil, ppm
-
-2 Author
-     Copyright (C) 1990 by Wilson Bent (whb@hoh-2.att.com)
-
-1 ppmshift
-     ppmshift - shift lines of  a  portable  pixmap left or right by a
-     random amount
-
-2 Synopsis
-     ppmshift shift [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Shifts every row of image data
-     to the left or right by a certain  amount.  The 'shift' parameter
-     determines by how many pixels a row is to be shifted at most.
-
-     Another one of those effects I intended to use  for  MPEG  tests.
-     Unfortunately,  this  program will not help me here - it  creates
-     too  random patterns to be used for animations.  Still, it  might
-     give interesting results on still images.
-
-2 Example
-     Check  this  out:    Save your  favourite  model's  picture  from
-     something like alt.binaries.pictures.supermodels (ok, or from any
-     other  picture source), convert it to ppm, and  process  it  e.g.
-     like this, assuming the picture is 800x600 pixels:
-     
-       # take the upper half, and leave it like it is
-       pnmcut 0 0 800 300 cs.ppm >upper.ppm
-
-       # take the lower half, flip it upside down,  dim it and distort
-         it a little
-       pnmcut 0 300 800 300 cs.ppm | pnmflip -tb | ppmdim 0.7 |
-          ppmshift 10 >lower.ppm
-
-       # and concatenate the two pieces
-       pnmcat -tb upper.ppm lower.ppm >newpic.ppm  The  resulting
-     picture  looks  like the image being reflected on a water surface
-     with slight ripples.
-
-2 See_Also
-     ppm(5), pnmcut(1), pnmflip(1), ppmdim(1), pnmcat(1)
-
-2 Author
-     Copyright (C) 1993 by Frank Neumann
-
-1 ppmspread
-     ppmspread - displace  a  portable  pixmap's  pixels by  a  random
-     amount
-
-2 Synopsis
-     ppmspread amount [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Moves every pixel around a bit
-     relative to its original position.  amount determines by how many
-     pixels a pixel is to be moved around at most.
-
-     Pictures processed with this  filter  will  seem  to  be somewhat
-     dissolved or unfocussed (although they  appear  more  coarse than
-     images processed by something like pnmconvol ).
-
-2 See_Also
-     ppm(5), pnmconvol(1)
-
-2 Author
-     Copyright (C) 1993 by Frank Neumann
-
-1 ppmtoacad
-     ppmtoacad - convert portable pixmap to AutoCAD database or slide
-
-2 Synopsis
-     ppmtoacad [-dxb] [-poly] [-background colour] [-white] [-
-               aspect ratio] [-8] [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces an AutoCAD(Reg.)
-     slide  file or binary database import (.dxb) file as output.
-     If no ppmfile is specified,  input  is  read  from  standard
-     input.
-
-2 Options
-     -dxb An AutoCAD binary database import (.dxb) file is  writ-
-          ten.   This  file  is  read with the DXBIN command and,
-          once loaded, becomes part of  the  AutoCAD  geometrical
-          database  and  can  be viewed and edited like any other
-          object.  Each sequence of identical  pixels  becomes  a
-          separate  object  in  the  database; this can result in
-          very large AutoCAD drawing files.  However, if you want
-          to trace over a bitmap, it lets you zoom and pan around
-          the bitmap as you wish.
-
-     -poly
-          If the -dxb option is  not  specified,  the  output  of
-          ppmtoacad  is an AutoCAD slide file.  Normally each row
-          of pixels is represented by an AutoCAD line entity.  If
-          -poly  is  selected,  the pixels are rendered as filled
-          polygons.  If the slide is viewed  on  a  display  with
-          higher  resolution  than  the  source pixmap, this will
-          cause the pixels to  expand  instead  of  appearing  as
-          discrete  lines  against  the screen background colour.
-          Regrettably, this  representation  yields  slide  files
-          which  occupy  more  disc  space  and  take  longer  to
-          display.
-
-     -background colour
-          Most AutoCAD display drivers can be configured  to  use
-          any  available  colour  as the screen background.  Some
-          users perfer a black screen background,  others  white,
-          while splinter groups advocate burnt ocher, tawny puce,
-          and shocking grey.   Discarding  pixels  whose  closest
-          AutoCAD  colour  representation  is  equal to the back-
-          ground colour can substantially reduce the size of  the
-          AutoCAD  database  or  slide file needed to represent a
-          bitmap.  If no -background  colour  is  specified,  the
-          screen  background  colour is assumed to be black.  Any
-          AutoCAD colour number may be specified  as  the  screen
-          background;  colour  numbers are assumed to specify the
-          hues  defined  in  the  standard  AutoCAD  256   colour
-          palette.
-
-     -white
-          Since many AutoCAD users choose a  white  screen  back-
-          ground, this option is provided as a short-cut.  Speci-
-          fying -white is identical in effect to -background 7.
-
-     -aspect ratio
-          If the source pixmap had non-square pixels,  the  ratio
-          of  the pixel width to pixel height should be specified
-          as ratio.  The resulting slide or  .dxb  file  will  be
-          corrected  so that pixels on the AutoCAD screen will be
-          square.  For example, to correct an image  made  for  a
-          320x200 VGA/MCGA screen, specify -aspect 0.8333.
-
-     -8   Restricts the colours in the output file to the  8  RGB
-          shades.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 Bugs
-     AutoCAD has a fixed  palette  of  256  colours,  distributed
-     along  the  hue,  lightness,  and  saturation axes.  Pixmaps
-     which contain many nearly-identical colours, or colours  not
-     closely  approximated  by  AutoCAD's  palette, may be poorly
-     rendered.
-
-     ppmtoacad works best if the  system  displaying  its  output
-     supports the full 256 colour AutoCAD palette.  Monochrome, 8
-     colour, and 16 colour configurations will produce less  than
-     optimal results.
-
-     When creating a .dxb file or a slide  file  with  the  -poly
-     option, ppmtoacad finds both vertical and horizontal runs of
-     identical pixels  and  consolidates  them  into  rectangular
-     regions  to  reduce  the  size  of the output file.  This is
-     effective for images with large areas of constant colour but
-     it's no substitute for true raster to vector conversion.  In
-     particular, thin diagonal lines are not optimised at all  by
-     this process.
-
-     Output files can be huge.
-
-2 See_Also
-     AutoCAD Reference Manual: Slide File Format and Binary Draw-
-     ing Interchange (DXB) Files, ppm
-
-2 Author
-          John Walker
-          Autodesk SA
-          Avenue des Champs-Montants 14b
-          CH-2074 MARIN
-          Suisse/Schweiz/Svizzera/Svizra/Switzerland
-          Usenet:  kelvin@Autodesk.com
-          Fax:     038/33 88 15
-          Voice:   038/33 76 33
-
-     Permission  to  use,  copy,  modify,  and  distribute   this
-     software  and  its documentation for any purpose and without
-     fee is hereby granted, without any  conditions  or  restric-
-     tions.   This software is provided ``as is'' without express
-     or implied warranty.
-
-     AutoCAD and Autodesk are registered trademarks of  Autodesk,
-     Inc.
-
-1 ppmtobmp
-     ppmtobmp - convert a portable pixmap into a BMP file
-
-2 Synopsis
-     ppmtobmp [-windows] [-os2] [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces a Microsoft Win-
-     dows or OS/2 BMP file as output.
-
-2 Options
-     -windows
-          Tells the program to produce a  Microsoft  Windows  BMP
-          file.
-
-     -os2 Tells the program to produce an OS/2 BMP  file.   (This
-          is the default.)
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     bmptoppm, ppm
-
-2 Author
-     Copyright (C) 1992 by David W. Sanderson.
-
-1 ppmtogif
-     ppmtogif - convert a portable pixmap into a GIF file
-
-2 Synopsis
-     ppmtogif [-interlace] [-sort] [-map mapfile ] [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces a  GIF  file  as
-     output.
-
-2 Options
-     -interlace
-          Tells the program to produce an interlaced GIF file.
-
-     -sort
-          Produces a GIF file with a sorted color map.
-
-     -map mapfile
-
-          Uses the colors found in  the  mapfile  to  create  the
-          colormap  in  the  GIF file, instead of the colors from
-          ppmfile. The mapfile can be  any  ppm  file;  all  that
-          matters  is  the colors in it. If the colors in ppmfile
-          do not match those in mapfile , they are matched  to  a
-          "best match". A (much) better result can be obtained by
-          using the following filter in advance:
-
-          ppmquant -floyd -map mapfile
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     giftopnm, ppmquant, ppm
-
-2 Author
-     Based      on      GIFENCOD      by       David       Rowley
-     <mgardi@watdcsu.waterloo.edu>.  Lempel-Ziv compression based
-     on "compress".
-
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 ppmtoicr
-     ppmtoicr - convert a portable pixmap into NCSA ICR format
-
-2 Synopsis
-     ppmtoicr  [-windowname  name]  [-expand  expand]   [-display
-     display] [-rle] [ppmfile]
-
-2 Description
-     Reads a portable pixmap file as  input.   Produces  an  NCSA
-     Telnet  Interactive Color Raster graphic file as output.  If
-     ppmfile is not supplied, ppmtoicr will  read  from  standard
-     input.
-
-     Interactive Color Raster (ICR) is a protocol for  displaying
-     raster  graphics  on  workstation  screens.  The protocol is
-     implemented in NCSA Telnet for the  Macintosh  version  2.3.
-     The  ICR  protocol  shares  characteristics of the Tektronix
-     graphics terminal emulation protocol.  For  example,  escape
-     sequences are used to control the display.
-
-     ppmtoicr will output the appropriate sequences to  create  a
-     window  of  the  dimensions  of  the  input pixmap, create a
-     colormap of up to 256 colors on the display, then  load  the
-     picture data into the window.
-
-     Note that there is no icrtoppm tool - this transformation is
-     one way.
-
-2 Options
-     -windownamename
-                   Output will be displayed in name  (Default  is
-                   to use ppmfile or "untitled" if standard input
-                   is read.)
-
-     -expandexpand Output will be expanded on display  by  factor
-                   expand  (For  example, a value of 2 will cause
-                   four pixels to be displayed  for  every  input
-                   pixel.)
-
-     -displaydisplay
-                   Output will be displayed  on  screen  numbered
-                   display
-
-     -rle          Use run-length  encoded  format  for  display.
-                   (This  will  nearly always result in a quicker
-                   display, but may skew the colormap.)
-
-2 Examples
-     To display a ppm file using the protocol:
-         ppmtoicr ppmfile
-     This will create a window named ppmfile on the display  with
-     the  correct  dimensions  for ppmfile, create and download a
-     colormap of up to 256 colors, and download the picture  into
-     the window. The same effect may be achieved by the following
-     sequence:
-         ppmtoicr ppmfile > filename
-         cat filename
-     To display a GIF file using the protocol in a window  titled
-     after  the  input file, zoom the displayed image by a factor
-     of 2, and run-length encode the data:
-         giftopnm giffile | ppmtoicr -w giffile -r -e 2
-
-2 Bugs
-     The protocol uses frequent fflush calls to speed up display.
-     If  the output is saved to a file for later display via cat,
-     drawing will be much slower. In either case, increasing  the
-     Blocksize  limit  on  the display will speed up transmission
-     substantially.
-
-2 See_Also
-     ppm
-
-     NCSA Telnet for the Macintosh,  University  of  Illinois  at
-     Urbana-Champaign (1989)
-
-2 Author
-     Copyright     (C)      1990      by      Kanthan      Pillay
-     (svpillay@Princeton.EDU), Princeton University Computing and
-     Information Technology.
-
-1 ppmtoilbm
-     ppmtoilbm - convert a portable pixmap into an ILBM file
-
-2 Synopsis
-     ppmtoilbm [-maxplanes|-mp  N]  [-fixplanes|-fp  N]  [-ham6|-
-     ham8]   [-dcbits|-dcplanesrg   [-normal|-hamif|-hamforce   -
-     dcif|-dcforce|-cmaponly] [-ecs|-aga] [-mapppmfile] [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces an ILBM file  as
-     output.  Supported ILBM types are:
-
-     Normal ILBMs with 1-16 planes.
-
-     Amiga Hold-and-modify (HAM) with 3-16 planes.
-
-     24 bit.
-
-     Color map (BMHD + CMAP chunk only, nPlanes = 0).
-
-     Unofficial direct color.
-          1-16 planes for each color component.
-
-     Chunks written:
-          BMHD, CMAP, CAMG (only for HAM), BODY (not for colormap
-          files) unofficial DCOL chunk for direct color ILBM
-
-2 Options
-     Options marked with (*) can be prefixed with  a  "no",  e.g.
-     "-nohamif". All options can be abbreviated to their shortest
-     unique prefix.
-
-     -maxplanes | -mp n
-          (default 5, minimum 1, maximum 16)  Maximum  planes  to
-          write  in  a  normal  ILBM.  If the pixmap does not fit
-          into <n> planes, ppmtoilbm writes a HAM file (if -hamif
-          is  used),  a 24bit file (if -24if is used) or a direct
-          color file (if -dcif is used) or aborts with an error.
-
-     -fixplanes | -fp n
-          (min 1, max 16) If a normal ILBM is  written,  it  will
-          have exactly <n> planes.
-
-     -hambits | -hamplanes n
-          (default 6, min 3, max 16) Select number of planes  for
-          HAM picture.  The current Amiga hardware supports 6 and
-          8 planes, so for now you should only use this values.
-
-     -normal (default)
-          Turns  off   -hamif/-24if/-dcif,   -hamforce/-24force/-
-          dcforce and -cmaponly.
-
-     -hamif (*)
-
-     -24if (*)
-
-     -dcif (*)
-          Write a HAM/24bit/direct color file if the pixmap  does
-          not fit into <maxplanes> planes.
-
-     -hamforce (*)
-
-     -24force (*)
-
-     -dcforce (*)
-          Write a HAM/24bit/direct color file.
-
-     -dcbits | -dcplanes r g b
-          (default 5, min 1, max 16).  Select number of bits  for
-          red, green & blue in a direct color ILBM.
-
-     -ecs (default)
-          Shortcut for: -hamplanes 6 -maxplanes 5
-
-     -aga
-
-     Shortcut for: -hamplanes 8 -maxplanes 8
-
-     -ham6
-
-     Shortcut for: -hamplanes 6 -hamforce
-
-     -ham8
-          Shortcut for: -hamplanes 8 -hamforce
-
-     -map ppmfile
-          Write a normal ILBM using the colors  in  <ppmfile>  as
-          the  colormap.  The  colormap  file also determines the
-          number of planes, a -maxplanes or -fixplanes option  is
-          ignored.
-
-     -cmaponly
-          Write a colormap file: only BMHD and  CMAP  chunks,  no
-          BODY chunk, nPlanes = 0.
-
-2 Bugs
-     Needs a real colormap selection algorithm for HAM  pictures,
-     instead of using a grayscale colormap.
-
-2 References
-     Amiga ROM Kernel Reference Manual - Devices (3rd Ed.)
-     Addison Wesley, ISBN 0-201-56775-X
-
-2 See_Also
-     ppm(5), ilbmtoppm(1)
-
-2 Authors
-     Copyright (C) 1989 by Jef Poskanzer.
-     Modified August 1993 by Ingo Wilken
-    (Ingo.Wilken@informatik.uni-oldenburg.de)
-
-1 ppmtomitsu
-     ppmtomitsu - convert a portable pixmap to a Mitsubishi S340-10 file
-
-2 Synopsis
-     ppmtomitsu [-sharpness val] [-enlarge val] [-media string]
-                [-copy val] [-dpi300] [-tiny] [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input and  converts  it  into  a  format
-     suitable  to  be printed by a Mitsubishi S340-10  printer,  or  any
-     other Mitsubishi color sublimation printer.
-
-     The  Mitsubishi  S340-10  Color  Sublimation printer supports 24bit
-     color.  Images of the available sizes take so long to transfer that
-     there is a  fast  method,  employing a lookuptable, that ppmtomitsu
-     will use if there  is  a  maximum  of  256  colors  in  the pixmap.
-     ppmtomitsu will try to position  your  image  to  the center of the
-     paper, and will rotate your image  for  you if xsize is larger than
-     ysize.  If your image is larger  than  the media allows, ppmtomitsu
-     will quit with an error message.  (We  decided  that the media were
-     too expensive to have careless users produce misprints.) Once  data
-     transmission  has started, the job can't be stopped in a  sane  way
-     without resetting the  printer.    The  printer understands putting
-     together images in the printers memory;  ppmtomitsu doesn't utilize
-     this as pnmcat etc provide  the same functionality and let you view
-     the  result  on-screen, too.  The  S340-10  is  the  lowest  common
-     denominator  printer;  for higher resolution printers  there's  the
-     dpi300 option.  The other printers also support  higher  values for
-     enlarge eg., but I don't think that's essential enough to warrant a
-     change in the program.
-
-     -sharpness 1-4
-          'sharpness' designation.    Default  is  to  use  the  current
-          sharpness.
-
-     -enlarge 1-3
-          Enlarge by a factor; Default is 1 (no enlarge)
-
-     -media A, A4, AS, A4S
-          Designate the media  you're  using.    Default is 1184 x 1350,
-          which will fit on any media.  A  is  1216 x 1350, A4 is 1184 x
-          1452, AS is 1216 x 1650 and A4S is 1184 x 1754.    A  warning:
-          If you specify a  different  media  than the printer currently
-          has, the printer will wait until  you put in the correct media
-          or switch it off.
-
-     -copy 1-9
-          The number of copies to produce. Default is 1.
-
-     -dpi300
-          Double the number of allowed pixels for  a S3600-30 Printer in
-          S340-10 compatibility mode.  (The S3600-30 has 300 dpi).
-
-     -tiny
-          Memory-safing, but always slow.  The printer will get the data
-          line-by-line in 24bit.  It's probably a good idea to  use this
-          if your machine starts paging a lot without this option.
-
-2 References
-     Mitsubishi Sublimation Full Color Printer S340-10 Specifications of
-     Parallel Interface LSP-F0232F
-
-2 See_Also
-     ppmquant(1), pnmscale(1), ppm(5)
-
-2 Bugs
-     We didn't find any - yet.  (Besides, they're called features anyway
-     :-) If you should find one, my email-adress is below.
-
-2 Author
-     Copyright (C) 1992, 93  by  S.Petra  Zeidler,  MPIfR Bonn, Germany.
-     (spz@specklec.mpifr-bonn.mpg.de)
-
-1 ppmtopcx
-     ppmtopcx - convert a portable pixmap into a PCX file
-
-2 Synopsis
-     ppmtopcx [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces a  PCX  file  as
-     output.
-
-2 See_Also
-     pcxtoppm, ppm
-
-2 Author
-     Copyright (C) 1990 by Michael Davidson.
-
-1 ppmtopgm
-     ppmtopgm - convert a portable pixmap into a portable graymap
-
-2 Synopsis
-     ppmtopgm [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces a portable gray-
-     map  as  output.   The quantization formula used is .299 r +
-     .587 g + .114 b.
-
-     Note that although there is a pgmtoppm program,  it  is  not
-     necessary  for  simple  conversions from pgm to ppm, because
-     any ppm program can read pgm (and pbm ) files automagically.
-     pgmtoppm  is for colorizing a pgm file.  Also, see ppmtorgb3
-     for a different way of converting color to gray.
-
-2 QUOTE
-     Cold-hearted orb that rules the night
-     Removes the colors from our sight
-     Red is gray, and yellow white
-     But we decide which is right
-     And which is a quantization error.
-
-2 See_Also
-     pgmtoppm, ppmtorgb3, rgb3toppm, ppm, pgm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 ppmtopi1
-     ppmtopi1 - convert a portable pixmap  into  an  Atari  Degas
-     .pi1 file
-
-2 Synopsis
-     ppmtopi1 [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces an  Atari  Degas
-     .pi1 file as output.
-
-2 See_Also
-     pi1toppm, ppm, pbmtopi3, pi3topbm
-
-2 Author
-     Copyright (C) 1991 by Steve Belczyk (seb3@gte.com)  and  Jef
-     Poskanzer.
-
-1 ppmtopict
-     ppmtopict - convert a portable pixmap into a Macintosh  PICT
-     file
-
-2 Synopsis
-     ppmtopict [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces a Macintosh PICT
-     file as output.
-
-     The generated file is only the data fork of a picture.   You
-     will  need  a program such as mcvert to generate a Macbinary
-     or a BinHex file that contains the necessary information  to
-     identify the file as a PICT file to MacOS.
-
-     Even though PICT supports 2 and 4 bits per pixel,  ppmtopict
-     always generates an 8 bits per pixel file.
-
-2 Bugs
-     The picture size field is only correct if the output is to a
-     file  since  writing  into this field requires seeking back-
-     wards on a file.  However the PICT  documentation  seems  to
-     suggest  that  this field is not critical anyway since it is
-     only the lower 16 bits of the picture size.
-
-2 See_Also
-     picttoppm, ppm, mcvert
-
-2 Author
-     Copyright (C) 1990 by Ken Yap <ken@cs.rocester.edu>.
-
-1 ppmtopj
-     ppmtopj - convert a portable pixmap to an HP PaintJet file
-
-2 Synopsis
-     ppmtopj  [-gamma  val]  [-xpos  val]  [-ypos   val]   [-back
-     dark|lite]         [-rle]         [-center]         [-render
-     none|snap|bw|dither|diffuse|monodither|monodiffuse|clusterdither|monoclusterdither]
-     [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input and converts it into a for-
-     mat suitable to be printed by an HP PaintJet printer.
-
-     For best results, the input file should be  in  8-color  RGB
-     form;  i.e. it should have only the 8 binary combinations of
-     full-on and full-off primaries.  You could get this by send-
-     ing  the  input  file  through ppmquant -map with a map file
-     such as:
-         P3
-         8 1
-         255
-         0 0 0      255 0 0    0 255 0    0 0 255
-         255 255 0  255 0 255  0 255 255  255 255 255
-     Or else you could use use ppmdither -red 2 -green 2 -blue
-
-2 Options
-     -rle          Run length encode the image.  (This can result
-                   in larger images)
-
-     -back         Enhance the foreground by  indicating  if  the
-                   background  is  light  or dark compated to the
-                   foreground.
-
-     -render alg   Use an internal rendering  algorithm  (default
-                   dither).
-
-     -gamma int    Gamma correct  the  image  using  the  integet
-                   parameter as a gamma (default 0).
-
-     -center       Center the image to an 8.5 by 11 page
-
-     -xpos pos     Move by pos pixels in the x direction.
-
-     -ypos pos     Move by pos pixels in the y direction.
-
-2 References
-     HP PaintJet XL Color Graphics Printer User's Guide
-
-2 See_Also
-     pnmdepth, ppmquant, ppmdither, ppm
-
-2 Bugs
-     Most of the options have not  been  tested  because  of  the
-     price of the paper.
-
-2 Author
-     Copyright (C) 1991 by Christos Zoulas.
-
-1 ppmtopuzz
-     ppmtopuzz - convert a portable pixmap into an  X11  "puzzle"
-     file
-
-2 Synopsis
-     ppmtopuzz [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces an X11  "puzzle"
-     file  as output.  A "puzzle" file is for use with the puzzle
-     program included with the  X11  distribution  -  puzzle's  -
-     picture flag lets you specify an image file.
-
-2 See_Also
-     ppm, puzzle
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 ppmtorgb3
-     ppmtorgb3 - separate a portable pixmap into  three  portable
-     graymaps
-
-2 Synopsis
-     ppmtorgb3 [ppmfile]
-
-2 Description
-     Reads a portable pixmap as  input.   Writes  three  portable
-     graymaps as output, one each for red, green, and blue.
-
-     The output filenames are constructed  by  taking  the  input
-     filename, stripping off any extension, and appending ".red",
-     ".grn", and ".blu".  For example, separating lenna.ppm would
-     result in lenna.red, lenna.grn, and lenna.blu.  If the input
-     comes from stdin, the names are noname.red, noname.grn,  and
-     noname.blu.
-
-2 See_Also
-     rgb3toppm, ppmtopgm, pgmtoppm, ppm, pgm
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 ppmtosixel
-     ppmtosixel - convert a portable pixmap into DEC sixel format
-
-2 Synopsis
-     ppmtosixel [-raw] [-margin] [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces  sixel  commands
-     (SIX)  as  output.  The output is formatted for color print-
-     ing, e.g. for a DEC LJ250 color inkjet printer.
-
-     If RGB values from the PPM file do not have maxval=100,  the
-     RGB  values  are  rescaled.   A printer control header and a
-     color assignment table begin the SIX file.   Image  data  is
-     written  in  a compressed format by default.  A printer con-
-     trol footer ends the image file.
-
-2 Options
-     -raw If specified, each pixel will be  explicitly  described
-          in  the  image  file.  If -raw is not specified, output
-          will default to compressed format  in  which  identical
-          adjacent  pixels  are  replaced  by "repeat pixel" com-
-          mands.  A raw file  is  often  an  order  of  magnitude
-          larger than a compressed file and prints much slower.
-
-     -margin
-          If -margin is not specified, the image will be start at
-          the  left  margin  (of the window, paper, or whatever).
-          If -margin is specified, a 1.5 inch  left  margin  will
-          offset the image.
-
-2 Printing
-     Generally, sixel files must reach  the  printer  unfiltered.
-     Use the lpr -x option or cat filename > /dev/tty0?.
-
-2 Bugs
-     Upon rescaling, truncation of the least significant bits  of
-     RGB values may result in poor color conversion.  If the ori-
-     ginal PPM  maxval  was  greater  than  100,  rescaling  also
-     reduces  the  image depth.  While the actual RGB values from
-     the ppm file are more or less retained, the color palette of
-     the  LJ250  may  not  match the colors on your screen.  This
-     seems to be a printer limitation.
-
-2 See_Also
-     ppm
-
-2 Author
-     Copyright (C) 1991 by Rick Vinci.
-
-1 ppmtotga
-     ppmtotga - convert portable pixmap into a  TrueVision  Targa
-     file
-
-2 Synopsis
-     ppmtotga [-mono|-cmap|-rgb] [-norle] [ppmfile]
-
-2 Description
-     Reads a portable pixmap as  input.   Produces  a  TrueVision
-     Targa file as output.
-
-2 Options
-     -mono
-          Forces Targa file to  be  of  type  8  bit  monochrome.
-          Input must be a portable bitmap or a portable graymap.
-
-     -cmap
-          Forces Targa file to be of  type  24  bit  colormapped.
-          Input  must be a portable bitmap, a portable graymap or
-          a portable pixmap containing no more than 256  distinct
-          colors.
-
-     -rgb Forces Targa file to be of type 24 bit unmapped color.
-
-     -norle
-          Disables run-length encoding, in case you have a  Targa
-          reader which can't read run-length encoded files.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.   If  no  file  type  is specified the most highly con-
-     stained compatible type is used, where  monochrome  is  more
-     constained than colormapped which is in turn more constained
-     than unmapped.
-
-2 Bugs
-     Does not support all  possible  Targa  file  types.   Should
-     really be in PNM, not PPM.
-
-2 See_Also
-     tgatoppm, ppm
-
-2 Author
-     Copyright (C) 1989, 1991 by Mark Shand and Jef Poskanzer.
-
-1 ppmtouil
-     ppmtouil - convert a portable pixmap into a Motif  UIL  icon
-     file
-
-2 Synopsis
-     ppmtouil [-name uilname] [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces a Motif UIL icon
-     file as output.
-
-     If the program was compiled with an rgb database  specified,
-     and  a RGB value from the ppm input matches a RGB value from
-     the database, then the corresponding color name mnemonic  is
-     printed  in the UIL's colormap.  If no rgb database was com-
-     piled in, or if the RGB values don't match, then  the  color
-     will  be  printed  with  the  #RGB,  #RRGGBB, #RRRGGGBBB, or
-     #RRRRGGGGBBBB hexadecimal format.
-
-2 Options
-     -name
-          Allows you  to  specify  the  prefix  string  which  is
-          printed in the resulting UIL output.  If not specified,
-          will default to the filename (without extension) of the
-          ppmfile  argument.   If  -name  is not specified and no
-          ppmfile is specified (i.e.  piped  input),  the  prefix
-          string will default to the string "noname".
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 See_Also
-     ppm
-
-2 Author
-     Converted by Jef Poskanzer from ppmtoxpm.c, which  is  Copy-
-     right (C) 1990 by Mark W. Snitily
-
-1 ppmtoxpm
-     ppmtoxpm - convert a portable pixmap into an X11 pixmap
-
-2 Synopsis
-     ppmtoxpm [-name xpmname] [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces X11 pixmap (XPM)
-     as output.
-
-     If the program was compiled with an rgb database  specified,
-     and  a RGB value from the ppm input matches a RGB value from
-     the database, then the corresponding color name mnemonic  is
-     printed  in the XPM's colormap.  If no rgb database was com-
-     piled in, or if the RGB values don't match, then  the  color
-     will  be  printed  with  the  #RGB,  #RRGGBB, #RRRGGGBBB, or
-     #RRRRGGGGBBBB hexadecimal format.
-
-2 Options
-     -name
-          Allows you  to  specify  the  prefix  string  which  is
-          printed in the resulting XPM output.  If not specified,
-          will default to the filename (without extension) of the
-          ppmfile  argument.   If  -name  is not specified and no
-          ppmfile is specified (i.e.  piped  input),  the  prefix
-          string will default to the string "noname".
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 Example
-     To     convert     the     file     "dot"     (found      in
-     /usr/include/X11/bitmaps), from xbm to xpm one could specify
-
-          xbmtopbm dot | ppmtoxpm -name dot
-
-2 Bugs
-     An option to match the closest  (rather  than  exact)  color
-     name  mnemonic  from  the  rgb  text  would  be  a desirable
-     enhancement.
-
-     Truncation of the least significant bits of a RGB value  may
-     result  in  nonexact  matches  when  performing  color  name
-     mnemonic lookups.
-
-2 See_Also
-     xpmtoppm, ppm
-
-2 Author
-     Copyright (C) 1990 by Mark W. Snitily.
-
-1 ppmtoyuv
-     ppmtoyuv - convert a portable pixmap into an Abekas YUV file
-
-2 Synopsis
-     ppmtoyuv [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces  an  Abekas  YUV
-     file as output.
-
-2 See_Also
-     yuvtoppm, ppm
-
-2 Author
-     Marc Boucher <marc@PostImage.COM>, based on Example  Conver-
-     sion  Program,  A60/A64 Digital Video Interface Manual, page
-     69.
-
-     Copyright (C) 1991 by DHD PostImage Inc.
-
-     Copyright (C) 1987 by Abekas Video Systems Inc.
-
-1 ppmtoyuvsplit
-     ppmtoyuvsplit - convert a portable pixmap into 3  subsampled
-     raw YUV files
-
-2 Synopsis
-     ppmtoyuvsplit basename [ppmfile]
-
-2 Description
-     Reads a portable pixmap as  input.   Produces  3  raw  files
-     basename.Y,  basename.U  and  basename.V  as  output.  These
-     files are the subsampled raw YUV representation of the input
-     pixmap,  as required by the Stanford MPEG codec. The subsam-
-     pling is done by arithmetic mean of  4  pixels  colors  into
-     one.  The  YUV  values  are scaled according to CCIR.601, as
-     assumed by MPEG.
-
-2 See_Also
-     mpeg, ppm
-
-2 Author
-     Copyright (C) 1993 by  Andre  Beck.  (Andreeck@IRS.Inf.TU-
-     Dresden.de)
-
-     Based on ppmtoyuv.c
-
-1 qrttoppm
-     qrttoppm - convert output from the QRT  ray  tracer  into  a
-     portable pixmap
-
-2 Synopsis
-     qrttoppm [qrtfile]
-
-2 Description
-     Reads a QRT file as input.  Produces a  portable  pixmap  as
-     output.
-
-2 See_Also
-     ppm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 rawtoppm
-     rawtoppm - convert raw RGB bytes into a portable pixmap
-
-2 Synopsis
-     rawtoppm [-headerskip N]  [-rowskip  N]  [-rgb|-rbg|-grb  |-
-     gbr|-brg|-bgr ] [-interpixel|-interrow] width height [image-
-     data]
-
-2 Description
-     Reads raw RGB bytes as input.  Produces a portable pixmap as
-     output.   The  input  file  is  just RGB bytes.  You have to
-     specify the width and height on the command line, since  the
-     program  obviously can't get them from the file.  The maxval
-     is assumed to be 255.  If  the  resulting  image  is  upside
-     down, run it through pnmflip -tb .
-
-2 Options
-     -headerskip
-          If the file has a header, you can use this flag to skip
-          over it.
-
-     -rowskip
-          If there is padding at the ends of the  rows,  you  can
-          skip it with this flag.
-
-     -rgb -rbg -grb -gbr -brg -bgr
-          These flags let you  specify  alternate  color  orders.
-          The default is -rgb.
-
-     -interpixel -interrow
-          These flags let you specify how the colors  are  inter-
-          leaved.   The  default  is  -interpixel, meaning inter-
-          leaved by pixel.  A byte of red, a byte of green, and a
-          byte  of  blue,  or whatever color order you specified.
-          -interrow means interleaved by row - a row  of  red,  a
-          row  of  green,  a  row  of blue, assuming standard rgb
-          color order.  An -interplane flag  - all the  red  pix-
-          els,  then  all the green, then all the blue - would be
-          an obvious extension,  but  is  not  implemented.   You
-          could  get  the  same effect by splitting the file into
-          three parts (perhaps using dd), turning each part  into
-          a  PGM file with rawtopgm, and then combining them with
-          rgb3toppm.
-
-2 See_Also
-     ppm, rawtopgm, rgb3toppm, pnmflip
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 rgb3toppm
-     rgb3toppm - combine three portable graymaps into  one  port-
-     able pixmap
-
-2 Synopsis
-     rgb3toppm redpgmfile greenpgmfile bluepgmfile
-
-2 Description
-     Reads three portable graymaps as input.  Combines  them  and
-     produces one portable pixmap as output.
-
-2 See_Also
-     ppmtorgb3, pgmtoppm, ppmtopgm, ppm, pgm
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 sldtoppm
-     sldtoppm - convert an AutoCAD slide  file  into  a  portable
-     pixmap
-
-2 Synopsis
-     sldtoppm [-adjust] [-dir] [-height|-ysize s] [-info] [-
-              lib|-Lib name] [-scale s] [-verbose] [-width|-xsize
-              s] [slidefile]
-
-2 Description
-     Reads an AutoCAD(Reg.) slide file  and  outputs  a  portable
-     pixmap.   If  no  slidefile is specified, input is read from
-     standard input.  The ppmdraw library is used to convert  the
-     vector  and  polygon information in the slide file to a pix-
-     map; see the file ppmdraw.h for details on this package.
-
-2 Options
-     -adjust
-          If the display on which the slide file was created  had
-          non-square  pixels,  when  the  slide is processed with
-          sldtoppm and the -adjust option  is  not  present,  the
-          following warning will appear:
-            Warning - pixels on source screen were non-square.
-            Specifying -adjust will correct image width  to  com-
-            pensate.
-          Specifying the -adjust option causes sldtoppm to  scale
-          the  width of the image so that pixels in the resulting
-          portable pixmap are square (and hence circles appear as
-          true  circles, not ellipses).  The scaling is performed
-          in  the  vector  domain,  before  scan  converting  the
-          objects.   The  results  are,  therefore,  superior  in
-          appearance to what you'd obtain were you to perform the
-          equivalent  scaling  with pnmscale after the bitmap had
-          been created.
-
-     -dir The input is assumed to be  an  AutoCAD  slide  library
-          file.  A directory listing each slide in the library is
-          printed on standard error.
-
-     -height size
-          Scales the image in the vector domain  so  it  is  size
-          pixels  in  height.   If  no -width or -xsize option is
-          specified, the width will be adjusted to  preserve  the
-          pixel aspect ratio.
-
-     -info
-          Dump the slide file header on standard error,  display-
-          ing  the  original  screen  size and aspect ratio among
-          other information.
-
-     -lib name
-          Extracts the slide with the given name from  the  slide
-          library  given  as  input.   The specified name is con-
-          verted to upper case.
-
-     -Lib name
-          Extracts the slide with the given name from  the  slide
-          library  given  as  input.  The name is used exactly as
-          specified; it is not converted to upper case.
-
-     -scale s
-          Scales the image by factor s, which may be any floating
-          point  value  greater than zero.  Scaling is done after
-          aspect ratio adjustment, if any.  Since scaling is per-
-          formed  in the vector domain, before rasterisation, the
-          results look much better than  running  the  output  of
-          sldtoppm through pnmscale.
-
-     -verbose
-          Dumps the slide file header and lists every vector  and
-          polygon in the file on standard error.
-
-     -width size
-          Scales the image in the vector domain  so  it  is  size
-          pixels  wide.  If no -height or -ysize option is speci-
-          fied, the height will be adjusted to preserve the pixel
-          aspect ratio.
-
-     -xsize size
-          Scales the image in the vector domain  so  it  is  size
-          pixels  wide.  If no -height or -ysize option is speci-
-          fied, the height will be adjusted to preserve the pixel
-          aspect ratio.
-
-     -ysize size
-          Scales the image in the vector domain  so  it  is  size
-          pixels  in  height.   If  no -width or -xsize option is
-          specified, the width will be adjusted to  preserve  the
-          pixel aspect ratio.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 Bugs
-     Only Level 2 slides are converted.  Level 1 format has  been
-     obsolete  since the advent of AutoCAD Release 9 in 1987, and
-     was not portable across machine architectures.
-
-     Slide library items with names containing  8  bit  (such  as
-     ISO)  or  16  bit (Kanji, for example) characters may not be
-     found when chosen with the -lib option unless  sldtoppm  has
-     been built with character set conversion functions appropri-
-     ate to the locale.  You  can  always  retrieve  slides  from
-     libraries  regardless of the character set by using the -Lib
-     option and specifying the precise name  of  library  member.
-     Use  the  -dir  option  to  list  the slides in a library if
-     you're unsure of the exact name.
-
-2 See_Also
-     AutoCAD Reference Manual: Slide  File  Format,  pnmscale,
-     ppm
-
-2 Author
-          John Walker
-          Autodesk SA
-          Avenue des Champs-Montants 14b
-          CH-2074 MARIN
-          Suisse/Schweiz/Svizzera/Svizra/Switzerland
-          Usenet:  kelvin@Autodesk.com
-          Fax:     038/33 88 15
-          Voice:   038/33 76 33
-
-     Permission  to  use,  copy,  modify,  and  distribute   this
-     software  and  its documentation for any purpose and without
-     fee is hereby granted, without any  conditions  or  restric-
-     tions.   This software is provided ``as is'' without express
-     or implied warranty.
-
-     AutoCAD and Autodesk are registered trademarks of  Autodesk,
-     Inc.
-
-1 spctoppm
-     spctoppm - convert an Atari compressed Spectrum file into  a
-     portable pixmap
-
-2 Synopsis
-     spctoppm [spcfile]
-
-2 Description
-     Reads an Atari compressed Spectrum file as input.   Produces
-     a portable pixmap as output.
-
-2 See_Also
-     sputoppm, ppm
-
-2 Author
-     Copyright (C) 1991 by Steve Belczyk (seb3@gte.com)  and  Jef
-     Poskanzer.
-
-1 sputoppm
-     sputoppm - convert an Atari uncompressed Spectrum file  into
-     a portable pixmap
-
-2 Synopsis
-     sputoppm [spufile]
-
-2 Description
-     Reads an Atari uncompressed Spectrum file  as  input.   Pro-
-     duces a portable pixmap as output.
-
-2 See_Also
-     spctoppm, ppm
-
-2 Author
-     Copyright (C) 1991 by Steve Belczyk (seb3@gte.com)  and  Jef
-     Poskanzer.
-
-1 tgatoppm
-     tgatoppm - convert TrueVision Targa  file  into  a  portable
-     pixmap
-
-2 Synopsis
-     tgatoppm [-debug] [tgafile]
-
-2 Description
-     Reads a TrueVision Targa file as input.  Produces a portable
-     pixmap as output.
-
-2 Options
-     -debug
-          Causes the header information to be dumped to stderr.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.  Should really be in PNM, not PPM.
-
-2 See_Also
-     ppmtotga, ppm
-
-2 Author
-     Partially based on tga2rast, version 1.0,  by  Ian  J.  Mac-
-     Phedran.
-
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 ximtoppm
-     ximtoppm - convert an Xim file into a portable pixmap
-
-2 Synopsis
-     ximtoppm [ximfile]
-
-2 Description
-     Reads an Xim file as input.  Produces a portable  pixmap  as
-     output.   The Xim toolkit is included in the contrib tree of
-     the X.V11R4 release.
-
-2 See_Also
-     ppm
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 xpmtoppm
-     xpmtoppm - convert an X11 pixmap into a portable pixmap
-
-2 Synopsis
-     xpmtoppm [xpmfile]
-
-2 Description
-     Reads an X11 pixmap (XPM) as  input.   Produces  a  portable
-     pixmap as output.
-
-2 See_Also
-     ppmtoxpm, ppm
-
-2 Author
-     Copyright (C) 1991 by Jef Poskanzer.
-
-1 yuvtoppm
-     yuvtoppm - convert Abekas YUV bytes into a portable pixmap
-
-2 Synopsis
-     yuvtoppm width height [imagedata]
-
-2 Description
-     Reads raw Abekas YUV bytes as input.   Produces  a  portable
-     pixmap  as  output.   The input file is just YUV bytes.  You
-     have to specify the width and height on  the  command  line,
-     since  the  program  obviously can't get them from the file.
-     The maxval is assumed to be 255.
-
-2 See_Also
-     ppmtoyuv, ppm
-
-2 Author
-     Marc Boucher <marc@PostImage.COM>, based on Example  Conver-
-     sion  Program,  A60/A64 Digital Video Interface Manual, page
-     69.
-
-     Copyright (C) 1991 by DHD PostImage Inc.
-
-     Copyright (C) 1987 by Abekas Video Systems Inc.
-
-1 yuvsplittoppm
-     yuvplittoppm - convert a Y- an U- and a V-file into a  port-
-     able pixmap.
-
-2 Synopsis
-     yuvsplittoppm basename width height [-ccir601]
-
-2 Description
-     Reads three files, containing the YUV components, as  input.
-     These  files  are  basename .Y,  basename.U and basename.V .
-     Produces a portable pixmap on stdout.
-
-     Since the YUV files are raw files, the dimensions width  and
-     height must be specified on the command line.
-
-2 Options
-     -ccir601
-          Assumes that the  YUV  triplets  are  scaled  into  the
-          smaller  range  of  the CCIR 601 (MPEG) standard. Else,
-          the JFIF (JPEG) standard is assumed.
-
-2 See_Also
-     ppmtoyuvsplit, yuvtoppm, ppm
-
-2 Author
-     Marcel    Wijkstra    <wijkstra@fwi.uva.nl>,    based     on
-     ppmtoyuvsplit.
-
-1 ppmforge
-     ppmforge - fractal forgeries of clouds, planets, and  starry
-     skies
-
-2 Synopsis
-     ppmforge [-clouds] [-night] [-dimension dimen] [-hour hour]
-              [-inclination|-tilt angle] [-mesh size] [-power
-              factor] [-glaciers level] [-ice level] [-saturation
-              sat] [-seed seed] [-stars fraction] [-xsize|-width
-              width] [-ysize|-height height]
-
-2 Description
-     ppmforge generates three  kinds  of  ``random  fractal  for-
-     geries,'' the term coined by Richard F. Voss of the IBM Tho-
-     mas J. Watson Research Center for seemingly  realistic  pic-
-     tures  of natural objects generated by simple algorithms em-
-     bodying randomness and fractal self-similarity.   The  tech-
-     niques  used  by  ppmforge  are  essentially  those given by
-     Voss[1], particularly the technique  of  spectral  synthesis
-     explained in more detail by Dietmar Saupe[2].
-
-     The program generates two varieties of pictures: planets and
-     clouds, which are just different renderings of data generat-
-     ed in an identical manner, illustrating  the  unity  of  the
-     fractal  structure of these very different objects.  A third
-     type of picture, a starry sky, is synthesised directly  from
-     pseudorandom numbers.
-
-     The generation of planets or clouds begins with the prepara-
-     tion  of  an  array  of random data in the frequency domain.
-     The size of this array, the ``mesh size,'' can be  set  with
-     the -mesh option; the larger the mesh the more realistic the
-     pictures but the calculation time and memory requirement in-
-     creases  as the square of the mesh size.  The fractal dimen-
-     sion, which you can  specify  with  the  -dimension  option,
-     determines the roughness of the terrain on the planet or the
-     scale of detail in the clouds.  As the fractal dimension  is
-     increased, more high frequency components are added into the
-     random mesh.
-
-     Once the mesh  is  generated,  an  inverse  two  dimensional
-     Fourier  transform  is performed upon it.  This converts the
-     original random frequency domain data  into  spatial  ampli-
-     tudes.   We  scale  the real components that result from the
-     Fourier transform into numbers from 0 to 1  associated  with
-     each  point on the mesh.  You can further modify this number
-     by applying a ``power law scale'' to it with the -power  op-
-     tion.    Unity  scale leaves the numbers unmodified; a power
-     scale of 0.5 takes the square root of  the  numbers  in  the
-     mesh,  while  a power scale of 3 replaces the numbers in the
-     mesh with their cubes.  Power law scaling is best envisioned
-     by  thinking  of  the  data as representing the elevation of
-     terrain; powers less than 1 yield landscapes  with  vertical
-     scarps  that  look  like  glacially-carved  valleys;  powers
-     greater than one make  fairy-castle  spires  (which  require
-     large mesh sizes and high resolution for best results).
-
-     After these calculations, we have a array of  the  specified
-     size containing numbers that range from 0 to 1.  The pixmaps
-     are generated as follows:
-
-     Clouds    A colour map is created that ranges from pure blue
-               to white by increasing admixture (desaturation) of
-               blue  with  white.   Numbers  less  than  0.5  are
-               coloured  blue,  numbers  between  0.5 and 1.0 are
-               coloured with corresponding levels of white,  with
-               1.0 being pure white.
-
-     Planet    The mesh is projected onto a sphere.  Values  less
-               than  0.5  are treated as water and values between
-               0.5 and 1.0 as land.  The water areas are coloured
-               based  upon the water depth, and land based on its
-               elevation.  The random  depth  data  are  used  to
-               create  clouds over the oceans.  An atmosphere ap-
-               proximately like the  Earth's  is  simulated;  its
-               light  absorption  is  calculated to create a blue
-               cast around the limb of the  planet.   A  function
-               that  rises from 0 to 1 based on latitude is modu-
-               lated by the local elevation to generate polar ice
-               caps--high   altitude   terrain  carries  glaciers
-               farther from the pole.  Based on the  position  of
-               the  star  with  respect  to the observer, the ap-
-               parent colour of each pixel of the planet is  cal-
-               culated by ray-tracing from the star to the planet
-               to the observer and applying a lighting model that
-               sums  ambient  light  and  diffuse reflection (for
-               most planets ambient light is zero, as their  pri-
-               mary  star  is  the  only source of illumination).
-               Additional random data are used to generate  stars
-               around the planet.
-
-     Night     A sequence of pseudorandom numbers is used to gen-
-               erate stars with a user specified density.
-
-     Cloud pictures always contain 256 or fewer colours  and  may
-     be  displayed  on most colour mapped devices without further
-     processing.  Planet pictures often contain tens of thousands
-     of  colours  which  must  be  compressed  with  ppmquant  or
-     ppmdither before encoding in a colour mapped format.  If the
-     display  resolution is high enough, ppmdither generally pro-
-     duces better looking  planets.   ppmquant  tends  to  create
-     discrete colour bands, particularly in the oceans, which are
-     unrealistic and distracting.  The number of colours in star-
-     ry  sky pictures generated with the -night option depends on
-     the value specified for -saturation.  Small values limit the
-     colour  temperature distribution of the stars and reduce the
-     number of colours in the image.  If the -saturation  is  set
-     to  0,  none of the stars will be coloured and the resulting
-     image will never contain more than 256 colours.   Night  sky
-     pictures  with  many  different star colours often look best
-     when colour compressed by pnmdepth rather than  ppmquant  or
-     ppmdither.   Try  newmaxval  settings  of 63, 31, or 15 with
-     pnmdepth to reduce the number of colours in the  picture  to
-     256 or fewer.
-
-2 Options
-     -clouds   Generate clouds.  A pixmap of  fractal  clouds  is
-               generated.   Selecting clouds sets the default for
-               fractal dimension to 2.15 and power  scale  factor
-               to 0.75.
-
-     -dimension dimen
-               Sets the fractal dimension to the specified dimen,
-               which  may  be  any floating point value between 0
-               and 3.   Higher  fractal  dimensions  create  more
-               ``chaotic''  images,  which require higher resolu-
-               tion output and a larger FFT  mesh  size  to  look
-               good.   If  no dimension is specified, 2.4 is used
-               when generating planets and 2.15 for clouds.
-
-     -glaciers level
-               The floating point level setting controls the  ex-
-               tent  to which terrain elevation causes ice to ap-
-               pear at lower latitudes.   The  default  value  of
-               0.75  makes the polar caps extend toward the equa-
-               tor across high terrain and forms glaciers in  the
-               highest  mountains,  as  on  Earth.  Higher values
-               make ice sheets that cover more and  more  of  the
-               land  surface,  simulating planets in the midst of
-               an ice age.   Lower  values  tend  to  be  boring,
-               resulting in unrealistic geometrically-precise ice
-               cap boundaries.
-
-     -hour hour
-               When generating a planet,  hour  is  used  as  the
-               ``hour  angle  at  the central meridian.''  If you
-               specify -hour 12, for example, the planet will  be
-               fully  illuminated,  corresponding to high noon at
-               the longitude at the centre of  the  screen.   You
-               can specify any floating point value between 0 and
-               24 for hour, but values which place  most  of  the
-               planet in darkness (0 to 4 and 20 to 24) result in
-               crescents which, while pretty, don't give you many
-               illuminated  pixels  for  the  amount of computing
-               that's required.  If no -hour option is specified,
-               a random hour angle is chosen, biased so that only
-               25% of the images generated will be crescents.
-
-     -ice level
-               Sets the extent of the polar ice caps to the given
-               floating  point  level.   The default level of 0.4
-               produces ice caps similar to those of  the  Earth.
-               Smaller  values  reduce  the  amount of ice, while
-               larger -ice settings  create  more  prominent  ice
-               caps.   Sufficiently  large values, such as 100 or
-               more, in conjunction with  small  settings  for  -
-               glaciers (try 0.1) create ``ice balls'' like Euro-
-               pa.
-
-     -inclination|-tilt angle
-               The inclination angle of the planet with regard to
-               its primary star is set to angle, which can be any
-               floating point value from -90 to 90.  The inclina-
-               tion angle can be thought of as specifying, in de-
-               grees, the ``season'' the planet is presently  ex-
-               periencing  or,  more  precisely,  the latitude at
-               which the star transits the zenith at local  noon.
-               If  0,  the  planet  is  at  equinox;  the star is
-               directly overhead at the equator.  Positive values
-               represent summer in the northern hemisphere, nega-
-               tive values summer  in  the  southern  hemisphere.
-               The  Earth's  inclination  angle,  for example, is
-               about  23.5  at  the  June  solstice,  0  at   the
-               equinoxes in March and September, and -23.5 at the
-               December solstice.  If  no  inclination  angle  is
-               specified,  a  random value between -21.6 and 21.6
-               degrees is chosen.
-
-     -mesh size
-               A mesh of size by size will be used for  the  fast
-               Fourier  transform  (FFT).   Note  that memory re-
-               quirements and computation speed increase  as  the
-               square  of  size; if you double the mesh size, the
-               program will use four times  the  memory  and  run
-               four  times as long.  The default mesh is 256x256,
-               which produces reasonably  good  looking  pictures
-               while  using half a megabyte for the 256x256 array
-               of single precision complex  numbers  required  by
-               the  FFT.  On machines with limited memory capaci-
-               ty, you may have to reduce the mesh size to  avoid
-               running out of RAM.  Increasing the mesh size pro-
-               duces better looking pictures; the difference  be-
-               comes particularly noticeable when generating high
-               resolution images with relatively high fractal di-
-               mensions (between 2.2 and 3).
-
-     -night    A starry sky is generated.  The stars are  created
-               by the same algorithm used for the stars that sur-
-               round planet pictures, but the output consists ex-
-               clusively of stars.
-
-     -power factor
-               Sets the ``power factor'' used to scale elevations
-               synthesised  from  the FFT to factor, which can be
-               any floating point number greater than  zero.   If
-               no factor is specified a default of 1.2 is used if
-               a planet is being generated, or 0.75 if clouds are
-               selected by the -clouds option.  The result of the
-               FFT image  synthesis  is  an  array  of  elevation
-               values  between 0 and 1.  A non-unity power factor
-               exponentiates each  of  these  elevations  to  the
-               specified power.  For example, a power factor of 2
-               squares each value, while a power  factor  of  0.5
-               replaces  each  with  its square root.  (Note that
-               exponentiating  values  between  0  and  1  yields
-               values that remain within that range.)  Power fac-
-               tors less than 1 emphasise  large-scale  elevation
-               changes at the expense of small variations.  Power
-               factors greater than 1 increase the  roughness  of
-               the terrain and, like high fractal dimensions, may
-               require a  larger  FFT  mesh  size  and/or  higher
-               screen resolution to look good.
-
-     -saturation sat
-               Controls the degree of colour  saturation  of  the
-               stars that surround planet pictures and fill star-
-               ry skies created with the -night option.  The  de-
-               fault  value  of  125 creates stars which resemble
-               the sky as seen by the human eye from Earth's sur-
-               face.   Stars are dim; only the brightest activate
-               the cones in the human retina, causing  colour  to
-               be  perceived.   Higher  values of sat approximate
-               the appearance of stars from  Earth  orbit,  where
-               better  dark  adaptation,  absence of skyglow, and
-               the concentration of light from a given star  onto
-               a smaller area of the retina thanks to the lack of
-               atmospheric turbulence enhances the perception  of
-               colour.   Values greater than 250 create ``science
-               fiction'' skies that, while pretty, don't occur in
-               this universe.
-
-               Thanks to the inverse  square  law  combined  with
-               Nature's  love of mediocrity, there are many, many
-               dim stars for every bright one.   This  population
-               relationship  is accurately reflected in the skies
-               created by ppmforge.  Dim,  low  mass  stars  live
-               much longer than bright massive stars, consequent-
-               ly there are many reddish stars for every blue gi-
-               ant.   This relationship is preserved by ppmforge.
-               You can reverse the proportion, simulating the sky
-               as  seen  in  a  starburst galaxy, by specifying a
-               negative sat value.
-
-     -seed num Sets the seed for the random number  generator  to
-               the  integer  num.   The  seed used to create each
-               picture is displayed on  standard  output  (unless
-               suppressed with the -quiet option).  Pictures gen-
-               erated with the same seed will be  identical.   If
-               no  -seed is specified, a random seed derived from
-               the date and time will be chosen.   Specifying  an
-               explicit  seed  allows  you to re-render a picture
-               you particularly like at a  higher  resolution  or
-               with different viewing parameters.
-
-     -stars fraction
-               Specifies the percentage of pixels, in tenths of a
-               percent,  which  will appear as stars, either sur-
-               rounding a planet or filling the entire  frame  if
-               -night is specified.  The default fraction is 100.
-
-     -xsize|-width width
-               Sets the width of the  generated  image  to  width
-               pixels.   The default width is 256 pixels.  Images
-               must be at least as wide as they are  high;  if  a
-               width  less  than the height is specified, it will
-               be increased to equal the  height.   If  you  must
-               have  a long skinny pixmap, make a square one with
-               ppmforge, then use pnmcut to extract a portion  of
-               the shape and size you require.
-
-     -ysize|-height height
-               Sets the height of the generated image  to  height
-               pixels.  The default height is 256 pixels.  If the
-               height specified exceeds the width, the width will
-               be increased to equal the height.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 Bugs
-     The algorithms require the output pixmap to be at  least  as
-     wide  as  it  is high, and the width to be an even number of
-     pixels.  These constraints are enforced  by  increasing  the
-     size of the requested pixmap if necessary.
-
-     You may have to reduce the FFT mesh size on machines with 16
-     bit integers and segmented pointer architectures.
-
-2 See_Also
-     pnmcut, pnmdepth, ppmdither, ppmquant, ppm
-
-     [1]  Voss, Richard  F.,  ``Random  Fractal  Forgeries,''  in
-          Earnshaw  et.  al., Fundamental Algorithms for Computer
-          Graphics, Berlin: Springer-Verlag, 1985.
-
-     [2]  Peitgen, H.-O., and Saupe,  D.  eds.,  The  Science  Of
-          Fractal Images, New York: Springer Verlag, 1988.
-
-2 Author
-          John Walker
-          Autodesk SA
-          Avenue des Champs-Montants 14b
-          CH-2074 MARIN
-          Suisse/Schweiz/Svizzera/Svizra/Switzerland
-          Usenet:  kelvin@Autodesk.com
-          Fax:     038/33 88 15
-          Voice:   038/33 76 33
-
-     Permission  to  use,  copy,  modify,  and  distribute   this
-     software  and  its documentation for any purpose and without
-     fee is hereby granted, without any  conditions  or  restric-
-     tions.   This software is provided ``as is'' without express
-     or implied warranty.
-
-     PLUGWARE! If you like this kind of stuff, you may also enjoy
-     ``James Gleick's Chaos--The Software'' for MS-DOS, available
-     for $59.95 from your local software store or  directly  from
-     Autodesk,  Inc.,  Attn:  Science Series, 2320 Marinship Way,
-     Sausalito, CA 94965, USA.  Telephone: (800)  688-2344  toll-
-     free  or,  outside  the  U.S. (415) 332-2344 Ext 4886.  Fax:
-     (415) 289-4718.  ``Chaos--The  Software''  includes  a  more
-     comprehensive   fractal   forgery  generator  which  creates
-     three-dimensional landscapes as well as clouds and  planets,
-     plus five more modules which explore other aspects of Chaos.
-     The user guide of more than 200 pages includes an  introduc-
-     tion by James Gleick and detailed explanations by Rudy Ruck-
-     er of the mathematics and algorithms used by each program.
-
-1 ppmpat
-     ppmpat - make a pretty pixmap
-
-2 Synopsis
-     ppmpat   -gingham2|-g2|-gingham3|   -g3|-madras|-tartan|   -
-     poles|-squig|-camo| -anticamo width height
-
-2 Description
-     Produces a  portable  pixmap  of  the  specified  width  and
-     height, with a pattern in it.
-
-     This program is mainly to demonstrate  use  of  the  ppmdraw
-     routines,  a  simple  but powerful drawing library.  See the
-     ppmdraw.h include file for more info  on  using  these  rou-
-     tines.   Still,  some  of the patterns can be rather pretty.
-     If you have  a  color  workstation,  something  like  ppmpat
-     -squig  300  300 | ppmquant 128 should generate a nice back-
-     ground.
-
-2 Options
-     The different flags specify various different pattern types:
-
-     -gingham2
-          A gingham check pattern.  Can be tiled.
-
-     -gingham3
-          A slightly more complicated gingham.  Can be tiled.
-
-     -madras
-          A madras plaid.  Can be tiled.
-
-     -tartan
-          A tartan plaid.  Can be tiled.
-
-     -poles
-          Color gradients centered on randomly-placed poles.  May
-          need to be run through ppmquant.
-
-     -squig
-          Squiggley tubular pattern.  Can be tiled.  May need  to
-          be run through ppmquant.
-
-     -camo
-          Camouflage  pattern.   May  need  to  be  run   through
-          ppmquant.
-
-     -anticamo
-          Anti-camouflage pattern - like -camo, but  ultra-bright
-          colors.  May need to be run through ppmquant.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 References
-     Some of the patterns are from "Designer's Guide to Color  3"
-     by Jeanne Allen.
-
-2 See_Also
-     pnmtile, ppmquant, ppm
-
-2 Author
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 ppmqvga
-     ppmqvga - 8 plane quantization
-
-2 Synopsis
-     ppmqvga [ options ] [ input file ]
-
-2 Description
-     ppmqvga quantizes PPM  files  to  8  planes,  with  optional
-     Floyd-Steinberg  dithering.   Input  is  a PPM file from the
-     file named, or standard input of no file is provided.
-
-2 Options
-     -d dither. Apply Floyd-Steinberg dithering to the data
-
-     -q quiet. Produces no progress reporting,  and  no  terminal
-     output unless and error occurs.
-
-     -v verbose. Produces additional output describing the number
-     of  colors found, and some information on the resulting map-
-     ping. May be repeated to generate loads  of  internal  table
-     output, but generally only useful once.
-
-2 Examples
-     ppmqvga -d mymage.ppm | ppmtogif >mymage.gif
-
-     tgatoppm zombie.tga | ppmqvga | ppmtotif > zombie.tif
-
-2 See_Also
-     ppmquant
-
-2 Diagnostics
-     Error messages if problems, various levels of optional  pro-
-     gress reporting.
-
-2 Limitations
-     none known.
-
-2 Author
-     Original by Lyle Rains (lrains@netcom.com)  as  ppmq256  and
-     ppmq256fs  combined, documented, and enhanced by Bill David-
-     sen (davidsen@crd.ge.com)
-
-     Copyright 1991,1992 by Bill Davidsen, all  rights  reserved.
-     The  program  and documentation may be freely distributed by
-     anyone in source or binary format. Please clearly  note  any
-     changes.
-
-1 ppmtomap
-     ppmtomap - extract all colors from a portable pixmap
-
-2 Synopsis
-     ppmtomap [-sort] [-square] [ppmfile]
-
-2 Description
-     Reads a portable pixmap as input.  Produces a portable  pix-
-     map  as  output, representing a color map of the input file.
-     All N different colors found are put in an Nx1 portable pix-
-     map.   This  color  map  file  can  be used as a mapfile for
-     ppmquant or ppmtogif.
-
-2 Options
-     -sort
-          Produces a portable pixmap  with  the  colors  in  some
-          sorted order.
-
-     -square
-          Produces a (more or less) square output  file,  instead
-          of putting all colors on the top row.
-
-     All flags can be abbreviated to their shortest  unique  pre-
-     fix.
-
-2 WARNING
-     If you want to use the output file as a mapfile  for  ppmto-
-     gif,  you first have to do a ppmquant 256, since ppmtomap is
-     not limited to 256 colors (but to 65536).
-
-2 See_Also
-     ppmtogif, ppmquant, ppm
-
-2 Author
-     Marcel Wijkstra (wijkstra@fwi.uva.nl).
-
-     Copyright (C) 1989 by Jef Poskanzer.
-
-1 ppmtopjxl
-     ppmtopjxl - convert a portable pixmap into an HP PaintJet XL
-     PCL file
-
-2 Synopsis
-     ppmtopjxl [-nopack] [-gamma <n>  ]  [-presentation]  [-dark]
-     [-diffuse]  [-cluster] [-dither] [-xshift <s> ] [-yshift <s>
-     ] [-xshift <s> ] [-yshift <s> ] [-xsize|-width|-xscale <s> ]
-     [-ysize|-height|-yscale <s> ] [ppmfile]
-
-
-2 Description
-     Reads a portable pixmap as input.  Produces a PCL file suit-
-     able for printing on an HP PaintJet XL printer as output.
-
-     The generated file is not suitable for printing on a  normal
-     PrintJet printer.  The -nopack option generates a file which
-     does not use the normal TIFF 4.0  compression  method.  This
-     file might be printable on a normal PaintJet printer (not an
-     XL).
-
-     The -gamma option sets the gamma correction for  the  image.
-     The useful range for the PaintJet XL is approximately 0.6 to
-     1.5.
-
-     The rendering algorithm used for images can be altered  with
-     the  -dither,  -cluster, and -diffuse options. These options
-     select ordered dithering, clustered  ordered  dithering,  or
-     error  diffusion respectively.  The -dark option can be used
-     to enhance images with  a  dark  background  when  they  are
-     reduced  in size.  The -presentation option turns on presen-
-     tation mode, in which two passes are made over the paper  to
-     increase  ink  density.  This should be used only for images
-     where quality is critical.
-
-
-     The image can be resized by setting the  -xsize  and  -ysize
-     options.  The parameter to either of these options is inter-
-     preted as the number of dots to set the width or height  to,
-     but  an  optional  dimension  of  `pt' (points), `dp' (deci-
-     points),  `in'  (inches),  or  `cm'  (centimetres)  may   be
-     appended.   If  only  one  dimension is specified, the other
-     will be scaled appropriately.
-
-     The options -width and -height are synonyms  of  -xsize  and
-     -ysize.
-
-     The -xscale and -yscale options can alternatively be used to
-     scale the image by a simple factor.
-
-     The image can be shifted on the page by  using  the  -xshift
-     and  -yshift  options.  These  move  the image the specified
-     dimensions right and down.
-
-
-2 See_Also
-     ppm
-
-2 Author
-     Angus Duggan
-
-1 libppm
-     libppm - functions to support portable pixmap programs
-
-2 Synopsis
-     #include <ppm.h>
-     cc ... libppm.a libpgm.a libpbm.a
-
-
-2 Description
-  TYPES AND CONSTANTS
-     typedef ... pixel;
-     typedef ... pixval;
-     #define PPM_MAXMAXVAL ...
-     extern pixval ppm_pbmmaxval;
-
-     Each pixel contains three pixvals, each of which should con-
-     tain   only   the   values   between  0  and  PPM_MAXMAXVAL.
-     ppm_pbmmaxval is the maxval used when a PPM program reads  a
-     PBM  file.   Normally it is 1; however, for some programs, a
-     larger value gives better results.
-
-     #define PPM_FORMAT ...
-     #define RPPM_FORMAT ...
-     #define PPM_TYPE PPM_FORMAT
-     int PPM_FORMAT_TYPE( int format )
-
-     For distinguishing different file formats and types.
-
-     pixval PPM_GETR( pixel p )
-     pixval PPM_GETG( pixel p )
-     pixval PPM_GETB( pixel p )
-
-     These three macros retrieve the red,  green  or  blue  value
-     from the given pixel.
-
-     void PPM_ASSIGN( pixel p, pixval red, pixval grn, pixval blu )
-
-     This macro assigns the given red, green and blue  values  to
-     the pixel.
-
-     int PPM_EQUAL( pixel p, pixel q )
-
-     This macro checks two pixels for equality.
-
-     void PPM_DEPTH( pixel newp, pixel p, pixval oldmaxval, pixval newmaxval )
-
-     This macro scales the colors of pixel p  according  the  old
-     and  new  maximum values and assigns the new values to newp.
-     It is intended to make writing ppmtowhatever easier.
-
-     float PPM_LUMIN( pixel p )
-     This macro determines the luminance of the pixel p.
-
-  MEMORY MANAGEMENT
-     pixel** ppm_allocarray( int cols, int rows )
-
-     Allocate an array of pixels.
-
-     pixel* ppm_allocrow( int cols )
-
-     Allocate a row of the given number of pixels.
-
-     void ppm_freearray( pixel** pixels, int rows )
-
-     Free the array allocated  with  ppm_allocarray()  containing
-     the given number of rows.
-
-     void pbm_freerow( pixel* pixelrow )
-
-     Free a row of pixels.
-
-  READING PBM FILES
-     void ppm_readppminit( FILE* fp, int* colsP, int* rowsP, pixval* maxvalP, int* formatP )
-
-     Read the header from a PPM file, filling in the rows,  cols,
-     maxval and format variables.
-
-     void ppm_readppmrow( FILE* fp, pixel* pixelrow, int cols, pixval maxval, int format )
-
-     Read a row of pixels into the pixelrow array.  Format, cols,
-     and maxval were filled in by ppm_readppminit().
-
-     pixel** ppm_readppm( FILE* fp, int* colsP, int* rowsP, pixval* maxvalP )
-
-     Read an entire pixmap file into memory, returning the  allo-
-     cated  array  and filling in the rows, cols and maxval vari-
-     ables.    This    function    combines    ppm_readppminit(),
-     ppm_allocarray() and ppm_readppmrow().
-
-  WRITING FILES
-     void ppm_writeppminit( FILE* fp, int cols, int rows, pixval maxval, int forceplain )
-
-     Write the header for a portable pixmap file.  The forceplain
-     flag forces a plain-format file to be written, as opposed to
-     a raw-format one.
-
-     void ppm_writeppmrow( FILE* fp, pixel* pixelrow, int cols, pixval maxval, int forceplain )
-
-     Write a row from a portable pixmap.
-
-     void ppm_writeppm( FILE* fp, pixel** pixels, int cols, int rows, pixval maxval, int forceplain )
-
-     Write the header and all data for a portable  pixmap.   This
-     function combines ppm_writeppminit() and ppm_writeppmrow().
-
-  COLOR NAMES
-     pixel ppm_parsecolor( char* colorname, pixval maxval )
-
-     Parses an ASCII color name into a pixel.  The color  can  be
-     specified  in  three  ways.  One, as a name, assuming that a
-     pointer to an X11-style color names file  was  compiled  in.
-     Two,  as  an  X11-style  hexadecimal  number: #rgb, #rrggbb,
-     #rrrgggbbb,  or  #rrrrggggbbbb.   Three,  as  a  triplet  of
-     decimal   floating   point   numbers  separated  by  commas:
-     r.r,g.g,b.b.
-
-     char* ppm_colorname( pixel* colorP, pixval maxval, int hexok )
-
-     Returns a pointer to a string describing  the  given  color.
-     If  the  X11  color  names  file  is available and the color
-     appears in it, that name is  returned.   Otherwise,  if  the
-     hexok flag is true then a hexadecimal colorspec is returned;
-     if hexok is false and the X11 color names file is available,
-     then the closest matching color is returned; otherwise, it's
-     an error.
-
-2 See_Also
-     pbm, pgm
-
-2 Author
-     Copyright (C) 1989, 1991 by Tony Hansen and Jef Poskanzer.
-
-1 ppm
-     ppm - portable pixmap file format
-
-2 Description
-     The portable pixmap format is a  lowest  common  denominator
-     color image file format.  The definition is as follows:
-
-     - A "magic number" for identifying the  file  type.   A  ppm
-       file's magic number is the two characters "P3".
-
-     - Whitespace (blanks, TABs, CRs, LFs).
-
-     - A width, formatted as ASCII characters in decimal.
-
-     - Whitespace.
-
-     - A height, again in ASCII decimal.
-
-     - Whitespace.
-
-     - The maximum color-component value, again in ASCII decimal.
-
-     - Whitespace.
-
-     - Width * height pixels, each  three  ASCII  decimal  values
-       between 0 and the specified maximum value, starting at the
-       top-left  corner  of  the  pixmap,  proceeding  in  normal
-       English  reading  order.   The three values for each pixel
-       represent red, green, and blue, respectively; a value of 0
-       means  that color is off, and the maximum value means that
-       color is maxxed out.
-
-     - Characters from a "#" to the next end-of-line are  ignored
-       (comments).
-
-     - No line should be longer than 70 characters.
-
-     Here is an example of a small pixmap in this format:
-     P3
-     # feep.ppm
-     4 4
-     15
-      0  0  0    0  0  0    0  0  0   15  0 15
-      0  0  0    0 15  7    0  0  0    0  0  0
-      0  0  0    0  0  0    0 15  7    0  0  0
-     15  0 15    0  0  0    0  0  0    0  0  0
-
-     Programs that read this format should be as lenient as  pos-
-     sible, accepting anything that looks remotely like a pixmap.
-
-     There is also a variant on the format, available by  setting
-     the  RAWBITS  option  at  compile  time.   This  variant  is
-     different in the following ways:
-
-     - The "magic number" is "P6" instead of "P3".
-
-     - The pixel values are stored as  plain  bytes,  instead  of
-       ASCII decimal.
-
-     - Whitespace is not allowed in the pixels area, and  only  a
-       single  character  of  whitespace (typically a newline) is
-       allowed after the maxval.
-
-     - The files are smaller and many times faster  to  read  and
-       write.
-
-     Note that this raw format can only be used for maxvals  less
-     than or equal to 255.  If you use the ppm library and try to
-     write a file with a larger  maxval,  it  will  automatically
-     fall back on the slower but more general plain format.
-
-2 See_Also
-     giftopnm, gouldtoppm, ilbmtoppm, imgtoppm, mtvtoppm, pcxtoppm,
-     pgmtoppm, pi1toppm, picttoppm, pjtoppm, qrttoppm, rawtoppm,
-     rgb3toppm, sldtoppm, spctoppm, sputoppm, tgatoppm, ximtoppm,
-     xpmtoppm, yuvtoppm, ppmtoacad, ppmtogif, ppmtoicr, ppmtoilbm,
-     ppmtopcx, ppmtopgm, ppmtopi1, ppmtopict, ppmtopj, ppmtopuzz,
-     ppmtorgb3, ppmtosixel, ppmtotga, ppmtouil, ppmtoxpm, ppmtoyuv,
-     ppmdither, ppmforge, ppmhist, ppmmake, ppmpat, ppmquant,
-     ppmquantall, ppmrelief, pnm, pgm, pbm
-
-2 Author
-     Copyright (C) 1989, 1991 by Jef Poskanzer.
-
-1 pgmkernel
-        pgmkernel - generate a convolution kernel
-
-2 Synopis
-        pgmkernel [-weight w] width [height]
-
-2 Description
-        Generates a portable graymap array of size width x height  (or
-    width  x  width  if  height  is  not  specified) to be used  as  a
-    convolution file  by pnmconvol.  The data in the convolution array
-    K are computed according to the formula:
-
-    K(i,j) = 1 / ( 1 + w * sqrt((i-width/2)\^{}2 + (j-height/2)\^{}2)) 
-
-    where w is a coefficient specified via the -weight flag, and width
-    and height are the X and Y filter sizes.
-
-        The output PGM file is always written out in ASCII format.
-
-2 Options
-        The optional -weight flag should be a real number greater than
-    -1.  The default value is 6.0.
-
-2 Bugs
-        The computation time is proportional  to width * height.  This
-    increases rapidly with the increase of  the kernel size.  A better
-    approach could be using a FFT in these cases.
-
-2 See_Also
-        pnmconvol(1), pnmsmooth(1)
-
-2 Author
-        Alberto Accomazzi (alberto@cfa.harvard.edu).
-
-1 fitstopnm
-        fitstopnm - convert a FITS file into a portable anymap
-
-2 Synopis
-        fitstopnm [-image N] [-noraw] [-scanmax] [-printmax] [-min f]
-                  [-max f] [FITSfile]
-
-2 Description
-        Reads a FITS file as input.  Produces a portable pixmap if the
-    FITS file consists of 3 image planes (NAXIS = 3 and NAXIS3 = 3), a
-    portable  graymap  if  the  FITS file consists of 2  image  planes
-    (NAXIS  =  2),  or  whenever  the -image flag is specified.    The
-    results may need to be flipped top for bottom;  if  so,  just pipe
-    the output through pnmflip -tb.
-
-2 Options
-        The  -image  option  is  for  FITS files with three axes.  The
-    assumption is that the third axis is for multiple images, and this
-    option lets you select which one you want.
-
-        Flags -min and  -max  can  be used to override the min and max
-    values as read from  the  FITS  header  or  the  image  data if no
-    DATAMIN and DATAMAX keywords are found.  Flag -scanmax can be used
-    to  force the program to scan  the  data  even  when  DATAMIN  and
-    DATAMAX are found in the header.   If  -printmax is specified, the
-    program will just print the min and max  values  and  quit.   Flag
-    -noraw  can  be  used  to force the program to  produce  an  ASCII
-    portable anymap.
-
-        The  program  will tell what kind of anymap is writing.    All
-    flags can be abbreviated to their shortest unique prefix.
-
-2 References
-        FITS stands for  Flexible  Image  Transport  System.    A full
-    description can be found  in  Astronomy  & Astrophysics Supplement
-    Series 44 (1981), page 363.
-
-2 See_Also
-        pnmtofits(1), pgm(5), pnmflip(1)
-
-2 Author
-        Copyright (C) 1989 by Jef  Poskanzer,  with  modifications  by
-    Daniel    Briggs    (dbriggs@nrao.edu)    and   Alberto  Accomazzi
-    (alberto@cfa.harvard.edu).
-
-1 pnmalias
-        pnmalias - antialias a portable anyumap.
-
-2 Synopis
-        pnmalias  [-bgcolor  color] [-fgcolor color] [-bonly] [-fonly]
-                  [-balias] [-falias] [-weight w] [pnmfile]
-
-2 Description
-        Reads a portable anymap as input, and applies anti-aliasing to
-    background and foreground pixels.  If the input file is a portable
-    bitmap,  the  output  anti-aliased image is promoted to a graymap,
-    and  a  message  is  printed  informing the user of the change  in
-    format.
-
-2 Options
-        -bgcolor colorb,
-        -fgcolor colorf
-        set the  background  color  to  colorb,  and the foreground to
-    color to colorf.    Pixels with these values will be anti-aliased.
-    by  default, the background  color  is  taken  to  be  black,  and
-    foreground color is assumed to  be  white.    The  colors  can  be
-    specified in five ways:
-
-            o A name,  assuming  that  a pointer to an X11-style color
-            names file was compiled in.
-
-            o An X11-style hexadecimal  specifier:  rgb:r/g/b, where r
-            g and b are each 1- to 4-digit hexadecimal numbers.
-
-            o An X11-style decimal specifier:    rgbi:r/g/b, where r g
-            and b are floating point numbers between 0 and 1.
-
-            o    For    backwards    compatibility,  an  old-X11-style
-            hexadecimal    number:    #rgb,  #rrggbb,  #rrrgggbbb,  or
-            #rrrrggggbbbb.
-
-            o  For  backwards  compatibility,  a  triplet  of  numbers
-            separated by commas:   r,g,b, where r g and b are floating
-            point numbers between 0  and  1.    (This  style was added
-            before MIT came up with the similar rgbi style.)
-
-        Note  that  even when dealing with  graymaps,  background  and
-    foreground colors need to be specified in  the  fashion  described
-    above.  In this case, background and foreground  pixel  values are
-    taken to be the value of the red component for the given color.
-
-        -bonly,
-        -fonly
-        Apply anti-aliasing only to background (-bonly), or foreground
-    (-fonly) pixels.
-
-        -balias,
-        -falias 
-        Apply  anti-aliasing  to  all  pixels  surrounding  background
-    (-balias),  or  foreground    (-falias)    pixels.    By  default,
-    anti-aliasing takes place only  among  neighboring  background and
-    foreground pixels.
-
-        -weight w
-        Use w as the central  weight  for the aliasing filter.  W must
-    be a real number in the range 0 < w < 1.  The lower the value of w
-    is, the "blurrier" the output image is.  The default is w = 1/3.
-
-2 See_Also
-        pbmtext(1), pnmsmooth(1), pnm(5)
-
-2 Author
-        Copyright    (C)    1992  by  Alberto  Accomazzi,  Smithsonian
-    Astrophysical Observatory.
-
-1 pnmtofits
-        pnmtofits - convert a portable anymap into FITS format
-
-2 Synopis
-        pnmtofits [-max f] [-min f] [pnmfile]
-
-2 Description
-        Reads a portable anymap as input.  Produces  a  FITS (Flexible
-    Image  Transport  System) file as output.  The resolution  of  the
-    output file is either 8 bits/pixel, or 16 bits/pixel, depending on
-    the value of maxval in the input file.  If the  input  file  is  a
-    portable bitmap or a portable graymap, the output file consists of
-    a single plane image (NAXIS = 2).   If instead the input file is a
-    portable  pixmap,  the output file will consist of  a  three-plane
-    image (NAXIS = 3, NAXIS3 = 3).  A  full  description  of  the FITS
-    format  can be found in Astronomy & Astrophysics Supplement Series
-    44 (1981), page 363.
-
-2 Options
-        Flags  -min  and  -max  can  be  used to set DATAMAX, DATAMIN,
-    BSCALE and BZERO in the FITS header, but do not cause the  data to
-    be rescaled.
-
-2 See_Also
-        fitstopnm(1), pgm(5)
-
-2 Author
-        Copyright (C) 1989 by Wilson  H.    Bent  (whb@hoh-2.att.com),
-    with modifications by Alberto Accomazzi (alberto@cfa.harvard.edu).
-
-1 ppmchange
-        ppmchange -  change  all  pixels  of one color to another in a
-    portable pixmap
-
-2 Synopis
-        ppmchange oldcolor newcolor [...] [ppmfile]
-
-2 Description
-        Reads  a portable pixmap as input.    Changes  all  pixels  of
-    oldcolor to newcolor, leaving all others unchanged.    Up  to  256
-    colors  may  be replaced by specifying couples of  colors  on  the
-    command line.  
-
-        The colors can be specified in five ways:
-
-            o A name, assuming that a  pointer  to  an X11-style color
-            names file was compiled in.
-
-            o An X11-style hexadecimal specifier:  rgb:r/g/b,  where r
-            g and b are each 1- to 4-digit hexadecimal numbers.
-
-            o An X11-style decimal specifier:  rgbi:r/g/b, where  r  g
-            and b are floating point numbers between 0 and 1.
-
-            o    For    backwards  compatibility,  an    old-X11-style
-            hexadecimal  number:    #rgb,  #rrggbb,  #rrrgggbbb,    or
-            #rrrrggggbbbb.
-
-            o  For  backwards  compatibility,  a  triplet  of  numbers
-            separated by commas:  r,g,b, where r g  and b are floating
-            point  numbers  between  0 and 1.  (This style  was  added
-            before MIT came up with the similar rgbi style.)
-
-2 See_Also
-        pgmtoppm(1), ppm(5)
-
-2 Author
-        Wilson  H.    Bent.   Jr.  (whb@usc.edu) with modifications by
-    Alberto Accomazzi (alberto@cfa.harvard.edu)
-
-1 xvminitoppm
-        xvminitoppm - convert a XV "thumbnail" picture to PPM
-
-2 Synopis
-        xvminitoppm [xvminipic]
-
-2 Description
-        Reads a  XV "thumbnail" picture (a miniature picture generated
-    by the "VisualSchnauzer"  browser)  as input.  Produces a portable
-    pixmap as output.
-
-2 See_Also
-        ppm(5), xv(1)
-
-2 Author
-        Copyright (C) 1993 by Ingo Wilken
-
diff --git a/vms/RGB.txt b/vms/RGB.txt
deleted file mode 100644
index e5f61889..00000000
--- a/vms/RGB.txt
+++ /dev/null
@@ -1,738 +0,0 @@
-255 250 250 snow
-248 248 255 ghost white
-248 248 255 GhostWhite
-245 245 245 white smoke
-245 245 245 WhiteSmoke
-220 220 220 gainsboro
-255 250 240 floral white
-255 250 240 FloralWhite
-253 245 230 old lace
-253 245 230 OldLace
-250 240 230 linen
-250 235 215 antique white
-250 235 215 AntiqueWhite
-255 239 213 papaya whip
-255 239 213 PapayaWhip
-255 235 205 blanched almond
-255 235 205 BlanchedAlmond
-255 228 196 bisque
-255 218 185 peach puff
-255 218 185 PeachPuff
-255 222 173 navajo white
-255 222 173 NavajoWhite
-255 228 181 moccasin
-255 248 220 cornsilk
-255 255 240 ivory
-255 250 205 lemon chiffon
-255 250 205 LemonChiffon
-255 245 238 seashell
-240 255 240 honeydew
-245 255 250 mint cream
-245 255 250 MintCream
-240 255 255 azure
-240 248 255 alice blue
-240 248 255 AliceBlue
-230 230 250 lavender
-255 240 245 lavender blush
-255 240 245 LavenderBlush
-255 228 225 misty rose
-255 228 225 MistyRose
-255 255 255 white
-  0   0   0 black
- 47  79  79 dark slate gray
- 47  79  79 DarkSlateGray
- 47  79  79 dark slate grey
- 47  79  79 DarkSlateGrey
-105 105 105 dim gray
-105 105 105 DimGray
-105 105 105 dim grey
-105 105 105 DimGrey
-112 128 144 slate gray
-112 128 144 SlateGray
-112 128 144 slate grey
-112 128 144 SlateGrey
-119 136 153 light slate gray
-119 136 153 LightSlateGray
-119 136 153 light slate grey
-119 136 153 LightSlateGrey
-190 190 190 gray
-190 190 190 grey
-211 211 211 light grey
-211 211 211 LightGrey
-211 211 211 light gray
-211 211 211 LightGray
- 25  25 112 midnight blue
- 25  25 112 MidnightBlue
-  0   0 128 navy
-  0   0 128 navy blue
-  0   0 128 NavyBlue
-100 149 237 cornflower blue
-100 149 237 CornflowerBlue
- 72  61 139 dark slate blue
- 72  61 139 DarkSlateBlue
-106  90 205 slate blue
-106  90 205 SlateBlue
-123 104 238 medium slate blue
-123 104 238 MediumSlateBlue
-132 112 255 light slate blue
-132 112 255 LightSlateBlue
-  0   0 205 medium blue
-  0   0 205 MediumBlue
- 65 105 225 royal blue
- 65 105 225 RoyalBlue
-  0   0 255 blue
- 30 144 255 dodger blue
- 30 144 255 DodgerBlue
-  0 191 255 deep sky blue
-  0 191 255 DeepSkyBlue
-135 206 235 sky blue
-135 206 235 SkyBlue
-135 206 250 light sky blue
-135 206 250 LightSkyBlue
- 70 130 180 steel blue
- 70 130 180 SteelBlue
-176 196 222 light steel blue
-176 196 222 LightSteelBlue
-173 216 230 light blue
-173 216 230 LightBlue
-176 224 230 powder blue
-176 224 230 PowderBlue
-175 238 238 pale turquoise
-175 238 238 PaleTurquoise
-  0 206 209 dark turquoise
-  0 206 209 DarkTurquoise
- 72 209 204 medium turquoise
- 72 209 204 MediumTurquoise
- 64 224 208 turquoise
-  0 255 255 cyan
-224 255 255 light cyan
-224 255 255 LightCyan
- 95 158 160 cadet blue
- 95 158 160 CadetBlue
-102 205 170 medium aquamarine
-102 205 170 MediumAquamarine
-127 255 212 aquamarine
-  0 100   0 dark green
-  0 100   0 DarkGreen
- 85 107  47 dark olive green
- 85 107  47 DarkOliveGreen
-143 188 143 dark sea green
-143 188 143 DarkSeaGreen
- 46 139  87 sea green
- 46 139  87 SeaGreen
- 60 179 113 medium sea green
- 60 179 113 MediumSeaGreen
- 32 178 170 light sea green
- 32 178 170 LightSeaGreen
-152 251 152 pale green
-152 251 152 PaleGreen
-  0 255 127 spring green
-  0 255 127 SpringGreen
-124 252   0 lawn green
-124 252   0 LawnGreen
-  0 255   0 green
-127 255   0 chartreuse
-  0 250 154 medium spring green
-  0 250 154 MediumSpringGreen
-173 255  47 green yellow
-173 255  47 GreenYellow
- 50 205  50 lime green
- 50 205  50 LimeGreen
-154 205  50 yellow green
-154 205  50 YellowGreen
- 34 139  34 forest green
- 34 139  34 ForestGreen
-107 142  35 olive drab
-107 142  35 OliveDrab
-189 183 107 dark khaki
-189 183 107 DarkKhaki
-240 230 140 khaki
-238 232 170 pale goldenrod
-238 232 170 PaleGoldenrod
-250 250 210 light goldenrod yellow
-250 250 210 LightGoldenrodYellow
-255 255 224 light yellow
-255 255 224 LightYellow
-255 255   0 yellow
-255 215   0 gold
-238 221 130 light goldenrod
-238 221 130 LightGoldenrod
-218 165  32 goldenrod
-184 134  11 dark goldenrod
-184 134  11 DarkGoldenrod
-188 143 143 rosy brown
-188 143 143 RosyBrown
-205  92  92 indian red
-205  92  92 IndianRed
-139  69  19 saddle brown
-139  69  19 SaddleBrown
-160  82  45 sienna
-205 133  63 peru
-222 184 135 burlywood
-245 245 220 beige
-245 222 179 wheat
-244 164  96 sandy brown
-244 164  96 SandyBrown
-210 180 140 tan
-210 105  30 chocolate
-178  34  34 firebrick
-165  42  42 brown
-233 150 122 dark salmon
-233 150 122 DarkSalmon
-250 128 114 salmon
-255 160 122 light salmon
-255 160 122 LightSalmon
-255 165   0 orange
-255 140   0 dark orange
-255 140   0 DarkOrange
-255 127  80 coral
-240 128 128 light coral
-240 128 128 LightCoral
-255  99  71 tomato
-255  69   0 orange red
-255  69   0 OrangeRed
-255   0   0 red
-255 105 180 hot pink
-255 105 180 HotPink
-255  20 147 deep pink
-255  20 147 DeepPink
-255 192 203 pink
-255 182 193 light pink
-255 182 193 LightPink
-219 112 147 pale violet red
-219 112 147 PaleVioletRed
-176  48  96 maroon
-199  21 133 medium violet red
-199  21 133 MediumVioletRed
-208  32 144 violet red
-208  32 144 VioletRed
-255   0 255 magenta
-238 130 238 violet
-221 160 221 plum
-218 112 214 orchid
-186  85 211 medium orchid
-186  85 211 MediumOrchid
-153  50 204 dark orchid
-153  50 204 DarkOrchid
-148   0 211 dark violet
-148   0 211 DarkViolet
-138  43 226 blue violet
-138  43 226 BlueViolet
-160  32 240 purple
-147 112 219 medium purple
-147 112 219 MediumPurple
-216 191 216 thistle
-255 250 250 snow1
-238 233 233 snow2
-205 201 201 snow3
-139 137 137 snow4
-255 245 238 seashell1
-238 229 222 seashell2
-205 197 191 seashell3
-139 134 130 seashell4
-255 239 219 AntiqueWhite1
-238 223 204 AntiqueWhite2
-205 192 176 AntiqueWhite3
-139 131 120 AntiqueWhite4
-255 228 196 bisque1
-238 213 183 bisque2
-205 183 158 bisque3
-139 125 107 bisque4
-255 218 185 PeachPuff1
-238 203 173 PeachPuff2
-205 175 149 PeachPuff3
-139 119 101 PeachPuff4
-255 222 173 NavajoWhite1
-238 207 161 NavajoWhite2
-205 179 139 NavajoWhite3
-139 121  94 NavajoWhite4
-255 250 205 LemonChiffon1
-238 233 191 LemonChiffon2
-205 201 165 LemonChiffon3
-139 137 112 LemonChiffon4
-255 248 220 cornsilk1
-238 232 205 cornsilk2
-205 200 177 cornsilk3
-139 136 120 cornsilk4
-255 255 240 ivory1
-238 238 224 ivory2
-205 205 193 ivory3
-139 139 131 ivory4
-240 255 240 honeydew1
-224 238 224 honeydew2
-193 205 193 honeydew3
-131 139 131 honeydew4
-255 240 245 LavenderBlush1
-238 224 229 LavenderBlush2
-205 193 197 LavenderBlush3
-139 131 134 LavenderBlush4
-255 228 225 MistyRose1
-238 213 210 MistyRose2
-205 183 181 MistyRose3
-139 125 123 MistyRose4
-240 255 255 azure1
-224 238 238 azure2
-193 205 205 azure3
-131 139 139 azure4
-131 111 255 SlateBlue1
-122 103 238 SlateBlue2
-105  89 205 SlateBlue3
- 71  60 139 SlateBlue4
- 72 118 255 RoyalBlue1
- 67 110 238 RoyalBlue2
- 58  95 205 RoyalBlue3
- 39  64 139 RoyalBlue4
-  0   0 255 blue1
-  0   0 238 blue2
-  0   0 205 blue3
-  0   0 139 blue4
- 30 144 255 DodgerBlue1
- 28 134 238 DodgerBlue2
- 24 116 205 DodgerBlue3
- 16  78 139 DodgerBlue4
- 99 184 255 SteelBlue1
- 92 172 238 SteelBlue2
- 79 148 205 SteelBlue3
- 54 100 139 SteelBlue4
-  0 191 255 DeepSkyBlue1
-  0 178 238 DeepSkyBlue2
-  0 154 205 DeepSkyBlue3
-  0 104 139 DeepSkyBlue4
-135 206 255 SkyBlue1
-126 192 238 SkyBlue2
-108 166 205 SkyBlue3
- 74 112 139 SkyBlue4
-176 226 255 LightSkyBlue1
-164 211 238 LightSkyBlue2
-141 182 205 LightSkyBlue3
- 96 123 139 LightSkyBlue4
-198 226 255 SlateGray1
-185 211 238 SlateGray2
-159 182 205 SlateGray3
-108 123 139 SlateGray4
-202 225 255 LightSteelBlue1
-188 210 238 LightSteelBlue2
-162 181 205 LightSteelBlue3
-110 123 139 LightSteelBlue4
-191 239 255 LightBlue1
-178 223 238 LightBlue2
-154 192 205 LightBlue3
-104 131 139 LightBlue4
-224 255 255 LightCyan1
-209 238 238 LightCyan2
-180 205 205 LightCyan3
-122 139 139 LightCyan4
-187 255 255 PaleTurquoise1
-174 238 238 PaleTurquoise2
-150 205 205 PaleTurquoise3
-102 139 139 PaleTurquoise4
-152 245 255 CadetBlue1
-142 229 238 CadetBlue2
-122 197 205 CadetBlue3
- 83 134 139 CadetBlue4
-  0 245 255 turquoise1
-  0 229 238 turquoise2
-  0 197 205 turquoise3
-  0 134 139 turquoise4
-  0 255 255 cyan1
-  0 238 238 cyan2
-  0 205 205 cyan3
-  0 139 139 cyan4
-151 255 255 DarkSlateGray1
-141 238 238 DarkSlateGray2
-121 205 205 DarkSlateGray3
- 82 139 139 DarkSlateGray4
-127 255 212 aquamarine1
-118 238 198 aquamarine2
-102 205 170 aquamarine3
- 69 139 116 aquamarine4
-193 255 193 DarkSeaGreen1
-180 238 180 DarkSeaGreen2
-155 205 155 DarkSeaGreen3
-105 139 105 DarkSeaGreen4
- 84 255 159 SeaGreen1
- 78 238 148 SeaGreen2
- 67 205 128 SeaGreen3
- 46 139  87 SeaGreen4
-154 255 154 PaleGreen1
-144 238 144 PaleGreen2
-124 205 124 PaleGreen3
- 84 139  84 PaleGreen4
-  0 255 127 SpringGreen1
-  0 238 118 SpringGreen2
-  0 205 102 SpringGreen3
-  0 139  69 SpringGreen4
-  0 255   0 green1
-  0 238   0 green2
-  0 205   0 green3
-  0 139   0 green4
-127 255   0 chartreuse1
-118 238   0 chartreuse2
-102 205   0 chartreuse3
- 69 139   0 chartreuse4
-192 255  62 OliveDrab1
-179 238  58 OliveDrab2
-154 205  50 OliveDrab3
-105 139  34 OliveDrab4
-202 255 112 DarkOliveGreen1
-188 238 104 DarkOliveGreen2
-162 205  90 DarkOliveGreen3
-110 139  61 DarkOliveGreen4
-255 246 143 khaki1
-238 230 133 khaki2
-205 198 115 khaki3
-139 134  78 khaki4
-255 236 139 LightGoldenrod1
-238 220 130 LightGoldenrod2
-205 190 112 LightGoldenrod3
-139 129  76 LightGoldenrod4
-255 255 224 LightYellow1
-238 238 209 LightYellow2
-205 205 180 LightYellow3
-139 139 122 LightYellow4
-255 255   0 yellow1
-238 238   0 yellow2
-205 205   0 yellow3
-139 139   0 yellow4
-255 215   0 gold1
-238 201   0 gold2
-205 173   0 gold3
-139 117   0 gold4
-255 193  37 goldenrod1
-238 180  34 goldenrod2
-205 155  29 goldenrod3
-139 105  20 goldenrod4
-255 185  15 DarkGoldenrod1
-238 173  14 DarkGoldenrod2
-205 149  12 DarkGoldenrod3
-139 101   8 DarkGoldenrod4
-255 193 193 RosyBrown1
-238 180 180 RosyBrown2
-205 155 155 RosyBrown3
-139 105 105 RosyBrown4
-255 106 106 IndianRed1
-238  99  99 IndianRed2
-205  85  85 IndianRed3
-139  58  58 IndianRed4
-255 130  71 sienna1
-238 121  66 sienna2
-205 104  57 sienna3
-139  71  38 sienna4
-255 211 155 burlywood1
-238 197 145 burlywood2
-205 170 125 burlywood3
-139 115  85 burlywood4
-255 231 186 wheat1
-238 216 174 wheat2
-205 186 150 wheat3
-139 126 102 wheat4
-255 165  79 tan1
-238 154  73 tan2
-205 133  63 tan3
-139  90  43 tan4
-255 127  36 chocolate1
-238 118  33 chocolate2
-205 102  29 chocolate3
-139  69  19 chocolate4
-255  48  48 firebrick1
-238  44  44 firebrick2
-205  38  38 firebrick3
-139  26  26 firebrick4
-255  64  64 brown1
-238  59  59 brown2
-205  51  51 brown3
-139  35  35 brown4
-255 140 105 salmon1
-238 130  98 salmon2
-205 112  84 salmon3
-139  76  57 salmon4
-255 160 122 LightSalmon1
-238 149 114 LightSalmon2
-205 129  98 LightSalmon3
-139  87  66 LightSalmon4
-255 165   0 orange1
-238 154   0 orange2
-205 133   0 orange3
-139  90   0 orange4
-255 127   0 DarkOrange1
-238 118   0 DarkOrange2
-205 102   0 DarkOrange3
-139  69   0 DarkOrange4
-255 114  86 coral1
-238 106  80 coral2
-205  91  69 coral3
-139  62  47 coral4
-255  99  71 tomato1
-238  92  66 tomato2
-205  79  57 tomato3
-139  54  38 tomato4
-255  69   0 OrangeRed1
-238  64   0 OrangeRed2
-205  55   0 OrangeRed3
-139  37   0 OrangeRed4
-255   0   0 red1
-238   0   0 red2
-205   0   0 red3
-139   0   0 red4
-255  20 147 DeepPink1
-238  18 137 DeepPink2
-205  16 118 DeepPink3
-139  10  80 DeepPink4
-255 110 180 HotPink1
-238 106 167 HotPink2
-205  96 144 HotPink3
-139  58  98 HotPink4
-255 181 197 pink1
-238 169 184 pink2
-205 145 158 pink3
-139  99 108 pink4
-255 174 185 LightPink1
-238 162 173 LightPink2
-205 140 149 LightPink3
-139  95 101 LightPink4
-255 130 171 PaleVioletRed1
-238 121 159 PaleVioletRed2
-205 104 137 PaleVioletRed3
-139  71  93 PaleVioletRed4
-255  52 179 maroon1
-238  48 167 maroon2
-205  41 144 maroon3
-139  28  98 maroon4
-255  62 150 VioletRed1
-238  58 140 VioletRed2
-205  50 120 VioletRed3
-139  34  82 VioletRed4
-255   0 255 magenta1
-238   0 238 magenta2
-205   0 205 magenta3
-139   0 139 magenta4
-255 131 250 orchid1
-238 122 233 orchid2
-205 105 201 orchid3
-139  71 137 orchid4
-255 187 255 plum1
-238 174 238 plum2
-205 150 205 plum3
-139 102 139 plum4
-224 102 255 MediumOrchid1
-209  95 238 MediumOrchid2
-180  82 205 MediumOrchid3
-122  55 139 MediumOrchid4
-191  62 255 DarkOrchid1
-178  58 238 DarkOrchid2
-154  50 205 DarkOrchid3
-104  34 139 DarkOrchid4
-155  48 255 purple1
-145  44 238 purple2
-125  38 205 purple3
- 85  26 139 purple4
-171 130 255 MediumPurple1
-159 121 238 MediumPurple2
-137 104 205 MediumPurple3
- 93  71 139 MediumPurple4
-255 225 255 thistle1
-238 210 238 thistle2
-205 181 205 thistle3
-139 123 139 thistle4
-  0   0   0 gray0
-  0   0   0 grey0
-  3   3   3 gray1
-  3   3   3 grey1
-  5   5   5 gray2
-  5   5   5 grey2
-  8   8   8 gray3
-  8   8   8 grey3
- 10  10  10 gray4
- 10  10  10 grey4
- 13  13  13 gray5
- 13  13  13 grey5
- 15  15  15 gray6
- 15  15  15 grey6
- 18  18  18 gray7
- 18  18  18 grey7
- 20  20  20 gray8
- 20  20  20 grey8
- 23  23  23 gray9
- 23  23  23 grey9
- 26  26  26 gray10
- 26  26  26 grey10
- 28  28  28 gray11
- 28  28  28 grey11
- 31  31  31 gray12
- 31  31  31 grey12
- 33  33  33 gray13
- 33  33  33 grey13
- 36  36  36 gray14
- 36  36  36 grey14
- 38  38  38 gray15
- 38  38  38 grey15
- 41  41  41 gray16
- 41  41  41 grey16
- 43  43  43 gray17
- 43  43  43 grey17
- 46  46  46 gray18
- 46  46  46 grey18
- 48  48  48 gray19
- 48  48  48 grey19
- 51  51  51 gray20
- 51  51  51 grey20
- 54  54  54 gray21
- 54  54  54 grey21
- 56  56  56 gray22
- 56  56  56 grey22
- 59  59  59 gray23
- 59  59  59 grey23
- 61  61  61 gray24
- 61  61  61 grey24
- 64  64  64 gray25
- 64  64  64 grey25
- 66  66  66 gray26
- 66  66  66 grey26
- 69  69  69 gray27
- 69  69  69 grey27
- 71  71  71 gray28
- 71  71  71 grey28
- 74  74  74 gray29
- 74  74  74 grey29
- 77  77  77 gray30
- 77  77  77 grey30
- 79  79  79 gray31
- 79  79  79 grey31
- 82  82  82 gray32
- 82  82  82 grey32
- 84  84  84 gray33
- 84  84  84 grey33
- 87  87  87 gray34
- 87  87  87 grey34
- 89  89  89 gray35
- 89  89  89 grey35
- 92  92  92 gray36
- 92  92  92 grey36
- 94  94  94 gray37
- 94  94  94 grey37
- 97  97  97 gray38
- 97  97  97 grey38
- 99  99  99 gray39
- 99  99  99 grey39
-102 102 102 gray40
-102 102 102 grey40
-105 105 105 gray41
-105 105 105 grey41
-107 107 107 gray42
-107 107 107 grey42
-110 110 110 gray43
-110 110 110 grey43
-112 112 112 gray44
-112 112 112 grey44
-115 115 115 gray45
-115 115 115 grey45
-117 117 117 gray46
-117 117 117 grey46
-120 120 120 gray47
-120 120 120 grey47
-122 122 122 gray48
-122 122 122 grey48
-125 125 125 gray49
-125 125 125 grey49
-127 127 127 gray50
-127 127 127 grey50
-130 130 130 gray51
-130 130 130 grey51
-133 133 133 gray52
-133 133 133 grey52
-135 135 135 gray53
-135 135 135 grey53
-138 138 138 gray54
-138 138 138 grey54
-140 140 140 gray55
-140 140 140 grey55
-143 143 143 gray56
-143 143 143 grey56
-145 145 145 gray57
-145 145 145 grey57
-148 148 148 gray58
-148 148 148 grey58
-150 150 150 gray59
-150 150 150 grey59
-153 153 153 gray60
-153 153 153 grey60
-156 156 156 gray61
-156 156 156 grey61
-158 158 158 gray62
-158 158 158 grey62
-161 161 161 gray63
-161 161 161 grey63
-163 163 163 gray64
-163 163 163 grey64
-166 166 166 gray65
-166 166 166 grey65
-168 168 168 gray66
-168 168 168 grey66
-171 171 171 gray67
-171 171 171 grey67
-173 173 173 gray68
-173 173 173 grey68
-176 176 176 gray69
-176 176 176 grey69
-179 179 179 gray70
-179 179 179 grey70
-181 181 181 gray71
-181 181 181 grey71
-184 184 184 gray72
-184 184 184 grey72
-186 186 186 gray73
-186 186 186 grey73
-189 189 189 gray74
-189 189 189 grey74
-191 191 191 gray75
-191 191 191 grey75
-194 194 194 gray76
-194 194 194 grey76
-196 196 196 gray77
-196 196 196 grey77
-199 199 199 gray78
-199 199 199 grey78
-201 201 201 gray79
-201 201 201 grey79
-204 204 204 gray80
-204 204 204 grey80
-207 207 207 gray81
-207 207 207 grey81
-209 209 209 gray82
-209 209 209 grey82
-212 212 212 gray83
-212 212 212 grey83
-214 214 214 gray84
-214 214 214 grey84
-217 217 217 gray85
-217 217 217 grey85
-219 219 219 gray86
-219 219 219 grey86
-222 222 222 gray87
-222 222 222 grey87
-224 224 224 gray88
-224 224 224 grey88
-227 227 227 gray89
-227 227 227 grey89
-229 229 229 gray90
-229 229 229 grey90
-232 232 232 gray91
-232 232 232 grey91
-235 235 235 gray92
-235 235 235 grey92
-237 237 237 gray93
-237 237 237 grey93
-240 240 240 gray94
-240 240 240 grey94
-242 242 242 gray95
-242 242 242 grey95
-245 245 245 gray96
-245 245 245 grey96
-247 247 247 gray97
-247 247 247 grey97
-250 250 250 gray98
-250 250 250 grey98
-252 252 252 gray99
-252 252 252 grey99
-255 255 255 gray100
-255 255 255 grey100
diff --git a/vms/SetUp.com b/vms/SetUp.com
deleted file mode 100755
index 077318b5..00000000
--- a/vms/SetUp.com
+++ /dev/null
@@ -1,37 +0,0 @@
-$ VERIFY = F$Verify (0)
-$ On Error Then GoTo EXIT
-$ Write Sys$Output "SETting UP PBMplus (ver netpbm-VMS)..."
-$! 
-$!  Keep this proc in the top directory of the PBMPLUS tree. Execute it from 
-$!  anywhere and it will set up command symbols for all executables in the
-$!  PBMplus_Root:[EXE] directory.
-$!  There is a problem if this directory is located in a "rooted"
-$!  directory structure already.  It is not possible to define a "rooted"
-$!  directory twice, i.e.:
-$! BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD
-$! BAD                                                                 BAD
-$! BAD     Define /Trans=conceal Public Disk$:[Dir.]                   BAD
-$! BAD     Define /Trans=conceal PBMplus_Root Public:[PBMplus.]        BAD
-$! BAD                                                                 BAD
-$! BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD BAD
-$!  THIS WILL NOT WORK!  In this case, you will have to manually define
-$!  PBMplus_Root instead of the autosensing feature below....
-$! 
-$ PBMPLUS_PATH = F$Element (0, "]", F$Environment ("PROCEDURE")) + ".]"
-$ Define /Translation_Attributes = Concealed PBMplus_Root "''PBMPLUS_PATH'"
-$ Define PBMplus_Dir PBMplus_Root:[000000]
-$ Define PBMplusShr PBMplus_Dir:PBMplusShr
-$ NAME = "PBMplus_Root:[Exe]*.EXE"
-$LOOP:
-$   PROG = F$Search (NAME)
-$   If PROG .nes. ""
-$       Then
-$           PROG = PROG - F$Parse (PROG, , , "VERSION")
-$           CMD = F$Parse (PROG, , , "NAME")
-$           'CMD' :== $ 'PROG'
-$       GoTo LOOP
-$   EndIf
-$   @ PBMplus_Dir:ADD_LIST Hlp$Library PBMplus_Dir:PBMPLUS.HLB
-$EXIT:
-$   VERIFY = F$Verify (VERIFY)
-$   Exit
diff --git a/vms/stamp-date.com b/vms/stamp-date.com
deleted file mode 100755
index 349f6626..00000000
--- a/vms/stamp-date.com
+++ /dev/null
@@ -1,25 +0,0 @@
-$!# Copyright (C) 1993 by Oliver Trepte.
-$!#
-$!# Permission to use, copy, modify, and distribute this software and its
-$!# documentation for any purpose and without fee is hereby granted, provided
-$!# that the above copyright notice appear in all copies and that both that
-$!# copyright notice and this permission notice appear in supporting
-$!# documentation.  This software is provided "as is" without express or
-$!# implied warranty.
-$!#
-$!# This shell script creates a file called "compile_time.h" which holds
-$!# a define stating the compilation time. This is used for the -version
-$!# flag.
-$!#
-$!# modified to a VMS command procedure by Rick Dyson 29-NOV-1993
-
-$ OUTFILE   := "compile.h"
-$ DATE      := "''F$Time ()'"
-$ USER      := "''F$GetJPI (F$GetJPI ("", "PID"), "USERNAME")'"
-$ Open /Write OUTFILE compile.h
-$ Write OUTFILE "/* compile_time.h  This file tells the package when it was compiled */"
-$ Write OUTFILE "/* DO NOT EDIT - THIS FILE IS MAINTAINED AUTOMATICALLY              */"
-$ Write OUTFILE "#define COMPILE_TIME ""''DATE'"""
-$ Write OUTFILE "#define COMPILED_BY ""''USER'"""
-$ Close OUTFILE
-$ Exit