unprot.ps 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. % Copyright (C) 1991, 1992, 1998 Aladdin Enterprises. All rights reserved.
  2. %
  3. % This software is provided AS-IS with no warranty, either express or
  4. % implied.
  5. %
  6. % This software is distributed under license and may not be copied,
  7. % modified or distributed except as expressly authorized under the terms
  8. % of the license contained in the file LICENSE in this distribution.
  9. %
  10. % For more information about licensing, please refer to
  11. % http://www.ghostscript.com/licensing/. For information on
  12. % commercial licensing, go to http://www.artifex.com/licensing/ or
  13. % contact Artifex Software, Inc., 101 Lucas Valley Road #110,
  14. % San Rafael, CA 94903, U.S.A., +1(415)492-9861.
  15. % $Id: unprot.ps,v 1.4 2002/02/21 21:49:28 giles Exp $
  16. % Disable all access checks. This is useful for printing out
  17. % eexec-encrypted Type 1 fonts, and similar purposes.
  18. systemdict wcheck
  19. { /protdict systemdict def
  20. }
  21. { (Please restart Ghostscript with the -dWRITESYSTEMDICT switch.\n) print
  22. (Some access checks will remain active if you do not do this.\n) print
  23. flush
  24. /protdict userdict def
  25. }
  26. ifelse
  27. % The procedures we're about to define will go in systemdict,
  28. % so they must be allocated in global VM.
  29. .currentglobal true .setglobal
  30. protdict begin
  31. /readonly. /readonly load def
  32. /executeonly. /executeonly load def
  33. /noaccess. /noaccess load def
  34. /readonly { } odef
  35. /readonly.. /readonly load def
  36. /executeonly { } odef
  37. /executeonly.. /executeonly load def
  38. /noaccess { } odef
  39. /noaccess.. /noaccess load def
  40. end
  41. % Disable the access checks.
  42. /unprot
  43. { protdict begin
  44. /readonly /readonly.. load def
  45. /executeonly /executeonly.. load def
  46. /noaccess /noaccess.. load def
  47. end
  48. } bind def
  49. % Re-enable the access checks.
  50. /reprot
  51. { protdict begin
  52. /readonly /readonly. load def
  53. /executeonly /executeonly. load def
  54. /noaccess /noaccess. load def
  55. end
  56. } bind def
  57. .setglobal