summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/Resource/Init/gs_cet.ps
blob: 8eb79bb06e0d84ab4f98f88de3a5427b7268e0ec (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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
%!PS
% Set defaults for Ghostscript to match Adobe CPSI behaviour for CET

% do this in the server level so it is persistent across jobs
//true 0 startjob not {
  (*** Warning: CET startup is not in server default) = flush
} if

300 .sethiresscreen	% needed for language switch build since it
                        % processes gs_init.ps BEFORE setting the resolution

0 array 0 setdash % CET 09-08 wants local setdash

currentglobal //true setglobal

{
  systemdict dup dup dup
  /version (3017.102) readonly put		% match CPSI 3017.102
  /product (PhotoPRINT SE 5.0v2) readonly put	% match CPSI 3017.102
  /revision 0 put			% match CPSI 3017.103 Tek shows revision 5
  /serialnumber dup {233640} readonly .makeoperator put % match CPSI 3017.102 Tek shows serialnumber 1401788461
  systemdict /deviceinfo undef                  % for CET 20-23-1
%  /UNROLLFORMS true put                 % CET files do unreasonable things inside forms
} superexec

/UNROLLFORMS true def

{ } bind dup
setblackgeneration
setundercolorremoval
0 array cvx readonly dup dup dup setcolortransfer

% CPSI doesn't define "Localization" resource.
/Localization /Category undefineresource

% Quality Logic test 09-59.ps tries to set each listed /OutputDevice.
% This can cause problems with some devices (eg mswinpr2 on Windows)
% so for the CET files we define the OutputDevice resource as
% being empty. We need to redefine /.definecategory as that definition
% gets destroyed at the end of gs_res.ps
/OutputDevice /Category undefineresource

/.definecategory	% <name> -mark- <key1> ... <valuen> .definecategory -
 { counttomark 2 idiv 2 add		% .Instances, Category
   /Generic /Category findresource dup maxlength 3 -1 roll add
   dict .copydict begin
   counttomark 2 idiv { def } repeat pop	% pop the mark
   currentdict end /Category defineresource pop
 } bind def

/OutputDevice mark /InstanceType /dicttype .definecategory

% Redefine Font category to return -1 (unknown) VM usage
% in all cases to avoid differences between hosts.
/Font /Category findresource
dup length dict copy
dup
dup /.loadfontresource get
dup length array copy cvx
dup 1 0 put
dup 7 -1 put
/.loadfontresource exch put
/Font exch /Category defineresource pop

% Some previously compile time options such as USE_ADOBE_CMYK_RGB
% and GS_CHAR_FILL are now dynamic. Force CPSI compatibility.
//true .setCPSImode

setglobal

% Remove all but 'letter' page size
<<
currentpagedevice /InputAttributes get
1 1 2 index length 1 sub {
  1 index exch undef
} for
/InputAttributes exch
>>
setpagedevice

% Patch setsmoothness, currentsmoothness for a better view of shadings :
userdict /.smoothness currentsmoothness put
/setsmoothness {
   dup type dup /integertype eq exch /realtype eq or {
     userdict /.smoothness 3 2 roll cvr put
   } {
     /setsmoothness .systemvar /typecheck signalerror
   } ifelse
} bind odef
/currentsmoothness { userdict /.smoothness get } bind odef % for 09-55.PS, 09-57.PS .

% slightly nasty hack to give consistent cluster results
/ofnfa systemdict /filenameforall get def

/filenameforall
{
  2 index dup length 1 eq
  {
    (*) eq
    {
      3 -1 roll pop ( ) 3 1 roll
    } if
  }
  {
    pop
  } ifelse
  ofnfa
} bind def
% end of slightly nasty hack to give consistent cluster results

//false 0 startjob pop		% re-enter encapsulated mode