home *** CD-ROM | disk | FTP | other *** search
- % Copyright (C) 1994, 2000 Aladdin Enterprises. All rights reserved.
- %
- % This software is licensed to a single customer by Artifex Software Inc.
- % under the terms of a specific OEM agreement.
-
- % $RCSfile: gs_ccfnt.ps,v $ $Revision: 1.8 $
- % Find and register all the precompiled font operators in systemdict.
-
- /registerfont % <fontname> <fontdict> registerfont <font>
- { 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
- /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
- } bind def
-
- currentdict /registerfont .undef
-