123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- % 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 % <fontname> <fontdict> registerfont <font>
- { 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
|