% Copyright (C) 1994 Aladdin Enterprises. All rights reserved. % % This file is part of Aladdin Ghostscript. % % Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author % or distributor accepts any responsibility for the consequences of using it, % or for whether it serves any particular purpose or works at all, unless he % or she says so in writing. Refer to the Aladdin Ghostscript Free Public % License (the "License") for full details. % % Every copy of Aladdin Ghostscript must include a copy of the License, % normally in a plain ASCII text file named PUBLIC. The License grants you % the right to copy, modify and redistribute Aladdin Ghostscript, but only % under certain conditions described in the License. Among other things, the % License requires that the copyright notice and this notice be preserved on % all copies. % Find and register all the precompiled font operators in systemdict. /registerfont % registerfont { DEBUG { (Registering ) print 1 index = } if dup begin Encoding type /nametype eq { Encoding .findencoding /Encoding exch def } if dup /PrefEnc known { PrefEnc type /nametype eq { PrefEnc .findencoding /PrefEnc exch def } if } if dup /FDepVector known { /FDepVector [ FDepVector { FontDirectory 1 index .knownget { exch pop } { ccfonts 1 index .knownget { registerfont } { Fontmap 1 index known { findfont } { pop NullFont } ifelse } ifelse } ifelse } forall ] readonly def } if end definefont } bind def /ccfonts mark systemdict { exch =string cvs (.font_) anchorsearch { pop pop exec dup /FontName get exch } { pop pop } ifelse } forall .dicttomark def ccfonts { FontDirectory 2 index known { pop pop } { registerfont pop } ifelse } forall currentdict /registerfont undef currentdict /ccfonts undef % If we're in a Level 2 system but running in Level 1 mode, % register the fonts explicitly as resources. % This is a bit of a hack, but doing better is too much work. /level2dict where { pop /findresource where { % Level 2 system, Level 2 mode pop } { % Level 2 system, Level 1 mode /Font /Category level2dict /findresource get exec begin FontDirectory { dup .gcheck { Instances } { LocalInstances } ifelse 3 1 roll [exch 0 -1] .growput } forall end } ifelse } if