enscript/enscript-wrap_header.patch

122 lines
4.1 KiB
Diff
Raw Normal View History

--- enscript-1.6.1/lib/simple.hdr.wrap_header 1997-03-03 09:00:08.000000000 +0100
+++ enscript-1.6.1/lib/simple.hdr 2007-02-12 12:57:02.000000000 +0100
@@ -1,50 +1,68 @@
-%
-% Default simple header.
-% Copyright (c) 1995 Markku Rossi.
-% Author: Markku Rossi <mtr@iki.fi>
-%
-
-%
-% This file is part of GNU enscript.
-%
-% 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, 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; see the file COPYING. If not, write to
-% the Free Software Foundation, 59 Temple Place - Suite 330,
-% Boston, MA 02111-1307, USA.
-%
-
-% -- code follows this line --
-%Format: fmodstr $D{%a %b %d %H:%M:%S %Y}
-%Format: pagenumstr $V$%
-
-/do_header { % print default simple header
- gsave
- d_header_x d_header_y HFpt_h 3 div add translate
-
- HF setfont
- user_header_p {
- 5 0 moveto user_header_left_str show
-
- d_header_w user_header_center_str stringwidth pop sub 2 div
- 0 moveto user_header_center_str show
-
- d_header_w user_header_right_str stringwidth pop sub 5 sub
- 0 moveto user_header_right_str show
- } {
- 5 0 moveto fname show
- 45 0 rmoveto fmodstr show
- 45 0 rmoveto pagenumstr show
- } ifelse
-
- grestore
-} def
+%
+% Default simple header.
+% Copyright (c) 1995 Markku Rossi.
+% Author: Markku Rossi <mtr@iki.fi>
+%
+% Modified: Chris Josefy, USA, MAY 2006
+% + Added line wrapping to header to work more like AIX enscript
+% + This assumes that one does not change the header font size from the default
+% + This also assumes that the line only wraps once
+
+%
+% This file is part of GNU enscript.
+%
+% 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, 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; see the file COPYING. If not, write to
+% the Free Software Foundation, 59 Temple Place - Suite 330,
+% Boston, MA 02111-1307, USA.
+%
+
+% -- code follows this line --
+%Format: fmodstr $D{%a %b %d %H:%M:%S %Y}
+%Format: pagenumstr $V$%
+%HeaderHeight: 44
+
+/do_header { % print default simple header
+ gsave
+ d_header_x d_header_y HFpt_h 3 div add translate
+
+ HF setfont
+ user_header_p {
+ 5 0 moveto user_header_left_str show
+
+ d_header_w user_header_center_str stringwidth pop sub 2 div
+ 0 moveto user_header_center_str show
+
+ d_header_w user_header_right_str stringwidth pop sub 5 sub
+ 0 moveto user_header_right_str show
+ } {
+ fname length fmodstr length add pagenumstr length add 95 6 idiv add d_header_w 6 idiv le{
+ 5 0 moveto fname show
+ 45 0 rmoveto fmodstr show
+ 45 0 rmoveto pagenumstr show
+ } {
+ 5 0 moveto fmodstr show
+ 45 0 rmoveto pagenumstr show
+ fname length d_header_w 6 idiv idiv 1 add 10 mul 5 exch moveto
+ 1 1 fname length d_header_w 6 idiv idiv
+ {
+ dup fname exch 1 sub d_header_w 6 idiv mul d_header_w 6 idiv getinterval show
+ 5 exch 10 mul fname length d_header_w 6 idiv idiv 1 add 10 mul exch sub moveto
+ } for
+ 5 10 moveto
+ fname fname length d_header_w 6 idiv idiv d_header_w 6 idiv mul dup fname length exch sub getinterval show
+ }ifelse
+ }ifelse
+
+ grestore
+} def