Plan 9 from Bell Labs’s /usr/web/sources/contrib/fgb/root/sys/src/cmd/aux/mpage/CHANGES

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.



Januari 2008
   - Released version 2.5.6
   - honour /etc/papersize file
November 2006
   - Released version 2.5.5
   - apply Fedora restricted font and scale patches
September 2005
   - usage fixes
   - use /tmp instead of /usr/tmp
   - Duplex featrure settings go into %%BeginSetup section.
November 2004
   - Small updates to manual page
May 2004
    - Released version 2.5.4
    - Do not explicitely switch of duplex mode when -t is not given.
    - Add redhat utf-8 patch
    - Add -u option to switch off utf-8 checking
August  2003
    RedHat fixes
       - check for empy optarg in arg processing.
    Suggested by J.D. Laub <[email protected]>:
       - -V option to show mpage version
       - -- option to stop process options (remaing args are files)
       - add -- option to prprog when filename starts with a -.
     From: Sanjoy Mahajan <[email protected]>
       - %% and \n fixes for Duplex Beginfeature settings.
October  2002
    - Released version 2.5.3
    - Start moving mapge into the GPL...
    - Fixed double 'showsheet' output when processing postscript.
    - Added A0 to page_desc in glob.c.
    - Remove newline after formfeed. (Gregory Bond <[email protected]>)
    - the -X option now always prints the filename/header on the left
      and the physical page number on the right. Per suggestion of
      Marc Branchaud <[email protected]>
    - From Neil Brown <[email protected]>: define showheet using
      the load operator instead of the bind operator. This might solve
      situations where showpage is redefined elsewhere.
    - From Ilgiz Latypov <[email protected]>: -J option to set an
      initial value to the pagenum counter.
    - Improved processing of "BeginDocument/EndDocument" directives
      resulting in much better handling of included EPS graphics. 
      Should improve processing of dvips files a lot...
Jun 2002	
    from: [email protected]
     - When processing stdin, 'pr' was hardcoded instead of using the
       prprog variable.
     - Removed useless strcpy when processing command line args
       (could even give unpredictable results)
    from: [email protected]
      - explicitely set duplex printing to false in the default case.
    from: [email protected]
      - using -m while printing in duplex creates useless margins: punching
        holes may go through the printed areas on one of the sides. 
Jan 2002	Marcel J.E. Mol [email protected]
    - lib/mpage -> share/mpage
Nov 2001        Marcel J.E. Mol [email protected]
    - Changes from redhat
          * use mkstemp instead of mktemp.
          * kanji support.
Oct 2000        Marcel J.E. Mol [email protected]
    - Added A1 and A2 to page_desc in glob.c.
Aug 1999        Marcel J.E. Mol [email protected]
    - Added -e option and related code from Enrique Melendez Asensio <[email protected]>
      to allow 4,1,2,3 booklets... Needs cleanup and extended to txt too.
    - Patch from  Gabor Ribarik <[email protected]> to take of
      dvips(k) 5.78's output if it contains many postscript figures.
      (see indoc variable in post.c)
      He (or actually Attila Karpati) also implemented multiple -j options.
      Fix the %%Page director when pages are skipped (with -j).
    - Include amiga port from  Andreas R. Kleinert <[email protected]>:
              * added smakefile, smakefile.ppc and SCOPTIONS
              * added #ifdef AMIGA section to mpage.h
              * mpage.h now #undefs MAXINT if already #define
                (before re-#defining it iself)
              * LIBDIR has been #define within SCOPTIONS;
                used MPAGE: assign, which you may redirect
                yourself, then...
Jun 1998        Marcel J.E. Mol [email protected]
    - Clipping logical page was terribly wrong. This was visible when
      specifying negative pagemargins (-M).
Apr 1998        Marcel J.E. Mol [email protected]
    - Corrected types ([email protected])
Mar 1998        Marcel J.E. Mol [email protected]
    - for EPS files that have %%Trailer and are included in PS files 
      mpage will stop after the first %%Trailer. Made check on %%Trailer
      (and %%PSTrailer) a runtime option -k ('kill on trailer');
    - When input text file has no newline at last line, mpage forgot to
      print that line...
    - Updated manual page and usage ([email protected])
    - warning in -b option failed.
    - Changed defining paper types (to add new papger tpyes, just add to
      the paper array in glob.c).
Jan 1998        Marcel J.E. Mol [email protected]
    - Removed save/restore statements for PS input processing. They seem
      to generate 'memory overflow' errors.
    - Removed 'TexDict begin' additions for dvips files.
    - OS/2 changes (Alexander Mai <[email protected]>)
    - Makefile: create install dirs if not there ([email protected])
    - Check for %PSTrailer (for Mathematis program) ([email protected])
    - version 2.5 introduced bug in handling formfeed in text files. Fixed.
Nov 1997	Marcel J.E. Mol [email protected]
    - Released version 2.5
    - Small hack to improve dvips handling. Hope this solves a few of the
      problems...
    - Check on EOF for netscape output. (thanks [email protected])
    - -o -H showed darker outline instead of no outline at all!
      (noted by [email protected])
    - Added support for A3 paper size (thanks <[email protected]>)
    - Included mergeps.l and mergeps.txt from <[email protected]>.
Feb 1997	Marcel J.E. Mol [email protected]
    - Added "%%BeginProlog" to output...
Dec 1996	Marcel J.E. Mol [email protected]
    - Fixed possible bufferoverflow in text.c in array text.
Sep 1996	Marcel J.E. Mol [email protected]
  Version 2.4
    - Set PS id string to level 2 instead of 1. Hope this is ok...
    - Added -b option to select paper type. Option string is
      case insensitive. Now -A and -U option may be removed, they are
      not mentioned in the usage() anymore, but are in the man page.
    - Added support for Legal paper size: option -bLegal
May 1996	Marcel J.E. Mol [email protected]
    - Try detecting dvi2ps files: scan %%Title on .dvi. The catch the
      TeXDict to to init the PS state , bescause it interferes with 
      mpage setup. TeXDict will be called internally for each page.
      This setup seems to work for plain TeX text, but figures seem to
      have mind of their own and do not scale...
    - -X option accepts an optional argument that is used for physical
      pageheader, instead of current filename + physical page number.
      The argument is centered on the pageheader.
April 1996	Marcel J.E. Mol [email protected]
  Version 2.3b
    - Included OS/2 port based on code from Tilmann Boess
      <[email protected]>. See README.OS2.
      I cannot test on OS/2 so the merge of the Makefile might be wrong...
March 1996	Marcel J.E. Mol [email protected]
  Version 2.3a
    - Some compilers cannot process strings running on multiple lines (AIX)
    - Remove any leading ctrl-d characters from the input file.
      Some postscript files (micros*ft) start with it. Hope this is
      no problem on text files starting with ctrl-d's
      (suggested by Eric Lammerts <[email protected]>)
    Changes based on diffs by: [email protected] (Ming Yau So)
    - Added -s option to set the tabstops.
    - Added compile time option to set spooler type.
    - Adjusted usage to display printer settings etc
Februari 1996	Marcel J.E. Mol [email protected]
  Version 2.3
    - Changed semantics of -C option. With subargument it takes it as
      a character encoding name to use (needs a file from $LIBDIR/mpage).
      Without subargument it toggles the usage of encoding. An internal
      default encoding is added to the code.
      Suggested by Jens Poenisch <[email protected]>
    - Removed all the RCS stuff as I don't use it.
    - Added -R option: print pages left to right, bottom to top. Suggested by
      [email protected].
    - Add -X option to print a header on each physical page. Currently just
      the filename and the physical page number.
    Changes based on suggestions by Bj�Torkelsson <[email protected]>:
    - Made -t a toggle instead of forcing duplex mode.
    - Add -D option to specify a strftime date format to be used in printing
      in page headers.
    - Add -T option to tumble every second pages in duplex mode.
November 1995	Marcel J.E. Mol [email protected]
  Version 2.2.2
    - Added -d option to force certain input file type. Currently
      only -da and -dp exist to force ascii or postscript input.
      -dp probably is not useful or does not work as you might expect,
      so this is not mentioned in the usage page...
      manual page not updated yet...

September 1995	Marcel J.E. Mol [email protected]
    - Hm, version numbering is a bit odd. Gues gonna call this 2.2.1
    - Option -P without argument send output to stdout instead
      of default printer. Fixed, thanks Patrik Hagglund <[email protected]> 
      and Martin Kraemer <[email protected]>
    - Added -B option to draw a box around certain text, by
      E. Robert Tisdale <[email protected]>

May 1995	Marcel J.E. Mol [email protected]
  Version 2.2
    Processing postcript files is much better now...
    - Included several user contributions, see below.
    - Recursive mpage usage seems to work now...
    - ditriff output seems to work again...
    - xv postscript output seems to work (at least xv 3.1)
    - Added -O and -E options, contributed by Grigor Pavlov Nikolov


December 1994	Jan Kasprzak <[email protected]>
    Created Encodings/ISO-Latin.2 file.

December 1994	Jonathan Ross <[email protected]>
    - Some systems need string.h in mpage.c
    - removed some non-ansi preprocessor usages (i.e. #endif DEBUG)
    - fixed description for -P

December 1994        Ron van den Burg ([email protected]).
    Produced a better description of the changes between 2.13 and 2.14

    version 2.13 defaults: mpage -4onuvA
    version 2.14 defaults: <not explicitly stated>

    Disappeared:
    -b		use -o to toggle between b(lank) and o(utlines)
    -n		use -l to toggle between n(ormal) and l(andscape)
    -s		use -v to toggle between s(ilent) mode and v(erbose)
    -u		use -a to toggle between u(pdown) and leftright

    New:
    -H		Create header line
    -Cencodingfile
		Specify then character encoding file. Default is  none.
		The   should   be   in   the  mpage  library  directory
		(/usr/local/lib/mpage).
    -Ffontname	Specify font. Default is Courier.
    -t		Print on both sides of  the  paper.  This  will  enable
		duplex  mode  of  the printer.  Use this option only if
		your printer is capable of  printing  in  duplex  mode.
		(default off).
    -zprintcommand
		Specify command to use to send output  to.  Default  is
		lpr  . You can specify command line options, but see -Z
		option. For example -zlp for system V Unix.
    -Zprintprog_queuename_arg
                Specify what option to use for the "-z printcommand" to
		specify  a printqueue. For example -zlp -Z-d for system
		V Unix.

    Changed:
    -c		Is a toggle now.
    -o		Is a toggle now. Makes -b obsolete.
    -v		Is a toggle now. Makes -s obsolete.
    -l		Is a toggle now. Makes -n obsolete.
    -f		Is a toggle now.
    -a		Is a toggle now. Makes -u obsolete.

november 1994		Marcel J.E. Mol <[email protected]>
Version 2.14
Added -z and -Z option to set the print command and its queuename
argument (defaults to lpr and -P).
Send out to the world...

august/september94	Marcel J.E. Mol <[email protected]>
  Included old patch to allow ISO characters:
    - [ Aug 1992 [email protected] ] ISO-modifications. Conforms to standards
    ISO-216 (provided that it really is the same as SFS EN 20216) and
    ISO-8859.1, (provided that the table these were taken was
    8859.1-conforming).  Does not break 8-bit characters any more (because
    it prints them).
    [ ISO-216 defines A4-sized paper and ISO-8859.1 8-bit character set
    which includes many useful national characters used in European
    languages ]
  Modified ISO code:
    character encoding table is read from file, specified by -C option.
    The default encoding is Courier without 8-bit support.
    (see Postscript reference manual, appendix E?)
  Check on 'doprint' instead of '*printer' for closing outfd. Suggested by
  [email protected] to fix core dunps on their old VAX.
  Removed all mp_ prefix from source files.
  Deleted RCS subtree.
  Added %%Orientation and %%DocumentMedia in postscript comments (looks
  good when viewing output with ghostview).
  Removed unecessary array declarations and variables.
  Added -F option to specify other than default Courier font.
  Specifying "-P-" turns of 'printing' as specified by an MPAGE environment
  variable.


july94			Marcel J.E. Mol <[email protected]>
  Get rid of changing source when someone want US letter as default
  paper size or A4: Now it is settable in Makefile.
  In version 2.13 pagemargin_xxx processing on postscript input was gone.
  Should work again now.

july94         Sisira Jayasinghe <[email protected]>
  implemented -t option to print in duplex mode. Spell checked the
  man page. Made US letter size paper to be default.

may/june94		Marcel J.E. Mol <[email protected]>
Version 2.13
  Changed processing of pagemargin_xxx so that the -H option
  could be implemented.
  -H option: let mpage print page headers in a different font. This
     way no 'pr' processing is needed.
  Added function declarations to mp_head.h so that gcc -Wall does
  not complain so much anymore.

may94		Marcel J.E. Mol <[email protected]>
  Implemented -a, -c, -f, -l, -o and -v options as toggles ->
  remove -s, -b, -n and -u options.
  -c option: do not start each file on a new page.
  -m option can now specify all four margins seperately (iWith help
     from Frank ten Wolde <[email protected]>)
  New option -M to specify all four margins inside logical pages.
  Printing MS-Windows postscript files with mpage *might* work now...
  "xx pages printed" message brought under -v option.

oct93-mar94	Marcel J.E. Mol
  Bump version to 2.12 and send out ...
  Added -I option: indent text.
  Fixed bug in fold option, when an escaped char is at the end of a line ...
  Fixed bug when readne '/r'
  Added -m  (set page margin) and -f (fold long lines) options.
  Changed -p (allow to give a 'pr' command string) and -P (defaults
  to default printer) options.
  ...

  Many changes have been made between Version 1 and Version 2:

- *BIGGIE* Printing of backspaces, overwrites, formfeeds and other
text is greatly improved. I changed the whole way text was processed
and the code went from 3 unreadable pages to one very readable page.
It is amazing what the right approch can do.

- *ANOTHER BIGGIE* PostScript documents can now be printed.  Most
conforming will be properly printed, multple pages per sheet.  There
is still clean up to do here, but it seems to work.  I think that when
I hit upon the right paradigm for this, it will clean up just like the
text processing code did.  (XRef: TODO)

- Outlines are now optional. If you like to see them (as I do) put the
"-o" option in your MPAGE environment variable.

- Added recognition of the PRINTER and MPAGE environment variables.

- Added the beginnings of support the European A4 paper.  (The method
should be extended to legal sized paper.)  Credit goes to Michael
Fingerhut, System Manager, IRCAM Paris (France), (...!uunet!ircam!mf)
for the inspiration for the proper way to do this.

- MPage now prints a message stating how many pages (sheets) were
created and to which printer it was spooled.

- Stuffed the sources under RCS to keep track of changes.

 * Revision 1.1  89/05/22  14:19:56  mark
 * Initial revision


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].