summaryrefslogtreecommitdiff
path: root/support/hypertex/tanmoy/ghostview-1.5-hacked/gvpdf.pro
blob: 33550fc2dd6982b6b11bdba85da4fe14e496e954 (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
% This file is part of the hacked version of the ghostview package
% which is distributed under the terms of the gnu license. The
% modification referred to above is by Tanmoy Bhattacharya,
% <tanmoy@qcd.lanl.gov> on Nov 17, 1994. Neither the modification,
% nor the original program provides any warranty.
100 dict dup begin
/setcorner {pop pop} bind def
/oval {3 index 3 index moveto
       3 index 1 index lineto
       1 index 1 index lineto
       1 index 3 index lineto
       closepath 4 {pop} repeat} bind def
/mymatrix matrix defaultmatrix def
/pdfmark{
 ] dup length dict dup 3 -1 roll false exch
 {exch{put dup false}{true}ifelse}forall pop exch pop
 exch                                  % type dict
 dup /Border known                     % type dict bool
   {dup /Border get                      
     dup length                          
      dup 3 eq                           % type dict Border length bool
       {pop aload pop                       
         dup 0 eq                           % type dict cx cy w bool
          {pop pop pop false}               % type dict false
          {gsave mymatrix setmatrix
           setlinewidth setcorner true}     % type dict true
         ifelse}                          %type dict bool
       {4 eq                                % type dict Border bool
         {aload pop                            
          1 index 0 eq                         % type dict cx cy w str bool
           {pop pop pop pop false}               % type dict false
           {gsave mymatrix setmatrix
            0 setdash setlinewidth setcorner true}
                                                 % type dict true
          ifelse}                               %type dict bool
         {pop gsave mymatrix setmatrix          % type dict
          [] 0 setstroke
          0 setlinewidth
          0 0 setcorner
          true}                                % type dict true
        ifelse}                              % type dict bool
      ifelse}                               % type dict bool
   {gsave mymatrix setmatrix
    [] 0 setstroke
    0 setlinewidth
    0 0 setcorner
    true}                                   % type dict true
  ifelse                              % type dict bool
  {dup /Color known                   % type dict bool
    {dup /Color get                     
      dup length
       dup 3 eq                         % type dict Color length bool
        {pop aload pop setrgbcolor}    % type dict 
        {4 eq                           % type dict Color bool
         {aload pop setcmykcolor}         % type dict
         {pop}                            % type dict
         ifelse}                       % type dict
       ifelse}                        % type dict
   if                                 % type dict
   dup /Rect known
    {dup /Rect get
      dup length
       4 eq                           % type dict Rect bool
        {aload pop newpath
         oval stroke}                 % type dict
        {pop}                         % type dict
       ifelse}                        % type dict
   if
   grestore}                          % type dict
  if
 (\012\045\045[pdfinfo:\012) print
 [ 3 1 roll
 {} forall
 ] ==
 (\045\045]\012) print
 flush
}bind def
end /gvpdf exch def gvpdf begin