PATH:
usr
/
share
/
ghostscript
/
Resource
/
Init
% Copyright (C) 2001-2018 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., 1305 Grant Avenue - Suite 200, Novato, % CA 94945, U.S.A., +1(415)492-9861, for further information. % % Postscript interface routines to DSC parser /send_orientation { % <orientation> send_orientation - % .parse_dsc_comments returns -1 for an Orientation key with an % unrecognized value. dup 0 ge { << /Orientation 2 index >> setpagedevice } if pop } bind def % This dictionary contains local handlers for DSC comments. % See header in zdscpars.c for more information. % <dsc_dict> handler <dsc_dict> /DSCparseprocs mark /Orientation { dup /Orientation get send_orientation } bind /PageOrientation { dup /PageOrientation .knownget { send_orientation } { dup /Orientation .knownget { send_orientation } if } ifelse } bind /Page { dup /Orientation .knownget { send_orientation } if } bind /NOP { } bind .dicttomark readonly def % This procedure is called whenever a DSC comment is found by the interpreter /do_parse_dsc //false def /parse_dsc { % <file> <DSC string> [<prev proc>] % parse_dsc - % Run any previously installed parser. 0 get dup //null eq { pop } { 3 copy exec pop } ifelse do_parse_dsc { % Check if this parser is enabled currentglobal //true setglobal % Go to global VM, save old state 3 1 roll % Put old VM state under <file> <string> dsc_dict exch % <VM state> <file> <dict> <string> .parse_dsc_comments % <VM state> <file> <dict> <DSC name> 4 -1 roll % Get old VM state from under <file> <dict> <DSC name> setglobal % restore previous VM state //DSCparseprocs exch .knownget { % Check DSC name against local handler list exec % execute any local handler } if } if pop pop % remove file, dict } bind def % Check whether the currently installed parser is the one defined in this file. /.using_parse_dsc { % - .using_parse_dsc <proc> <using?> currentuserparams /ProcessDSCComment get dup //null eq { pop {{//null} //parse_dsc exec} } if dup length 3 eq { dup dup length 1 sub get /parse_dsc load eq } { //false } ifelse } bind def % Establish a binding for dsc_dict. userdict /dsc_dict //null put % - dsc_init - /dsc_init { % Initialize DSC parser currentglobal //true setglobal /dsc_dict 50 dict store % Size must be large enough for all DSC values dsc_dict .initialize_dsc_parser .using_parse_dsc { % Already using this parser. pop } { % Encapsulate the previous parser. We know it is in global VM: % allocate the new one in global VM as well. 1 array astore /parse_dsc load /exec load 3 array astore cvx readonly << /ProcessDSCComment 3 -1 roll >> setuserparams } ifelse setglobal /do_parse_dsc //true def } bind def % Enable the DSC parser defined in this file. % - enable_dsc - /enable_dsc { dsc_init } bind def % Disable the DSC parser defined in this file. % - disable_dsc - /disable_dsc { % There might be another parser installed: if so, restore it. % (If it has encapsulated our parser, we can't.) .using_parse_dsc { % Restore the parser we encapsulated. 0 get 0 get currentglobal //true setglobal exch << /ProcessDSCComment 3 -1 roll >> exch setglobal setuserparams } { pop } ifelse % If we couldn't restore the old parser, at least disable ours. /do_parse_dsc //false def } bind def
[-] FAPIconfig
[edit]
[-] gs_fapi.ps
[edit]
[-] pdf_rbld.ps
[edit]
[-] gs_dscp.ps
[edit]
[-] Fontmap.GS
[edit]
[-] gs_dps1.ps
[edit]
[-] gs_type1.ps
[edit]
[-] gs_il1_e.ps
[edit]
[-] gs_statd.ps
[edit]
[-] gs_ll3.ps
[edit]
[+]
..
[-] gs_ciddc.ps
[edit]
[-] gs_pdfwr.ps
[edit]
[-] gs_ttf.ps
[edit]
[-] gs_btokn.ps
[edit]
[-] pdf_draw.ps
[edit]
[-] gs_icc.ps
[edit]
[-] gs_resmp.ps
[edit]
[-] gs_dps2.ps
[edit]
[-] gs_cidfm.ps
[edit]
[-] gs_cff.ps
[edit]
[-] FAPIfontmap
[edit]
[-] pdf_main.ps
[edit]
[-] gs_frsd.ps
[edit]
[-] gs_pdf_e.ps
[edit]
[-] gs_dps.ps
[edit]
[-] gs_wan_e.ps
[edit]
[-] gs_std_e.ps
[edit]
[-] gs_typ32.ps
[edit]
[-] gs_fonts.ps
[edit]
[-] gs_mro_e.ps
[edit]
[-] gs_cspace.ps
[edit]
[-] gs_res.ps
[edit]
[-] gs_agl.ps
[edit]
[-] pdf_base.ps
[edit]
[-] gs_fntem.ps
[edit]
[-] gs_img.ps
[edit]
[-] gs_setpd.ps
[edit]
[-] gs_cidtt.ps
[edit]
[-] gs_trap.ps
[edit]
[-] pdf_sec.ps
[edit]
[-] gs_dpnxt.ps
[edit]
[-] gs_typ42.ps
[edit]
[-] gs_cidcm.ps
[edit]
[-] gs_mgl_e.ps
[edit]
[-] pdf_font.ps
[edit]
[-] gs_cmap.ps
[edit]
[-] Fontmap
[edit]
[-] pdf_ops.ps
[edit]
[-] gs_diskn.ps
[edit]
[-] gs_mex_e.ps
[edit]
[-] gs_dbt_e.ps
[edit]
[-] gs_epsf.ps
[edit]
[-] gs_cet.ps
[edit]
[-] cidfmap
[edit]
[-] gs_l2img.ps
[edit]
[-] gs_lev2.ps
[edit]
[-] FCOfontmap-PCLPS2
[edit]
[-] xlatmap
[edit]
[-] gs_init.ps
[edit]
[-] FAPIcidfmap
[edit]
[-] gs_sym_e.ps
[edit]
[-] gs_cidfn.ps
[edit]