[comp.sources.misc] v08i072: cz text to PostScript system, part 08 of 14

allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc) (10/01/89)

Posting-number: Volume 8, Issue 72
Submitted-by: howard@dahlbeck.ericsson.se (Howard Gayle)
Archive-name: cz/part08

#! /bin/sh
# This is a shell archive.  Remove anything before this line, then feed it
# into a shell via "sh file" or similar.  To overwrite existing files,
# type "sh file -c".
# The tool that generated this appeared in the comp.sources.unix newsgroup;
# send mail to comp-sources-unix@uunet.uu.net if you want that tool.
# If this archive is complete, you will see the following message at the end:
#		"End of archive 8 (of 14)."
# Contents:  grid.1 grid.c hook-add.el laser-dr.ps letterfreq.1
#   letterfreq.c prolog-beg.p4 ps-abbrev.m4 se.rc seus.code state0.m4
# Wrapped by howard@dahlbeck on Mon Sep 25 07:15:21 1989
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'grid.1' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'grid.1'\"
else
echo shar: Extracting \"'grid.1'\" \(1789 characters\)
sed "s/^X//" >'grid.1' <<'END_OF_FILE'
X.\" $Header: grid.1,v 1.3 89/08/29 10:53:25 howard Exp $
X.TH GRID 1 "$Revision: 1.3 $"
X.SH NAME
Xgrid \- generate test pattern
X.SH SYNOPSIS
X.B grid
X.I rows
X.I columns
X.SH COPYRIGHT
XCopyright \(co 1989 Howard Lee Gayle
X.SH DESCRIPTION
X.I Grid
Xwrites on the standard output a test pattern with the given
Xnumber of rows (lines) and columns.
XThe rows are numbered starting with 1.
XThe columns are numbered at every multiple of 10.
XThe leftmost column is column 1.
X.SH EXAMPLES
XTo find out how many columns your laser can handle in 10 point
Xfixed-width font:
X.nf
X   % grid 10 100 > t1
X   % cz \-b 10.0bp \-f t1
X.fi
X.PP
XTo get exactly 2048 bytes into a file for tape testing:
X.nf
X   % grid 1 2047 > t2
X.fi
X(The newline makes it 2048.)
X.PP
XSend 100 000 bytes to the terminal, and count how long it
Xtakes, in order to compute the true line speed:
X.nf
X   % time grid 100 999
X.fi
X.PP
X.I Grid
Xcan also be used to produce a guide to column positions for
Xtext with fixed column positions.
X.SH LICENSE
XThis program is free software; you can redistribute it and/or modify
Xit under the terms of the GNU General Public License version 1,
Xas published by the Free Software Foundation.
X.PP
XThis program is distributed in the hope that it will be useful,
Xbut WITHOUT ANY WARRANTY; without even the implied warranty of
XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
XGNU General Public License for more details.
X.PP
XYou should have received a copy of the GNU General Public License
Xalong with this program; if not, write to the Free Software
XFoundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X.SH AUTHOR
XHoward Gayle,
XTN/ETX/T/BG,
XEricsson Telecom AB,
XS-126 25 Stockholm,
XSweden,
Xhoward@ericsson.se,
Xuunet!ericsson.se!howard,
XPhone: +46 8 719 5565,
XFAX: +46 8 719 9598,
XTelex: 14910 ERIC S
END_OF_FILE
if test 1789 -ne `wc -c <'grid.1'`; then
    echo shar: \"'grid.1'\" unpacked with wrong size!
fi
# end of 'grid.1'
fi
if test -f 'grid.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'grid.c'\"
else
echo shar: Extracting \"'grid.c'\" \(3397 characters\)
sed "s/^X//" >'grid.c' <<'END_OF_FILE'
X/*
X * grid - print grid on standard output
X */
X
X#ifndef lint
Xstatic char _cpyrgt[] = "Copyright 1989 Howard Lee Gayle";
X#endif lint
X
X/*
X * This program is free software; you can redistribute it and/or modify
X * it under the terms of the GNU General Public License version 1,
X * as published by the Free Software Foundation.
X *
X * This program is distributed in the hope that it will be useful,
X * but WITHOUT ANY WARRANTY; without even the implied warranty of
X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X * GNU General Public License for more details.
X *
X * You should have received a copy of the GNU General Public License
X * along with this program; if not, write to the Free Software
X * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X
X#include <stdio.h>
X#include <howard/port.h>
X#include <howard/version.h>
X#include <howard/usage.h>
X
XMAINVER ("@(#)$Header: grid.c,v 1.4 89/08/21 11:03:01 howard Exp $");
XUSAGE ("number-of-rows number-of-columns");
X
X#include <howard/malf.h>
X#include <howard/registers.i>
X
X#define MIN_ROW	1		/* minimum row number			*/
X#define MAX_ROW	9999		/* maximum row number			*/
X#define MIN_COL	11		/* minimum column number		*/
X#define	MAX_COL	9999		/* maximum column number		*/
X
X/* decpad - convert integer to string, pad with minus			*/
X
XPRIVATE void decpad (s, i)
XR1 char	*s; /* output string			*/
XR2 int	 i; /* integer				*/
X
X/* Function:
X *	Convert i to a right-justified string, padded on the left with '-'
X *	characters to exactly 4 positions plus a NUL terminator.
X * Algorithm:
X *	Call sprintf.  Change leading blanks to '-'.
X * Notes:
X *	1) s must point to a buffer of at least 5 bytes.  Overflow is not
X *	   checked.
X */
X
X{
XSPRINTF (s, "%4d", i);
Xwhile (*s == ' ')
X	*s++ = '-';
X}
X
X/* main - main function							*/
X
XPUBLIC int main (argc, argv)
X   int    argc; /* Number of arguments.*/
XR6 bStrT *argv; /* Points to array of argument strings.*/
X
X/* Function:
X *	
X * Algorithm:
X *    * Initialize rb.  For each line, compute lb, then output lb and rb.
X * Notes:
X *	
X */
X
X{
XR1     int   i;	              /* general purpose loop variable	*/
XR2     char *cp;	      /* for setting up rb[]			*/
XR3     int   nr;	      /* number of rows			*/
XR4     int   nc;	      /* number of columns			*/
XR5     int   nc10;	      /* highest column number (divided by 10)
X			       * to appear on grid.			*/
Xstatic char  lb[6] = "<";     /* buffer for columns 1 .. 5 of each line */
Xstatic char  rb[MAX_COL - 3]; /* buffer for columns 6 .. nc of
X			       * output grid.  These do not change from
X			       * line to line.			*/
X
Xif (argc != 3) usage();
Xnr = mra2i (argv[1], NULBSTR, FALSE, S("Number of rows"),    MIN_ROW, MAX_ROW,
X            (bStrT *) NULL);
Xnc = mra2i (argv[2], NULBSTR, FALSE, S("Number of columns"), MIN_COL, MAX_COL,
X            (bStrT *) NULL);
Xcp = rb;
X*cp++ = '-';
X*cp++ = '-';
X*cp++ = '-';
X*cp++ = '-';
X*cp++ = '1';
Xnc10 = (nc - 1) / 10;
Xfor (i = 2; i <= nc10; ++i)
X   {
X   *cp++ = '-';
X   *cp++ = '-';
X   *cp++ = '-';
X   *cp++ = '-';
X   *cp++ = '+';
X   *cp++ = '-';
X   decpad (cp, i);
X   cp += 4;
X   }
Xi *= 10;
Xfor (i -= 9; i != nc; ++i)
X   *cp++ = ((i % 5) ? '-' : '+');
X*cp++ = '>';
X*cp++ = '\n';
X*cp = 0;
Xcp = rb;
Xfor (i = 1; i <= nr; ++i)
X   {
X   decpad (&lb[1], i);
X   FPUTS (lb, stdout);
X   FPUTS (cp, stdout);
X   }
Xmfflush (stdout, S("Standard Output"));
Xexit (SUCCESS);
X
X#ifdef lint
Xreturn (SUCCESS);
X#endif
X}
END_OF_FILE
if test 3397 -ne `wc -c <'grid.c'`; then
    echo shar: \"'grid.c'\" unpacked with wrong size!
fi
# end of 'grid.c'
fi
if test -f 'hook-add.el' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'hook-add.el'\"
else
echo shar: Extracting \"'hook-add.el'\" \(1596 characters\)
sed "s/^X//" >'hook-add.el' <<'END_OF_FILE'
X;; hook-add.el - Utility to add a function to a hook list.
X;;
X;; $Header: hook-add.el,v 1.1 89/08/04 17:11:46 howard Exp $
X;;
X;; Copyright   1989 Howard Lee Gayle
X;; This file is written in the ISO 8859/1 character set.
X;;
X;; $Header: hook-add.el,v 1.1 89/08/04 17:11:46 howard Exp $
X;;
X;; This program is free software; you can redistribute it and/or modify
X;; it under the terms of the GNU General Public License version 1,
X;; as published by the Free Software Foundation.
X;;
X;; This program is distributed in the hope that it will be useful,
X;; but WITHOUT ANY WARRANTY; without even the implied warranty of
X;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X;; GNU General Public License for more details.
X;;
X;; You should have received a copy of the GNU General Public License
X;; along with this program; if not, write to the Free Software
X;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
X(defun hook-add (s f)
X   "Append to the value of HOOK-SYMBOL a new FUNCTION.
XIf HOOK-SYMBOL is unbound or nil, just set it to FUNCTION.
XIf HOOK-SYMBOL is bound to an atom, make a list.
XIf HOOK-SYMBOL is already a list, append FUNCTION to the end.
XIf FUNCTION is already on the list, do nothing.
XTypically, both arguments are quoted."
X   (if (boundp s)
X      (let
X            ((sv (eval s))) ; Value of s.
X         (cond
X            ((null sv) (set s f))
X            ((eq sv f) sv)
X            ((not (listp sv)) (set s (cons sv (list f))))
X            ((memq f sv) sv)
X            (t (set s (nconc sv (list f))))
X         )
X      )
X      (set s f)
X   )
X)
X
X(provide 'hook-add)
END_OF_FILE
if test 1596 -ne `wc -c <'hook-add.el'`; then
    echo shar: \"'hook-add.el'\" unpacked with wrong size!
fi
# end of 'hook-add.el'
fi
if test -f 'laser-dr.ps' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'laser-dr.ps'\"
else
echo shar: Extracting \"'laser-dr.ps'\" \(4345 characters\)
sed "s/^X//" >'laser-dr.ps' <<'END_OF_FILE'
X%!
X% $Header: laser-dr.ps,v 1.1 89/06/28 08:44:27 howard Exp $
X%% Laser Doctor, Version 1.0.0
X%% Written by Jim Sullivan, January, 1989.
X%% This was written out of a need to display as much information
X%% about various Postscript Laserprinters onto one page.  More
X%% can be added and anyone is free to modify it for their own
X%% needs.
X
Xgsave
X
X%% Beginning of definitions ********************************
X
X/HB  {/Helvetica-Bold} def
X/CBO {/Courier-BoldOblique} def
X/C   {/Courier} def
X/FF  {findfont} def
X/SS  {scalefont setfont} def
X/mt  {moveto} def
X/s   {show} def
X/fontname 30 string def
X/getfont {pop fntnm cvs /fontname exch def} def
X/fntnm 30 string def
X/str 20 string def
X/BOLD {CBO FF 10 SS} def
X/NORMAL {C FF 10 SS} def
X/cnt 0 def
X/btime 0 def
X/circleofbench
X        { 15 15 345
X            {gsave
X               rotate 0 0 mt
X               (Benchmark) oshow
X             grestore
X            } for
X        } def
X/oshow {true charpath stroke} def
X
X%% End of definitions *****************************************
X
XBOLD
X200 756 mt
X(Analysis by Doctor Laser, Version 1.0.0) s      %Print title
X20 720 mt
XNORMAL (This printer is a ) s
XBOLD statusdict/product get str cvs s          %Gets the name of the
XNORMAL ( running version ) s                   %printer from
XBOLD version str cvs s                         %statusdict/product
XNORMAL ( of Postscript.) s                     %and the version number
X20 700 translate                               %of Postscript from the
X                                               %'version' command
X0 0 mt
X(Available Fonts : (PaintType)FontName:Example of font) s   %Heading
X0 -10 mt
X(PaintType = 0\(filled\), 1\(stroked\), 2\(outlined\),) s
X0 -20 mt
X(            3\(mixed\), ?\(unknown\)) s
X0 -30 translate
X
XBOLD
XFontDirectory {BOLD 0 0 mt                      %Push directory of fonts and
Xgetfont                                         %get the fonts one at a time.
X(\() s
X{fontname cvn FF /PaintType get str cvs s} stopped {%ifelse
X(?) s } {} ifelse              %Get the font's PaintType and print its value,
X(\)) s                         %or if it is not supplied, print a '?'.
X
Xfontname s                     %Print the name of the font.
X
Xmark
Xfontname length 1 30 {(-) s} for   %Print dashes out to the font sample column.
X(:) s                              %Print a colon.
X
X{fontname cvn FF 10 SS ( ABCDEFGH abcdefgh) s } stopped {%ifelse
XNORMAL (Error implementing font) s } {} ifelse      %Show a sample of each
Xcleartomark                                         %font.  If an error is
Xcnt 10 add                                          %trapped, print message
X/cnt exch def                                       %indicating an error
X0 -10 translate} forall                             %occurred.  Use the
XNORMAL                                              %variable 'cnt' to count
Xcnt 30 add /cnt exch def                            %the number of fonts.
X
X350 cnt mt                       %Move back up the page 'cnt' points.
X(Virtual Memory Status:) s       %Print the Virtual Memory Status
X0 0 translate                    %using 'vmstatus'.
X370 cnt 20 sub mt
X(Maximum Available Bytes = ) s BOLD vmstatus str cvs s NORMAL
X370 cnt 30 sub mt
X(Bytes currently in use  = ) s BOLD str cvs s NORMAL
X370 cnt 40 sub mt
X(Level of Save Nesting   = ) s BOLD str cvs s NORMAL
X350 cnt 60 sub mt
X
X(Cache status \(Red book p126\):) s  %Print out the cache status.
Xcachestatus
X370 cnt 80 sub mt NORMAL (blimit = ) s BOLD str cvs s
X370 cnt 90 sub mt NORMAL (  cmax = ) s BOLD str cvs s
X370 cnt 100 sub mt NORMAL ( csize = ) s BOLD str cvs s
X370 cnt 110 sub mt NORMAL (  mmax = ) s BOLD str cvs s
X370 cnt 120 sub mt NORMAL ( msize = ) s BOLD str cvs s
X370 cnt 130 sub mt NORMAL (  bmax = ) s BOLD str cvs s
X370 cnt 140 sub mt NORMAL ( bsize = ) s BOLD str cvs s
X
Xusertime /btime exch def                %Print a graphic (circleofbench)
XHB FF 12 SS                             %and time how long it takes for
X430 cnt 230 sub translate               %the printer to interpret it.
X.5 setlinewidth
Xcircleofbench
X0 0 moveto
X(Benchmark Testing) true charpath
Xgsave 1 setgray fill grestore
Xstroke
X-40 -80 mt
XNORMAL
X(Time to print) s
X-40 -90 mt
X(the above graphic) s
X-40 -100 mt
X(was ) s
XBOLD
Xusertime btime sub 0.001 mul str cvs s  %Print out the time in seconds.
XNORMAL
X( seconds.) s
Xgrestore
Xshowpage
END_OF_FILE
if test 4345 -ne `wc -c <'laser-dr.ps'`; then
    echo shar: \"'laser-dr.ps'\" unpacked with wrong size!
fi
# end of 'laser-dr.ps'
fi
if test -f 'letterfreq.1' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'letterfreq.1'\"
else
echo shar: Extracting \"'letterfreq.1'\" \(1923 characters\)
sed "s/^X//" >'letterfreq.1' <<'END_OF_FILE'
X.\" $Header: letterfreq.1,v 1.2 89/08/25 08:10:48 howard Exp $
X.TH LETTERFREQ 1 "$Revision: 1.2 $"
X.SH NAME
Xletterfreq \- count frequencies of letters in text files
X.SH SYNOPSIS
X.B letterfreq
X.I letter-group \&.\|.\|.
X<
X.I filenames
X.SH COPYRIGHT
XCopyright \(co 1989 Howard Lee Gayle
X.SH DESCRIPTION
X.I letterfreq
Xreads from standard input a list of file names, one per line.
XIt computes a letter frequency table and writes it on standard
Xoutput.
XThe table contains an entry for every letter with nonzero
Xfrequency, sorted by frequency in descending order.
XThe cumulative frequency is also written.
X.SH OPTIONS
XBy default,
X.I letterfreq
Xcounts the 26 letters of the English alphabet.
XEach argument is taken as a group of forms of one additional
Xletter; the first letter in the group is the output
Xrepresentation and is typically the lower-case form.
X.SH EXAMPLE
XCount the letter frequencies of all swnet articles using the
XSwedish general-purpose national version of ISO 646:
X.nf
X   find /usr/spool/news/swnet \-type f \-name '[0-9]*' \-print | letterfreq '{[' '}]' '|\|\e\e'
X.fi
X.SH "SEE ALSO"
Xbytefreq (1).
X.SH LICENSE
XThis program is free software; you can redistribute it and/or modify
Xit under the terms of the GNU General Public License version 1,
Xas published by the Free Software Foundation.
X.PP
XThis program is distributed in the hope that it will be useful,
Xbut WITHOUT ANY WARRANTY; without even the implied warranty of
XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
XGNU General Public License for more details.
X.PP
XYou should have received a copy of the GNU General Public License
Xalong with this program; if not, write to the Free Software
XFoundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X.SH AUTHOR
XHoward Gayle,
XTN/ETX/T/BG,
XEricsson Telecom AB,
XS-126 25 Stockholm,
XSweden,
Xhoward@ericsson.se,
Xuunet!ericsson.se!howard,
XPhone: +46 8 719 5565,
XFAX: +46 8 719 9598,
XTelex: 14910 ERIC S
END_OF_FILE
if test 1923 -ne `wc -c <'letterfreq.1'`; then
    echo shar: \"'letterfreq.1'\" unpacked with wrong size!
fi
# end of 'letterfreq.1'
fi
if test -f 'letterfreq.c' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'letterfreq.c'\"
else
echo shar: Extracting \"'letterfreq.c'\" \(3595 characters\)
sed "s/^X//" >'letterfreq.c' <<'END_OF_FILE'
X/*
X * letterfreq - count frequencies of letters in text
X */
X
X#ifndef lint
Xstatic char _cpyrgt[] = "Copyright 1989 Howard Lee Gayle";
X#endif lint
X
X/*
X * This program is free software; you can redistribute it and/or modify
X * it under the terms of the GNU General Public License version 1,
X * as published by the Free Software Foundation.
X *
X * This program is distributed in the hope that it will be useful,
X * but WITHOUT ANY WARRANTY; without even the implied warranty of
X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X * GNU General Public License for more details.
X *
X * You should have received a copy of the GNU General Public License
X * along with this program; if not, write to the Free Software
X * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X */
X
X#include <stdio.h>
X#include <howard/port.h>
X#include <howard/version.h>
X#include <howard/usage.h>
X
XMAINVER ("@(#)$Header: letterfreq.c,v 1.4 89/08/25 07:51:30 howard Exp $");
XUSAGE ("equivalence-class... < filenames");
X
X#include <ctype.h>
X#include <howard/malf.h>
X#include <howard/registers.i>
X
Xtypedef struct /* Data on each character.*/
X   {
X   double letFreq; /* Count, then frequency.*/
X   rcharT letByte; /* This byte.*/
X   }
XletT;
X
X/* qsort1 - aux function for qsort */
X
XPRIVATE int qsort1 (lp1, lp2)
XR1 letT *lp1;
XR2 letT *lp2;
X
X/* Function:
X *    
X * Algorithm:
X *    
X * Returns:
X *    
X * Notes:
X *    
X */
X{
Xif (lp2->letFreq > lp1->letFreq) return (1);
Xif (lp2->letFreq < lp1->letFreq) return (-1);
Xreturn (0);
X}
X
X/* main - main function							*/
X
XPUBLIC int main (argc, argv)
X   int    argc; /* Number of arguments.*/
XR6 bStrT *argv; /* Points to array of argument strings.*/
X
X/* Function:
X *	
X * Algorithm:
X *    Initialize lets[].letUse.  Open each file and count each byte.
X *    Sort.  Output.
X * Notes:
X *    1) The initialization code must be changed for each character set.
X */
X
X{
XR5     bStrT     cp;         /* For argument decoding.*/
XR1     int       i = 0;      /* General purpose.*/
XR2     streamT   is;         /* Input stream.*/
X       unsigned  ln = 0;     /* Input line number.*/
XR3     letT     *lp1;        /* Steps through lets[].*/
XR4     letT     *lp2;        /* End of lets[].*/
X       double    tl = 0.0;   /* Total letters.*/
X       byteT     fnb[MFILE]; /* File name buffer.*/
Xstatic letT      lets[256];  /* Count characters.*/
Xstatic byteT     map[256];   /* What to count each byte as.*/
X
Xlp2 = &lets[256];
Xfor (lp1 = lets; lp1 != lp2; ++lp1)
X   lp1->letByte = i++;
Xfor (i = 'a'; i <= 'z'; ++i)
X   map[i] = i;
Xfor (i = 'A'; i <= 'Z'; ++i)
X   map[i] = tolower (i);
X++argv;
Xfor (cp = *argv++; NULBSTR != cp; cp = *argv++)
X   {
X   i = B(*cp);
X   map[i] = i;
X   for (++cp; EOS != B(*cp); ++cp)
X      map[B(*cp)] = i;
X   }
Xwhile (NULBSTR != getlin (fnb, MFILE, stdin, S("Standard input"), &ln, 0))
X   {
X   is = mfopen (fnb, "r");
X   while (EOF != (i = getc (is)))
X      {
X      i = map[i];
X      if (EOS != i)
X         {
X         lets[i].letFreq += 1.0;
X         tl += 1.0;
X         }
X      }
X   if (ferror (is)) malf1 ("%s: Read error", fnb);
X   mfclose (is, fnb);
X   }
XPRINTF ("Total letters: %.0f\n\n", tl);
Xif (0.0 != tl)
X   {
X   for (lp1 = lets; lp1 != lp2; ++lp1)
X      lp1->letFreq /= tl;
X   qsort ((cStrT) lets, 256, sizeof (letT), qsort1);
X   tl = 0.0;
X   for (lp1 = lets; lp1 != lp2; ++lp1)
X      {
X      if (0.0 != lp1->letFreq)
X         {
X         tl += lp1->letFreq;
X         PRINTF ("%c %8.6f %8.6f\n", lp1->letByte, lp1->letFreq, tl);
X         }
X      }
X   }
Xmfflush (stdout, S("Standard Output"));
Xexit (SUCCESS);
X
X#ifdef lint
Xreturn (SUCCESS);
X#endif
X}
END_OF_FILE
if test 3595 -ne `wc -c <'letterfreq.c'`; then
    echo shar: \"'letterfreq.c'\" unpacked with wrong size!
fi
# end of 'letterfreq.c'
fi
if test -f 'prolog-beg.p4' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'prolog-beg.p4'\"
else
echo shar: Extracting \"'prolog-beg.p4'\" \(1243 characters\)
sed "s/^X//" >'prolog-beg.p4' <<'END_OF_FILE'
X% prolog-beg.p4 - Common PostScript prolog beginning for all character sets.
X%
X% $Header: prolog-beg.p4,v 1.1 89/08/04 17:11:48 howard Exp $
X%
X% Copyright   1989 Howard Lee Gayle
X% This file is written in the ISO 8859/1 character set.
X%
X% This program is free software; you can redistribute it and/or modify
X% it under the terms of the GNU General Public License version 1,
X% as published by the Free Software Foundation.
X%
X% This program is distributed in the hope that it will be useful,
X% but WITHOUT ANY WARRANTY; without even the implied warranty of
X% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X% GNU General Public License for more details.
X%
X% You should have received a copy of the GNU General Public License
X% along with this program; if not, write to the Free Software
X% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
Xinclude(ps-abbrev.m4)
X
X`/'PBIND/bind        PLOAD PDEF
X`/'PFNDFNT/findfont  PLOAD PDEF
X`/'PPOP/pop          PLOAD PDEF
X`/'PSAVE/save        PLOAD PDEF
X`/'SCALEFN/scalefont PLOAD PDEF
X`/'SETFONT/setfont   PLOAD PDEF
X`/'PSHOW/show        PLOAD PDEF
X
X% Put following procedures in packed arrays
X/setpacking where
X   {% if
X   /currpack currentpacking PDEF
X   PPOP true setpacking
X   } if
END_OF_FILE
if test 1243 -ne `wc -c <'prolog-beg.p4'`; then
    echo shar: \"'prolog-beg.p4'\" unpacked with wrong size!
fi
# end of 'prolog-beg.p4'
fi
if test -f 'ps-abbrev.m4' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'ps-abbrev.m4'\"
else
echo shar: Extracting \"'ps-abbrev.m4'\" \(3676 characters\)
sed "s/^X//" >'ps-abbrev.m4' <<'END_OF_FILE'
Xdnl ps-abbrev.m4 - Macros for PostScript abbreviations.
Xdnl
Xdnl $Header: ps-abbrev.m4,v 1.1 89/08/04 17:11:53 howard Exp $
Xdnl
Xdnl Copyright   1989 Howard Lee Gayle
Xdnl This file is written in the ISO 8859/1 character set.
Xdnl
Xdnl This program is free software; you can redistribute it and/or modify
Xdnl it under the terms of the GNU General Public License version 1,
Xdnl as published by the Free Software Foundation.
Xdnl
Xdnl This program is distributed in the hope that it will be useful,
Xdnl but WITHOUT ANY WARRANTY; without even the implied warranty of
Xdnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Xdnl GNU General Public License for more details.
Xdnl
Xdnl You should have received a copy of the GNU General Public License
Xdnl along with this program; if not, write to the Free Software
Xdnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
Xundefine(`ifelse')dnl Do not conflict with PostScript ifelse.
Xundefine(`index')dnl  Do not conflict with PostScript index.
Xundefine(`shift')dnl  Do not conflict with comments.
X
Xdefine(PHEADHT, A)dnl Header height.
Xdefine(LMARGIN, a)dnl Left margin.
Xdefine(PFONT,   B)dnl Body font name.
Xdefine(BODYSIZ, b)dnl Body font size.
Xdefine(PCOLB,   C)dnl Beginning of column.
Xdefine(PCOLE,   c)dnl End of column.
Xdefine(PDEL,    D)dnl Delete.
Xdefine(PDEF,    d)dnl PostScript def.
Xdefine(BMARGIN, E)dnl Bottom margin (YFoot).
Xdefine(PPAGEWD, e)dnl Width.
Xdefine(PSAVE,   F)dnl PostScript save.
Xdefine(PFNDFNT, f)dnl PostScript findfont
Xdefine(PPAGEHT, G)dnl Page height.
Xdefine(PLNHT,   g)dnl Line number height.
Xdefine(PHEADER, H)dnl Print header.
Xdefine(PSHY,    h)dnl Soft hyphen.
Xdefine(PPAGEN,  I)dnl Page number as number.
Xdefine(PPAGES,  i)dnl Page number as string.
Xdefine(SYMBFNT, J)dnl Name of symbol font.
Xdefine(PLOAD,   j)dnl PostScript load command.
Xdefine(FOLDIND, K)dnl FoldIndent.
Xdefine(FOOTFNT, k)dnl Name of footer font
Xdefine(PSLB,    L)dnl Beginning of single line.
Xdefine(PSLE,    l)dnl End of single line.
Xdefine(PFLB,    M)dnl Beginning of first line in folded lines.
Xdefine(PFLE,    m)dnl End of first line in folded lines.
Xdefine(PMLB,    N)dnl Beginning of middle line in folded lines.
Xdefine(PMLE,    n)dnl End of middle lines in folded lines.
Xdefine(PLLB,    O)dnl Beginning of last line in folded lines.
Xdefine(PLLE,    o)dnl End of last line in folded lines.
Xdefine(PPAGEB,  P)dnl Beginning of page.
Xdefine(PPAGEE,  p)dnl End of page.
Xdefine(HEADFNT, Q)dnl Name of header font.
Xdefine(PLNFNT,  q)dnl Name of line number font.
Xdefine(PROTATE, R)dnl Procedure to rotate page if necessary.
Xdefine(PBIND,   r)dnl PostScript bind command.
Xdefine(PSHOW,   S)dnl PostScript show.
Xdefine(PNBSP,   s)dnl Non-break space.
Xdefine(PCNTRL,  T)dnl Show control character.
Xdefine(TMARGIN, t)dnl Top margin.
Xdefine(PUNDEF,  U)dnl Undefined.
Xdefine(XADJUST, u)dnl X adjustment.
Xdefine(TOPSKIP, V)dnl TopSkip.
Xdefine(YADJUST, v)dnl Y adjustment.
Xdefine(PFIXWID, W)dnl Fixed width.
Xdefine(PLNWID,  w)dnl Line number width.
Xdefine(PXCOORD, X)dnl Current X coordinate.
Xdefine(PDX,     x)dnl Delta X.
Xdefine(PYCOORD, Y)dnl Current Y coordinate.
Xdefine(LEADING, y)dnl Leading.
Xdefine(PFOOTHT, Z)dnl Foot height.
Xdefine(RMARGIN, z)dnl Right margin.
Xdefine(PROTPOS, !)dnl Rotate +90 degrees.
Xdefine(PROTNEG, &)dnl Rotate -90 degrees.
Xdefine(REENCOD, *)dnl Procedure to re-encode fonts.
Xdefine(PPOP,    :)dnl PostScript pop command.
Xdefine(SETFONT, ;)dnl PostScript setfont command.
Xdefine(SCALEFN, =)dnl PostScript scalefont command.
X
Xdnl The rest of these potential single-character names are reserved.
Xdnl define(, ?)dnl 
Xdnl define(, ^)dnl 
Xdnl define(, _)dnl 
Xdnl define(, |)dnl 
Xdnl define(, ~)dnl 
END_OF_FILE
if test 3676 -ne `wc -c <'ps-abbrev.m4'`; then
    echo shar: \"'ps-abbrev.m4'\" unpacked with wrong size!
fi
# end of 'ps-abbrev.m4'
fi
if test -f 'se.rc' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'se.rc'\"
else
echo shar: Extracting \"'se.rc'\" \(1889 characters\)
sed "s/^X//" >'se.rc' <<'END_OF_FILE'
X; se.rc - Character remappings for SWASCII.
X;
X; Copyright   1989 Howard Lee Gayle
X; This file is written in the ISO 8859/1 character set.
X;
X; $Header: se.rc,v 1.2 89/08/29 10:07:10 howard Exp $
X;
X; This program is free software; you can redistribute it and/or modify
X; it under the terms of the GNU General Public License version 1,
X; as published by the Free Software Foundation.
X;
X; This program is distributed in the hope that it will be useful,
X; but WITHOUT ANY WARRANTY; without even the implied warranty of
X; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X; GNU General Public License for more details.
X;
X; You should have received a copy of the GNU General Public License
X; along with this program; if not, write to the Free Software
X; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X;
X; SWASCII is an informal name for the Swedish national
X; variants of ISO 646.
X; $ is not converted because it almost always means US
X; dollars, not general currency sign.  @ is not converted
X; because it is more likely to be an at sign in a mail address
X; than an E with acute accent.  Tilde is more likely to be a
X; tilde in a path name (~howard/foo) than a u with umlaut.
X
X;Octet0.8#044# +(\244 ; $ -> general currency sign
X;Octet0.8#100# +(\311 ; @ -> capital E with acute accent
X Octet0.8#133# +(\304 ; [ -> capital A with diaeresis or umlaut mark.
X Octet0.8#134# +(\326 ; \ -> capital O with diaeresis or umlaut mark.
X Octet0.8#135# +(\305 ; ] -> capital A with ring.
X;Octet0.8#136# +(\334 ; ^ -> capital U with diaeresis or umlaut mark.
X Octet0.8#140# +(\351 ; ` -> small e with acute accent.
X Octet0.8#173# +(\344 ; { -> small a with diaeresis or umlaut mark.
X Octet0.8#174# +(\366 ; | -> small o with diaeresis or umlaut mark.
X Octet0.8#175# +(\345 ; } -> small a with ring.
X;Octet0.8#176# +(\374 ; ~ -> small u with diaeresis or umlaut mark.
XCommandFile 8859-1
END_OF_FILE
if test 1889 -ne `wc -c <'se.rc'`; then
    echo shar: \"'se.rc'\" unpacked with wrong size!
fi
# end of 'se.rc'
fi
if test -f 'seus.code' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'seus.code'\"
else
echo shar: Extracting \"'seus.code'\" \(1226 characters\)
sed "s/^X//" >'seus.code' <<'END_OF_FILE'
X; seus.code - trigram letter encoding for Swedish or US English
X;
X; Copyright 1989 Howard Lee Gayle
X; This file is written in the ISO 8859/1 character set.
X;
X; $Header: seus.code,v 1.1 89/08/26 13:33:50 howard Exp $
X;
X; This program is free software; you can redistribute it and/or modify
X; it under the terms of the GNU General Public License version 1,
X; as published by the Free Software Foundation.
X;
X; This program is distributed in the hope that it will be useful,
X; but WITHOUT ANY WARRANTY; without even the implied warranty of
X; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
X; GNU General Public License for more details.
X;
X; You should have received a copy of the GNU General Public License
X; along with this program; if not, write to the Free Software
X; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
X 0 'a' 'A'
X 1 'b' 'B'
X 2 'c' 'C'
X 3 'd' 'D'
X 4 'e' 'E'
X 5 'f' 'F'
X 6 'g' 'G'
X 7 'h' 'H'
X 8 'i' 'I'
X 9 'j' 'J'
X10 'k' 'K'
X11 'l' 'L'
X12 'm' 'M'
X13 'n' 'N'
X14 'o' 'O'
X15 'p' 'P'
X16 'q' 'Q'
X17 'r' 'R'
X18 's' 'S'
X19 't' 'T'
X20 'u' 'U'
X21 'v' 'V'
X22 'w' 'W'
X23 'x' 'X'
X24 'y' 'Y'
X25 'z' 'Z'
X26 '}' ']' 8#345# 8#305#
X27 '{' '[' 8#344# 8#304#
X28 '|' '\' 8#366# 8#326#
X29 '`'     8#351# 8#311#
END_OF_FILE
if test 1226 -ne `wc -c <'seus.code'`; then
    echo shar: \"'seus.code'\" unpacked with wrong size!
fi
# end of 'seus.code'
fi
if test -f 'state0.m4' -a "${1}" != "-c" ; then 
  echo shar: Will not clobber existing file \"'state0.m4'\"
else
echo shar: Extracting \"'state0.m4'\" \(16199 characters\)
sed "s/^X//" >'state0.m4' <<'END_OF_FILE'
Xdnl state0.m4 - Default state 0 (ISO 8859/1)
Xdnl
Xdnl $Header: state0.m4,v 1.1 89/08/04 17:12:01 howard Exp $
Xdnl
Xdnl Copyright   1989 Howard Lee Gayle
Xdnl This file is written in the ISO 8859/1 character set.
Xdnl
Xdnl This program is free software; you can redistribute it and/or modify
Xdnl it under the terms of the GNU General Public License version 1,
Xdnl as published by the Free Software Foundation.
Xdnl
Xdnl This program is distributed in the hope that it will be useful,
Xdnl but WITHOUT ANY WARRANTY; without even the implied warranty of
Xdnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Xdnl GNU General Public License for more details.
Xdnl
Xdnl You should have received a copy of the GNU General Public License
Xdnl along with this program; if not, write to the Free Software
Xdnl Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
X
Xinclude(ps-abbrev.m4)
X
XPRIVATE stateT state0 =
X{
X0,S("+)(@)PCNTRL"),dnl    0/ 0   0   0  0 NUL (null).
X
X0,S("+)(A)PCNTRL"),dnl    0/ 1   1   1  1 SOH (start of heading).
X
X0,S("+)(B)PCNTRL"),dnl    0/ 2   2   2  2 STX (start of text).
X
X0,S("+)(C)PCNTRL"),dnl    0/ 3   3   3  3 ETX (end of text).
X
X0,S("+)(D)PCNTRL"),dnl    0/ 4   4   4  4 EOT (end of transmission).
X
X0,S("+)(E)PCNTRL"),dnl    0/ 5   5   5  5 ENQ (enquiry).
X
X0,S("+)(F)PCNTRL"),dnl    0/ 6   6   6  6 ACK (acknowledge).
X
X0,S("+)(G)PCNTRL"),dnl    0/ 7   7   7  7 BEL (bell).
X
X0,S("+)(H)PCNTRL"),dnl    0/ 8  10   8  8 BS  (backspace).
X
X0,S("+t"),dnl	          0/ 9  11   9  9 HT  (horizontal tabulation).
X
X0,S("+l"),dnl	          0/10  12  10  A LF  (line feed).
X
X0,S("+)(K)PCNTRL"),dnl    0/11  13  11  B VT  (vertical tabulation).
X
X0,S("+f"),dnl             0/12  14  12  C FF  (form feed).
X
X0,S("+)(M)PCNTRL"),dnl    0/13  15  13  D CR  (carriage return).
X
X0,S("+)(N)PCNTRL"),dnl    0/14  16  14  E SO  (shift out).
X
X0,S("+)(O)PCNTRL"),dnl    0/15  17  15  F SI  (shift in).
X
X0,S("+)(P)PCNTRL"),dnl    1/ 0  20  16 10 DLE (data link escape).
X
X0,S("+)(Q)PCNTRL"),dnl    1/ 1  21  17 11 DC1 (device control 1).
X
X0,S("+)(R)PCNTRL"),dnl    1/ 2  22  18 12 DC2 (device control 2).
X
X0,S("+)(S)PCNTRL"),dnl    1/ 3  23  19 13 DC3 (device control 3).
X
X0,S("+)(T)PCNTRL"),dnl    1/ 4  24  20 14 DC4 (device control 4).
X
X0,S("+)(U)PCNTRL"),dnl    1/ 5  25  21 15 NAK (negative aknowledge).
X
X0,S("+)(V)PCNTRL"),dnl    1/ 6  26  22 16 SYN (synchronous idle).
X
X0,S("+)(W)PCNTRL"),dnl    1/ 7  27  23 17 ETB (end of transmission block).
X
X0,S("+)(X)PCNTRL"),dnl    1/ 8  30  24 18 CAN (cancel).
X
X0,S("+)(Y)PCNTRL"),dnl    1/ 9  31  25 19 EM  (end of medium).
X
X0,S("+)(Z)PCNTRL"),dnl    1/10  32  26 1A SUB (substitute character).
X
X0,S("+)([)PCNTRL"),dnl    1/11  33  27 1B ESC (escape).
X
X0,S("+)(\\\\)PCNTRL"),dnl 1/12  34  28 1C IS4/FS (information separator 4
Xdnl                                               / file separator).
X
X0,S("+)(])PCNTRL"),dnl    1/13  35  29 1D IS3/GS (information separator 3
Xdnl                                               / group separator).
X
X0,S("+)(^)PCNTRL"),dnl    1/14  36  30 1E IS2/RS (information separator 2
Xdnl                                               / record separator).
X
X0,S("+)(_)PCNTRL"),dnl    1/15  37  31 1F IS1/US (information separator 1
Xdnl                                               / unit separator).
X
X0,S("+( "),dnl 	          2/ 0  40  32 20 space.
X
X0,S("+(!"),dnl	          2/ 1  41  33 21 exclamation mark.
X
X0,S("+(\""),dnl	          2/ 2  42  34 22 quotation mark.
X
X0,S("+(`#'"),dnl   	  2/ 3  43  35 23 number sign.
X
X0,S("+($"),dnl	          2/ 4  44  36 24 dollar sign.
X
X0,S("+(%"),dnl	          2/ 5  45  37 25 percent sign.
X
X0,S("+(&"),dnl	          2/ 6  46  38 26 ampersand.
X
Xchangequote({,})dnl
X0,S("+('"),dnl	          2/ 7  47  39 27 apostrophe.
Xchangequote(`,')dnl
X
X0,S("+(\\("),dnl	  2/ 8  50  40 28 left parenthesis.
X
X0,S("+(\\)"),dnl	  2/ 9  51  41 29 right parenthesis.
X
X0,S("+(*"),dnl	          2/10  52  42 2A asterisk.
X
X0,S("+(+e"),dnl	          2/11  53  43 2B plus sign.
X
X0,S("+(,"),dnl	          2/12  54  44 2C comma.
X
X0,S("+(-"),dnl	          2/13  55  45 2D hyphen, minus sign.
X
X0,S("+(."),dnl	          2/14  56  46 2E full stop.
X
X0,S("+(/"),dnl	          2/15  57  47 2F solidus.
X
X0,S("+(0"),dnl	          3/ 0  60  48 30 digit zero.
X
X0,S("+(1"),dnl	          3/ 1  61  49 31 digit one.
X
X0,S("+(2"),dnl	          3/ 2  62  50 32 digit two.
X
X0,S("+(3"),dnl	          3/ 3  63  51 33 digit three.
X
X0,S("+(4"),dnl	          3/ 4  64  52 34 digit four.
X
X0,S("+(5"),dnl	          3/ 5  65  53 35 digit five.
X
X0,S("+(6"),dnl	          3/ 6  66  54 36 digit six.
X
X0,S("+(7"),dnl	          3/ 7  67  55 37 digit seven.
X
X0,S("+(8"),dnl	          3/ 8  70  56 38 digit eight.
X
X0,S("+(9"),dnl	          3/ 9  71  57 39 digit nine.
X
X0,S("+(:"),dnl	          3/10  72  58 3A colon.
X
X0,S("+(;"),dnl	          3/11  73  59 3B semicolon.
X
X0,S("+(<"),dnl	          3/12  74  60 3C less-than sign.
X
X0,S("+(="),dnl	          3/13  75  61 3D equals sign.
X
X0,S("+(>"),dnl	          3/14  76  62 3E greater-than sign.
X
X0,S("+(?"),dnl	          3/15  77  63 3F question mark.
X
X0,S("+(@"),dnl	          4/ 0 100  64 40 commercial at.
X
X0,S("+(A"),dnl	          4/ 1 101  65 41 A.
X
X0,S("+(B"),dnl	          4/ 2 102  66 42 B.
X
X0,S("+(C"),dnl	          4/ 3 103  67 43 C.
X
X0,S("+(D"),dnl	          4/ 4 104  68 44 D.
X
X0,S("+(E"),dnl	          4/ 5 105  69 45 E.
X
X0,S("+(F"),dnl	          4/ 6 106  70 46 F.
X
X0,S("+(G"),dnl	          4/ 7 107  71 47 G.
X
X0,S("+(H"),dnl	          4/ 8 110  72 48 H.
X
X0,S("+(I"),dnl	          4/ 9 111  73 49 I.
X
X0,S("+(J"),dnl	          4/10 112  74 4A J.
X
X0,S("+(K"),dnl	          4/11 113  75 4B K.
X
X0,S("+(L"),dnl	          4/12 114  76 4C L.
X
X0,S("+(M"),dnl	          4/13 115  77 4D M.
X
X0,S("+(N"),dnl	          4/14 116  78 4E N.
X
X0,S("+(O"),dnl	          4/15 117  79 4F O.
X
X0,S("+(P"),dnl	          5/ 0 120  80 50 P.
X
X0,S("+(Q"),dnl	          5/ 1 121  81 51 Q.
X
X0,S("+(R"),dnl	          5/ 2 122  82 52 R.
X
X0,S("+(S"),dnl	          5/ 3 123  83 53 S.
X
X0,S("+(T"),dnl	          5/ 4 124  84 54 T.
X
X0,S("+(U"),dnl	          5/ 5 125  85 55 U.
X
X0,S("+(V"),dnl	          5/ 6 126  86 56 V.
X
X0,S("+(W"),dnl	          5/ 7 127  87 57 W.
X
X0,S("+(X"),dnl	          5/ 8 130  88 58 X.
X
X0,S("+(Y"),dnl	          5/ 9 131  89 59 Y.
X
X0,S("+(Z"),dnl	          5/10 132  90 5A Z.
X
X0,S("+(["),dnl	          5/11 133  91 5B left square bracket.
X
X0,S("+(\\\\"),dnl	  5/12 134  92 5C reverse solidus.
X
X0,S("+(]"),dnl	          5/13 135  93 5D right square bracket.
X
X0,S("+(^"),dnl	          5/14 136  94 5E circumflex accent.
X
X0,S("+(_"),dnl	          5/15 137  95 5F low line, underline.
X
Xchangequote({,})dnl
X0,S("+(`"),dnl	          6/ 0 140  96 60 grave accent.
Xchangequote(`,')dnl
X
X0,S("+(a"),dnl	          6/ 1 141  97 61 a.
X
X0,S("+(b"),dnl	          6/ 2 142  98 62 b.
X
X0,S("+(c"),dnl	          6/ 3 143  99 63 c.
X
X0,S("+(d"),dnl	          6/ 4 144 100 64 d.
X
X0,S("+(e"),dnl	          6/ 5 145 101 65 e.
X
X0,S("+(f"),dnl	          6/ 6 146 102 66 f.
X
X0,S("+(g"),dnl	          6/ 7 147 103 67 g.
X
X0,S("+(h"),dnl	          6/ 8 150 104 68 h.
X
X0,S("+(i"),dnl	          6/ 9 151 105 69 i.
X
X0,S("+(j"),dnl	          6/10 152 106 6A j.
X
X0,S("+(k"),dnl	          6/11 153 107 6B k.
X
X0,S("+(l"),dnl	          6/12 154 108 6C l.
X
X0,S("+(m"),dnl	          6/13 155 109 6D m.
X
X0,S("+(n"),dnl	          6/14 156 110 6E n.
X
X0,S("+(o"),dnl	          6/15 157 111 6F o.
X
X0,S("+(p"),dnl	          7/ 0 160 112 70 p.
X
X0,S("+(q"),dnl	          7/ 1 161 113 71 q.
X
X0,S("+(r"),dnl	          7/ 2 162 114 72 r.
X
X0,S("+(s"),dnl	          7/ 3 163 115 73 s.
X
X0,S("+(t"),dnl	          7/ 4 164 116 74 t.
X
X0,S("+(u"),dnl	          7/ 5 165 117 75 u.
X
X0,S("+(v"),dnl	          7/ 6 166 118 76 v.
X
X0,S("+(w"),dnl	          7/ 7 167 119 77 w.
X
X0,S("+(x"),dnl	          7/ 8 170 120 78 x.
X
X0,S("+(y"),dnl	          7/ 9 171 121 79 y.
X
X0,S("+(z"),dnl	          7/10 172 122 7A z.
X
X0,S("+({"),dnl	          7/11 173 123 7B left curly bracket.
X
X0,S("+(|"),dnl	          7/12 174 124 7C vertical line.
X
X0,S("+(}"),dnl	          7/13 175 125 7D right curly bracket.
X
X0,S("+(~"),dnl	          7/14 176 126 7E tilde.
X
X0,S("+)PDEL"),dnl	  7/15 177 127 7F DEL (delete).
X
X0, NULBSTR,dnl            8/ 0 200 128 80.
X
X0, NULBSTR,dnl            8/ 1 201 129 81.
X
X0, NULBSTR,dnl            8/ 2 202 130 82.
X
X0, NULBSTR,dnl            8/ 3 203 131 83.
X
X0, NULBSTR,dnl            8/ 4 204 132 84.
X
X0, NULBSTR,dnl            8/ 5 205 133 85.
X
X0, NULBSTR,dnl            8/ 6 206 134 86.
X
X0, NULBSTR,dnl            8/ 7 207 135 87.
X
X0, NULBSTR,dnl            8/ 8 210 136 88.
X
X0, NULBSTR,dnl            8/ 9 211 137 89.
X
X0, NULBSTR,dnl            8/10 212 138 8A.
X
X0, NULBSTR,dnl            8/11 213 139 8B.
X
X0, NULBSTR,dnl            8/12 214 140 8C.
X
X0, NULBSTR,dnl            8/13 215 141 8D.
X
X0, NULBSTR,dnl            8/14 216 142 8E.
X
X0, NULBSTR,dnl            8/15 217 143 8F.
X
X0, NULBSTR,dnl            9/ 0 220 144 90.
X
X0, NULBSTR,dnl            9/ 1 221 145 91.
X
X0, NULBSTR,dnl            9/ 2 222 146 92.
X
X0, NULBSTR,dnl            9/ 3 223 147 93.
X
X0, NULBSTR,dnl            9/ 4 224 148 94.
X
X0, NULBSTR,dnl            9/ 5 225 149 95.
X
X0, NULBSTR,dnl            9/ 6 226 150 96.
X
X0, NULBSTR,dnl            9/ 7 227 151 97.
X
X0, NULBSTR,dnl            9/ 8 230 152 98.
X
X0, NULBSTR,dnl            9/ 9 231 153 99.
X
X0, NULBSTR,dnl            9/10 232 154 9A.
X
X0, NULBSTR,dnl            9/11 233 155 9B.
X
X0, NULBSTR,dnl            9/12 234 156 9C.
X
X0, NULBSTR,dnl            9/13 235 157 9D.
X
X0, NULBSTR,dnl            9/14 236 158 9E.
X
X0, NULBSTR,dnl            9/15 237 159 9F.
X
X0,S("+)PNBSP"),dnl       10/ 0 240 160 A0 NBSP (no-break space).
X
X0,S("+(\\241"),dnl	 10/ 1 241 161 A1 inverted exclamation mark.
X
X0,S("+(\\242"),dnl	 10/ 2 242 162 A2 cent sign.
X
X0,S("+(\\243"),dnl	 10/ 3 243 163 A3 pound sign.
X
X0,S("+(\\244"),dnl	 10/ 4 244 164 A4 general currency sign.
X
X0,S("+(\\245"),dnl	 10/ 5 245 165 A5 yen sign.
X
X0,S("+(\\246"),dnl	 10/ 6 246 166 A6 broken vertical line.
X
X0,S("+(\\247"),dnl	 10/ 7 247 167 A7 section sign.
X
X0,S("+(\\250"),dnl	 10/ 8 250 168 A8 diaeresis.
X
X0,S("+(\\251"),dnl	 10/ 9 251 169 A9 copyright sign.
X
X0,S("+(\\252"),dnl	 10/10 252 170 AA ordinal indicator, feminine.
X
X0,S("+(\\253"),dnl	 10/11 253 171 AB angle quotation mark left.
X
X0,S("+(\\254"),dnl	 10/12 254 172 AC not sign.
X
X0,S("+)PSHY"),dnl        10/13 255 173 AD soft hyphen.
X
X0,S("+(\\256"),dnl	 10/14 256 174 AE registered sign.
X
X0,S("+(\\257"),dnl	 10/15 257 175 AF macron.
X
X0,S("+(\\260"),dnl	 11/ 0 260 176 B0 degree sign.
X
X0,S("+(\\261"),dnl	 11/ 1 261 177 B1 plus or minus sign.
X
X0,S("+(\\262"),dnl	 11/ 2 262 178 B2 superscript two.
X
X0,S("+(\\263"),dnl	 11/ 3 263 179 B3 superscript three.
X
X0,S("+(\\264"),dnl	 11/ 4 264 180 B4 acute accent.
X
X0,S("+(\\265"),dnl	 11/ 5 265 181 B5 micro sign.
X
X0,S("+(\\266"),dnl	 11/ 6 266 182 B6 pilcrow.
X
X0,S("+(\\267"),dnl	 11/ 7 267 183 B7 middle dot.
X
X0,S("+(\\270"),dnl	 11/ 8 270 184 B8 cedilla.
X
X0,S("+(\\271"),dnl	 11/ 9 271 185 B9 superscript one.
X
X0,S("+(\\272"),dnl	 11/10 272 186 BA ordinal indicator, masculine.
X
X0,S("+(\\273"),dnl	 11/11 273 187 BB angle quotation mark right.
X
X0,S("+(\\274"),dnl	 11/12 274 188 BC fraction one-quarter.
X
X0,S("+(\\275"),dnl	 11/13 275 189 BD fraction one-half.
X
X0,S("+(\\276"),dnl	 11/14 276 190 BE fraction three-quarters.
X
X0,S("+(\\277"),dnl	 11/15 277 191 BF inverted question mark.
X
X0,S("+(\\300"),dnl	 12/ 0 300 192 C0 capital A with grave accent.
X
X0,S("+(\\301"),dnl	 12/ 1 301 193 C1 capital A with acute accent.
X
X0,S("+(\\302"),dnl	 12/ 2 302 194 C2 capital A with circumflex accent.
X
X0,S("+(\\303"),dnl	 12/ 3 303 195 C3 capital A with tilde.
X
X0,S("+(\\304"),dnl	 12/ 4 304 196 C4 capital A with diaeresis or
Xdnl                                       umlaut mark.
X
X0,S("+(\\305"),dnl	 12/ 5 305 197 C5 capital A with ring.
X
X0,S("+(\\306"),dnl	 12/ 6 306 198 C6 capital AE diphthong.
X
X0,S("+(\\307"),dnl	 12/ 7 307 199 C7 capital C with cedilla.
X
X0,S("+(\\310"),dnl	 12/ 8 310 200 C8 capital E with grave accent.
X
X0,S("+(\\311"),dnl	 12/ 9 311 201 C9 capital E with acute accent.
X
X0,S("+(\\312"),dnl	 12/10 312 202 CA capital E with circumflex accent.
X
X0,S("+(\\313"),dnl	 12/11 313 203 CB capital E with diaeresis or
Xdnl                                       umlaut mark.
X
X0,S("+(\\314"),dnl	 12/12 314 204 CC capital I with grave accent.
X
X0,S("+(\\315"),dnl	 12/13 315 205 CD capital I with acute accent.
X
X0,S("+(\\316"),dnl	 12/14 316 206 CE capital I with circumflex accent.
X
X0,S("+(\\317"),dnl	 12/15 317 207 CF capital I with diaeresis or
Xdnl                                       umlaut mark.
X
X0,S("+(\\320"),dnl	 13/ 0 320 208 D0 capital D with stroke,
Xdnl                                       Icelandic eth.
X
X0,S("+(\\321"),dnl	 13/ 1 321 209 D1 capital N with tilde.
X
X0,S("+(\\322"),dnl	 13/ 2 322 210 D2 capital O with grave accent.
X
X0,S("+(\\323"),dnl	 13/ 3 323 211 D3 capital O with acute accent.
X
X0,S("+(\\324"),dnl	 13/ 4 324 212 D4 capital O with circumflex accent.
X
X0,S("+(\\325"),dnl	 13/ 5 325 213 D5 capital O with tilde.
X
X0,S("+(\\326"),dnl       13/ 6 326 214 D6 capital O with diaeresis or
Xdnl                                       umlaut mark.
X
X0,S("+(\\327"),dnl	 13/ 7 327 215 D7 multiplication sign.
X
X0,S("+(\\330"),dnl	 13/ 8 330 216 D8 capital O with slash.
X
X0,S("+(\\331"),dnl	 13/ 9 331 217 D9 capital U with grave accent.
X
X0,S("+(\\332"),dnl	 13/10 332 218 DA capital U with acute accent.
X
X0,S("+(\\333"),dnl	 13/11 333 219 DB capital U with circumflex accent.
X
X0,S("+(\\334"),dnl	 13/12 334 220 DC capital U with diaeresis or
Xdnl                                       umlaut mark.
X
X0,S("+(\\335"),dnl 	 13/13 335 221 DD capital Y with acute accent.
X
X0,S("+(\\336"),dnl	 13/14 336 222 DE capital thorn, Icelandic.
X
X0,S("+(\\337"),dnl	 13/15 337 223 DF small sharp s, German.
X
X0,S("+(\\340"),dnl	 14/ 0 340 224 E0 small a with grave accent.
X
X0,S("+(\\341"),dnl	 14/ 1 341 225 E1 small a with acute accent.
X
X0,S("+(\\342"),dnl	 14/ 2 342 226 E2 small a with circumflex accent.
X
X0,S("+(\\343"),dnl	 14/ 3 343 227 E3 small a with tilde.
X
X0,S("+(\\344"),dnl	 14/ 4 344 228 E4 small a with diaeresis or
Xdnl                                       umlaut mark.
X
X0,S("+(\\345"),dnl	 14/ 5 345 229 E5 small a with ring.
X
X0,S("+(\\346"),dnl	 14/ 6 346 230 E6 small ae diphthong.
X
X0,S("+(\\347"),dnl	 14/ 7 347 231 E7 small c with cedilla.
X
X0,S("+(\\350"),dnl	 14/ 8 350 232 E8 small e with grave accent.
X
X0,S("+(\\351"),dnl	 14/ 9 351 233 E9 small e with acute accent.
X
X0,S("+(\\352"),dnl	 14/10 352 234 EA small e with circumflex accent.
X
X0,S("+(\\353"),dnl	 14/11 353 235 EB small e with diaeresis or
Xdnl                                       umlaut mark.
X
X0,S("+(\\354"),dnl	 14/12 354 236 EC small i with grave accent.
X
X0,S("+(\\355"),dnl	 14/13 355 237 ED small i with acute accent.
X
X0,S("+(\\356"),dnl	 14/14 356 238 EE small i with circumflex accent.
X
X0,S("+(\\357"),dnl	 14/15 357 239 EF small i with diaeresis or
Xdnl                                       umlaut mark.
X
X0,S("+(\\360"),dnl	 15/ 0 360 240 F0 small d with stroke, Icelandic eth.
X
X0,S("+(\\361"),dnl	 15/ 1 361 241 F1 small n with tilde.
X
X0,S("+(\\362"),dnl	 15/ 2 362 242 F2 small o with grave accent.
X
X0,S("+(\\363"),dnl	 15/ 3 363 243 F3 small o with acute accent.
X
X0,S("+(\\364"),dnl	 15/ 4 364 244 F4 small o with circumflex accent.
X
X0,S("+(\\365"),dnl	 15/ 5 365 245 F5 small o with tilde.
X
X0,S("+(\\366"),dnl	 15/ 6 366 246 F6 small o with diaeresis or
Xdnl                                       umlaut mark.
X
X0,S("+(\\367"),dnl	 15/ 7 367 247 F7 division sign.
X
X0,S("+(\\370"),dnl	 15/ 8 370 248 F8 small o with slash.
X
X0,S("+(\\371"),dnl	 15/ 9 371 249 F9 small u with grave accent.
X
X0,S("+(\\372"),dnl	 15/10 372 250 FA small u with acute accent.
X
X0,S("+(\\373"),dnl	 15/11 373 251 FB small u with circumflex accent.
X
X0,S("+(\\374"),dnl	 15/12 374 252 FC small u with diaeresis or
Xdnl                                       umlaut mark.
X
X0,S("+(\\375"),dnl	 15/13 375 253 FD small y with acute accent.
X
X0,S("+(\\376"),dnl	 15/14 376 254 FE small thorn, Icelandic.
X
X0,S("+(\\377"),dnl	 15/15 377 255 FF small y with diaeresis or
Xdnl                                       umlaut mark.
X
X};
X
XstateT *states[1 + MSTATE] = {(stateT *) state0};
END_OF_FILE
if test 16199 -ne `wc -c <'state0.m4'`; then
    echo shar: \"'state0.m4'\" unpacked with wrong size!
fi
# end of 'state0.m4'
fi
echo shar: End of archive 8 \(of 14\).
cp /dev/null ark8isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ; do
    if test ! -f ark${I}isdone ; then
	MISSING="${MISSING} ${I}"
    fi
done
if test "${MISSING}" = "" ; then
    echo You have unpacked all 14 archives.
    rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
    echo You still need to unpack the following archives:
    echo "        " ${MISSING}
fi
##  End of shell archive.
exit 0