% Copyright (C) 1994, 2000 Aladdin Enterprises. All rights reserved. % % This file is part of AFPL Ghostscript. % % AFPL 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 Free Public License (the % "License") for full details. % % Every copy of AFPL 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 AFPL 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. % $Id: gs_ccfnt.ps,v 1.5 2001/10/01 05:25:55 lpd Exp $ % 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 % 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