diff options
Diffstat (limited to 'Master/tlpkg/tlgs/Resource/Init/gs_trap.ps')
-rw-r--r-- | Master/tlpkg/tlgs/Resource/Init/gs_trap.ps | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/Master/tlpkg/tlgs/Resource/Init/gs_trap.ps b/Master/tlpkg/tlgs/Resource/Init/gs_trap.ps new file mode 100644 index 00000000000..71aec983f4b --- /dev/null +++ b/Master/tlpkg/tlgs/Resource/Init/gs_trap.ps @@ -0,0 +1,102 @@ +% Copyright (C) 2001-2012 Artifex Software, Inc. +% All Rights Reserved. +% +% This software is provided AS-IS with no warranty, either express or +% implied. +% +% This software is distributed under license and may not be copied, +% modified or distributed except as expressly authorized under the terms +% of the license contained in the file LICENSE in this distribution. +% +% Refer to licensing information at http://www.artifex.com or contact +% Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134, San Rafael, +% CA 94903, U.S.A., +1(415)492-9861, for further information. +% + +% PostScript LanguageLevel 3 in-RIP trapping support. + +ll3dict begin + +% We need LanguageLevel 2 or higher in order to have setuserparams and +% defineresource. +languagelevel dup 2 .max .setlanguagelevel + +% ------ Trapping ------ % + +% The PostScript-level trapping parameters are maintained in userdict, +% and explicitly reinstalled upon restore. + +/Trapping mark + +/settrapparams dup { % <paramdict> settrapparams - + /.trapparams .uservar dup length dict .copydict + dup 2 index { + % Stack: paramdict olddict olddict key value + 2 index 2 index known { put dup } { pop pop } ifelse + } forall pop + dup .settrapparams % Let the operator check parameter validity. + .userdict /.trapparams 3 -1 roll put pop +} bind .makeoperator + +/.copyparams { % <obj> .copyparams <obj'> + dup type /dicttype eq { + dup length dict .copydict + dup { + .copyparams 3 copy put pop pop + } forall + } { + dup type /arraytype eq { + [ exch { .copyparams } forall ] + } if + } ifelse +} odef + +/currenttrapparams dup { % - currenttrapparams <paramdict> + /.trapparams .uservar .copyparams +} bind .makeoperator + +/settrapzone dup { % - settrapzone - + % ****** DUMMY ****** + newpath +} bind .makeoperator + +% Define initial (dummy) trapping parameters. +% These values are mostly complete guesses. +userdict /.trapparams mark + /BlackColorLimit 1.0 + /BlackDensityLimit 1.0 + /BlackWidth 1.0 + /ColorantZoneDetails 0 dict + /Enabled //true + /HalftoneName //null + /ImageInternalTrapping //false + /ImagemaskTrapping //true + /ImageResolution 1 + /ImageToObjectTrapping //true + /ImageTrapPlacement /Center + /SlidingTrapLimit 1.0 + /StepLimit 1.0 + /TrapColorScaling 0.0 + /TrapSetName //null + /TrapWidth 1.0 +.dicttomark readonly put + +.dicttomark /ProcSet defineresource pop + +% Define the InkParams and TrapParams resource categories. +{ /InkParams /TrapParams } { + /Generic /Category findresource dup maxlength 3 add dict .copydict begin + /InstanceType /dicttype def + currentdict end /Category defineresource pop +} forall + +% Define the TrappingType resource category. +/Generic /Category findresource dup maxlength 3 add dict .copydict begin + /InstanceType /integertype def +/TrappingType currentdict end /Category defineresource pop + +{1001} { dup /TrappingType defineresource pop } forall + +.setlanguagelevel + +end % ll3dict |