$OpenBSD: patch-texmf_dvips_config_config_ps,v 1.1 2008/01/26 13:07:24 steven Exp $
--- texmf/dvips/config/config.ps.orig	Fri Jan 25 11:45:26 2008
+++ texmf/dvips/config/config.ps	Fri Jan 25 11:46:04 2008
@@ -1,4 +1,5 @@
-% teTeX's config.ps. Thomas Esser, 1998, public domain.
+% config.ps - configuration file for dvips.
+% Tomas Rokicki, Thomas Esser, Karl Berry, et al., 1986ff, public domain.
 
 % Memory available. Download the three-line PostScript file:
 %   %! Hey, we're PostScript
@@ -7,8 +8,11 @@
 % to determine this number. (It will be the only thing printed.)
 m 3500000
 
-% z1 is "secure", i.e., inhibits execution of `shell commands` in
-% \specials.  Dvips allows this by default.
+% Run securely.  z2 disables both shell command execution in
+% `\special' and config files (via the `E' option) and opening of any
+% absolute filenames.  z1, the default, forbids shell escapes but
+% allows absolute filenames.  z0 allows both.  The corresponding
+% command line options are -R0|-R1|-R2
 z1
 
 % How to print, maybe with lp instead lpr, etc. If commented-out, output
@@ -40,167 +44,534 @@ Z0
 
 % Partially download Type 1 fonts by default.  Only reason not to do
 % this is if you encounter bugs.  (Please report them to
-% @email{tex-k@@mail.tug.org} if you do.)
+% @email{tex-k@tug.org} if you do.)
 j
 
 % This shows how to add your own map file.
 % Remove the comment and adjust the name:
 % p +myfonts.map
 
-% 0 0 595 842 is the right bounding box that most applications expect
-% for A4.  Since dvips always rounds up, choose something slightly smaller.
+% If we have setpagedevice, use that.
+% else if we have the a4 resp. letter operator, use that.
+% else do nothing to set the page size.
+% 
+% In the past, the a4size and letterSize definitions did not set the
+% page size, but we want to set it if we can so that ps2pdf can work
+% properly.  Here, a4 and a4size, and letter and letterSize, are
+% identical, and we prefer the a4/letter names -- texconfig uses them.
+ 
+% 0 0 595 842 is the right bounding box that applications expect
+% for A4.  Since dvips always rounds up, choose something slightly
+% smaller for our paper size.
 
-@ A4size 594.99bp 841.99bp
+@ a4 210mm 297mm
 @+ ! %%DocumentPaperSizes: a4
-@+ %%PaperSize: A4
+@+ %%BeginPaperSize: a4
+@+ /setpagedevice where
+@+  { pop << /PageSize [595 842] >> setpagedevice }
+@+  { /a4 where { pop a4 } if }
+@+ ifelse
+@+ %%EndPaperSize
 
-@ letterSize 8.5in 11in
+@ letter 8.5in 11in
 @+ ! %%DocumentPaperSizes: Letter
+@+ %%BeginPaperSize: Letter
+@+ /setpagedevice where
+@+  { pop << /PageSize [612 792] >> setpagedevice }
+@+  { /letter where { pop letter } if }
+@+ ifelse
+@+ %%EndPaperSize
 
-@ letter 8.5in 11in
+@ a4size 210mm 297mm
+@+ ! %%DocumentPaperSizes: a4
+@+ %%BeginPaperSize: a4
+@+ /setpagedevice where
+@+  { pop << /PageSize [595 842] >> setpagedevice }
+@+  { /a4 where { pop a4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ letterSize 8.5in 11in
 @+ ! %%DocumentPaperSizes: Letter
 @+ %%BeginPaperSize: Letter
-@+ letter
+@+ /setpagedevice where
+@+  { pop << /PageSize [612 792] >> setpagedevice }
+@+  { /letter where { pop letter } if }
+@+ ifelse
 @+ %%EndPaperSize
 
+% The jacow paper size is the smaller of letter and a4 in both
+% dimensions, and can therefore hopefully be printed on either paper
+% size.  As far as we know, Volker Schaa first used it for the JACOW
+% conference proceedings that he produced.
+@ jacow 210mm 11in
+@+ ! %%DocumentPaperSizes: jacow
+@+ %%BeginPaperSize: jacow
+@+ /setpagedevice where
+@+  { pop << /PageSize [595 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ halfexecutive 133mm 184mm
+@+ ! %%DocumentPaperSizes: halfexecutive
+@+ %%BeginPaperSize: halfexecutive
+@+ /setpagedevice where
+@+  { pop << /PageSize [378 522] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ halfletter 140mm 216mm
+@+ ! %%DocumentPaperSizes: halfletter
+@+ %%BeginPaperSize: halfletter
+@+ /setpagedevice where
+@+  { pop << /PageSize [396 612] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ statement 140mm 216mm
+@+ ! %%DocumentPaperSizes: statement
+@+ %%BeginPaperSize: statement
+@+ /setpagedevice where
+@+  { pop << /PageSize [396 612] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ executive 184mm 267mm
+@+ ! %%DocumentPaperSizes: executive
+@+ %%BeginPaperSize: executive
+@+ /setpagedevice where
+@+  { pop << /PageSize [522 756] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% for powerdot
+@ screen 8.25in 11in
+@+ ! %%DocumentPaperSizes: Screen
+@+ %%BeginPaperSize: Screen
+@+ /setpagedevice where
+@+  { pop << /PageSize [594 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+% a common size for printers (in north america).
+@ sixbynine 6in 9in
+@+ ! %%DocumentPaperSizes: SixByNine
+@+ %%BeginPaperSize: SixByNine
+@+ /setpagedevice where
+@+  { pop << /PageSize [432 648] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ quarto 215mm 275mm
+@+ ! %%DocumentPaperSizes: quarto
+@+ %%BeginPaperSize: quarto
+@+ /setpagedevice where
+@+  { pop << /PageSize [610 780] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ note 216mm 279mm
+@+ ! %%DocumentPaperSizes: note
+@+ %%BeginPaperSize: note
+@+ /setpagedevice where
+@+  { pop << /PageSize [612 792] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ folio 216mm 330mm
+@+ ! %%DocumentPaperSizes: folio
+@+ %%BeginPaperSize: folio
+@+ /setpagedevice where
+@+  { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
 @ legal 8.5in 14in
 @+ ! %%DocumentPaperSizes: Legal
 @+ %%BeginPaperSize: Legal
-@+ legal
+@+ /setpagedevice where
+@+  { pop << /PageSize [612 1008] >> setpagedevice }
+@+ if
 @+ %%EndPaperSize
 
+@ 10x14 10in 14in
+@+ ! %%DocumentPaperSizes: 10x14
+@+ %%BeginPaperSize: 10x14
+@+ /setpagedevice where
+@+  { pop << /PageSize [720 1008] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
 @ ledger 17in 11in
 @+ ! %%DocumentPaperSizes: Ledger
 @+ %%BeginPaperSize: Ledger
-@+ ledger
+@+ /setpagedevice where
+@+  { pop << /PageSize [1224 792] >> setpagedevice }
+@+ if
 @+ %%EndPaperSize
 
 @ tabloid 11in 17in
 @+ ! %%DocumentPaperSizes: Tabloid
 @+ %%BeginPaperSize: Tabloid
-@+ 11x17
+@+ /setpagedevice where
+@+  { pop << /PageSize [792 1224] >> setpagedevice }
+@+ if
 @+ %%EndPaperSize
 
-@ a6 105mm 148mm
-@+ ! %%DocumentPaperSizes: a6
-@+ %%BeginPaperSize: a6
-@+ a6
+@ 11x17 11in 17in
+@+ ! %%DocumentPaperSizes: 11x17
+@+ %%BeginPaperSize: 11x17
+@+ /setpagedevice where
+@+  { pop << /PageSize [792 1224] >> setpagedevice }
+@+ if
 @+ %%EndPaperSize
 
-@ a5 148mm 210mm
-@+ ! %%DocumentPaperSizes: a5
-@+ %%BeginPaperSize: a5
-@+ a5
+@ a0 841mm 1189mm
+@+ ! %%DocumentPaperSizes: a0
+@+ %%BeginPaperSize: a0
+@+ /setpagedevice where
+@+  { pop << /PageSize [2384 3370] >> setpagedevice }
+@+  { /a0 where { pop a0 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
-@ a4 594.99bp 841.99bp
-@+ ! %%DocumentPaperSizes: a4
-@+ %%BeginPaperSize: a4
-@+ a4
+@ a1 594mm 841mm
+@+ ! %%DocumentPaperSizes: a1
+@+ %%BeginPaperSize: a1
+@+ /setpagedevice where
+@+  { pop << /PageSize [1684 2384] >> setpagedevice }
+@+  { /a1 where { pop a1 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
+@ a2 420mm 594mm
+@+ ! %%DocumentPaperSizes: a2
+@+ %%BeginPaperSize: a2
+@+ /setpagedevice where
+@+  { pop << /PageSize [1191 1684] >> setpagedevice }
+@+  { /a2 where { pop a2 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
 @ a3 297mm 420mm
 @+ ! %%DocumentPaperSizes: a3
 @+ %%BeginPaperSize: a3
-@+ a3
+@+ /setpagedevice where
+@+  { pop << /PageSize [842 1191] >> setpagedevice }
+@+  { /a3 where { pop a3 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
-@ a2 420mm 595mm
-@+ ! %%DocumentPaperSizes: a2
-@+ %%BeginPaperSize: a2
-@+ a2
+@ a5 148mm 210mm
+@+ ! %%DocumentPaperSizes: a5
+@+ %%BeginPaperSize: a5
+@+ /setpagedevice where
+@+  { pop << /PageSize [420 595] >> setpagedevice }
+@+  { /a5 where { pop a5 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
-@ a1 595mm 841mm
-@+ ! %%DocumentPaperSizes: a1
-@+ %%BeginPaperSize: a1
-@+ a1
+@ a6 105mm 148mm
+@+ ! %%DocumentPaperSizes: a6
+@+ %%BeginPaperSize: a6
+@+ /setpagedevice where
+@+  { pop << /PageSize [298 420] >> setpagedevice }
+@+  { /a6 where { pop a6 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
-@ a0 841mm 1189mm
-@+ ! %%DocumentPaperSizes: a0
-@+ %%BeginPaperSize: a0
-@+ a0
+@ a7 74mm 105mm
+@+ ! %%DocumentPaperSizes: a7
+@+ %%BeginPaperSize: a7
+@+ /setpagedevice where
+@+  { pop << /PageSize [210 298] >> setpagedevice }
+@+  { /a7 where { pop a7 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
-@ b6 125mm 176mm
-@+ ! %%DocumentPaperSizes: b6
-@+ %%BeginPaperSize: b6
-@+ b6
+@ a8 52mm 74mm
+@+ ! %%DocumentPaperSizes: a8
+@+ %%BeginPaperSize: a8
+@+ /setpagedevice where
+@+  { pop << /PageSize [147 210] >> setpagedevice }
+@+  { /a8 where { pop a8 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
-@ b5 176mm 250mm
-@+ ! %%DocumentPaperSizes: b5
-@+ %%BeginPaperSize: b5
-@+ b5
+@ a9 37mm 52mm
+@+ ! %%DocumentPaperSizes: a9
+@+ %%BeginPaperSize: a9
+@+ /setpagedevice where
+@+  { pop << /PageSize [105 147] >> setpagedevice }
+@+  { /a9 where { pop a9 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
-@ b4 250mm 353mm
-@+ ! %%DocumentPaperSizes: b4
-@+ %%BeginPaperSize: b4
-@+ b4
+@ a10 26mm 37mm
+@+ ! %%DocumentPaperSizes: a10
+@+ %%BeginPaperSize: a10
+@+ /setpagedevice where
+@+  { pop << /PageSize [74 105] >> setpagedevice }
+@+  { /a10 where { pop a10 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
-@ b3 353mm 500mm
-@+ ! %%DocumentPaperSizes: b3
-@+ %%BeginPaperSize: b3
-@+ b3
-@+ %%EndPaperSize
-
 @ jisb0 1030mm 1456mm
 @+ ! %%DocumentPaperSizes: jisb0
 @+ %%BeginPaperSize: jisb0
-@+ jisb0
+@+ /setpagedevice where
+@+  { pop << /PageSize [2920 4127] >> setpagedevice }
+@+  { /jisb0 where { pop jisb0 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
 @ jisb1 728mm 1030mm
 @+ ! %%DocumentPaperSizes: jisb1
 @+ %%BeginPaperSize: jisb1
-@+ jisb1
+@+ /setpagedevice where
+@+  { pop << /PageSize [2064 2920] >> setpagedevice }
+@+  { /jisb1 where { pop jisb1 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
 @ jisb2 515mm 728mm
 @+ ! %%DocumentPaperSizes: jisb2
 @+ %%BeginPaperSize: jisb2
-@+ jisb2
+@+ /setpagedevice where
+@+  { pop << /PageSize [1460 2064] >> setpagedevice }
+@+  { /jisb2 where { pop jisb2 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
 @ jisb3 364mm 515mm
 @+ ! %%DocumentPaperSizes: jisb3
 @+ %%BeginPaperSize: jisb3
-@+ jisb3
+@+ /setpagedevice where
+@+  { pop << /PageSize [1032 1460] >> setpagedevice }
+@+  { /jisb3 where { pop jisb3 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
 @ jisb4 257mm 364mm
 @+ ! %%DocumentPaperSizes: jisb4
 @+ %%BeginPaperSize: jisb4
-@+ jisb4
+@+ /setpagedevice where
+@+  { pop << /PageSize [729 1032] >> setpagedevice }
+@+  { /jisb4 where { pop jisb4 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
 @ jisb5 182mm 257mm
 @+ ! %%DocumentPaperSizes: jisb5
 @+ %%BeginPaperSize: jisb5
-@+ jisb5
+@+ /setpagedevice where
+@+  { pop << /PageSize [516 729] >> setpagedevice }
+@+  { /jisb5 where { pop jisb5 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
 @ jisb6 128mm 182mm
 @+ ! %%DocumentPaperSizes: jisb6
 @+ %%BeginPaperSize: jisb6
-@+ jisb6
+@+ /setpagedevice where
+@+  { pop << /PageSize [363 516] >> setpagedevice }
+@+  { /jisb6 where { pop jisb6 } if }
+@+ ifelse
 @+ %%EndPaperSize
 
-% not defined in Ghostscript, per Akira.
-% @ jisb7 91mm 128mm
-% @+ ! %%DocumentPaperSizes: jisb7
-% @+ %%BeginPaperSize: jisb7
-% @+ jisb7
-% @+ %%EndPaperSize
-%
-% @ jisb8 64mm 91mm
-% @+ ! %%DocumentPaperSizes: jisb8
-% @+ %%BeginPaperSize: jisb8
-% @+ jisb8
-% @+ %%EndPaperSize
+@ jisb7 91mm 128mm
+@+ ! %%DocumentPaperSizes: jisb7
+@+ %%BeginPaperSize: jisb7
+@+ /setpagedevice where
+@+  { pop << /PageSize [258 363] >> setpagedevice }
+@+  { /jisb7 where { pop jisb7 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ jisb8 64mm 91mm
+@+ ! %%DocumentPaperSizes: jisb8
+@+ %%BeginPaperSize: jisb8
+@+ /setpagedevice where
+@+  { pop << /PageSize [181 258] >> setpagedevice }
+@+  { /jisb8 where { pop jisb8 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b0 1000mm 1414mm
+@+ ! %%DocumentPaperSizes: b0
+@+ %%BeginPaperSize: b0
+@+ /setpagedevice where
+@+  { pop << /PageSize [2835 4008] >> setpagedevice }
+@+  { /b0 where { pop b0 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b1 707mm 1000mm
+@+ ! %%DocumentPaperSizes: b1
+@+ %%BeginPaperSize: b1
+@+ /setpagedevice where
+@+  { pop << /PageSize [2004 2835] >> setpagedevice }
+@+  { /b1 where { pop b1 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b2 500mm 707mm
+@+ ! %%DocumentPaperSizes: b2
+@+ %%BeginPaperSize: b2
+@+ /setpagedevice where
+@+  { pop << /PageSize [1417 2004] >> setpagedevice }
+@+  { /b2 where { pop b2 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b3 353mm 500mm
+@+ ! %%DocumentPaperSizes: b3
+@+ %%BeginPaperSize: b3
+@+ /setpagedevice where
+@+  { pop << /PageSize [1001 1417] >> setpagedevice }
+@+  { /b3 where { pop b3 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b4 250mm 353mm
+@+ ! %%DocumentPaperSizes: b4
+@+ %%BeginPaperSize: b4
+@+ /setpagedevice where
+@+  { pop << /PageSize [709 1001] >> setpagedevice }
+@+  { /b4 where { pop b4 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b5 176mm 250mm
+@+ ! %%DocumentPaperSizes: b5
+@+ %%BeginPaperSize: b5
+@+ /setpagedevice where
+@+  { pop << /PageSize [499 709] >> setpagedevice }
+@+  { /b5 where { pop b5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ b6 125mm 176mm
+@+ ! %%DocumentPaperSizes: b6
+@+ %%BeginPaperSize: b6
+@+ /setpagedevice where
+@+  { pop << /PageSize [354 499] >> setpagedevice }
+@+  { /b6 where { pop b6 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ c5 162mm 229mm
+@+ ! %%DocumentPaperSizes: c5
+@+ %%BeginPaperSize: c5
+@+ /setpagedevice where
+@+  { pop << /PageSize [459 649] >> setpagedevice }
+@+  { /c5 where { pop c5 } if }
+@+ ifelse
+@+ %%EndPaperSize
+
+@ DL 110mm 220mm
+@+ ! %%DocumentPaperSizes: DL
+@+ %%BeginPaperSize: DL
+@+ /setpagedevice where
+@+  { pop << /PageSize [312 624] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ Comm10 105mm 241mm
+@+ ! %%DocumentPaperSizes: Comm10
+@+ %%BeginPaperSize: Comm10
+@+ /setpagedevice where
+@+  { pop << /PageSize [297 684] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ Monarch 98.4mm 190.5mm
+@+ ! %%DocumentPaperSizes: Monarch
+@+ %%BeginPaperSize: Monarch
+@+ /setpagedevice where
+@+  { pop << /PageSize [279 540] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archE 36in 48in
+@+ ! %%DocumentPaperSizes: archE
+@+ %%BeginPaperSize: archE
+@+ /setpagedevice where
+@+  { pop << /PageSize [2592 3456] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archD 24in 36in
+@+ ! %%DocumentPaperSizes: archD
+@+ %%BeginPaperSize: archD
+@+ /setpagedevice where
+@+  { pop << /PageSize [1728 2592] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archC 18in 24in
+@+ ! %%DocumentPaperSizes: archC
+@+ %%BeginPaperSize: archC
+@+ /setpagedevice where
+@+  { pop << /PageSize [1296 1728] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archB 12in 18in
+@+ ! %%DocumentPaperSizes: archB
+@+ %%BeginPaperSize: archB
+@+ /setpagedevice where
+@+  { pop << /PageSize [864 1296] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ archA 9in 12in
+@+ ! %%DocumentPaperSizes: archA
+@+ %%BeginPaperSize: archA
+@+ /setpagedevice where
+@+  { pop << /PageSize [648 864] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ flsa 216mm 330.2mm
+@+ ! %%DocumentPaperSizes: flsa
+@+ %%BeginPaperSize: flsa
+@+ /setpagedevice where
+@+  { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ flse 216mm 330.2mm
+@+ ! %%DocumentPaperSizes: flse
+@+ %%BeginPaperSize: flse
+@+ /setpagedevice where
+@+  { pop << /PageSize [612 936] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ csheet 431.8mm 558.8mm
+@+ ! %%DocumentPaperSizes: csheet
+@+ %%BeginPaperSize: csheet
+@+ /setpagedevice where
+@+  { pop << /PageSize [1224 1584] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ dsheet 558.8mm 863.6mm
+@+ ! %%DocumentPaperSizes: dsheet
+@+ %%BeginPaperSize: dsheet
+@+ /setpagedevice where
+@+  { pop << /PageSize [1584 2448] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
+
+@ esheet 863.6mm 1117.6mm
+@+ ! %%DocumentPaperSizes: esheet
+@+ %%BeginPaperSize: esheet
+@+ /setpagedevice where
+@+  { pop << /PageSize [2448 3168] >> setpagedevice }
+@+ if
+@+ %%EndPaperSize
 
 @ unknown 0in 0in
 @+ statusdict /setpageparams known { hsize vsize 0 1 statusdict begin {
