summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/lib/gs_ccfnt.ps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlgs/lib/gs_ccfnt.ps')
-rw-r--r--Master/tlpkg/tlgs/lib/gs_ccfnt.ps75
1 files changed, 75 insertions, 0 deletions
diff --git a/Master/tlpkg/tlgs/lib/gs_ccfnt.ps b/Master/tlpkg/tlgs/lib/gs_ccfnt.ps
new file mode 100644
index 00000000000..c33186bf356
--- /dev/null
+++ b/Master/tlpkg/tlgs/lib/gs_ccfnt.ps
@@ -0,0 +1,75 @@
+% 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 6300 2005-12-28 19:56:24Z giles $
+% 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