home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 April / PCWorld_2001-04_cd.bin / Software / Vyzkuste / gs / gsv36w32.exe / gsview / gsview32.exe / RCDATA / 951 next >
Text File  |  2000-12-28  |  3KB  |  109 lines

  1. /ViewerPreProcess { systemdict begin
  2.   dup length dict copy  
  3.   dup /HWResolution undef
  4.   dup /HWMargins undef
  5.   dup /Margins undef
  6.   dup /Orientation undef
  7.   dup /InputAttributes undef
  8.   dup /TextAlphaBits undef
  9.   dup /GraphicsAlphaBits undef
  10.   dup /PageSize undef
  11.   GSview /ImagingBBox get null eq 
  12.   { GSview dup /PageSize get
  13.     /Size exch put
  14.     GSview /PageOffset [0 0] put
  15.   }
  16.   { GSview dup /ImagingBBox get
  17.     [ exch
  18.     dup 0 get exch dup 2 get 3 -1 roll sub exch
  19.     dup 1 get exch 3 get exch sub 
  20.     ]
  21.     /Size exch put
  22.     GSview /Orientation get
  23.     dup 0 eq
  24.     { % portrait
  25.       GSview dup /ImagingBBox get
  26.       [ exch dup 0 get neg exch 1 get neg ]
  27.       /PageOffset exch put
  28.     }
  29.     if
  30.     dup 1 eq
  31.     { % landscape
  32.       GSview dup /ImagingBBox get
  33.       [
  34.         exch dup 1 get neg exch 2 get
  35.        GSview /Size get
  36.         0 get
  37.        sub
  38.         exch neg exch neg
  39.       ]
  40.       /PageOffset exch put
  41.     }
  42.     if
  43.     dup 2 eq
  44.     { % upside-down
  45.       GSview dup /ImagingBBox get
  46.       [ exch dup 2 get exch 3 get
  47.        GSview /Size get
  48.         dup 0 get exch 1 get
  49.         exch 3 1 roll
  50.         sub 3 1 roll
  51.         sub exch
  52.       ]
  53.       /PageOffset exch put
  54.     }
  55.     if
  56.     dup 3 eq
  57.     { % seascape
  58.       GSview dup /ImagingBBox get
  59.       [ exch dup 0 get exch 3 get
  60.        GSview /Size get
  61.         1 get sub
  62.        exch neg
  63.         exch neg exch neg
  64.       ]
  65.       /PageOffset exch put
  66.     }
  67.     if
  68.     pop
  69.   }
  70.   ifelse
  71.   dup /TextAlphaBits GSview /TextAlphaBits get put
  72.   dup /GraphicsAlphaBits GSview /GraphicsAlphaBits get put
  73.   dup /PageSize GSview /Size get put
  74.   dup /HWResolution GSview /HWResolution get put
  75.   dup /PageOffset GSview /PageOffset get put
  76.   dup /Orientation GSview /Orientation get put
  77.   GSview /ImagingBBox get null eq 
  78.   { % create an ImagingBBox from PageSize
  79.     dup /ImagingBBox [ 0 0
  80.     GSview /PageSize get
  81.     dup 0 get exch 1 get ]
  82.     put
  83.   }
  84.   { % use supplied ImagingBBox
  85.     dup /ImagingBBox GSview /ImagingBBox get put
  86.   }
  87.   ifelse
  88.   dup /Policies << /PageSize 5 >> put
  89.   dup /InputAttributes <<
  90.     0 << /PageSize [
  91.       GSview /Orientation get
  92.       dup 0 eq
  93.       exch 2 eq 
  94.       or
  95.       { % portrait or upside down
  96.         GSview /Size get
  97.         dup 0 get exch 1 get
  98.       }
  99.       { % landscape or seascape
  100.         GSview /Size get
  101.         dup 1 get exch 0 get
  102.       }
  103.       ifelse
  104.     ]
  105.     >>
  106.   >> put
  107.   end % pop systemdict 
  108. }