plan9fox/sys/lib/ghostscript/caption.ps
2011-03-30 19:35:09 +03:00

57 lines
1.7 KiB
PostScript

%!
% Copyright (C) 1995 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: caption.ps,v 1.4 2002/02/21 21:49:28 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