summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/lib/unprot.ps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlgs/lib/unprot.ps')
-rw-r--r--Master/tlpkg/tlgs/lib/unprot.ps67
1 files changed, 67 insertions, 0 deletions
diff --git a/Master/tlpkg/tlgs/lib/unprot.ps b/Master/tlpkg/tlgs/lib/unprot.ps
new file mode 100644
index 00000000000..fce2db10cdc
--- /dev/null
+++ b/Master/tlpkg/tlgs/lib/unprot.ps
@@ -0,0 +1,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