% Copyright (C) 1994, 2000 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: gs_ccfnt.ps,v 1.8 2003/04/12 18:08:18 ray Exp $ % Find and register all the precompiled font operators in systemdict. /registerfont % registerfont { CCFONTDEBUG { (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 % Use the value of definefont appropriate at run-time, not bind-time /definefont load exec } bind odef % Bind recursive call (bind descends into oparrays: feature!) /registerfont dup load bind def /.loadinitialfonts { //.loadinitialfonts exec NOCCFONTS not { /ccfonts mark 0 1 null .getccfont 1 sub { .getccfont dup /FontName get exch } for .dicttomark def % Make sure these fonts are registered as "resources". currentfile { pop ccfonts { .FontDirectory 2 index known { pop pop } { registerfont pop } ifelse } forall } .execasresource currentdict /ccfonts .undef } if } bind def currentdict /registerfont .undef