]> git.pld-linux.org Git - packages/texlive.git/blob - texlive-dvips_fontbug_fix_upstream.patch
- adapter
[packages/texlive.git] / texlive-dvips_fontbug_fix_upstream.patch
1 ---
2  build/source/texk/dvipsk/ChangeLog     |   36 +++++++++++++++++++
3  build/source/texk/dvipsk/Makefile.in   |    2 -
4  build/source/texk/dvipsk/afm2tfm.c     |    6 +--
5  build/source/texk/dvipsk/afm2tfm.rc    |   34 ------------------
6  build/source/texk/dvipsk/bbox.c        |    2 -
7  build/source/texk/dvipsk/config.h      |    2 -
8  build/source/texk/dvipsk/crop.lpro     |    2 -
9  build/source/texk/dvipsk/debug.h       |    2 -
10  build/source/texk/dvipsk/download.c    |   25 +++++++++----
11  build/source/texk/dvipsk/dpicheck.c    |    6 +--
12  build/source/texk/dvipsk/dvips.1       |   25 ++++++++-----
13  build/source/texk/dvipsk/dvips.c       |   61 +++++++++++++++++++++++++++------
14  build/source/texk/dvipsk/dvips.h       |   14 ++-----
15  build/source/texk/dvipsk/emspecial.c   |   15 ++++++--
16  build/source/texk/dvipsk/finclude.c    |   11 +++++
17  build/source/texk/dvipsk/finclude.lpro |    1 
18  build/source/texk/dvipsk/flib.c        |    2 -
19  build/source/texk/dvipsk/header.c      |    4 +-
20  build/source/texk/dvipsk/hps.c         |    4 +-
21  build/source/texk/dvipsk/hps.lpro      |    5 +-
22  build/source/texk/dvipsk/loadfont.c    |   11 +++++
23  build/source/texk/dvipsk/makefont.c    |    6 +--
24  build/source/texk/dvipsk/output.c      |   11 +++++
25  build/source/texk/dvipsk/papersiz.c    |    2 -
26  build/source/texk/dvipsk/paths.h       |    2 -
27  build/source/texk/dvipsk/psfonts.map   |    1 
28  build/source/texk/dvipsk/resident.c    |   24 +++++++++++-
29  build/source/texk/dvipsk/special.lpro  |    5 +-
30  build/source/texk/dvipsk/squeeze.c     |    5 --
31  build/source/texk/dvipsk/tex.lpro      |    2 +
32  build/source/texk/dvipsk/texc.script   |    2 -
33  build/source/texk/dvipsk/texps.lpro    |    2 -
34  32 files changed, 220 insertions(+), 112 deletions(-)
35
36 Index: texlive-bin-2007/build/source/texk/dvipsk/ChangeLog
37 ===================================================================
38 --- texlive-bin-2007.orig/build/source/texk/dvipsk/ChangeLog    2007-05-07 01:17:36.000000000 +0200
39 +++ texlive-bin-2007/build/source/texk/dvipsk/ChangeLog 2007-05-07 01:38:37.000000000 +0200
40 @@ -1,3 +1,39 @@
41 +2007-05-06  Karl Berry  <karl@tug.org>
42 +
43 +       * finclude.c, dvips.c: keep track of last-unused psname (Akira).
44 +       * dvips.c (DEFRES): move down.
45 +       * dvips.c (--help): just mention Tom R.
46 +
47 +2007-05-05  Karl Berry  <karl@tug.org>
48 +
49 +       * dvips.h (DOWNLOADEDPSSIZE): new constant.
50 +       * dvips.c (downloadedpsname): new global array.
51 +       * finclude.c: set it up as we download.
52 +       * download.c: use it to avoid downloading fonts as both header
53 +       and font.  (From Akira.)
54 +
55 +2007-05-04  Karl Berry  <karl@tug.org>
56 +
57 +       * dvips.h (BANNER): change to 5.96dev to distinguish from the release.
58 +
59 +       * header.c (add_name, add_header): cast result of
60 +       add_header_general to int and return it.  From Akira.
61 +
62 +2007-03-23  Karl Berry  <karl@tug.org>
63 +
64 +       * dvips.texi: document it.
65 +       * dvips.c, loadfont.c, resident.c: also report map files
66 +       and config files, if the envvar DVIPSDEBUG is set.  From Akira.
67 +
68 +2007-03-20  Karl Berry  <karl@tug.org>
69 +
70 +       * download.c, output.c, emspecial.c: report full pathnames,
71 +       to help debugging and for consistency with TeX.  From Akira.
72 +
73 +2007-03-19  Karl Berry  <karl@tug.org>
74 +
75 +       * config.ps (screen): add this, 8.25x11, for powerdot.  (From Akira.)
76 +
77  2006-12-09  Karl Berry  <karl@tug.org>
78  
79         * dvips.texi (Config file paper sizes): best match now.  (From Akira.)
80 Index: texlive-bin-2007/build/source/texk/dvipsk/Makefile.in
81 ===================================================================
82 --- texlive-bin-2007.orig/build/source/texk/dvipsk/Makefile.in  2007-05-07 01:38:11.000000000 +0200
83 +++ texlive-bin-2007/build/source/texk/dvipsk/Makefile.in       2007-05-07 01:38:37.000000000 +0200
84 @@ -1,5 +1,5 @@
85  # Makefile for dvipsk -- kb@mail.tug.org. Public domain.
86 -version = 5.96
87 +version = 5.96.1
88  
89  # Add -DDEFRES=dpi to DEFS to change the default resolution from 600.
90  # Add -DSECURE if you will install dvips with special privileges.
91 Index: texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.c
92 ===================================================================
93 --- texlive-bin-2007.orig/build/source/texk/dvipsk/afm2tfm.c    2007-05-07 01:17:54.000000000 +0200
94 +++ texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.c 2007-05-07 01:38:37.000000000 +0200
95 @@ -1489,15 +1489,15 @@
96  void version P1C(FILE *, f)
97  {
98    extern KPSEDLL char *kpathsea_version_string;
99 -  fputs ("afm2tfm(k) (dvips(k) 5.96) 8.1\n", f);
100 +  fputs ("afm2tfm(k) (dvips(k) 5.96.1) 8.1\n", f);
101    fprintf (f, "%s\n", kpathsea_version_string);
102 -  fputs ("Copyright (C) 2005 Radical Eye Software.\n\
103 +  fputs ("Copyright (C) 2007 Radical Eye Software.\n\
104  There is NO warranty.  You may redistribute this software\n\
105  under the terms of the GNU General Public License\n\
106  and the Dvips copyright.\n\
107  For more information about these matters, see the files\n\
108  named COPYING and afm2tfm.c.\n\
109 -Primary author of afm2tfm: T. Rokicki; -k maintainer: K. Berry.\n", f);
110 +Original author of afm2tfm: T. Rokicki.\n", f);
111  }
112  
113  #define USAGE "\
114 Index: texlive-bin-2007/build/source/texk/dvipsk/afm2tfm.rc
115 ===================================================================
116 --- texlive-bin-2007.orig/build/source/texk/dvipsk/afm2tfm.rc   2007-05-07 01:38:11.000000000 +0200
117 +++ /dev/null   1970-01-01 00:00:00.000000000 +0000
118 @@ -1,34 +0,0 @@
119 -/* afm2tfm.rc: afm2tfm resources                       -*- C++ -*-
120 -
121 -   Copyright (C) 1996-2003 Fabrice Popineau <fabrice.popineau@supelec.fr>
122 -
123 -   This file is free software; you can redistribute it and/or modify
124 -   it under the terms of the GNU General Public License as published
125 -   by the Free Software Foundation; either version 2, or (at your
126 -   option) any later version.
127 -
128 -   This file is distributed in the hope that it will be useful, but
129 -   WITHOUT ANY WARRANTY; without even the implied warranty of
130 -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
131 -   General Public License for more details.
132 -
133 -   You should have received a copy of the GNU General Public License
134 -   along with this file; if not, write to the Free Software
135 -   Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
136 -   USA. */
137 -
138 -#include <texlive-version.h>
139 -
140 -#define VER_FILEVERSION TEXLIVE_MAJOR_VERSION,TEXLIVE_MINOR_VERSION,TEXLIVE_BETA_NUMBER,TEXLIVE_ALPHA_NUMBER
141 -#define VER_FILEVERSION_STR TEXLIVE_PRODUCTVERSION_STR " afm2tfm(k) (dvips(k) 5.94b) 8.1"
142 -
143 -#define VER_INTERNALNAME_STR "afm2tfm"
144 -#define VER_ORIGINALFILENAME_STR "afm2tfm.exe"
145 -
146 -#define VER_LEGALCOPYRIGHT_STR "Copyright (C) 1990-2004 Radical Eye Software"
147 -
148 -#define VER_FILEDESCRIPTION_STR "Adobe Font Metric to TeX Font Metric file converter"
149 -
150 -#include <texlive.version>
151 -
152 -/* afm2tfm.rc ends here */
153 Index: texlive-bin-2007/build/source/texk/dvipsk/bbox.c
154 ===================================================================
155 --- texlive-bin-2007.orig/build/source/texk/dvipsk/bbox.c       2007-05-07 01:38:11.000000000 +0200
156 +++ texlive-bin-2007/build/source/texk/dvipsk/bbox.c    2007-05-07 01:38:37.000000000 +0200
157 @@ -6,7 +6,7 @@
158   *   If you request an EPSF file and specify -a, you may end up
159   *   processing a single page four times!
160   */
161 -#include "dvips.h"
162 +#include "dvips.h" /* The copyright notice in that file is included too! */
163  #include <math.h>
164  #include "protos.h"
165  
166 Index: texlive-bin-2007/build/source/texk/dvipsk/config.h
167 ===================================================================
168 --- texlive-bin-2007.orig/build/source/texk/dvipsk/config.h     2007-05-07 01:38:11.000000000 +0200
169 +++ texlive-bin-2007/build/source/texk/dvipsk/config.h  2007-05-07 01:38:37.000000000 +0200
170 @@ -1,5 +1,5 @@
171  /* config.h: master configuration file, included first by all compilable
172 -   source files (not headers).  */
173 +   source files (not headers).  This file is public domain.  */
174  
175  #ifndef CONFIG_H
176  #define CONFIG_H
177 Index: texlive-bin-2007/build/source/texk/dvipsk/crop.lpro
178 ===================================================================
179 --- texlive-bin-2007.orig/build/source/texk/dvipsk/crop.lpro    2007-05-07 01:38:11.000000000 +0200
180 +++ texlive-bin-2007/build/source/texk/dvipsk/crop.lpro 2007-05-07 01:38:37.000000000 +0200
181 @@ -1,5 +1,5 @@
182  %!
183 -%   This file is for crop marks.
184 +%   This file is for crop marks.  This file is public domain.
185  %
186  %   First, we translate and draw the marks.  You can change the way the
187  %   marks are drawn, but the quarter inch border around the page is fixed.
188 Index: texlive-bin-2007/build/source/texk/dvipsk/debug.h
189 ===================================================================
190 --- texlive-bin-2007.orig/build/source/texk/dvipsk/debug.h      2007-05-07 01:38:11.000000000 +0200
191 +++ texlive-bin-2007/build/source/texk/dvipsk/debug.h   2007-05-07 01:38:37.000000000 +0200
192 @@ -1,5 +1,5 @@
193  /* 
194 - * Here's some stuff for debugging dvips.
195 + * Here's some stuff for debugging dvips.  See dvips.h for copyright.
196   */
197  
198  #ifdef DEBUG
199 Index: texlive-bin-2007/build/source/texk/dvipsk/download.c
200 ===================================================================
201 --- texlive-bin-2007.orig/build/source/texk/dvipsk/download.c   2007-05-07 01:17:43.000000000 +0200
202 +++ texlive-bin-2007/build/source/texk/dvipsk/download.c        2007-05-07 01:38:37.000000000 +0200
203 @@ -433,6 +433,9 @@
204   *   Download a PostScript font, using partial font downloading if
205   *   necessary.
206   */
207 +extern char *downloadedpsnames[];
208 +extern int unused_top_of_psnames;
209 +
210  void downpsfont P2C(charusetype *, p, charusetype *, all)
211  {
212  #ifdef DOWNLOAD_USING_PDFTEX
213 @@ -444,6 +447,8 @@
214      register chardesctype *c ;
215      struct resfont *rf ;
216      int cc;
217 +    extern char *realnameoffile ;
218 +    int j;
219  
220      curfnt = p->fd ;
221      rf = curfnt->resfont ;
222 @@ -457,6 +462,10 @@
223         return ;
224      if (rf->sent == 2) /* sent as header, from a PS file */
225         return ;
226 +    for (j=0; downloadedpsnames[j] && j < unused_top_of_psnames; j++) {
227 +       if (strcmp (downloadedpsnames[j], rf->PSname) == 0)
228 +          return;
229 +    }
230      if (all->fd == 0)
231         error("! internal error in downpsfont") ;
232      if (!partialdownload) {
233 @@ -514,14 +523,6 @@
234          }
235      }
236      if(GridCount!=0 || extraGlyphs) {
237 -        if (!quiet) {
238 -           if (strlen(rf->Fontfile) + prettycolumn > STDOUTSIZE) {
239 -              fprintf(stderr, "\n") ;
240 -              prettycolumn = 0 ;
241 -           }
242 -           (void)fprintf(stderr, "<%s>", rf->Fontfile);
243 -          prettycolumn += strlen(rf->Fontfile) + 2 ;
244 -       }
245          newline() ;
246          if (! disablecomments)
247             (void)fprintf(bitfile, "%%%%BeginFont: %s\n",  rf->PSname);
248 @@ -531,6 +532,14 @@
249          if(FontPart(bitfile, rf->Fontfile, rf->Vectfile) < 0)
250  #endif
251              exit(1);
252 +        if (!quiet) {
253 +           if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
254 +              fprintf(stderr, "\n") ;
255 +              prettycolumn = 0 ;
256 +           }
257 +           (void)fprintf(stderr, "<%s>", realnameoffile);
258 +          prettycolumn += strlen(realnameoffile) + 2 ;
259 +       }
260          if (! disablecomments)
261             (void)fprintf(bitfile, "%%%%EndFont \n");
262     }
263 Index: texlive-bin-2007/build/source/texk/dvipsk/dpicheck.c
264 ===================================================================
265 --- texlive-bin-2007.orig/build/source/texk/dvipsk/dpicheck.c   2007-05-07 01:38:11.000000000 +0200
266 +++ texlive-bin-2007/build/source/texk/dvipsk/dpicheck.c        2007-05-07 01:38:37.000000000 +0200
267 @@ -1,12 +1,10 @@
268  /*
269 - *   This software is Copyright 1988 by Radical Eye Software.
270 - */
271 -/*
272   *   dpicheck of dvips.c.  Checks the dots per inch to make sure
273   *   it exists.  The fonts which exist are DPI at the appropriate
274   *   magnifications.
275   */
276 -#include "dvips.h"
277 +#include "dvips.h" /* The copyright notice in that file is included too! */
278 +
279  extern int actualdpi ;
280  static integer existsizes[30] = { 0 , 99999999 } ;
281  static int checkdpi ;
282 Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.1
283 ===================================================================
284 --- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.1      2007-05-07 01:18:03.000000000 +0200
285 +++ texlive-bin-2007/build/source/texk/dvipsk/dvips.1   2007-05-07 01:38:37.000000000 +0200
286 @@ -360,16 +360,21 @@
287  .B -r
288  Stack pages in reverse order.  Normally, page 1 will be printed first.
289  .TP
290 -.B -R
291 -Run in secure mode. This means that ``backtick'' commands from a
292 -.I \especial{}
293 -or
294 -.I \epsffile{}
295 -macro in the (La)TeX source like
296 -.I \especial{psfile="`zcat foo.ps.Z"}
297 -or
298 -.I \epsffile[72 72 540 720]{"`zcat screendump.ps.gz"}
299 -are not executed.
300 +.B -R[0|1|2]
301 +Run securely.
302 +.BR -R2
303 +disables both shell command execution in
304 +.I \especial'{}
305 +(via backticks
306 +.BR `
307 +) and config files (via the
308 +.I E
309 +option), and opening of any absolute filenames.
310 +.BR -R1
311 +, the default, forbids shell escapes but allows absolute filenames.
312 +.BR -R0
313 +allows both.  The config file option is
314 +.I z
315  .TP
316  .B -s
317  Causes the entire global output to be enclosed in a save/restore pair.
318 Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.c
319 ===================================================================
320 --- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.c      2007-05-07 01:18:12.000000000 +0200
321 +++ texlive-bin-2007/build/source/texk/dvipsk/dvips.c   2007-05-07 01:38:37.000000000 +0200
322 @@ -1,10 +1,6 @@
323  /*
324   *   This is the main routine.
325   */
326 -#ifndef DEFRES
327 -#define DEFRES (600)
328 -#endif
329 -
330  #include "dvips.h" /* The copyright notice there is included too! */
331  #ifdef KPATHSEA
332  #include <kpathsea/c-pathch.h>
333 @@ -44,12 +40,22 @@
334  #include descrip
335  #endif
336  #endif
337 +
338 +#ifndef DEFRES
339 +#define DEFRES (600)
340 +#endif
341 +
342  /*
343   *   First we define some globals.
344   */
345  #ifdef VMS
346      static char ofnme[252],infnme[252],pap[40],thh[20];
347  #endif
348 +
349 +/* PS fonts fully downloaded as headers */ 
350 +char *downloadedpsnames[DOWNLOADEDPSSIZE];  
351 +
352 +int unused_top_of_psnames ;   /* unused top number of downloadedpsnames[#] */
353  fontdesctype *fonthead ;      /* list of all fonts mentioned so far */
354  fontdesctype *curfnt ;        /* the currently selected font */
355  sectiontype *sections ;       /* sections to process document in */
356 @@ -159,6 +165,7 @@
357  int quiet ;                   /* should we only print errors to stderr? */
358  int filter ;                  /* act as filter default output to stdout,
359                                                 default input to stdin? */
360 +int dvips_debug_flag ;        /* output config and map files to stderr if 1 */
361  int prettycolumn ;            /* the column we are at when running pretty */
362  int gargc ;                   /* global argument count */
363  char **gargv ;                /* global argument vector */
364 @@ -306,6 +313,16 @@
365     fputs (kpse_bug_address, f);
366  #endif
367  }
368 +
369 +void
370 +freememforpsnames(void)
371 +{
372 +   int i;
373 +
374 +   for (i = 0; i < unused_top_of_psnames && downloadedpsnames[i]; i++)
375 +      free (downloadedpsnames[i]);
376 +}
377 +
378  /*
379   *   This error routine prints an error message; if the first
380   *   character is !, it aborts the job.
381 @@ -328,6 +345,7 @@
382     }
383     
384     if (*s=='!') {
385 +      freememforpsnames() ;
386        if (bitfile != NULL) {
387           cleanprinter() ;
388        }
389 @@ -440,6 +458,8 @@
390     i = 10;
391     for (s="abcdef"; *s!=0; s++)
392        xdig[(int)*s] = i++;
393 +   for(i=0 ; i < DOWNLOADEDPSSIZE; i++)
394 +      downloadedpsnames[i] = NULL;
395     morestrings() ;
396     maxpages = 100000 ;
397     numcopies = 1 ;
398 @@ -552,7 +572,7 @@
399  #ifdef MVSXA
400     int firstext = -1 ;
401  #endif
402 -   register sectiontype *sects ;
403 +   sectiontype *sects ;
404  
405  #ifdef KPATHSEA
406     kpse_set_program_name (argv[0], "dvips");
407 @@ -607,15 +627,15 @@
408          exit (0);
409        } else if (strcmp (argv[1], "--version") == 0) {
410          extern KPSEDLL char *kpathsea_version_string;
411 -        puts ("dvips(k) 5.96");
412 +        puts ("dvips(k) 5.96.1");
413          puts (kpathsea_version_string);
414 -        puts ("Copyright (C) 2005 Radical Eye Software.\n\
415 +        puts ("Copyright (C) 2007 Radical Eye Software.\n\
416  There is NO warranty.  You may redistribute this software\n\
417  under the terms of the GNU General Public License\n\
418  and the Dvips copyright.\n\
419  For more information about these matters, see the files\n\
420  named COPYING and dvips.h.\n\
421 -Primary author of Dvips: T. Rokicki; -k maintainer: T. Kacvinsky/ S. Rahtz.");
422 +Primary author of Dvips: T. Rokicki.");
423          exit (0);
424        }
425        if (argc == 2 && strncmp(argv[1], "-?", 2) == 0) {
426 @@ -630,6 +650,20 @@
427     }
428  #endif
429  #endif
430 +   dvips_debug_flag = 0 ;
431 +   { /* for compilers incompatible with c99 */
432 +      char *s = (char *)getenv ("DVIPSDEBUG") ;
433 +      if (s) {
434 +         dvips_debug_flag = 1 ;
435 +         free (s) ;
436 +      } else {
437 +         s = (char *) getenv ("KPATHSEA_DEBUG") ;
438 +         if (s) {
439 +           dvips_debug_flag = 1 ;
440 +           free (s) ;
441 +         }
442 +      }
443 +   }
444     initialize() ;
445     checkenv(0) ;
446     getdefaults(CONFIGFILE) ;
447 @@ -1116,8 +1150,14 @@
448     revpslists() ;
449     getpsinfo((char *)NULL) ;
450     revpslists() ;
451 -   if (!quiet)
452 -      (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
453 +   if (dvips_debug_flag) {
454 +      if (!quiet)
455 +         (void)fprintf(stderr, "\n%s %s\n", banner, banner2) ;
456 +      prettycolumn = 0 ;
457 +   } else {
458 +      if (!quiet)
459 +         (void)fprintf(stderr, "%s %s\n", banner, banner2) ;
460 +   }
461     if (*iname) {
462        dvifile = fopen(iname, READBIN) ;
463  /*
464 @@ -1367,6 +1407,7 @@
465          }
466        }
467     }
468 +   freememforpsnames() ;
469     if (! sepfiles) {
470  #ifdef HPS
471        if (HPS_FLAG)
472 Index: texlive-bin-2007/build/source/texk/dvipsk/dvips.h
473 ===================================================================
474 --- texlive-bin-2007.orig/build/source/texk/dvipsk/dvips.h      2007-05-07 01:18:25.000000000 +0200
475 +++ texlive-bin-2007/build/source/texk/dvipsk/dvips.h   2007-05-07 01:38:37.000000000 +0200
476 @@ -1,19 +1,14 @@
477  /*
478   *   This is dvips, a freely redistributable PostScript driver
479 - *   for dvi files.  It is (C) Copyright 1986-2004 by Tomas Rokicki.
480 - *   You may modify and use this program to your heart's content,
481 - *   so long as you send modifications to Tomas Rokicki.  It can
482 - *   be included in any distribution, commercial or otherwise, so
483 - *   long as the banner string defined below is not modified (except
484 - *   for the version number) and this banner is printed on program
485 - *   invocation, or can be printed on program invocation with the -? option.
486 + *   for dvi files.  It is (C) Copyright 1986-2007 by Tomas Rokicki.
487 + *   You may modify and use this program to your heart's content.
488   */
489  
490  /*   This file is the header for dvips's global data structures. */
491  
492  #define CREATIONDATE
493  #define BANNER \
494 -"This is dvips(k) 5.96 Copyright 2005 Radical Eye Software"
495 +"This is dvips(k) 5.96.1 Copyright 2007 Radical Eye Software"
496  #define BANNER2 "(www.radicaleye.com)"
497  #ifdef KPATHSEA
498  #include "config.h"
499 @@ -58,13 +53,14 @@
500   *   of a string that can be handled in specials, so it should not be
501   *   set too small.
502   */
503 -#define STRINGSIZE (200000)  /* maximum total chars in strings in program */
504 +#define STRINGSIZE (200000) /* maximum total chars in strings in program */
505  #define RASTERCHUNK (8192)  /* size of chunk of raster */
506  #define MINCHUNK (240)      /* minimum size char to get own raster */
507  #define STACKSIZE (350)     /* maximum stack size for dvi files */
508  #define MAXFRAME (10)       /* maximum depth of virtual font recursion */
509  #define MAXFONTHD (100)     /* number of unique names of included fonts */
510  #define STDOUTSIZE (75)     /* width of a standard output line */
511 +#define DOWNLOADEDPSSIZE (1000)  /* max number of downloaded fonts to check */
512  /*
513   *   Other constants, which define printer-dependent stuff.
514   */
515 Index: texlive-bin-2007/build/source/texk/dvipsk/emspecial.c
516 ===================================================================
517 --- texlive-bin-2007.orig/build/source/texk/dvipsk/emspecial.c  2007-05-07 01:38:12.000000000 +0200
518 +++ texlive-bin-2007/build/source/texk/dvipsk/emspecial.c       2007-05-07 01:38:37.000000000 +0200
519 @@ -659,14 +659,23 @@
520  void imagehead P5C(char *, filename, int, wide, int, high, 
521                    float, emwidth, float, emheight)
522  {
523 +       char *fullname = NULL, *name ;
524         if (!quiet) {
525 -           if (strlen(filename) + prettycolumn > STDOUTSIZE) {
526 +#ifdef KPATHSEA
527 +           fullname = (char *)kpse_find_file (filename, pictpath, 0) ;
528 +#endif
529 +           if (!fullname)
530 +               name = filename ;
531 +           else
532 +               name = fullname ;
533 +           if (strlen(name) + prettycolumn > STDOUTSIZE) {
534                 fprintf(stderr,"\n");
535                 prettycolumn = 0;
536             }
537 -           (void)fprintf(stderr,"<%s",filename);
538 +           (void)fprintf(stderr,"<%s",name);
539             (void)fflush(stderr);
540 -           prettycolumn += 2+strlen(filename);
541 +           prettycolumn += 2+strlen(name);
542 +           if (fullname) free (fullname);
543         }
544         hvpos();
545         nlcmdout("@beginspecial @setspecial") ;
546 Index: texlive-bin-2007/build/source/texk/dvipsk/finclude.c
547 ===================================================================
548 --- texlive-bin-2007.orig/build/source/texk/dvipsk/finclude.c   2007-05-07 01:17:29.000000000 +0200
549 +++ texlive-bin-2007/build/source/texk/dvipsk/finclude.c        2007-05-07 01:38:37.000000000 +0200
550 @@ -57,6 +57,9 @@
551  extern integer debug_flag;
552  #endif  /* DEBUG */
553  
554 +extern char *downloadedpsnames[];
555 +extern int unused_top_of_psnames;
556 +
557  /*
558   * Create a font descriptor for a font included in a psfile.  There will be
559   * no fontmaptype node for the resulting font descriptor until this font is
560 @@ -252,6 +255,10 @@
561    char *p,*pe;
562    struct resfont *re;
563    int i;
564 +  int j = 0;
565 +
566 +  while (downloadedpsnames[j] != NULL && j < DOWNLOADEDPSSIZE)
567 +    j++;
568  
569    /* Turn all newlines, CRs, and tabs into spaces. */
570    p = str;
571 @@ -312,6 +319,10 @@
572             infont = 0 ;
573            }
574            re->sent = 2 ;
575 +          if (unused_top_of_psnames < DOWNLOADEDPSSIZE) {
576 +             downloadedpsnames[unused_top_of_psnames] = xstrdup (re->PSname);
577 +             unused_top_of_psnames++;
578 +          }
579          } else {
580            char eb[1000];
581            sprintf(eb,"Font %s used in file %s is not in the mapping file.",
582 Index: texlive-bin-2007/build/source/texk/dvipsk/finclude.lpro
583 ===================================================================
584 --- texlive-bin-2007.orig/build/source/texk/dvipsk/finclude.lpro        2007-05-07 01:38:12.000000000 +0200
585 +++ texlive-bin-2007/build/source/texk/dvipsk/finclude.lpro     2007-05-07 01:38:37.000000000 +0200
586 @@ -1,4 +1,5 @@
587  %!
588 +% finclude.lpro - public domain.
589  % Define tfm-name to be a dictionary of included fonts indexed by size:
590  % /tfm-name  scaled-size1 /font-select1 ... scsize_k /fselect_k  k  fstore  -
591  /fstore
592 Index: texlive-bin-2007/build/source/texk/dvipsk/flib.c
593 ===================================================================
594 --- texlive-bin-2007.orig/build/source/texk/dvipsk/flib.c       2007-05-07 01:38:12.000000000 +0200
595 +++ texlive-bin-2007/build/source/texk/dvipsk/flib.c    2007-05-07 01:38:37.000000000 +0200
596 @@ -4,7 +4,7 @@
597   *   Tomas Rokicki or Radical Eye Software; use at your own risk.
598   */
599  #ifdef FONTLIB
600 -#include "dvips.h"
601 +#include "dvips.h" /* The copyright notice in that file is included too! */
602  #include "paths.h"
603  #include "protos.h"
604  extern int debug_flag ;
605 Index: texlive-bin-2007/build/source/texk/dvipsk/header.c
606 ===================================================================
607 --- texlive-bin-2007.orig/build/source/texk/dvipsk/header.c     2007-05-07 01:18:19.000000000 +0200
608 +++ texlive-bin-2007/build/source/texk/dvipsk/header.c  2007-05-07 01:38:37.000000000 +0200
609 @@ -35,7 +35,7 @@
610  int
611  add_name P2C(char *, s, struct header_list **, what)
612  {
613 -  add_name_general (s, what, NULL, NULL);
614 +  return (int) add_name_general (s, what, NULL, NULL);
615  }
616  
617  /*
618 @@ -122,7 +122,7 @@
619  int
620  add_header P1C(char *, s)
621  {
622 -  add_header_general (s, NULL, NULL);
623 +  return (int) add_header_general (s, NULL, NULL);
624  }
625  
626  int
627 Index: texlive-bin-2007/build/source/texk/dvipsk/hps.c
628 ===================================================================
629 --- texlive-bin-2007.orig/build/source/texk/dvipsk/hps.c        2007-05-07 01:38:12.000000000 +0200
630 +++ texlive-bin-2007/build/source/texk/dvipsk/hps.c     2007-05-07 01:38:37.000000000 +0200
631 @@ -1,8 +1,8 @@
632  /* This is the main file for hacking dvips to do HyperPostScript
633   * Written by Mark D. Doyle 11/94. It is (C) Copyright 1994 by Mark D. Doyle
634   * and the University of California. You may modify and use this program to
635 - * your heart's content, so long as you send modifications to Mark Doyle and
636 - * abide by the rest of the dvips copyrights. 
637 + * your heart's content.  Mark Doyle requests that you send him
638 + * any modifications.
639   */
640  #include "dvips.h"
641  #ifdef HPS
642 Index: texlive-bin-2007/build/source/texk/dvipsk/hps.lpro
643 ===================================================================
644 --- texlive-bin-2007.orig/build/source/texk/dvipsk/hps.lpro     2007-05-07 01:38:12.000000000 +0200
645 +++ texlive-bin-2007/build/source/texk/dvipsk/hps.lpro  2007-05-07 01:38:37.000000000 +0200
646 @@ -5,8 +5,9 @@
647  % Written by Tanmoy Bhattacharya and Mark D. Doyle 11/94. 
648  % It is (C) Copyright 1994 by Tanmoy Bhattacharya, Mark D. Doyle
649  % and the University of California. You may modify and use this program to
650 -% your heart's content, so long as you send modifications to Tanmoy
651 -% Bhattacharya and/or Mark Doyle.
652 +% your heart's content. Tanmoy Bhattacharya and Mark Doyle request that
653 +% you send either or both them any modifications.
654 +% 
655  % Version number info
656  %   1 0 Probably first release
657  %   1 1 Added external handler to let ghostview work
658 Index: texlive-bin-2007/build/source/texk/dvipsk/loadfont.c
659 ===================================================================
660 --- texlive-bin-2007.orig/build/source/texk/dvipsk/loadfont.c   2007-05-07 01:38:12.000000000 +0200
661 +++ texlive-bin-2007/build/source/texk/dvipsk/loadfont.c        2007-05-07 01:38:37.000000000 +0200
662 @@ -333,6 +333,9 @@
663     register chardesctype *cd = 0 ;
664     int maxcc = 0 ;
665     int munged = 0 ;
666 +   extern int prettycolumn ;
667 +   extern int quiet ;
668 +   extern char *realnameoffile ;
669  /*
670   *   We clear out some pointers:
671   */
672 @@ -358,6 +361,14 @@
673        tfmload(curfnt) ;
674        return ;
675     }
676 +   if (!quiet) {
677 +      if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
678 +         fprintf(stderr, "\n") ;
679 +         prettycolumn = 0 ;
680 +      }
681 +      (void)fprintf(stderr, "<%s>", realnameoffile);
682 +      prettycolumn += strlen(realnameoffile) + 2 ;
683 +   }
684  #ifdef DEBUG
685     if (dd(D_FONTS))
686        (void)fprintf(stderr,"Loading pk font %s at %.1fpt\n",
687 Index: texlive-bin-2007/build/source/texk/dvipsk/makefont.c
688 ===================================================================
689 --- texlive-bin-2007.orig/build/source/texk/dvipsk/makefont.c   2007-05-07 01:38:12.000000000 +0200
690 +++ texlive-bin-2007/build/source/texk/dvipsk/makefont.c        2007-05-07 01:38:37.000000000 +0200
691 @@ -1,7 +1,5 @@
692 -/*
693 - *   This software is Copyright 1988 by Radical Eye Software.
694 - */
695 -#include "dvips.h"
696 +/* makefont.c */
697 +#include "dvips.h" /* The copyright notice in that file is included too! */
698  #include <math.h>
699  #include "protos.h"
700  extern int quiet ;
701 Index: texlive-bin-2007/build/source/texk/dvipsk/output.c
702 ===================================================================
703 --- texlive-bin-2007.orig/build/source/texk/dvipsk/output.c     2007-05-07 01:38:12.000000000 +0200
704 +++ texlive-bin-2007/build/source/texk/dvipsk/output.c  2007-05-07 01:38:37.000000000 +0200
705 @@ -113,6 +113,7 @@
706  void
707  copyfile_general P2C(char *, s, struct header_list *, cur_header)
708  {
709 +   extern char *realnameoffile ;
710     FILE *f = NULL ;
711     int c, prevc = '\n' ;
712     long len ;
713 @@ -205,7 +206,11 @@
714        error(errbuf) ;
715     else {
716        if (! quiet) {
717 +#if defined(VMCMS) || defined (MVSXA)
718           if (strlen(s) + prettycolumn > STDOUTSIZE) {
719 +#else
720 +         if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
721 +#endif
722              fprintf(stderr, "\n") ;
723              prettycolumn = 0 ;
724           }
725 @@ -215,11 +220,15 @@
726  #ifdef MVSXA
727           (void)fprintf(stderr, "<%s>", trunc_s) ;
728  #else
729 -         (void)fprintf(stderr, "<%s>", s) ;
730 +         (void)fprintf(stderr, "<%s>", realnameoffile) ;
731  #endif
732  #endif
733           (void)fflush(stderr) ;
734 +#if defined(VMCMS) || defined (MVSXA)
735           prettycolumn += 2 + strlen(s) ;
736 +#else
737 +         prettycolumn += 2 + strlen(realnameoffile) ;
738 +#endif
739        }
740        if (linepos != 0)
741           (void)putc('\n', bitfile) ;
742 Index: texlive-bin-2007/build/source/texk/dvipsk/papersiz.c
743 ===================================================================
744 --- texlive-bin-2007.orig/build/source/texk/dvipsk/papersiz.c   2007-05-07 01:38:12.000000000 +0200
745 +++ texlive-bin-2007/build/source/texk/dvipsk/papersiz.c        2007-05-07 01:38:37.000000000 +0200
746 @@ -11,7 +11,7 @@
747   *      0 <= num < den <= 20000
748   *      0 <= whole
749   */
750 -#include "dvips.h"
751 +#include "dvips.h" /* The copyright notice in that file is included too! */
752  #include "protos.h"
753  static long scale P4C(long, whole, long, num, long, den, long, sf)
754  {
755 Index: texlive-bin-2007/build/source/texk/dvipsk/paths.h
756 ===================================================================
757 --- texlive-bin-2007.orig/build/source/texk/dvipsk/paths.h      2007-05-07 01:38:12.000000000 +0200
758 +++ texlive-bin-2007/build/source/texk/dvipsk/paths.h   2007-05-07 01:38:37.000000000 +0200
759 @@ -1,4 +1,4 @@
760 -/*
761 +/*   paths.h - public domain.
762   *   OUTPATH is where to send the output.  If you want a .ps file to
763   *   be created by default, set this to "".  If you want to automatically
764   *   invoke a pipe (as in lpr), make the first character an exclamation
765 Index: texlive-bin-2007/build/source/texk/dvipsk/psfonts.map
766 ===================================================================
767 --- texlive-bin-2007.orig/build/source/texk/dvipsk/psfonts.map  2007-05-07 01:38:12.000000000 +0200
768 +++ texlive-bin-2007/build/source/texk/dvipsk/psfonts.map       2007-05-07 01:38:37.000000000 +0200
769 @@ -1,4 +1,5 @@
770  % original psfonts.map -- match TFM filenames to PostScript FontNames.
771 +% This file is public domain.
772  % (If you change or delete `original' on the previous line, dvips won't
773  % install its psfonts.map over this file.)
774  % 
775 Index: texlive-bin-2007/build/source/texk/dvipsk/resident.c
776 ===================================================================
777 --- texlive-bin-2007.orig/build/source/texk/dvipsk/resident.c   2007-05-07 01:38:12.000000000 +0200
778 +++ texlive-bin-2007/build/source/texk/dvipsk/resident.c        2007-05-07 01:38:37.000000000 +0200
779 @@ -32,6 +32,8 @@
780   *   These are the external variables we use.
781   */
782  extern char *realnameoffile ;
783 +extern int prettycolumn ;
784 +extern int dvips_debug_flag ;
785  #ifdef DEBUG
786  extern integer debug_flag;
787  #endif  /* DEBUG */
788 @@ -441,6 +443,14 @@
789  #else
790     if ((deffile=search(d,PSname,READ))!=NULL) {
791  #endif
792 +   if (dvips_debug_flag && !quiet) {
793 +      if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
794 +         fprintf(stderr, "\n") ;
795 +         prettycolumn = 0 ;
796 +      }
797 +      (void)fprintf(stderr, "{%s}", realnameoffile);
798 +      prettycolumn += strlen(realnameoffile) + 2 ;
799 +   }
800  #ifdef DEBUG
801       if (dd (D_CONFIG)) {
802         fprintf (stderr, "Reading dvips config file `%s':\n", realnameoffile);
803 @@ -845,9 +855,9 @@
804  */
805  void getpsinfo P1C(char *, name)
806  {
807 -    FILE *deffile ;
808 -    register char *p ;
809 -    char *specinfo, *downloadinfo ;
810 +   FILE *deffile ;
811 +   register char *p ;
812 +   char *specinfo, *downloadinfo ;
813     char downbuf[500] ;
814     char specbuf[500] ;
815     int slen ;
816 @@ -855,6 +865,14 @@
817     if (name == 0)
818        name = psmapfile ;
819     if ((deffile=search(mappath, name, READ))!=NULL) {
820 +      if (dvips_debug_flag && !quiet) {
821 +         if (strlen(realnameoffile) + prettycolumn > STDOUTSIZE) {
822 +            fprintf(stderr, "\n") ;
823 +            prettycolumn = 0 ;
824 +         }
825 +         (void)fprintf(stderr, "{%s}", realnameoffile);
826 +         prettycolumn += strlen(realnameoffile) + 2 ;
827 +      }
828        while (fgets(was_inline, INLINE_SIZE, deffile)!=NULL) {
829           p = was_inline ;
830           if (*p > ' ' && *p != '*' && *p != '#' && *p != ';' && *p != '%') {
831 Index: texlive-bin-2007/build/source/texk/dvipsk/special.lpro
832 ===================================================================
833 --- texlive-bin-2007.orig/build/source/texk/dvipsk/special.lpro 2007-05-07 01:38:12.000000000 +0200
834 +++ texlive-bin-2007/build/source/texk/dvipsk/special.lpro      2007-05-07 01:38:37.000000000 +0200
835 @@ -1,6 +1,5 @@
836 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
837 -%%     header for the \special command
838 -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
839 +% special.lpro - public domain.
840 +%     header for the \special command
841  %   The structure of the PostScript produced by dvips for \special is:
842  %         @beginspecial
843  %           - any number of @hsize, @hoffset, @hscale, etc., commands
844 Index: texlive-bin-2007/build/source/texk/dvipsk/squeeze.c
845 ===================================================================
846 --- texlive-bin-2007.orig/build/source/texk/dvipsk/squeeze.c    2007-05-07 01:38:12.000000000 +0200
847 +++ texlive-bin-2007/build/source/texk/dvipsk/squeeze.c 2007-05-07 01:38:37.000000000 +0200
848 @@ -1,7 +1,4 @@
849  /*
850 - *   This software is Copyright 1988 by Radical Eye Software.
851 - */
852 -/*
853   *   This routine squeezes a PostScript file down to its
854   *   minimum.  We parse and then output it.
855   */
856 @@ -14,7 +11,7 @@
857  #include <stdio.h>
858  #include <stdlib.h>
859  #include <string.h>
860 -#include "dvips.h"
861 +#include "dvips.h" /* The copyright notice in that file is included too! */
862  #endif
863  #ifdef fopen
864  #undef fopen
865 Index: texlive-bin-2007/build/source/texk/dvipsk/tex.lpro
866 ===================================================================
867 --- texlive-bin-2007.orig/build/source/texk/dvipsk/tex.lpro     2007-05-07 01:38:12.000000000 +0200
868 +++ texlive-bin-2007/build/source/texk/dvipsk/tex.lpro  2007-05-07 01:38:37.000000000 +0200
869 @@ -1,3 +1,5 @@
870 +% tex.lpro - public domain.
871 +% 
872  % The following defines procedures assumed and used by program "dvips"
873  % and must be downloaded or sent as a header file for all TeX jobs.
874  % Originated by Neal Holtz, Carleton University, Ottawa, Canada
875 Index: texlive-bin-2007/build/source/texk/dvipsk/texc.script
876 ===================================================================
877 --- texlive-bin-2007.orig/build/source/texk/dvipsk/texc.script  2007-05-07 01:38:12.000000000 +0200
878 +++ texlive-bin-2007/build/source/texk/dvipsk/texc.script       2007-05-07 01:38:37.000000000 +0200
879 @@ -1,5 +1,5 @@
880  #! /bin/sh
881 -# A shell script to convert tex.lpro to texc.lpro
882 +# A shell script to convert tex.lpro to texc.lpro.  Public domain.
883  #
884  # To use it, say
885  #       texc.script tex.lpro texc.lpro
886 Index: texlive-bin-2007/build/source/texk/dvipsk/texps.lpro
887 ===================================================================
888 --- texlive-bin-2007.orig/build/source/texk/dvipsk/texps.lpro   2007-05-07 01:38:12.000000000 +0200
889 +++ texlive-bin-2007/build/source/texk/dvipsk/texps.lpro        2007-05-07 01:38:37.000000000 +0200
890 @@ -1,5 +1,5 @@
891  % Thanks for some changes to:
892 -%+ This is TEXPS.LPRO as modified by Rob Hutchings 1992Apr02
893 +%+ This is TEXPS.LPRO as modified by Rob Hutchings 1992Apr02.  Public domain.
894  %+ My comments are marked as %+ 
895  % PostScript prolog for using resident fonts.
896  %+ Provision is made to change the encoding scheme in special instructions. 
This page took 0.137212 seconds and 3 git commands to generate.