summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/lib/unprot.ps
blob: c8faefebdb70afdb22203e79fb0838d876dbdaf8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
%    Copyright (C) 1991, 1992, 1998 Aladdin Enterprises.  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.
% 
% For more information about licensing, please refer to
% http://www.ghostscript.com/licensing/. For information on
% commercial licensing, go to http://www.artifex.com/licensing/ or
% contact Artifex Software, Inc., 101 Lucas Valley Road #110,
% San Rafael, CA  94903, U.S.A., +1(415)492-9861.

% $Id: unprot.ps 6300 2005-12-28 19:56:24Z giles $
% Disable all access checks.  This is useful for printing out
% eexec-encrypted Type 1 fonts, and similar purposes.

systemdict wcheck
 { /protdict systemdict def
 }
 { (Please restart Ghostscript with the -dWRITESYSTEMDICT switch.\n) print
   (Some access checks will remain active if you do not do this.\n) print
   flush
   /protdict userdict def
 }
ifelse

% The procedures we're about to define will go in systemdict,
% so they must be allocated in global VM.

.currentglobal true .setglobal

protdict begin
   /readonly. /readonly load def
   /executeonly. /executeonly load def
   /noaccess. /noaccess load def
   /readonly { } odef
   /readonly.. /readonly load def
   /executeonly { } odef
   /executeonly.. /executeonly load def
   /noaccess { } odef
   /noaccess.. /noaccess load def
end

% Disable the access checks.

/unprot
 { protdict begin
   /readonly /readonly.. load def
   /executeonly /executeonly.. load def
   /noaccess /noaccess.. load def
   end
 } bind def

% Re-enable the access checks.

/reprot
 { protdict begin
   /readonly /readonly. load def
   /executeonly /executeonly. load def
   /noaccess /noaccess. load def
   end
 } bind def

.setglobal