GSPrintFilter.1.13.README Mar 1997 To be (most likely) placed at: ftp://ftp.next.peak.org/pub/next/apps/utils/printer This GSPrintFilter package includes primarily Aladin Ghostscript, v4.03. It's application here is used as a filter, so that one can use a Non-PostScript printer with NEXTSTEP/OPENSTEP. It comes bundled with many public domain fonts (PostScript and otherwise), but will fall back to using installed Postscript fonts in /NextLibrary/Fonts/outline and /LocalLibrary/Fonts/outline. This is primarily a maintenance release. If you have a previous, working version, there is really no need to upgrade. If in doubt, see the HISTORY section below for detailed changes between versions. FILES GSPrintFilter.1.13.NIHS.b.tar.gz: REQUIRED Alladin ghostscript version 4.03 binaries and assocated files. Installation of this package is optional if you already have homebrewed gs binaries, but you will need to modify the setup instructions appropriately to reflect the different installation and locations of files. GSPrintFilterSetup.1.13.d.tar.gz: REQUIRED Setup instructions and documentation to install ghostscript as a NEXTSTEP/OPENSTEP printer filter. GSPrintFilterFonts.1.13.d.tar.gz OPTIONAL Alladin ghostscript fonts (and associated Fontmap). Extracted from font packages distributed with ghostscript. These fonts aren't neccessary since ghostscript can (and should) be configured to use NeXT's resident PS Fonts. Note that some public domain PS Fonts do not work in conjunction with ghostscript. SUPPORTED PRINTERS This version of ghostscript supports primarily Epson, Canon BubbleJet, HP DeskJet, HP LaserJet, HP PaintJet printers. Any printer capable of emulating these types of printers is also naturally supported. Please refer to the ghostscript www home page and included documentation in /usr/local/lib/ghostscript/4.03/doc for more information. prompt> /usr/local/lib/ghostscript/bin/gs-4.03 --help ...snip... Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PDF Available devices: x11 x11alpha x11cmyk x11mono epson eps9high eps9mid ibmpro epsonc stcolor deskjet djet500 laserjet ljetplus ljet2p ljet3 ljet4 lj4dith ljet5l lbp8 lips3 lj250 declj250 oki182 okiibm st800 cdeskjet cdjcolor cdjmono cdj550 pj pjxl pjxl300 bj10e bj200 bjc600 bjc800 faxg3 faxg32d faxg4 pcxmono pcxgray pcx16 pcx256 pcx24b pbm pbmraw pgm pgmraw pgnm pgnmraw pnm pnmraw ppm ppmraw tiffcrle tiffg3 tiffg32d tiffg4 tifflzw tiffpack tiff12nc tiff24nc psmono bit bitrgb bitcmyk pngmono pnggray png16 png256 png16m pdfwrite nullpage ...snip... INSTALLATION NOTE: most of these steps require root access. Location By default, the Installer.app will place all relavent files in /usr/local/lib. If you want it installed somewhere else, you're on your own. NOTE: the ghostscript binary DOES have support to be optionally installed in /usr/share/lib, but this requires a minor modification of the lpd.filter script to point to the new location. PS Fonts In order for ghostcript to use any custom installed fonts in /LocalLibrary/Fonts you'll need to create an outline directory containing symbolic links similar to the one you'll find in /NextLibrary/Fonts/outline Provided in this package is a script named 'outline.links' that will output shell script commands, that when executed in the given Font directory, will create the proper symbolic links. Create NetInfo Printer Entry Once all files are in place, you'll need to create a Ghostscript printer using PrintManager.app. There are several generic ppd files included in this archive that you may use: you'll have to place them in either /NextLibrary/PrinterTypes/English.lproj or /LocalLibrary/PrinterTypes/English.lproj in order for PrintManager to use them. Alternatively, you can probably just create a printer entry using any ppd you already have (ie. it probably doesn't matter... much... at this stage). Modify NetInfo Printer Entry to use GSPrintFilter Run the provided GSFilter.postinstall script. Unless you specify otherwise on its command line, it assumes you want to use the ljet4 driver and name the new printer LocalGS. Alternatively, you may peruse the scripts contents and make the neccessary changes to NetInfo by hand using NetInfoManager. (Optional, i386 only) Parallel port driver problems NeXT's provided parallel port driver is known to be flaky at times (NEXTSTEP-3.3). I've had MUCH better success using a replacement driver (v1.5) written by Christian Starkjohann. It can be found at your nearest friendly NEXT ftp archive, like: ftp://ftp.next.peak.org/pub/next/sources/drivers/ParallelPortDriver* Alternatively, you may use NeXT's supplied driver and pipe output to a provided program named pp0cat, which will pipe data (with verification) to the parallel port. You can adjust GSPrintFilter to use this by changing all the symbolic links in /usr/local/lib/ghostscript/lpd FROM lpd.filter TO lpd.direct This change will require a small change in the NetInfo/printcap definition for the GS printer. Using NetInfoManager.app, open /printers/LocalGS in the local domain and look for the lp entry. The printcap variable 'lp' should probably be changed FROM /dev/pp0 TO /dev/null since the output of ghostscript is ALREADY being piped to the printer manually. LIMITATIONS 1. This package has been tested only on Intel systems using the: bjc600, cdj550, deskjet, ljet2p, ljet3, ljet4, ljet5l, stcolor drivers. 2. Ghostscript doesn't always parse the postscript you give it. 3. Ghostscript insists on PS input, so you cannot print plain text files (at least not directly). 'lpr mytextfile.txt' fails. You COULD, however, use 'enscript'. Try 'man enscript' for more details. 4. Occurences of occasional faulty output has been verified: Virtical lines missing in Landscape mode (ljet4) Apostrophe's missing (ljet3) TODO 1. Verify functionality on untested platforms: hppa. 1. Build gs to support more output formats/drivers. 2. Installation/Configuration could be easier. (-; HISTORY 1.13 - Fixed runtime error for sparc (compile problem). NOTE: problems MAY exist for untested platforms: hppa (but I think I've guessed well). If you can verify success/failure to me, I'd appreciate it. - lib/ghostscript/4.03/Fontmap: added Fontmap entries for Olhfs and NeXT Screen fonts. - Added drivers: cdj850. 1.12 - Modularized GSPrintFilter into 3 separate packages: binaries, setup documentation, and fonts. - Fixed typo in GSPrintFilter.postinstall so that a 'burst page' no longer prints a garbage 1st page before actual printjob. The script SHOULD set the printcap variables sb AND sh to false), not just sb. Note: similar symptoms as this occur sometimes when using NeXT's Parallel port driver, especially when printouts stop after just a few pages. - Compiled against Xnext X11R6 libs (succesfully, this time). - Added drivers: lbp8, lips3, lj250 (and alternate declj250), oki182, okiibm, st800. 1.11 - Added drivers: epson eps9high eps9mid ibmpro epsonc stcolor lj4dith - Added (Cludged) driver: ljet5l. This is really using the ljet4 driver, but with a lower default resolution (300DPI) to avoid occasional printer memory depletion problems. - Tried compiling against Xnext X11R6 libs, but linking failed. )-; 1.1 - Upgraded to Aladin Ghostscript 4.03 - Fixed runtime error for m68k (compile problem). NOTE: problems MAY exist for untested platforms: hppa, sparc. - Included support for gamma correction to compensate for some VERY dark deskjet printouts. See the lpd.filter script for details. Thanks to: Bill Bumgarner. See also the gs DEPLETION option. - Included more ghostscript output targets (including X11, vairous image types and pdf). This made the binary much larger. X11R5 support is privided via co-Xist developer (X11R5). I MAY recompile against X11R6 Xnext libraries (for another release) if there is interest. 1.0 - Initial Package CREDITS Source Aladin Enterprises Aladin Ghostscript http://www.cs.wisc.edu/~ghost/ Printer Compatibility: http://www.cs.wisc.edu/~ghost/printer.html Additional gs Drivers: (cdj850) ftp://bonk.ethz.ch/gs-driver-distrib/ Package Creation Rex Dieter Computer System Manager Department of Mathematics and Statistics University of Nebraska Lincoln http://www.math.unl.edu/~rdieter/ New i386 Parallel Port Driver: Par.config Christian Starkjohann COPYRIGHT Ghostscript is a copyrighted work (Aladdin Enterprises owns the copyright); it is not shareware or in the public domain. Different versions of it are distributed with three different licenses: Versions entitled "Aladdin Ghostscript" are distributed with a license called the Aladdin Ghostscript Free Public License that allows free use, copying, and distribution by end users, but does not allow commercial distribution. You can always get the current version of Aladdin Ghostscript with this license by Internet FTP from ftp.cs.wisc.edu:/ghost/aladdin/ghostscript*NNNN*_ . or /afs/cs.wisc.edu/public/ghost/aladdin/ghostscript*NNNN* where NNNN is the version number. If you do not have convenient access to the Internet, Aladdin Enterprises can send you Aladdin Ghostscript on PC-compatible diskettes for a small fee; please contact Aladdin for more information. The address and phone number are given later on in this document. Please note that this is not "commercial licensing"; you are still getting free software, with no support and no warranty.