home *** CD-ROM | disk | FTP | other *** search
/ PC World 2001 April / PCWorld_2001-04_cd.bin / Software / Vyzkuste / gs / gs650w32.exe / gs6.50 / lib / gs_trap.ps < prev    next >
Text File  |  2000-12-05  |  3KB  |  106 lines

  1. %    Copyright (C) 1999, 2000 Aladdin Enterprises.  All rights reserved.
  2. % This file is part of AFPL Ghostscript.
  3. % AFPL Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author or
  4. % distributor accepts any responsibility for the consequences of using it, or
  5. % for whether it serves any particular purpose or works at all, unless he or
  6. % she says so in writing.  Refer to the Aladdin Free Public License (the
  7. % "License") for full details.
  8. % Every copy of AFPL Ghostscript must include a copy of the License, normally
  9. % in a plain ASCII text file named PUBLIC.  The License grants you the right
  10. % to copy, modify and redistribute AFPL Ghostscript, but only under certain
  11. % conditions described in the License.  Among other things, the License
  12. % requires that the copyright notice and this notice be preserved on all
  13. % copies.
  14.  
  15. % $Id: gs_trap.ps,v 1.3 2000/09/19 18:29:11 lpd Exp $
  16. % PostScript LanguageLevel 3 in-RIP trapping support.
  17.  
  18. ll3dict begin
  19.  
  20. % We need LanguageLevel 2 or higher in order to have setuserparams and
  21. % defineresource.
  22. languagelevel dup 2 max .setlanguagelevel
  23.  
  24. % ------ Trapping ------ %
  25.  
  26. % The PostScript-level trapping parameters are maintained in userdict,
  27. % and explicitly reinstalled upon restore.
  28.  
  29. /Trapping mark
  30.  
  31. /settrapparams dup {        % <paramdict> settrapparams -
  32.   /.trapparams .uservar dup length dict .copydict
  33.   dup 2 index {
  34.             % Stack: paramdict olddict olddict key value
  35.     2 index 2 index known { put dup } { pop pop } ifelse
  36.   } forall pop
  37.   dup .settrapparams    % Let the operator check parameter validity.
  38.   .userdict /.trapparams 3 -1 roll put pop
  39. } bind .makeoperator
  40.  
  41. /.copyparams {        % <obj> .copyparams <obj'>
  42.   dup type /dicttype eq {
  43.     dup length dict .copydict
  44.     dup {
  45.       .copyparams 3 copy put pop pop
  46.     } forall
  47.   } {
  48.     dup type /arraytype eq {
  49.       [ exch { .copyparams } forall ]
  50.     } if
  51.   } ifelse
  52. } odef
  53.  
  54. /currenttrapparams dup {    % - currenttrapparams <paramdict>
  55.   /.trapparams .uservar .copyparams
  56. } bind .makeoperator
  57.  
  58. /settrapzone dup {        % - settrapzone -
  59.     % ****** DUMMY ******
  60.   newpath
  61. } bind .makeoperator
  62.  
  63. % Define initial (dummy) trapping parameters.
  64. % These values are mostly complete guesses.
  65. userdict /.trapparams mark
  66.   /BlackColorLimit 1.0
  67.   /BlackDensityLimit 1.0
  68.   /BlackWidth 1.0
  69.   /ColorantZoneDetails 0 dict
  70.   /Enabled true
  71.   /HalftoneName null
  72.   /ImageInternalTrapping false
  73.   /ImagemaskTrapping true
  74.   /ImageResolution 1
  75.   /ImageToObjectTrapping true
  76.   /ImageTrapPlacement /Center
  77.   /SlidingTrapLimit 1.0
  78.   /StepLimit 1.0
  79.   /TrapColorScaling 0.0
  80.   /TrapSetName null
  81.   /TrapWidth 1.0
  82. .dicttomark readonly put
  83.  
  84. .dicttomark /ProcSet defineresource pop
  85.  
  86. % Define the InkParams and TrapParams resource categories.
  87. { /InkParams /TrapParams } {
  88.   /Generic /Category findresource dup maxlength 3 add dict .copydict begin
  89.     /InstanceType /dicttype def
  90.   currentdict end /Category defineresource pop
  91. } forall
  92.  
  93. % Define the TrappingType resource category.
  94. /Generic /Category findresource dup maxlength 3 add dict .copydict begin
  95.   /InstanceType /integertype def
  96. /TrappingType currentdict end /Category defineresource pop
  97.  
  98. {1001} { dup /TrappingType defineresource pop } forall
  99.  
  100. .setlanguagelevel
  101.  
  102. end            % ll3dict
  103.