]> git.pld-linux.org Git - packages/texlive.git/blame - texlive-dvips_fontbug_fix_upstream.patch
- delete %%attr of %%{fmtdir}/pdftex
[packages/texlive.git] / texlive-dvips_fontbug_fix_upstream.patch
CommitLineData
768e5264
AM
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
36Index: 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.)
80Index: 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.
91Index: 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 "\
114Index: 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 */
153Index: 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
166Index: 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
177Index: 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.
188Index: 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
199Index: 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 }
263Index: 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 ;
282Index: 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.
318Index: 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)
472Index: 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 */
515Index: 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") ;
546Index: 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.",
582Index: 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
592Index: 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 ;
605Index: 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
627Index: 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
642Index: 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
658Index: 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",
687Index: 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 ;
701Index: 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) ;
742Index: 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 {
755Index: 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
765Index: 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 %
775Index: 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 != '%') {
831Index: 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
844Index: 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
865Index: 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
875Index: 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
886Index: 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.145996 seconds and 4 git commands to generate.