ogajduse / rpms / texlive

Forked from rpms/texlive 6 years ago
Clone
4931932
---
4931932
 build/source/texk/dvipsk/ChangeLog     |   36 +++++++++++++++++++
4931932
 build/source/texk/dvipsk/Makefile.in   |    2 -
4931932
 build/source/texk/dvipsk/afm2tfm.c     |    6 +--
4931932
 build/source/texk/dvipsk/afm2tfm.rc    |   34 ------------------
4931932
 build/source/texk/dvipsk/bbox.c        |    2 -
4931932
 build/source/texk/dvipsk/config.h      |    2 -
4931932
 build/source/texk/dvipsk/crop.lpro     |    2 -
4931932
 build/source/texk/dvipsk/debug.h       |    2 -
4931932
 build/source/texk/dvipsk/download.c    |   25 +++++++++----
4931932
 build/source/texk/dvipsk/dpicheck.c    |    6 +--
4931932
 build/source/texk/dvipsk/dvips.1       |   25 ++++++++-----
4931932
 build/source/texk/dvipsk/dvips.c       |   61 +++++++++++++++++++++++++++------
4931932
 build/source/texk/dvipsk/dvips.h       |   14 ++-----
4931932
 build/source/texk/dvipsk/emspecial.c   |   15 ++++++--
4931932
 build/source/texk/dvipsk/finclude.c    |   11 +++++
4931932
 build/source/texk/dvipsk/finclude.lpro |    1 
4931932
 build/source/texk/dvipsk/flib.c        |    2 -
4931932
 build/source/texk/dvipsk/header.c      |    4 +-
4931932
 build/source/texk/dvipsk/hps.c         |    4 +-
4931932
 build/source/texk/dvipsk/hps.lpro      |    5 +-
4931932
 build/source/texk/dvipsk/loadfont.c    |   11 +++++
4931932
 build/source/texk/dvipsk/makefont.c    |    6 +--
4931932
 build/source/texk/dvipsk/output.c      |   11 +++++
4931932
 build/source/texk/dvipsk/papersiz.c    |    2 -
4931932
 build/source/texk/dvipsk/paths.h       |    2 -
4931932
 build/source/texk/dvipsk/psfonts.map   |    1 
4931932
 build/source/texk/dvipsk/resident.c    |   24 +++++++++++-
4931932
 build/source/texk/dvipsk/special.lpro  |    5 +-
4931932
 build/source/texk/dvipsk/squeeze.c     |    5 --
4931932
 build/source/texk/dvipsk/tex.lpro      |    2 +
4931932
 build/source/texk/dvipsk/texc.script   |    2 -
4931932
 build/source/texk/dvipsk/texps.lpro    |    2 -
4931932
 32 files changed, 220 insertions(+), 112 deletions(-)
4931932
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/ChangeLog
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/ChangeLog	2007-05-07 01:17:36.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/ChangeLog	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,3 +1,39 @@
4931932
+2007-05-06  Karl Berry  <karl@tug.org>
4931932
+
4931932
+	* finclude.c, dvips.c: keep track of last-unused psname (Akira).
4931932
+	* dvips.c (DEFRES): move down.
4931932
+	* dvips.c (--help): just mention Tom R.
4931932
+
4931932
+2007-05-05  Karl Berry  <karl@tug.org>
4931932
+
4931932
+	* dvips.h (DOWNLOADEDPSSIZE): new constant.
4931932
+	* dvips.c (downloadedpsname): new global array.
4931932
+	* finclude.c: set it up as we download.
4931932
+	* download.c: use it to avoid downloading fonts as both header
4931932
+	and font.  (From Akira.)
4931932
+
4931932
+2007-05-04  Karl Berry  <karl@tug.org>
4931932
+
4931932
+	* dvips.h (BANNER): change to 5.96dev to distinguish from the release.
4931932
+
4931932
+	* header.c (add_name, add_header): cast result of
4931932
+	add_header_general to int and return it.  From Akira.
4931932
+
4931932
+2007-03-23  Karl Berry  <karl@tug.org>
4931932
+
4931932
+	* dvips.texi: document it.
4931932
+	* dvips.c, loadfont.c, resident.c: also report map files
4931932
+	and config files, if the envvar DVIPSDEBUG is set.  From Akira.
4931932
+
4931932
+2007-03-20  Karl Berry  <karl@tug.org>
4931932
+
4931932
+	* download.c, output.c, emspecial.c: report full pathnames,
4931932
+	to help debugging and for consistency with TeX.  From Akira.
4931932
+
4931932
+2007-03-19  Karl Berry  <karl@tug.org>
4931932
+
4931932
+	* config.ps (screen): add this, 8.25x11, for powerdot.  (From Akira.)
4931932
+
4931932
 2006-12-09  Karl Berry  <karl@tug.org>
4931932
 
4931932
 	* dvips.texi (Config file paper sizes): best match now.  (From Akira.)
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/Makefile.in
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/Makefile.in	2007-05-07 01:38:11.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/Makefile.in	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,5 +1,5 @@
4931932
 # Makefile for dvipsk -- kb@mail.tug.org. Public domain.
4931932
-version = 5.96
4931932
+version = 5.96.1
4931932
 
4931932
 # Add -DDEFRES=dpi to DEFS to change the default resolution from 600.
4931932
 # Add -DSECURE if you will install dvips with special privileges.
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/afm2tfm.c	2007-05-07 01:17:54.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1489,15 +1489,15 @@
4931932
 void version P1C(FILE *, f)
4931932
 {
4931932
   extern KPSEDLL char *kpathsea_version_string;
4931932
-  fputs ("afm2tfm(k) (dvips(k) 5.96) 8.1\n", f);
4931932
+  fputs ("afm2tfm(k) (dvips(k) 5.96.1) 8.1\n", f);
4931932
   fprintf (f, "%s\n", kpathsea_version_string);
4931932
-  fputs ("Copyright (C) 2005 Radical Eye Software.\n\
4931932
+  fputs ("Copyright (C) 2007 Radical Eye Software.\n\
4931932
 There is NO warranty.  You may redistribute this software\n\
4931932
 under the terms of the GNU General Public License\n\
4931932
 and the Dvips copyright.\n\
4931932
 For more information about these matters, see the files\n\
4931932
 named COPYING and afm2tfm.c.\n\
4931932
-Primary author of afm2tfm: T. Rokicki; -k maintainer: K. Berry.\n", f);
4931932
+Original author of afm2tfm: T. Rokicki.\n", f);
4931932
 }
4931932
 
4931932
 #define USAGE "\
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.rc
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/afm2tfm.rc	2007-05-07 01:38:11.000000000 +0200
4931932
+++ /dev/null	1970-01-01 00:00:00.000000000 +0000
4931932
@@ -1,34 +0,0 @@
4931932
-/* afm2tfm.rc: afm2tfm resources			-*- C++ -*-
4931932
-
4931932
-   Copyright (C) 1996-2003 Fabrice Popineau <fabrice.popineau@supelec.fr>
4931932
-
4931932
-   This file is free software; you can redistribute it and/or modify
4931932
-   it under the terms of the GNU General Public License as published
4931932
-   by the Free Software Foundation; either version 2, or (at your
4931932
-   option) any later version.
4931932
-
4931932
-   This file is distributed in the hope that it will be useful, but
4931932
-   WITHOUT ANY WARRANTY; without even the implied warranty of
4931932
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
4931932
-   General Public License for more details.
4931932
-
4931932
-   You should have received a copy of the GNU General Public License
4931932
-   along with this file; if not, write to the Free Software
4931932
-   Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
4931932
-   USA. */
4931932
-
4931932
-#include <texlive-version.h>
4931932
-
4931932
-#define VER_FILEVERSION TEXLIVE_MAJOR_VERSION,TEXLIVE_MINOR_VERSION,TEXLIVE_BETA_NUMBER,TEXLIVE_ALPHA_NUMBER
4931932
-#define VER_FILEVERSION_STR TEXLIVE_PRODUCTVERSION_STR " afm2tfm(k) (dvips(k) 5.94b) 8.1"
4931932
-
4931932
-#define VER_INTERNALNAME_STR "afm2tfm"
4931932
-#define VER_ORIGINALFILENAME_STR "afm2tfm.exe"
4931932
-
4931932
-#define VER_LEGALCOPYRIGHT_STR "Copyright (C) 1990-2004 Radical Eye Software"
4931932
-
4931932
-#define VER_FILEDESCRIPTION_STR "Adobe Font Metric to TeX Font Metric file converter"
4931932
-
4931932
-#include <texlive.version>
4931932
-
4931932
-/* afm2tfm.rc ends here */
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/bbox.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/bbox.c	2007-05-07 01:38:11.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/bbox.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -6,7 +6,7 @@
4931932
  *   If you request an EPSF file and specify -a, you may end up
4931932
  *   processing a single page four times!
4931932
  */
4931932
-#include "dvips.h"
4931932
+#include "dvips.h" /* The copyright notice in that file is included too! */
4931932
 #include <math.h>
4931932
 #include "protos.h"
4931932
 
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/config.h
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/config.h	2007-05-07 01:38:11.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/config.h	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,5 +1,5 @@
4931932
 /* config.h: master configuration file, included first by all compilable
4931932
-   source files (not headers).  */
4931932
+   source files (not headers).  This file is public domain.  */
4931932
 
4931932
 #ifndef CONFIG_H
4931932
 #define CONFIG_H
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/crop.lpro
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/crop.lpro	2007-05-07 01:38:11.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/crop.lpro	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,5 +1,5 @@
4931932
 %!
4931932
-%   This file is for crop marks.
4931932
+%   This file is for crop marks.  This file is public domain.
4931932
 %
4931932
 %   First, we translate and draw the marks.  You can change the way the
4931932
 %   marks are drawn, but the quarter inch border around the page is fixed.
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/debug.h
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/debug.h	2007-05-07 01:38:11.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/debug.h	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,5 +1,5 @@
4931932
 /* 
4931932
- * Here's some stuff for debugging dvips.
4931932
+ * Here's some stuff for debugging dvips.  See dvips.h for copyright.
4931932
  */
4931932
 
4931932
 #ifdef DEBUG
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/download.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/download.c	2007-05-07 01:17:43.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/download.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -433,6 +433,9 @@
4931932
  *   Download a PostScript font, using partial font downloading if
4931932
  *   necessary.
4931932
  */
4931932
+extern char *downloadedpsnames[];
4931932
+extern int unused_top_of_psnames;
4931932
+
4931932
 void downpsfont P2C(charusetype *, p, charusetype *, all)
4931932
 {
4931932
 #ifdef DOWNLOAD_USING_PDFTEX
4931932
@@ -444,6 +447,8 @@
4931932
     register chardesctype *c ;
4931932
     struct resfont *rf ;
4931932
     int cc;
4931932
+    extern char *realnameoffile ;
4931932
+    int j;
4931932
 
4931932
     curfnt = p->fd ;
4931932
     rf = curfnt->resfont ;
4931932
@@ -457,6 +462,10 @@
4931932
        return ;
4931932
     if (rf->sent == 2) /* sent as header, from a PS file */
4931932
        return ;
4931932
+    for (j=0; downloadedpsnames[j] && j < unused_top_of_psnames; j++) {
4931932
+       if (strcmp (downloadedpsnames[j], rf->PSname) == 0)
4931932
+          return;
4931932
+    }
4931932
     if (all->fd == 0)
4931932
        error("! internal error in downpsfont") ;
4931932
     if (!partialdownload) {
4931932
@@ -514,14 +523,6 @@
4931932
         }
4931932
     }
4931932
     if(GridCount!=0 || extraGlyphs) {
4931932
-        if (!quiet) {
4931932
-           if (strlen(rf->Fontfile) + prettycolumn > STDOUTSIZE) {
4931932
-              fprintf(stderr, "\n") ;
4931932
-              prettycolumn = 0 ;
4931932
-           }
4931932
-           (void)fprintf(stderr, "<%s>", rf->Fontfile);
4931932
-	   prettycolumn += strlen(rf->Fontfile) + 2 ;
4931932
-	}
4931932
         newline() ;
4931932
         if (! disablecomments)
4931932
            (void)fprintf(bitfile, "%%%%BeginFont: %s\n",  rf->PSname);
4931932
@@ -531,6 +532,14 @@
4931932
         if(FontPart(bitfile, rf->Fontfile, rf->Vectfile) < 0)
4931932
 #endif
4931932
             exit(1);
4931932
+        if (!quiet) {
4931932
+           if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
4931932
+              fprintf(stderr, "\n") ;
4931932
+              prettycolumn = 0 ;
4931932
+           }
4931932
+           (void)fprintf(stderr, "<%s>", realnameoffile);
4931932
+	   prettycolumn += strlen(realnameoffile) + 2 ;
4931932
+	}
4931932
         if (! disablecomments)
4931932
            (void)fprintf(bitfile, "%%%%EndFont \n");
4931932
    }
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/dpicheck.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dpicheck.c	2007-05-07 01:38:11.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/dpicheck.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,12 +1,10 @@
4931932
 /*
4931932
- *   This software is Copyright 1988 by Radical Eye Software.
4931932
- */
4931932
-/*
4931932
  *   dpicheck of dvips.c.  Checks the dots per inch to make sure
4931932
  *   it exists.  The fonts which exist are DPI at the appropriate
4931932
  *   magnifications.
4931932
  */
4931932
-#include "dvips.h"
4931932
+#include "dvips.h" /* The copyright notice in that file is included too! */
4931932
+
4931932
 extern int actualdpi ;
4931932
 static integer existsizes[30] = { 0 , 99999999 } ;
4931932
 static int checkdpi ;
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.1
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.1	2007-05-07 01:18:03.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/dvips.1	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -360,16 +360,21 @@
4931932
 .B -r
4931932
 Stack pages in reverse order.  Normally, page 1 will be printed first.
4931932
 .TP
4931932
-.B -R
4931932
-Run in secure mode. This means that ``backtick'' commands from a
4931932
-.I \especial{}
4931932
-or
4931932
-.I \epsffile{}
4931932
-macro in the (La)TeX source like
4931932
-.I \especial{psfile="`zcat foo.ps.Z"}
4931932
-or
4931932
-.I \epsffile[72 72 540 720]{"`zcat screendump.ps.gz"}
4931932
-are not executed.
4931932
+.B -R[0|1|2]
4931932
+Run securely.
4931932
+.BR -R2
4931932
+disables both shell command execution in
4931932
+.I \especial'{}
4931932
+(via backticks
4931932
+.BR `
4931932
+) and config files (via the
4931932
+.I E
4931932
+option), and opening of any absolute filenames.
4931932
+.BR -R1
4931932
+, the default, forbids shell escapes but allows absolute filenames.
4931932
+.BR -R0
4931932
+allows both.  The config file option is
4931932
+.I z
4931932
 .TP
4931932
 .B -s
4931932
 Causes the entire global output to be enclosed in a save/restore pair.
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.c	2007-05-07 01:18:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/dvips.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,10 +1,6 @@
4931932
 /*
4931932
  *   This is the main routine.
4931932
  */
4931932
-#ifndef DEFRES
4931932
-#define DEFRES (600)
4931932
-#endif
4931932
-
4931932
 #include "dvips.h" /* The copyright notice there is included too! */
4931932
 #ifdef KPATHSEA
4931932
 #include <kpathsea/c-pathch.h>
4931932
@@ -44,12 +40,22 @@
4931932
 #include descrip
4931932
 #endif
4931932
 #endif
4931932
+
4931932
+#ifndef DEFRES
4931932
+#define DEFRES (600)
4931932
+#endif
4931932
+
4931932
 /*
4931932
  *   First we define some globals.
4931932
  */
4931932
 #ifdef VMS
4931932
     static char ofnme[252],infnme[252],pap[40],thh[20];
4931932
 #endif
4931932
+
4931932
+/* PS fonts fully downloaded as headers */ 
4931932
+char *downloadedpsnames[DOWNLOADEDPSSIZE];  
4931932
+
4931932
+int unused_top_of_psnames ;   /* unused top number of downloadedpsnames[#] */
4931932
 fontdesctype *fonthead ;      /* list of all fonts mentioned so far */
4931932
 fontdesctype *curfnt ;        /* the currently selected font */
4931932
 sectiontype *sections ;       /* sections to process document in */
4931932
@@ -159,6 +165,7 @@
4931932
 int quiet ;                   /* should we only print errors to stderr? */
4931932
 int filter ;                  /* act as filter default output to stdout,
4931932
                                                default input to stdin? */
4931932
+int dvips_debug_flag ;        /* output config and map files to stderr if 1 */
4931932
 int prettycolumn ;            /* the column we are at when running pretty */
4931932
 int gargc ;                   /* global argument count */
4931932
 char **gargv ;                /* global argument vector */
4931932
@@ -306,6 +313,16 @@
4931932
    fputs (kpse_bug_address, f);
4931932
 #endif
4931932
 }
4931932
+
4931932
+void
4931932
+freememforpsnames(void)
4931932
+{
4931932
+   int i;
4931932
+
4931932
+   for (i = 0; i < unused_top_of_psnames && downloadedpsnames[i]; i++)
4931932
+      free (downloadedpsnames[i]);
4931932
+}
4931932
+
4931932
 /*
4931932
  *   This error routine prints an error message; if the first
4931932
  *   character is !, it aborts the job.
4931932
@@ -328,6 +345,7 @@
4931932
    }
4931932
    
4931932
    if (*s=='!') {
4931932
+      freememforpsnames() ;
4931932
       if (bitfile != NULL) {
4931932
          cleanprinter() ;
4931932
       }
4931932
@@ -440,6 +458,8 @@
4931932
    i = 10;
4931932
    for (s="abcdef"; *s!=0; s++)
4931932
       xdig[(int)*s] = i++;
4931932
+   for(i=0 ; i < DOWNLOADEDPSSIZE; i++)
4931932
+      downloadedpsnames[i] = NULL;
4931932
    morestrings() ;
4931932
    maxpages = 100000 ;
4931932
    numcopies = 1 ;
4931932
@@ -552,7 +572,7 @@
4931932
 #ifdef MVSXA
4931932
    int firstext = -1 ;
4931932
 #endif
4931932
-   register sectiontype *sects ;
4931932
+   sectiontype *sects ;
4931932
 
4931932
 #ifdef KPATHSEA
4931932
    kpse_set_program_name (argv[0], "dvips");
4931932
@@ -607,15 +627,15 @@
4931932
         exit (0);
4931932
       } else if (strcmp (argv[1], "--version") == 0) {
4931932
         extern KPSEDLL char *kpathsea_version_string;
4931932
-        puts ("dvips(k) 5.96");
4931932
+        puts ("dvips(k) 5.96.1");
4931932
         puts (kpathsea_version_string);
4931932
-        puts ("Copyright (C) 2005 Radical Eye Software.\n\
4931932
+        puts ("Copyright (C) 2007 Radical Eye Software.\n\
4931932
 There is NO warranty.  You may redistribute this software\n\
4931932
 under the terms of the GNU General Public License\n\
4931932
 and the Dvips copyright.\n\
4931932
 For more information about these matters, see the files\n\
4931932
 named COPYING and dvips.h.\n\
4931932
-Primary author of Dvips: T. Rokicki; -k maintainer: T. Kacvinsky/ S. Rahtz.");
4931932
+Primary author of Dvips: T. Rokicki.");
4931932
         exit (0);
4931932
       }
4931932
       if (argc == 2 && strncmp(argv[1], "-?", 2) == 0) {
4931932
@@ -630,6 +650,20 @@
4931932
    }
4931932
 #endif
4931932
 #endif
4931932
+   dvips_debug_flag = 0 ;
4931932
+   { /* for compilers incompatible with c99 */
4931932
+      char *s = (char *)getenv ("DVIPSDEBUG") ;
4931932
+      if (s) {
4931932
+         dvips_debug_flag = 1 ;
4931932
+         free (s) ;
4931932
+      } else {
4931932
+         s = (char *) getenv ("KPATHSEA_DEBUG") ;
4931932
+         if (s) {
4931932
+           dvips_debug_flag = 1 ;
4931932
+           free (s) ;
4931932
+         }
4931932
+      }
4931932
+   }
4931932
    initialize() ;
4931932
    checkenv(0) ;
4931932
    getdefaults(CONFIGFILE) ;
4931932
@@ -1116,8 +1150,14 @@
4931932
    revpslists() ;
4931932
    getpsinfo((char *)NULL) ;
4931932
    revpslists() ;
4931932
-   if (!quiet)
4931932
-      (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
4931932
+   if (dvips_debug_flag) {
4931932
+      if (!quiet)
4931932
+         (void)fprintf(stderr, "\n%s %s\n", banner, banner2) ;
4931932
+      prettycolumn = 0 ;
4931932
+   } else {
4931932
+      if (!quiet)
4931932
+         (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
4931932
+   }
4931932
    if (*iname) {
4931932
       dvifile = fopen(iname, READBIN) ;
4931932
 /*
4931932
@@ -1367,6 +1407,7 @@
4931932
 	 }
4931932
       }
4931932
    }
4931932
+   freememforpsnames() ;
4931932
    if (! sepfiles) {
4931932
 #ifdef HPS
4931932
       if (HPS_FLAG)
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.h
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.h	2007-05-07 01:18:25.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/dvips.h	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,19 +1,14 @@
4931932
 /*
4931932
  *   This is dvips, a freely redistributable PostScript driver
4931932
- *   for dvi files.  It is (C) Copyright 1986-2004 by Tomas Rokicki.
4931932
- *   You may modify and use this program to your heart's content,
4931932
- *   so long as you send modifications to Tomas Rokicki.  It can
4931932
- *   be included in any distribution, commercial or otherwise, so
4931932
- *   long as the banner string defined below is not modified (except
4931932
- *   for the version number) and this banner is printed on program
4931932
- *   invocation, or can be printed on program invocation with the -? option.
4931932
+ *   for dvi files.  It is (C) Copyright 1986-2007 by Tomas Rokicki.
4931932
+ *   You may modify and use this program to your heart's content.
4931932
  */
4931932
 
4931932
 /*   This file is the header for dvips's global data structures. */
4931932
 
4931932
 #define CREATIONDATE
4931932
 #define BANNER \
4931932
-"This is dvips(k) 5.96 Copyright 2005 Radical Eye Software"
4931932
+"This is dvips(k) 5.96.1 Copyright 2007 Radical Eye Software"
4931932
 #define BANNER2 "(www.radicaleye.com)"
4931932
 #ifdef KPATHSEA
4931932
 #include "config.h"
4931932
@@ -58,13 +53,14 @@
4931932
  *   of a string that can be handled in specials, so it should not be
4931932
  *   set too small.
4931932
  */
4931932
-#define STRINGSIZE (200000)  /* maximum total chars in strings in program */
4931932
+#define STRINGSIZE (200000) /* maximum total chars in strings in program */
4931932
 #define RASTERCHUNK (8192)  /* size of chunk of raster */
4931932
 #define MINCHUNK (240)      /* minimum size char to get own raster */
4931932
 #define STACKSIZE (350)     /* maximum stack size for dvi files */
4931932
 #define MAXFRAME (10)       /* maximum depth of virtual font recursion */
4931932
 #define MAXFONTHD (100)     /* number of unique names of included fonts */
4931932
 #define STDOUTSIZE (75)     /* width of a standard output line */
4931932
+#define DOWNLOADEDPSSIZE (1000)  /* max number of downloaded fonts to check */
4931932
 /*
4931932
  *   Other constants, which define printer-dependent stuff.
4931932
  */
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/emspecial.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/emspecial.c	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/emspecial.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -659,14 +659,23 @@
4931932
 void imagehead P5C(char *, filename, int, wide, int, high, 
4931932
 		   float, emwidth, float, emheight)
4931932
 {
4931932
+	char *fullname = NULL, *name ;
4931932
 	if (!quiet) {
4931932
-	    if (strlen(filename) + prettycolumn > STDOUTSIZE) {
4931932
+#ifdef KPATHSEA
4931932
+	    fullname = (char *)kpse_find_file (filename, pictpath, 0) ;
4931932
+#endif
4931932
+	    if (!fullname)
4931932
+		name = filename ;
4931932
+	    else
4931932
+		name = fullname ;
4931932
+	    if (strlen(name) + prettycolumn > STDOUTSIZE) {
4931932
 		fprintf(stderr,"\n");
4931932
 		prettycolumn = 0;
4931932
 	    }
4931932
-	    (void)fprintf(stderr,"<%s",filename);
4931932
+	    (void)fprintf(stderr,"<%s",name);
4931932
 	    (void)fflush(stderr);
4931932
-	    prettycolumn += 2+strlen(filename);
4931932
+	    prettycolumn += 2+strlen(name);
4931932
+	    if (fullname) free (fullname);
4931932
 	}
4931932
 	hvpos();
4931932
 	nlcmdout("@beginspecial @setspecial") ;
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/finclude.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/finclude.c	2007-05-07 01:17:29.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/finclude.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -57,6 +57,9 @@
4931932
 extern integer debug_flag;
4931932
 #endif  /* DEBUG */
4931932
 
4931932
+extern char *downloadedpsnames[];
4931932
+extern int unused_top_of_psnames;
4931932
+
4931932
 /*
4931932
  * Create a font descriptor for a font included in a psfile.  There will be
4931932
  * no fontmaptype node for the resulting font descriptor until this font is
4931932
@@ -252,6 +255,10 @@
4931932
   char *p,*pe;
4931932
   struct resfont *re;
4931932
   int i;
4931932
+  int j = 0;
4931932
+
4931932
+  while (downloadedpsnames[j] != NULL && j < DOWNLOADEDPSSIZE)
4931932
+    j++;
4931932
 
4931932
   /* Turn all newlines, CRs, and tabs into spaces. */
4931932
   p = str;
4931932
@@ -312,6 +319,10 @@
4931932
 	    infont = 0 ;
4931932
           }
4931932
           re->sent = 2 ;
4931932
+          if (unused_top_of_psnames < DOWNLOADEDPSSIZE) {
4931932
+             downloadedpsnames[unused_top_of_psnames] = xstrdup (re->PSname);
4931932
+             unused_top_of_psnames++;
4931932
+          }
4931932
         } else {
4931932
           char eb[1000];
4931932
           sprintf(eb,"Font %s used in file %s is not in the mapping file.",
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/finclude.lpro
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/finclude.lpro	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/finclude.lpro	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,4 +1,5 @@
4931932
 %!
4931932
+% finclude.lpro - public domain.
4931932
 % Define tfm-name to be a dictionary of included fonts indexed by size:
4931932
 % /tfm-name  scaled-size1 /font-select1 ... scsize_k /fselect_k  k  fstore  -
4931932
 /fstore
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/flib.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/flib.c	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/flib.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -4,7 +4,7 @@
4931932
  *   Tomas Rokicki or Radical Eye Software; use at your own risk.
4931932
  */
4931932
 #ifdef FONTLIB
4931932
-#include "dvips.h"
4931932
+#include "dvips.h" /* The copyright notice in that file is included too! */
4931932
 #include "paths.h"
4931932
 #include "protos.h"
4931932
 extern int debug_flag ;
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/header.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/header.c	2007-05-07 01:18:19.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/header.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -35,7 +35,7 @@
4931932
 int
4931932
 add_name P2C(char *, s, struct header_list **, what)
4931932
 {
4931932
-  add_name_general (s, what, NULL, NULL);
4931932
+  return (int) add_name_general (s, what, NULL, NULL);
4931932
 }
4931932
 
4931932
 /*
4931932
@@ -122,7 +122,7 @@
4931932
 int
4931932
 add_header P1C(char *, s)
4931932
 {
4931932
-  add_header_general (s, NULL, NULL);
4931932
+  return (int) add_header_general (s, NULL, NULL);
4931932
 }
4931932
 
4931932
 int
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/hps.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/hps.c	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/hps.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,8 +1,8 @@
4931932
 /* This is the main file for hacking dvips to do HyperPostScript
4931932
  * Written by Mark D. Doyle 11/94. It is (C) Copyright 1994 by Mark D. Doyle
4931932
  * and the University of California. You may modify and use this program to
4931932
- * your heart's content, so long as you send modifications to Mark Doyle and
4931932
- * abide by the rest of the dvips copyrights. 
4931932
+ * your heart's content.  Mark Doyle requests that you send him
4931932
+ * any modifications.
4931932
  */
4931932
 #include "dvips.h"
4931932
 #ifdef HPS
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/hps.lpro
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/hps.lpro	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/hps.lpro	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -5,8 +5,9 @@
4931932
 % Written by Tanmoy Bhattacharya and Mark D. Doyle 11/94. 
4931932
 % It is (C) Copyright 1994 by Tanmoy Bhattacharya, Mark D. Doyle
4931932
 % and the University of California. You may modify and use this program to
4931932
-% your heart's content, so long as you send modifications to Tanmoy
4931932
-% Bhattacharya and/or Mark Doyle.
4931932
+% your heart's content. Tanmoy Bhattacharya and Mark Doyle request that
4931932
+% you send either or both them any modifications.
4931932
+% 
4931932
 % Version number info
4931932
 %   1 0 Probably first release
4931932
 %   1 1 Added external handler to let ghostview work
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/loadfont.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/loadfont.c	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/loadfont.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -333,6 +333,9 @@
4931932
    register chardesctype *cd = 0 ;
4931932
    int maxcc = 0 ;
4931932
    int munged = 0 ;
4931932
+   extern int prettycolumn ;
4931932
+   extern int quiet ;
4931932
+   extern char *realnameoffile ;
4931932
 /*
4931932
  *   We clear out some pointers:
4931932
  */
4931932
@@ -358,6 +361,14 @@
4931932
       tfmload(curfnt) ;
4931932
       return ;
4931932
    }
4931932
+   if (!quiet) {
4931932
+      if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
4931932
+         fprintf(stderr, "\n") ;
4931932
+         prettycolumn = 0 ;
4931932
+      }
4931932
+      (void)fprintf(stderr, "<%s>", realnameoffile);
4931932
+      prettycolumn += strlen(realnameoffile) + 2 ;
4931932
+   }
4931932
 #ifdef DEBUG
4931932
    if (dd(D_FONTS))
4931932
       (void)fprintf(stderr,"Loading pk font %s at %.1fpt\n",
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/makefont.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/makefont.c	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/makefont.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,7 +1,5 @@
4931932
-/*
4931932
- *   This software is Copyright 1988 by Radical Eye Software.
4931932
- */
4931932
-#include "dvips.h"
4931932
+/* makefont.c */
4931932
+#include "dvips.h" /* The copyright notice in that file is included too! */
4931932
 #include <math.h>
4931932
 #include "protos.h"
4931932
 extern int quiet ;
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/output.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/output.c	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/output.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -113,6 +113,7 @@
4931932
 void
4931932
 copyfile_general P2C(char *, s, struct header_list *, cur_header)
4931932
 {
4931932
+   extern char *realnameoffile ;
4931932
    FILE *f = NULL ;
4931932
    int c, prevc = '\n' ;
4931932
    long len ;
4931932
@@ -205,7 +206,11 @@
4931932
       error(errbuf) ;
4931932
    else {
4931932
       if (! quiet) {
4931932
+#if defined(VMCMS) || defined (MVSXA)
4931932
          if (strlen(s) + prettycolumn > STDOUTSIZE) {
4931932
+#else
4931932
+         if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
4931932
+#endif
4931932
             fprintf(stderr, "\n") ;
4931932
             prettycolumn = 0 ;
4931932
          }
4931932
@@ -215,11 +220,15 @@
4931932
 #ifdef MVSXA
4931932
          (void)fprintf(stderr, "<%s>", trunc_s) ;
4931932
 #else
4931932
-         (void)fprintf(stderr, "<%s>", s) ;
4931932
+         (void)fprintf(stderr, "<%s>", realnameoffile) ;
4931932
 #endif
4931932
 #endif
4931932
          (void)fflush(stderr) ;
4931932
+#if defined(VMCMS) || defined (MVSXA)
4931932
          prettycolumn += 2 + strlen(s) ;
4931932
+#else
4931932
+         prettycolumn += 2 + strlen(realnameoffile) ;
4931932
+#endif
4931932
       }
4931932
       if (linepos != 0)
4931932
          (void)putc('\n', bitfile) ;
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/papersiz.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/papersiz.c	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/papersiz.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -11,7 +11,7 @@
4931932
  *      0 <= num < den <= 20000
4931932
  *      0 <= whole
4931932
  */
4931932
-#include "dvips.h"
4931932
+#include "dvips.h" /* The copyright notice in that file is included too! */
4931932
 #include "protos.h"
4931932
 static long scale P4C(long, whole, long, num, long, den, long, sf)
4931932
 {
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/paths.h
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/paths.h	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/paths.h	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,4 +1,4 @@
4931932
-/*
4931932
+/*   paths.h - public domain.
4931932
  *   OUTPATH is where to send the output.  If you want a .ps file to
4931932
  *   be created by default, set this to "".  If you want to automatically
4931932
  *   invoke a pipe (as in lpr), make the first character an exclamation
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/psfonts.map
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/psfonts.map	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/psfonts.map	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,4 +1,5 @@
4931932
 % original psfonts.map -- match TFM filenames to PostScript FontNames.
4931932
+% This file is public domain.
4931932
 % (If you change or delete `original' on the previous line, dvips won't
4931932
 % install its psfonts.map over this file.)
4931932
 % 
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/resident.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/resident.c	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/resident.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -32,6 +32,8 @@
4931932
  *   These are the external variables we use.
4931932
  */
4931932
 extern char *realnameoffile ;
4931932
+extern int prettycolumn ;
4931932
+extern int dvips_debug_flag ;
4931932
 #ifdef DEBUG
4931932
 extern integer debug_flag;
4931932
 #endif  /* DEBUG */
4931932
@@ -441,6 +443,14 @@
4931932
 #else
4931932
    if ((deffile=search(d,PSname,READ))!=NULL) {
4931932
 #endif
4931932
+   if (dvips_debug_flag && !quiet) {
4931932
+      if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
4931932
+         fprintf(stderr, "\n") ;
4931932
+         prettycolumn = 0 ;
4931932
+      }
4931932
+      (void)fprintf(stderr, "{%s}", realnameoffile);
4931932
+      prettycolumn += strlen(realnameoffile) + 2 ;
4931932
+   }
4931932
 #ifdef DEBUG
4931932
      if (dd (D_CONFIG)) {
4931932
        fprintf (stderr, "Reading dvips config file `%s':\n", realnameoffile);
4931932
@@ -845,9 +855,9 @@
4931932
 */
4931932
 void getpsinfo P1C(char *, name)
4931932
 {
4931932
-    FILE *deffile ;
4931932
-    register char *p ;
4931932
-    char *specinfo, *downloadinfo ;
4931932
+   FILE *deffile ;
4931932
+   register char *p ;
4931932
+   char *specinfo, *downloadinfo ;
4931932
    char downbuf[500] ;
4931932
    char specbuf[500] ;
4931932
    int slen ;
4931932
@@ -855,6 +865,14 @@
4931932
    if (name == 0)
4931932
       name = psmapfile ;
4931932
    if ((deffile=search(mappath, name, READ))!=NULL) {
4931932
+      if (dvips_debug_flag && !quiet) {
4931932
+         if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
4931932
+            fprintf(stderr, "\n") ;
4931932
+            prettycolumn = 0 ;
4931932
+         }
4931932
+         (void)fprintf(stderr, "{%s}", realnameoffile);
4931932
+         prettycolumn += strlen(realnameoffile) + 2 ;
4931932
+      }
4931932
       while (fgets(was_inline, INLINE_SIZE, deffile)!=NULL) {
4931932
          p = was_inline ;
4931932
          if (*p > ' ' && *p != '*' && *p != '#' && *p != ';' && *p != '%') {
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/special.lpro
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/special.lpro	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/special.lpro	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,6 +1,5 @@
4931932
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4931932
-%%     header for the \special command
4931932
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4931932
+% special.lpro - public domain.
4931932
+%     header for the \special command
4931932
 %   The structure of the PostScript produced by dvips for \special is:
4931932
 %         @beginspecial
4931932
 %           - any number of @hsize, @hoffset, @hscale, etc., commands
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/squeeze.c
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/squeeze.c	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/squeeze.c	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,7 +1,4 @@
4931932
 /*
4931932
- *   This software is Copyright 1988 by Radical Eye Software.
4931932
- */
4931932
-/*
4931932
  *   This routine squeezes a PostScript file down to its
4931932
  *   minimum.  We parse and then output it.
4931932
  */
4931932
@@ -14,7 +11,7 @@
4931932
 #include <stdio.h>
4931932
 #include <stdlib.h>
4931932
 #include <string.h>
4931932
-#include "dvips.h"
4931932
+#include "dvips.h" /* The copyright notice in that file is included too! */
4931932
 #endif
4931932
 #ifdef fopen
4931932
 #undef fopen
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/tex.lpro
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/tex.lpro	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/tex.lpro	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,3 +1,5 @@
4931932
+% tex.lpro - public domain.
4931932
+% 
4931932
 % The following defines procedures assumed and used by program "dvips"
4931932
 % and must be downloaded or sent as a header file for all TeX jobs.
4931932
 % Originated by Neal Holtz, Carleton University, Ottawa, Canada
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/texc.script
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/texc.script	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/texc.script	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,5 +1,5 @@
4931932
 #! /bin/sh
4931932
-# A shell script to convert tex.lpro to texc.lpro
4931932
+# A shell script to convert tex.lpro to texc.lpro.  Public domain.
4931932
 #
4931932
 # To use it, say
4931932
 #       texc.script tex.lpro texc.lpro
4931932
Index: texlive-bin-2007/build/source/texk/dvipsk/texps.lpro
4931932
===================================================================
4931932
--- texlive-bin-2007.orig/build/source/texk/dvipsk/texps.lpro	2007-05-07 01:38:12.000000000 +0200
4931932
+++ texlive-bin-2007/build/source/texk/dvipsk/texps.lpro	2007-05-07 01:38:37.000000000 +0200
4931932
@@ -1,5 +1,5 @@
4931932
 % Thanks for some changes to:
4931932
-%+ This is TEXPS.LPRO as modified by Rob Hutchings 1992Apr02
4931932
+%+ This is TEXPS.LPRO as modified by Rob Hutchings 1992Apr02.  Public domain.
4931932
 %+ My comments are marked as %+ 
4931932
 % PostScript prolog for using resident fonts.
4931932
 %+ Provision is made to change the encoding scheme in special instructions.