blob: c33186bf356a09a1e38986d27a2d7485d2eb056d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
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
|