You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
% Copyright (C) 2001-2023 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., 39 Mesa Street, Suite 108A, San Francisco,
% CA 94129, USA, 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} .internalbind .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} .internalbind executeonly .makeoperator
/settrapzone dup { % - settrapzone -
% ****** DUMMY ******
newpath} .internalbind .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
|