parag@hpsdeb.sde.hp.com (Parag Patel) (05/24/91)
Submitted-by: Parag Patel <parag@hpsdeb.sde.hp.com> Posting-number: Volume 20, Issue 18 Archive-name: dvi/patch01 Patch-To: dvi: Volume 19, Issue 64-66 This is the first bug-fix release for dvi. The following is a list of modifications contained in this patch: - dvi has been ported to Sparc - minor ifdef needed, - version string was slightly modified so say_hello() in main.C works, - also looks for fonts such as /path/cmr7.300pk and cmr7.300gf, - Makefile was modified to allow overriding the default font search path. To apply this patch cd to the dvi source directory, unshar this file and the "patch < patch-1.6-1.7". -- Parag ---- Cut Here and feed the following to sh ---- #!/bin/sh # This is a shell archive (produced by shar 3.49) # To extract the files from this archive, save it to a file, remove # everything above the "!/bin/sh" line above, and type "sh file_name". # # made 05/23/1991 17:49 UTC by parag@hpsdeb # Source directory /users/parag/tools/tex/dvi/VERSIONS # # existing files will NOT be overwritten unless -c is specified # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 10794 -rw-r--r-- patch-1.6-1.7 # # ============= patch-1.6-1.7 ============== if test -f 'patch-1.6-1.7' -a X"$1" != X"-c"; then echo 'x - skipping patch-1.6-1.7 (File already exists)' else sed 's/^X//' << 'SHAR_EOF' > 'patch-1.6-1.7' && *** tmp/Makefile Thu May 9 13:25:23 1991 --- Makefile Mon May 20 19:05:45 1991 *************** *** 1,5 X # Copyright (c) 1991 by Parag Patel. All Rights Reserved. ! # $Header: Makefile,v 1.22 91/05/09 14:25:22 hmgr Exp $ X X CXX = CC X .SUFFIXES: .C X --- 1,5 ----- X # Copyright (c) 1991 by Parag Patel. All Rights Reserved. ! # $Header: Makefile,v 1.24 91/05/20 20:05:44 hmgr Exp $ X X CXX = CC X .SUFFIXES: .C *************** *** 7,13 X $(CXX) $(CFLAGS) -c $< X X # other system-dependent options - use only one of the -D<sys> macros: ! #CFLAGS = -O -DBSD -DMSDOS X CFLAGS = -g X LIBS = -lm X X --- 7,17 ----- X $(CXX) $(CFLAGS) -c $< X X # other system-dependent options - use only one of the -D<sys> macros: ! # -DBSD for BSD derivatives ! # -DMSDOS for Zortech C++ - also run "make msdos-files" ! # -DFREE_TAKES_CHAR if you have a free(char*) instead of free(void*) ! # -DHP2686_FPATH=/path1:/path2:... ! # to modify the default font search path X CFLAGS = -g X LIBS = -lm X *** tmp/README Fri Feb 22 15:31:52 1991 --- README Thu May 23 10:45:10 1991 *************** *** 1,4 ! $Header: README,v 1.10 91/02/22 16:31:45 hmgr Exp $ X X Copyright (c) 1991 by Parag Patel. All Rights Reserved. X You can do what you wish with this as long as X --- 1,4 ----- ! $Header: README,v 1.15 91/05/23 11:45:11 hmgr Exp $ X X Copyright (c) 1991 by Parag Patel. All Rights Reserved. X You can do what you wish with this as long as *************** *** 9,20 X software. It is completely unsupported. You're on your own. X X ! This is version 1.4 of my TeX DVI filter. I'd written it about 4 years ! ago since, at that time, the only LaserJet DVI filters available to me ! were in Pascal and ungodly slow. Anyway, it's been pointed out to me ! that "dvi" still one of the better DVIs around, so I figured it was time ! to get off my duff and make it available to the world at large. Or at ! small - I'm not picky. X X The man-page lists all the pertinent details, but here's some X highlights: X --- 9,20 ----- X software. It is completely unsupported. You're on your own. X X ! This is the TeX DVI filter which I'd written it about 4 years ago when, ! at that time, the only LaserJet DVI filters available to me were in ! Pascal and ungodly slow. Anyway, it's been pointed out to me that "dvi" ! still one of the better DVIs around, so I figured it was time to get off ! my duff and make it available to the world at large. Or at small - I'm ! not picky. X X The man-page lists all the pertinent details, but here's some X highlights: *************** *** 47,57 X among other things.) X X Dvi currently compiles right up on HP-UX 7.0, 6.5, and 6.2 (s300s or ! s800s), BSD4.3 (Tahoe) on hp300 hardware, and Zortech C++ on MSDOS. I ! use AT&T's C++ 2.0 (cfront) and not G++ on all my Unix boxes. I do NOT ! use C++ streams, but do use stdio. I have NO idea how much work it'll ! take to get it running on other systems or using G++, but it shouldn't ! be too hard. X X X Anyway, just type "make" to build a debug version of "dvi". Then copy X --- 47,57 ----- X among other things.) X X Dvi currently compiles right up on HP-UX 7.0, 6.5, and 6.2 (s300s or ! s800s), BSD4.3 (Tahoe) on hp300 hardware, Zortech C++ on MSDOS, and ! Sparc. I use AT&T's C++ 2.0 (cfront) and not G++ on all my Unix boxes. ! I do NOT use C++ streams, but do use stdio. I have NO idea how much ! work it'll take to get it running on other systems or using G++, but it ! shouldn't be too hard. X X X Anyway, just type "make" to build a debug version of "dvi". Then copy *************** *** 57,63 X Anyway, just type "make" to build a debug version of "dvi". Then copy X "dvi" and "dvi.1" to whatever names and whatever places you want them. X You will have to define -DMSDOS or -DBSD in the Makefile if you are on ! those systems. X X Use "make ljdump" to build the "ljdump" program. This is useful for X debugging dvi by converting PCL to a semi-human-readable dump. X --- 57,63 ----- X Anyway, just type "make" to build a debug version of "dvi". Then copy X "dvi" and "dvi.1" to whatever names and whatever places you want them. X You will have to define -DMSDOS or -DBSD in the Makefile if you are on ! those systems. My Sparc also needed -DFREE_TAKES_CHAR. X X Use "make ljdump" to build the "ljdump" program. This is useful for X debugging dvi by converting PCL to a semi-human-readable dump. *************** *** 74,76 X X X -- Parag Patel <parag@sde.hp.com> X --- 74,89 ----- X X X -- Parag Patel <parag@sde.hp.com> + + + + --------------------REVISION-INFO---------------------- + + 1.6 released on HP INTERX Contrib Tape and comp.sources.misc + + 1.7 first bug-fix release + files modified: Makefile README extern.h main.C readfont.C hp2686.h + ported to Sparc - minor ifdef needed + version string slightly modified so say_hello() in main.C works + also look for fonts such as /path/cmr7.300pk and cmr7.300gf + allow overriding default font search path from Makefile *** tmp/extern.h Fri Feb 22 14:59:13 1991 --- extern.h Fri May 17 15:28:16 1991 *************** *** 1,5 X // Copyright (c) 1991 by Parag Patel. All Rights Reserved. ! // $Header: extern.h,v 1.24 91/02/22 15:59:02 hmgr Exp $ X X // externs for various LaserJet+ DVI filter functions X // X --- 1,5 ----- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved. ! // $Header: extern.h,v 1.25 91/05/17 16:28:17 hmgr Exp $ X X // externs for various LaserJet+ DVI filter functions X // *************** *** 91,97 X // convienient inlines - these would otherwise would have to go elsewhere X X inline char *strnew(size_t len) { return (char*)malloc(len + 1); } ! inline void strfree(char *s) { if (s != NULL) free((void *)s); } X inline char *strdup(const char *s) X { return s != NULL ? strcpy((char*)malloc(strlen(s) + 1), s) : NULL; } X inline boolean streq(const char *s1, const char *s2) X --- 91,101 ----- X // convienient inlines - these would otherwise would have to go elsewhere X X inline char *strnew(size_t len) { return (char*)malloc(len + 1); } ! #if FREE_TAKES_CHAR ! inline void strfree(const char *s) { if (s != NULL) free((char *)s); } ! #else ! inline void strfree(const char *s) { if (s != NULL) free((const void *)s); } ! #endif X inline char *strdup(const char *s) X { return s != NULL ? strcpy((char*)malloc(strlen(s) + 1), s) : NULL; } X inline boolean streq(const char *s1, const char *s2) *** tmp/main.C Tue Apr 2 16:50:35 1991 --- main.C Fri May 17 15:28:21 1991 *************** *** 1,5 X // Copyright (c) 1991 by Parag Patel. All Rights Reserved. ! static const char rcsid[] = "$Header: main.C,v 1.31 91/04/02 17:50:33 hmgr Exp $"; X X // TeX DVI filter main() - just parses arguments and calls functions X // X --- 1,5 ----- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved. ! static const char rcsid[] = "$Header: main.C,v 1.32 91/05/17 16:28:22 hmgr Exp $"; X X // TeX DVI filter main() - just parses arguments and calls functions X // *************** *** 7,13 X X #include "defs.h" X ! static char *const whatid = "@(#) dvi 1.6 (02 April 1991)"; X X static void say_hello() X { X --- 7,13 ----- X X #include "defs.h" X ! static char *const whatid = "@(#)dvi 1.7 (02 April 1991)"; X X static void say_hello() X { *** tmp/readfont.C Tue Apr 2 16:50:29 1991 --- readfont.C Mon May 20 15:12:45 1991 *************** *** 1,5 X // Copyright (c) 1991 by Parag Patel. All Rights Reserved. ! static const char rcsid[] = "$Header: readfont.C,v 1.21 91/04/02 17:50:26 hmgr Exp $"; X X // read font data from the METAFONT GF (generic font) files X // X --- 1,5 ----- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved. ! static const char rcsid[] = "$Header: readfont.C,v 1.22 91/05/20 16:12:46 hmgr Exp $"; X X // read font data from the METAFONT GF (generic font) files X // *************** *** 31,36 X static char buf[MAXPATHLEN + 1]; X sprintf(buf, "%s/%s/%s%s", dir, mag, base, ext); X char *path = buf; X FILE *fp = fopen(path, F_READ); X if (fp == NULL) X return FALSE; X --- 31,38 ----- X static char buf[MAXPATHLEN + 1]; X sprintf(buf, "%s/%s/%s%s", dir, mag, base, ext); X char *path = buf; + + debug(3, "looking for font file %s", path); X FILE *fp = fopen(path, F_READ); X if (fp == NULL) X return FALSE; *************** *** 109,114 X if (tryfile(f, p.path, gfmagdir(p.dirs, f.mag), f.basename, "")) X return; X if (tryfile(f, p.path, pkmagdir(p.dirs, f.mag), f.basename, "")) X return; X } X quit("Cannot find font file \"%s\" (at or near magnification %ld.%03ld) anywhere", X --- 111,124 ----- X if (tryfile(f, p.path, gfmagdir(p.dirs, f.mag), f.basename, "")) X return; X if (tryfile(f, p.path, pkmagdir(p.dirs, f.mag), f.basename, "")) + return; + + char ext[30]; + sprintf(ext, ".%dpk", RESOLUTION); + if (tryfile(f, p.path, pkmagdir(p.dirs, f.mag), f.basename, ext)) + return; + sprintf(ext, ".%dgf", RESOLUTION); + if (tryfile(f, p.path, pkmagdir(p.dirs, f.mag), f.basename, ext)) X return; X } X quit("Cannot find font file \"%s\" (at or near magnification %ld.%03ld) anywhere", *** tmp/hp2686.h Fri Feb 22 14:58:59 1991 --- hp2686.h Mon May 20 19:05:50 1991 *************** *** 1,5 X // Copyright (c) 1991 by Parag Patel. All Rights Reserved. ! // $Header: hp2686.h,v 1.13 91/02/22 15:58:47 hmgr Exp $ X X // HP2686 LaserJet+ device-specific definitions. X // The LaserJet+ Reference Manual should be consulted for more X --- 1,5 ----- X // Copyright (c) 1991 by Parag Patel. All Rights Reserved. ! // $Header: hp2686.h,v 1.14 91/05/20 20:05:52 hmgr Exp $ X X // HP2686 LaserJet+ device-specific definitions. X // The LaserJet+ Reference Manual should be consulted for more *************** *** 37,42 X void rule(double v, double h); X }; X X #define HP2686_FPATH "/usr/lib/tex/fontbits/laser:/usr/lib/tex/fnt:/usr/local/tex/fontbits/laser" X X // about 1 inch from both margins - tweaked until TeX test comes out right X --- 37,43 ----- X void rule(double v, double h); X }; X + #ifndef HP2686_FPATH X #define HP2686_FPATH "/usr/lib/tex/fontbits/laser:/usr/lib/tex/fnt:/usr/local/tex/fontbits/laser" X #endif X *************** *** 38,43 X }; X X #define HP2686_FPATH "/usr/lib/tex/fontbits/laser:/usr/lib/tex/fnt:/usr/local/tex/fontbits/laser" X X // about 1 inch from both margins - tweaked until TeX test comes out right X // when printed to a LaserJet - lots of fun with unprintable regions! X --- 39,45 ----- X X #ifndef HP2686_FPATH X #define HP2686_FPATH "/usr/lib/tex/fontbits/laser:/usr/lib/tex/fnt:/usr/local/tex/fontbits/laser" + #endif X X // about 1 inch from both margins - tweaked until TeX test comes out right X // when printed to a LaserJet - lots of fun with unprintable regions! SHAR_EOF chmod 0644 patch-1.6-1.7 || echo 'restore of patch-1.6-1.7 failed' Wc_c="`wc -c < 'patch-1.6-1.7'`" test 10794 -eq "$Wc_c" || echo 'patch-1.6-1.7: original size 10794, current size' "$Wc_c" fi exit 0 exit 0 # Just in case... -- Kent Landfield INTERNET: kent@sparky.IMD.Sterling.COM Sterling Software, IMD UUCP: uunet!sparky!kent Phone: (402) 291-8300 FAX: (402) 291-4362 Please send comp.sources.misc-related mail to kent@uunet.uu.net.