summaryrefslogtreecommitdiff
path: root/Master/xemtex/gslib/caption.ps
blob: 81a11c01a0170af4b8c3545a52c454aae7565cbd (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
%!
%    Copyright (C) 1995 Aladdin Enterprises.  All rights reserved.
% 
% This program is free software; you can redistribute it and/or modify it
% under the terms of the GNU General Public License as published by the
% Free Software Foundation; either version 2 of the License, or (at your
% option) any later version.
%
% This program is distributed in the hope that it will be useful, but
% WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
% Public License for more details.
%
% You should have received a copy of the GNU General Public License along
% with this program; if not, write to the Free Software Foundation, Inc.,
% 59 Temple Place, Suite 330, Boston, MA, 02111-1307.

% $Id: caption.ps,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $
% Add a "caption" to the bottom of each page.
/captionsize 20 def
/caption
 { /Helvetica //captionsize selectfont
   (Printed by Aladdin's XXYYZZ) show
   /Symbol //captionsize selectfont
   (\324) show		% trademarkserif
   /Helvetica //captionsize selectfont
   ( product) show
 } bind def

10 dict begin
gsave
  initgraphics
  clippath pathbbox
  pop exch 36 add /by exch def
		% We can't use stringwidth, so we have to show and measure.
  gsave
    0 0 0 0 rectclip
    0 0 moveto caption currentpoint pop /bw exch def
  grestore
  add bw sub 2 div /bx exch def
		% We don't have the font bbox available, so we guess.
  /bh captionsize 1.05 mul def
grestore
/showcaption
 { gsave
     initgraphics
     //bx 9 sub //by 9 sub //bw 18 add //bh 18 add
     1 setgray 4 copy rectfill 0 setgray 1.5 setlinewidth rectstroke
     //bx //by moveto //caption exec
   grestore
 } bind def
<< /EndPage [
   /showcaption load /exec load
   currentpagedevice /EndPage get /exec load
   ] cvx
>> setpagedevice
end