diff options
Diffstat (limited to 'Build/source/texk/dvipsk/contrib/volker')
17 files changed, 475 insertions, 0 deletions
diff --git a/Build/source/texk/dvipsk/contrib/volker/README b/Build/source/texk/dvipsk/contrib/volker/README new file mode 100644 index 00000000000..f2138917eda --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/README @@ -0,0 +1,149 @@ +NOTE S Rahtz 1998/01/18: renamed files to suite 8+3 <name>.cfg style +******************************************************************** + +Release 1.13, 21 Aug 1995 +Release 1.12, 02 Mar 1995 +Release 1.0, 20 Feb 1995 + +This is a set of files which can be used with dvips to control certain +parameters of the printer, like simplex/duplex printing, or screen +frequencies of images. + +Put together by Volker Kuhlmann, VOLKER@ELEC.CANTERBURY.AC.NZ. +No copyright. Freely distributable. If you make additions, please send +me a copy. + + +LIST OF FILES +============= + +README This file. +config.* Configuration files and header files for dvips. Special + format which serves both purposes. + + +INSTALLATION +============ + +Copy these files into a directory which is searched by dvips both for +configuration files and for header files. dvips looks in $TEXCONFIG for +configuration files, and in $DVIPSHEADERS for header files. For details +please see the dvips documentation. + + +USAGE +===== + +dvips reads the instructions in a configuration file <configfilename> +with the -P option: + + dvips -P <configfilename> + +All these configuration files contain the PostScript code for the +respective operation as well, and can be used as header file as they are. + +Now to the stuff provided: + +-P simplex On a duplex printer, force printing in simplex mode. On + a simplex printer, this will be ignored. +-P duplong On a duplex printer, force duplex printing with binding + on the long edge. On a simplex printer, this will be + ignored. +-P dupshort On a duplex printer, force duplex printing with binding + on the short edge. On a simplex printer, this will be + ignored. +-P a3 Print on A3 paper. + Note: this is just a demo - use "-t a3" instead! +-P inv Print all pages inverted, i.e. white letters on black + background. + Note: this currently does not work properly. Any + hints/fixes greatly appreciated! +-P screenN Print images with a screen frequency of N lpi at + 45 degrees. + N = {70, 80, 85, 90, 100, 110, 120, 130, 140, 150} +-P screen100-0 Print images with a screen frequency of 100lpi + at 0 degrees. + +Note: When working with screen frequencies, it is possible that + turning the printer off and back on solves the problem of the + screen commands not having any effect. + + +CONTROLLING SCREEN FREQUENCIES +============================== + +Various PostScript commands for controlling the screen frequencies of +images exist, but not all work on all printers. See fragments of +PostScript code and comments below. The form working on most printers is + + LPI DEGREES {FUNCTION} setscreen + +Insert numbers for LPI and DEGREES, and a function for FUNCTION about +which I only know (right or wrong?): + + "Should read 2 values from the stack (x, y coordinates in a + halftone cell), and return one in the range -1 to 1. The return + values determine the order in which pixels within a halftone + cell are whitened to produce any desired shade of gray." + +The simplest function is {pop}, creating a "linescreen" pattern. There +is also a function "Dot" (currently used) and "Ellipse". For any other +frequencies/angles/functions put the instructions in a file, and load +the file with + + dvips -h <filename> + +Thanks to osakari@unda.fi (Olavi Sakari) for some help, and the "Dot" +and "Ellipse" code. + +Notes follow: + + +%currentscreen 3 1 roll pop pop 70 45 3 -1 roll setscreen +% Works on HP LJ3Si, HP LJ4m. Ignored on HP LJ4mv (VK). + + +%currentscreen 3 1 roll pop pop 70 45 3 -1 roll sethalftone +% Ignored on HP LJ4mv (VK). + + +%70 45 {pop} setscreen +% Produces a funny, 1-diagonal pattern ("linescreen") on HP LJ4mv (VK). + + +% "Dot": +%70 45 {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 +% sub }{dup mul exch dup mul add 1 exch sub }ifelse} setscreen +% Works on HP LJ3Si, HP LJ4m, HP LJ4mv (VK). + + +% "Ellipse": +%70 45 {dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub} setscreen +% Works on HP LJ4mv (VK). + + +%70 45 +%<< +% /HalftoneType 1 + % 0 gives range check error, 2 gives undefined error (VK). +% /Frequency 150 +% /Angle 20 + % the values for /Frequency, /Angle are irrelevant +% /SpotFunction {pop} +%>> +%setscreen +% 70 45 seem to replace /Frequency and /Angle in dict +% - Note: NO curly braces around the dict! +% Works on HP LJ4m, produces errors with HP LJ3Si, +% Produces "linescreen" on HP LJ4mv caused by {pop} (VK). + + +%<< +% /HalftoneType 1 +% % 0 gives range check error, 2 gives undefined error (VK). +% /Frequency 70 +% /Angle 45 +% /SpotFunction {pop} +%>> +%sethalftone % Level 2 only +% Produces "linescreen" on HP LJ4mv caused by {pop} (VK). diff --git a/Build/source/texk/dvipsk/contrib/volker/a3.cfg b/Build/source/texk/dvipsk/contrib/volker/a3.cfg new file mode 100644 index 00000000000..380359026f7 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/a3.cfg @@ -0,0 +1,17 @@ +% config.a3 +% Configuration file for dvips. Load with: dvips -P a3. +% +% Forces printing on A3 paper. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 21 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + a3 +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.a3 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/duplong.cfg b/Build/source/texk/dvipsk/contrib/volker/duplong.cfg new file mode 100644 index 00000000000..4c5d1f7cff9 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/duplong.cfg @@ -0,0 +1,19 @@ +% config.duplong +% Configuration file for dvips. Load with: dvips -P duplong. +% +% Prints in duplex mode with binding on the long edge. +% Ignored on a simplex printer. +% Works on HP LaserJet IIISi. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + statusdict begin true setduplexmode false settumble end +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.duplong + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/dupshort.cfg b/Build/source/texk/dvipsk/contrib/volker/dupshort.cfg new file mode 100644 index 00000000000..b025ba95696 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/dupshort.cfg @@ -0,0 +1,19 @@ +% config.dupshort +% Configuration file for dvips. Load with: dvips -P dupshort. +% +% Prints in duplex mode with binding on the short edge. +% Ignored on a simplex printer. +% Works on HP LaserJet IIISi. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + statusdict begin true setduplexmode true settumble end +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.dupshort + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/inv.cfg b/Build/source/texk/dvipsk/contrib/volker/inv.cfg new file mode 100644 index 00000000000..7b6223c92d4 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/inv.cfg @@ -0,0 +1,21 @@ +% config.inv +% Configuration file for dvips. Load with: dvips -P inv. +% +% Invert the printing. +% This currently mucks up the first of the pages printed. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + %[{} + /exec load currenttransfer /exec load] cvx settransfer + [{1 exch sub} /exec load currenttransfer /exec load] cvx settransfer + %/fPP true def +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.inv + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr100-0.cfg b/Build/source/texk/dvipsk/contrib/volker/scr100-0.cfg new file mode 100644 index 00000000000..1f30f67010d --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr100-0.cfg @@ -0,0 +1,21 @@ +% config.screen100-0 +% Configuration file for dvips. Load with: dvips -P screen100-0. +% +% Sets screen frequency and angle for images to 100lpi/0degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 100 0 + % "Dot" function: + {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 + sub }{dup mul exch dup mul add 1 exch sub }ifelse} + setscreen +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen100-0 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr100.cfg b/Build/source/texk/dvipsk/contrib/volker/scr100.cfg new file mode 100644 index 00000000000..636a7c373d5 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr100.cfg @@ -0,0 +1,21 @@ +% config.screen100 +% Configuration file for dvips. Load with: dvips -P screen100. +% +% Sets screen frequency and angle for images to 100lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 100 45 + % "Dot" function: + {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 + sub }{dup mul exch dup mul add 1 exch sub }ifelse} + setscreen +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen100 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr110.cfg b/Build/source/texk/dvipsk/contrib/volker/scr110.cfg new file mode 100644 index 00000000000..6b3f4d19f00 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr110.cfg @@ -0,0 +1,21 @@ +% config.screen110 +% Configuration file for dvips. Load with: dvips -P screen110. +% +% Sets screen frequency and angle for images to 110lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 110 45 + % "Dot" function: + {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 + sub }{dup mul exch dup mul add 1 exch sub }ifelse} + setscreen +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen110 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr120.cfg b/Build/source/texk/dvipsk/contrib/volker/scr120.cfg new file mode 100644 index 00000000000..fe878ece24a --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr120.cfg @@ -0,0 +1,21 @@ +% config.screen120 +% Configuration file for dvips. Load with: dvips -P screen120. +% +% Sets screen frequency and angle for images to 120lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 120 45 + % "Dot" function: + {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 + sub }{dup mul exch dup mul add 1 exch sub }ifelse} + setscreen +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen120 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr130.cfg b/Build/source/texk/dvipsk/contrib/volker/scr130.cfg new file mode 100644 index 00000000000..aa8f96bc85d --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr130.cfg @@ -0,0 +1,21 @@ +% config.screen130 +% Configuration file for dvips. Load with: dvips -P screen130. +% +% Sets screen frequency and angle for images to 130lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 130 45 + % "Dot" function: + {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 + sub }{dup mul exch dup mul add 1 exch sub }ifelse} + setscreen +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen130 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr140.cfg b/Build/source/texk/dvipsk/contrib/volker/scr140.cfg new file mode 100644 index 00000000000..2dfc4acebf3 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr140.cfg @@ -0,0 +1,21 @@ +% config.screen140 +% Configuration file for dvips. Load with: dvips -P screen140. +% +% Sets screen frequency and angle for images to 140lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 140 45 + % "Dot" function: + {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 + sub }{dup mul exch dup mul add 1 exch sub }ifelse} + setscreen +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen140 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr150.cfg b/Build/source/texk/dvipsk/contrib/volker/scr150.cfg new file mode 100644 index 00000000000..2798e4e5081 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr150.cfg @@ -0,0 +1,21 @@ +% config.screen150 +% Configuration file for dvips. Load with: dvips -P screen150. +% +% Sets screen frequency and angle for images to 150lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 150 45 + % "Dot" function: + {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 + sub }{dup mul exch dup mul add 1 exch sub }ifelse} + setscreen +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen150 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr70.cfg b/Build/source/texk/dvipsk/contrib/volker/scr70.cfg new file mode 100644 index 00000000000..1d5fd85253f --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr70.cfg @@ -0,0 +1,21 @@ +% config.screen70 +% Configuration file for dvips. Load with: dvips -P screen70. +% +% Sets screen frequency and angle for images to 70lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 70 45 + % "Dot" function: + {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 + sub }{dup mul exch dup mul add 1 exch sub }ifelse} + setscreen +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen70 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr80.cfg b/Build/source/texk/dvipsk/contrib/volker/scr80.cfg new file mode 100644 index 00000000000..32c8ab16a31 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr80.cfg @@ -0,0 +1,21 @@ +% config.screen80 +% Configuration file for dvips. Load with: dvips -P screen80. +% +% Sets screen frequency and angle for images to 80lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 80 45 + % "Dot" function: + {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 + sub }{dup mul exch dup mul add 1 exch sub }ifelse} + setscreen +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen80 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr85.cfg b/Build/source/texk/dvipsk/contrib/volker/scr85.cfg new file mode 100644 index 00000000000..1fec0c09efa --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr85.cfg @@ -0,0 +1,21 @@ +% config.screen85 +% Configuration file for dvips. Load with: dvips -P screen85. +% +% Sets screen frequency and angle for images to 85lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 02 Mar 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 85 45 + % "Dot" function: + {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 + sub }{dup mul exch dup mul add 1 exch sub }ifelse} + setscreen +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen85 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/scr90.cfg b/Build/source/texk/dvipsk/contrib/volker/scr90.cfg new file mode 100644 index 00000000000..a02a707d1c5 --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/scr90.cfg @@ -0,0 +1,21 @@ +% config.screen90 +% Configuration file for dvips. Load with: dvips -P screen90. +% +% Sets screen frequency and angle for images to 90lpi/45degree. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + 90 45 + % "Dot" function: + {abs exch abs 2 copy add 1 gt {1 sub dup mul exch 1 sub dup mul add 1 + sub }{dup mul exch dup mul add 1 exch sub }ifelse} + setscreen +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.screen90 + } pop % PostScript cleanup diff --git a/Build/source/texk/dvipsk/contrib/volker/simplex.cfg b/Build/source/texk/dvipsk/contrib/volker/simplex.cfg new file mode 100644 index 00000000000..bdf5160430c --- /dev/null +++ b/Build/source/texk/dvipsk/contrib/volker/simplex.cfg @@ -0,0 +1,19 @@ +% config.simplex +% Configuration file for dvips. Load with: dvips -P simplex. +% +% Forces printing in simplex mode on a duplex printer. +% Ignored on a simplex printer. +% Works on HP LaserJet IIISi. +% +% This file is built so it can be used both as the header file for +% PostScript and as the configuration file for dvips. +% (Note that dvips ignores any lines beginning with a space or a "%".) +% +% Volker Kuhlmann, 20 Feb 1995 +% VOLKER@ELEC.CANTERBURY.AC.NZ +% + statusdict begin false setduplexmode end +% + { % start a procedure so PostScript `ignores' the dvips options. +h config.simplex + } pop % PostScript cleanup |