summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/lib/unprot.ps
blob: d5b1d19ff7aec3c51d8ff8fb91b02b50d2be8132 (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
% 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.
%

% 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