summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-text/mpage/files/01_previous_changes.patch')
-rw-r--r--app-text/mpage/files/01_previous_changes.patch740
1 files changed, 740 insertions, 0 deletions
diff --git a/app-text/mpage/files/01_previous_changes.patch b/app-text/mpage/files/01_previous_changes.patch
new file mode 100644
index 000000000000..9b3682547e8c
--- /dev/null
+++ b/app-text/mpage/files/01_previous_changes.patch
@@ -0,0 +1,740 @@
+Index: mpage-2.5.6/file.c
+===================================================================
+--- mpage-2.5.6.orig/file.c 2008-08-11 23:14:20.500638502 +0200
++++ mpage-2.5.6/file.c 2008-08-11 23:28:25.560795737 +0200
+@@ -363,7 +363,7 @@
+ Debug(DB_STDIN, "%%iswanted: opt_first[i]: %d\n", opt_first[i]);
+ Debug(DB_STDIN, "%%iswanted: opt_alt[i]: %d\n", opt_alt[i]);
+ Debug(DB_STDIN, "%%iswanted: opt_last[i]: %d\n", opt_last[i]);
+- if ((sn >= opt_first[i] && (opt_alt[i] <= 1 || (sn - opt_first[i]) % opt_alt[i] == 0) ) &&
++ if ((sn >= opt_first[i]) && ((sn - opt_first[i]) % opt_alt[i] == 0) &&
+ (sn <= opt_last[i])) {
+ Debug(DB_STDIN, "%%iswanted: wanted page %d\n", sn);
+ ps_outpages++;
+Index: mpage-2.5.6/mpage.1.in
+===================================================================
+--- mpage-2.5.6.orig/mpage.1.in 2008-08-11 23:17:10.154306512 +0200
++++ mpage-2.5.6/mpage.1.in 2008-08-11 23:27:23.605265090 +0200
+@@ -1,4 +1,4 @@
+-.TH MPAGE Local 2008/01/14
++.TH MPAGE 1 2008/01/14
+
+ .SH NAME
+ mpage \- print multiple pages per sheet on PostScript printer
+@@ -417,17 +417,33 @@
+ .TP
+ .B -t
+ Toggle printing on both sides of the paper.
+-This will toggle duplex mode of the printer.
+++This option has 3 states: nop, yes, no, which mean:
++.BR NOP :
++ dont do anything on PostScript, so printer default will be used;
++.BR YES :
++ force printer to do duplex;
++.BR NO :
++force printer not to do it.
++If there is no -t, then the duplex is NOP. If you put some -t on
++the command line, the state toggles as "yes,no,yes,no...".
++So, if your printer is set to print, by default, in duplex mode,
++you will use "-t -t" on command line to force it to print in non-duplex mode.
+ Use this option only if your printer is capable of printing in duplex mode.
+ .RI ( default
+-off).
++NOP).
+
+ .TP
+ .B -T
+-Toggle tumble of every second pages when printing in duplex mode.
+-Use this option only if your printer is capable of printing in duplex mode
+-and together with
+-.BR -t .
++Toggle tumble of every second pages.
++This option has 3 states: nop, yes, no (with behaviour similar to -t).
++So, if your printer is set to print, by default, in duplex mode,
++with tumble on,
++you will use "-T -T" on command line to print in nontumble mode.
++Use this option only if your printer is capable of printing in duplex mode.
++With this version of mpage,
++you may use this option even if you do not use -t.
++.RI ( default
++NOP.)
+
+ .TP
+ .B -u
+@@ -546,7 +562,7 @@
+ environment variables.
+
+ .SH FILES
+-/usr/tmp/mpageXXXXXX
++/tmp/mpageXXXXXX
+ .br
+ PREFIX/share/mpage
+
+Index: mpage-2.5.6/mpage.c
+===================================================================
+--- mpage-2.5.6.orig/mpage.c 2008-08-11 23:31:51.044505584 +0200
++++ mpage-2.5.6/mpage.c 2008-08-11 23:39:12.205645922 +0200
+@@ -44,9 +44,21 @@
+ struct sheet *thesheet;
+ char outcommand[LINESIZE]; /* the command which is the output filter */
+
++ char * paper;
++
+ current_locale = setlocale(LC_ALL,"");
+
+-
++#ifdef LIBPAPER
++ paperinit();
++ paper = systempapername();
++ if (!paper)
++ {
++ fprintf(stderr,"systempapername() returned NULL! exiting\n");
++ exit(1);
++ }
++ strncpy(opt_page,paper,31);
++#endif
++
+ #ifdef __EMX__
+ /*
+ * wildcard expansion from emx package (used by OS/2)
+@@ -235,10 +247,10 @@
+ fprintf(outfd, "/mp_stm usertime def\n");
+ fprintf(outfd, "/mp_pgc statusdict begin pagecount end def\n");
+ fprintf(outfd, "statusdict begin /jobname (%s) def end\n", name);
+- if (opt_duplex) {
++ if (opt_duplex && opt_duplex != 4 ) {
+ fprintf(outfd, "statusdict /setduplexmode known");
+ fprintf(outfd, " { statusdict begin true setduplexmode end } if\n");
+- if (opt_tumble) {
++ if (opt_tumble && opt_tumble != 4 ) {
+ fprintf(outfd, "statusdict /settumble known ");
+ fprintf(outfd, "{ statusdict begin true settumble end } if\n");
+ }
+Index: mpage-2.5.6/mpage.h
+===================================================================
+--- mpage-2.5.6.orig/mpage.h 2008-08-11 23:39:40.279245746 +0200
++++ mpage-2.5.6/mpage.h 2008-08-11 23:45:02.565611800 +0200
+@@ -31,6 +31,10 @@
+ #include <limits.h>
+ #include <string.h>
+
++#ifdef LIBPAPER
++#include <paper.h>
++#endif
++
+ #define VERSION "2.5.6 Januari 2008"
+
+ #define TRUE 1
+@@ -125,10 +129,11 @@
+ /*
+ * set default page size
+ */
++#ifndef LIBPAPER
+ #if !defined(PAGE_DEF)
+ # define PAGE_DEF "A4"
+ #endif
+-
++#endif
+ /*
+ * define print spooler types
+ */
+@@ -221,9 +226,6 @@
+ extern int ps_height; /* number of points in the Y direction (11 inches) */
+ extern char * media; /* name of output page media */
+
+-
+-extern struct page_desc paper[];
+-
+ /* array of sheets where pages are ordered for coli ??? */
+ extern struct sheet coli[];
+
+@@ -280,7 +282,11 @@
+ extern int opt_width; /* number of columns to fit on reduced page */
+ extern int opt_mp_header; /* let mpage create a header */
+ extern int opt_sheetheader; /* let mpage create sheetheaders */
++#ifndef LIBPAPER
+ extern char * opt_page; /* sheets size: a4 or us letter */
++#else
++extern char opt_page[]; /* sheets size: a4 or us letter */
++#endif
+ extern int opt_fold; /* fold long lines */
+ extern int opt_outline; /* print a nice outline around pages */
+ extern int opt_verbose; /* print a count of pages sent to printer */
+Index: mpage-2.5.6/page.c
+===================================================================
+--- mpage-2.5.6.orig/page.c 2008-08-11 23:48:28.317336922 +0200
++++ mpage-2.5.6/page.c 2008-08-11 23:55:46.090284181 +0200
+@@ -21,6 +21,8 @@
+ #include "mpage.h"
+ #include "string.h"
+
++extern struct page_desc paper[];
++
+ #define PAPERSIZE_FILE "/etc/papersize"
+ void
+ check_papersize()
+@@ -59,12 +61,24 @@
+ void
+ set_page()
+ {
++#ifndef LIBPAPER
+ int i = select_pagetype(opt_page);
+
+ media = paper[i].media;
+ ps_width = paper[i].width;
+ ps_height = paper[i].height;
+-
++#else
++ struct paper * ps;
++ ps=paperinfo(opt_page);
++ if (!ps) {
++ fprintf(stderr,"%s: unknown page format: %s\n",
++ MPAGE, opt_page);
++ exit(1);
++ }
++ media = papername(ps);
++ ps_width = paperpswidth(ps);
++ ps_height = paperpsheight(ps);
++#endif
+ return;
+
+ } /* set_page */
+@@ -76,11 +90,21 @@
+ {
+ int i = 0;
+
++#ifndef LIBPAPER
+ while (paper[i].media && strcasecmp(pt, paper[i].media))
+ i++;
+ if (paper[i].media)
+ opt_page = paper[i].media;
+ else
++#else
++ struct paper * ps;
++
++ strncpy(opt_page,pt,31);
++ opt_page[31]='\0';
++
++ ps=paperinfo(opt_page);
++ if (!ps)
++#endif
+ fprintf(stderr, "%s: ignoring unknown paper type: %s\n",
+ MPAGE, pt);
+ return i;
+Index: mpage-2.5.6/FAQ
+===================================================================
+--- mpage-2.5.6.orig/FAQ 2008-08-11 23:54:21.317453255 +0200
++++ mpage-2.5.6/FAQ 2008-08-11 23:55:38.833870662 +0200
+@@ -27,3 +27,14 @@
+
+ This information is buried in the dvips manual somewhere, but is not easy
+ to find!
++
++Using mpage with magicfilter
++============================
++Andreas Jellinghaus <aj@debian.org> writes:
++
++I'm using mpage with lprng and magicfilter. My local magic filter setup
++is /usr/sbin/ljet4l-filter, and this line passes all ASCII files to mpage :
++default pipe /usr/bin/mpage -A -2
++
++I don't want to waste paper with ASCII texts. MPage also works for
++postscript files.
+Index: mpage-2.5.6/README
+===================================================================
+--- mpage-2.5.6.orig/README 2008-08-11 23:56:29.352749569 +0200
++++ mpage-2.5.6/README 2008-08-11 23:07:25.849008850 +0200
+@@ -1,28 +1,3 @@
+-
+-COPYRIGHT:
+-
+-Mpage and all the files distributed with mpage are covered by copyright:
+-
+- Copyright (c) 1994-2004 Marcel J.E. Mol, The Netherlands
+- Copyright (c) 1988 Mark P. Hahn, Herndon, Virginia
+-
+- Permission is granted to anyone to make or distribute verbatim
+- copies of this document as received, in any medium, provided
+- that this copyright notice is preserved, and that the
+- distributor grants the recipient permission for further
+- redistribution as permitted by this notice.
+-
+- marcel@mesa.nl
+- MESA Consulting B.V.
+- Nootdorp
+- The Netherlands
+- Phone: +31-15-3105252
+- Mobile:+31-6-54724868
+- Fax: +31-15-3105253
+- email: info@mesa.nl http://www.mesa.nl ftp://ftp.mesa.nl
+-
+-
+-=================================================================
+ DESCRIPTION:
+
+ Mpage is a program to reduce and print multiple pages of text per
+@@ -30,54 +5,21 @@
+ It also has limited functionality to do the same directly with postscript
+ files.
+
+-The following are the files you should have for mpage.
+-
+- README Notes and descriptions, this file
+- README.OS2 OS/2 port description
+- Copyright Copyright notice
+- CHANGES Change history
+- Makefile The Makefile
+- TODO Wish List for changes
+- FAQ Useful tips and hints
+- NEWS Global changes, User visible changes
+- Mpage.lsm LSM file for mpage
+- args.c Command line and options processing
+- encoding.h Definition of internal default character encoding
+- encoding.h.CP850 Popular for renaming to encoding.h
+- file.c Generic file handling
+- glob.c Global variable setup
+- mpage.h Definitions
+- mpage.c Main Control
+- page.c Page layout routines
+- post.c PostScript file processing
+- sample.c Prints sample page layout pages
+- text.c Text file processing
+- util.c Misc utility functions
+- mpage.1 Manual page
++The following are some of the files you should receive in the Debian
++package:
+
+ All.chars Test file containing all ASCII characters
+ Encodings Directory with character encoding library files
+ Characters List of Postscript character encoding names
+ Encoding.format Description on how to create character encoding
+ library files
+- gencodes.c Util program to build All.chars file
+- Test Directory with test pages
+-
+- OS2 Directory with simulated lpr for OS/2
+ Contrib Directory with contributions by others
+ Contrib/mfix Fix to mpage that makes it work with ArborText
+
+-
+-INSTRUCTIONS:
+-
+-All you should need to do is run make. Actually it is probably better
+-to have a look at the Makefile and to check settings like for example PAGESIZE
+-to set the default page size (e.g A4 or Letter ...).
+-This will create the programs mpage and msample. Mpage is
+-the program to print n-up pages. Msample prints a sample outline. I
+-used it for debugging the placement of the layout. It is also handy
+-for other layout purposes. It accepts all the arguments that mpage
+-does, but does not print files.
++Msample prints a sample outline. I used it for debugging the
++placement of the layout. It is also handy for other layout purposes.
++It accepts all the arguments that mpage does, but does not print
++files.
+
+ As a quick sample try:
+
+@@ -87,9 +29,16 @@
+ or
+ "groff -man mpage.1 | mpage -2"
+
++USING ENCODINGS:
+
+-The manual page, mpage.1, formats with UCB or ATT manual macros.
++Example supplied by Vassilis Virvilis. To print Greek characters, use
++the Greek fonts from http://www.csd.uch.gr/~lourakis/genscript/. Both
++enscript and a2ps embed the fonts in the generated postscript
++document. mpage utilizes the printer fonts. Therefore you will have to
++actually install the font for ghostscript. To print the Greek
++characters, use the following command:
+
++ mpage -FCourier-ISOLatinGreek -CISO-8859.7 test.txt > test.ps
+
+
+ USING MPAGE:
+Index: mpage-2.5.6/args.c
+===================================================================
+--- mpage-2.5.6.orig/args.c 2008-08-11 23:57:11.963177801 +0200
++++ mpage-2.5.6/args.c 2008-08-11 23:07:25.817007026 +0200
+@@ -91,7 +91,11 @@
+ UPDOWN : LEFTRIGHT;
+ break;
+ case 'A': /* A4 sized, european paper */
++#ifndef LIBPAPER
+ opt_page = "A4"; /* deprecated */
++#else
++ strcpy(opt_page,"a4");
++#endif
+ break;
+ case 'b': /* base paper type */
+ OPTARG();
+@@ -386,17 +390,25 @@
+ case 'S':
+ opt_square = 0;
+ break;
++// opt_duplex and opt_tumble have 3 possible values:
++// 4 : do not do anything
++// 0 : force printer to do it
++// !0 : force printer not to do it
+ case 't':
+- opt_duplex = 1 - opt_duplex;
++ opt_duplex = ! opt_duplex;
+ break;
+ case 'T':
+- opt_tumble = 1 - opt_tumble;
++ opt_tumble = ! opt_tumble;
+ break;
+ case 'u':
+ check_utf8 = 1 - check_utf8;
+ break;
+ case 'U': /* Letter sized, US paper */
++#ifndef LIBPAPER
+ opt_page = "Letter"; /* deprecated */
++#else
++ strcpy(opt_page,"letter");
++#endif
+ break;
+ case 'v': /* verbose (print page count) */
+ opt_verbose = 1 - opt_verbose;
+Index: mpage-2.5.6/glob.c
+===================================================================
+--- mpage-2.5.6.orig/glob.c 2008-08-11 23:58:11.934595375 +0200
++++ mpage-2.5.6/glob.c 2008-08-11 23:07:25.829007710 +0200
+@@ -327,7 +327,11 @@
+ int opt_lines = 0; /* lines to fit on reduced page */
+ int opt_killtrail = 1; /* Quit reading input on %%TRailer */
+ int opt_width = 0; /* columns to fit on reduced page */
++#ifndef LIBPAPER
+ char * opt_page = PAGE_DEF; /* default paper size */
++#else
++char opt_page [32]; /* default paper size */
++#endif
+ /* boolean's: set default to 0 or 1 */
+ int opt_pr = 0; /* if true use pr(1) to format output */
+ int opt_mp_header = 0; /* let mpage create headers */
+@@ -342,8 +346,12 @@
+ int opt_last[MAXJARG]; /* print as many as supplied per -j */
+ int opt_alt[MAXJARG]; /* by default print all sheets, odd+even per -j*/
+ int opt_file = 1; /* should each file appera on a new sheet */
+-int opt_duplex = DEFAULT_DUPLEX; /* duplex mode flag */
+-int opt_tumble = 0; /* tumble overy second pages */
++// opt_duplex and opt_tumble have 3 possible values:
++// 4 , aka NOP : dont do anything on PostScript,so printer default will be used
++// 0 , aka yes : force printer to do it
++// !0, aka no : force printer not to do it
++int opt_duplex = 4; /* duplex mode flag */
++int opt_tumble = 4; /* tumble overy second pages */
+ int opt_textbox = 0; /* don't normally draw box around text */
+ int opt_input = IN_AUTO; /* select input file format */
+ int opt_encoding = DEFAULT_ENCODING; /* use default encoding or not */
+@@ -420,10 +428,15 @@
+ -j Print specified sheets: first[-last][%%interval]\n\
+ -j 1-10 does first 10 sheets, -j 1%%2 prints odd ones, -j 2%%2 even ones.\n\
+ -J Set the start of the sheet page count\n\
+- -t Toggle printing both sides of the paper (Duplex mode, %s)\n\
+- -T Toggle tumble of every second pages when printing in duplex mode (off)\n",
+- fontname, opt_tabstop, PAGE_DEF, printprog, printarg,
+- opt_duplex ? "on" : "off"
+++ -t Toggle printing both sides of the paper (NOP,on,off,on...)\n\
+++ -T Toggle tumble of every second pages (NOP,on,off,on...)\n",
++ fontname, opt_tabstop,
++#ifndef LIBPAPER
++ PAGE_DEF,
++#else
++ opt_page,
++#endif
++ PAGE_DEF, printprog, printarg
+ );
+ fprintf(stderr, "\n(c) 1993-2005 Marcel Mol, marcel@mesa.nl (MESA Consulting)\n");
+
+Index: mpage-2.5.6/Contrib/psprint
+===================================================================
+--- mpage-2.5.6.orig/Contrib/psprint 2008-08-12 00:01:13.312931539 +0200
++++ mpage-2.5.6/Contrib/psprint 2008-08-11 23:07:25.825007484 +0200
+@@ -1,10 +1,9 @@
+-#!/bin/ksh -
++#!/bin/sh -
+
+ STDIN_TMP_FILE=/tmp/psprint.$$
+
+ GS=/usr/local/bin/gs
+ GSLIB=/usr/local/lib/ghostscript/3.53
+-RM=/bin/rm
+ #
+ # define print command (SYSV or BSD ish)
+ # PRINT="lp -or -s"
+@@ -20,7 +19,7 @@
+ ${GSLIB}/quit.ps
+ done
+
+-${RM} -f "${STDIN_TMP_FILE}"
++rm -f "${STDIN_TMP_FILE}"
+
+ exit 0
+
+Index: mpage-2.5.6/Encodings/ISO-8859.7
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ mpage-2.5.6/Encodings/ISO-8859.7 2008-08-11 23:07:25.853009079 +0200
+@@ -0,0 +1,231 @@
++%%%% ISO-8859.7 character encoding (I think...)
++27 255 % first and last encoding
++027 /florin
++028 /dagger
++029 /daggerdbl
++030 /perthousand
++031 /trademark
++032 /space
++033 /exclam
++034 /quotedbl
++035 /numbersign
++036 /dollar
++037 /percent
++038 /ampersand
++039 /quoteright
++040 /parenleft
++041 /parenright
++042 /asterisk
++043 /plus
++044 /comma
++045 /hyphen
++046 /period
++047 /slash
++048 /zero
++049 /one
++050 /two
++051 /three
++052 /four
++053 /five
++054 /six
++055 /seven
++056 /eight
++057 /nine
++058 /colon
++059 /semicolon
++060 /less
++061 /equal
++062 /greater
++063 /question
++064 /at
++065 /A
++066 /B
++067 /C
++068 /D
++069 /E
++070 /F
++071 /G
++072 /H
++073 /I
++074 /J
++075 /K
++076 /L
++077 /M
++078 /N
++079 /O
++080 /P
++081 /Q
++082 /R
++083 /S
++084 /T
++085 /U
++086 /V
++087 /W
++088 /X
++089 /Y
++090 /Z
++091 /bracketleft
++092 /backslash
++093 /bracketright
++094 /asciicircum
++095 /underscore
++096 /quoteleft
++097 /a
++098 /b
++099 /c
++100 /d
++101 /e
++102 /f
++103 /g
++104 /h
++105 /i
++106 /j
++107 /k
++108 /l
++109 /m
++110 /n
++111 /o
++112 /p
++113 /q
++114 /r
++115 /s
++116 /t
++117 /u
++118 /v
++119 /w
++120 /x
++121 /y
++122 /z
++123 /braceleft
++124 /bar
++125 /braceright
++126 /asciitilde
++127 /.notdef
++128 /.notdef
++129 /.notdef
++130 /.notdef
++131 /.notdef
++132 /.notdef
++133 /.notdef
++134 /.notdef
++135 /.notdef
++136 /.notdef
++137 /.notdef
++138 /.notdef
++139 /.notdef
++140 /.notdef
++141 /.notdef
++142 /.notdef
++143 /.notdef
++144 /.notdef
++145 /.notdef
++146 /.notdef
++147 /.notdef
++148 /.notdef
++149 /.notdef
++150 /.notdef
++151 /.notdef
++152 /.notdef
++153 /.notdef
++154 /.notdef
++155 /.notdef
++156 /.notdef
++157 /.notdef
++158 /.notdef
++159 /.notdef
++160 /space
++161 /quoteleft
++162 /quoteright
++163 /sterling
++164 /.notdef
++165 /.notdef
++166 /brokenbar
++167 /section
++168 /dieresis
++169 /copyright
++170 /.notdef
++171 /guillemotleft
++172 /logicalnot
++173 /hyphen
++174 /.notdef
++175 /endash
++176 /degree
++177 /plusminus
++178 /twosuperior
++179 /threesuperior
++180 /acute
++181 /dieresisacute
++182 /afii9936
++183 /periodcentered
++184 /afii9937
++185 /afii9938
++186 /afii9939
++187 /guillemotright
++188 /afii9940
++189 /onehalf
++190 /afii9941
++191 /afii9942
++192 /afii9977
++193 /afii9793
++194 /afii9794
++195 /afii9796
++196 /afii9797
++197 /afii9798
++198 /afii9801
++199 /afii9802
++200 /afii9803
++201 /afii9804
++202 /afii9805
++203 /afii9806
++204 /afii9807
++205 /afii9808
++206 /afii9809
++207 /afii9810
++208 /afii9811
++209 /afii9813
++210 /.notdef
++211 /afii9814
++212 /afii9816
++213 /afii9817
++214 /afii9818
++215 /afii9819
++216 /afii9820
++217 /afii9821
++218 /afii9943
++219 /afii9944
++220 /afii9968
++221 /afii9969
++222 /afii9970
++223 /afii9971
++224 /afii9978
++225 /afii9825
++226 /afii9826
++227 /afii9828
++228 /afii9829
++229 /afii9830
++230 /afii9833
++231 /afii9834
++232 /afii9835
++233 /afii9836
++234 /afii9837
++235 /afii9838
++236 /afii9839
++237 /afii9840
++238 /afii9841
++239 /afii9842
++240 /afii9843
++241 /afii9845
++242 /afii9847
++243 /afii9846
++244 /afii9848
++245 /afii9849
++246 /afii9850
++247 /afii9851
++248 /afii9852
++249 /afii9853
++250 /afii9975
++251 /afii9976
++252 /afii9972
++253 /afii9973
++254 /afii9974
++255 /.notdef
+Index: mpage-2.5.6/Contrib/mfix/mfix.c
+===================================================================
+--- mpage-2.5.6.orig/Contrib/mfix/mfix.c 2008-08-12 00:02:40.797917022 +0200
++++ mpage-2.5.6/Contrib/mfix/mfix.c 2008-08-11 23:07:25.829007710 +0200
+@@ -1,7 +1,7 @@
+ #include <stdio.h>
+
+-FILE *in=stdin,*out=stdout;
+-char line[200]; line2[200];
++FILE *in,*out;
++char line[200], line2[200];
+
+ int
+ strcp(st1,st2)
+@@ -15,6 +15,8 @@
+ main()
+ {
+ int i;
++ in = stdin;
++ out = stdout;
+ for(i=0; i<10; i=1)
+ {
+ if (fgets(line,200,in)==NULL) { close(in); close(out); exit(1); }
+@@ -41,4 +43,4 @@
+ fprintf(out,"%s",line);
+ }
+ }
+-
+\ No newline at end of file
++