Newsgroups: comp.sources.postscript From: alastair@vogon.cetia.fr (Alastair Adamson) Subject: v03i037: psfmt - General purpose PostScript text formatter, Part01/07 Message-ID: <JGM.94Jun15154258@monaco.cs.brown.edu> Date: Wed, 15 Jun 1994 20:42:58 GMT Approved: postscript-request@cs.brown.edu (Jonathan Monsarrat) Submitted-by: alastair@vogon.cetia.fr (Alastair Adamson) Posting-number: Volume 03, Issue 37 Archive-name: psfmt/part01-07 Environment: PostScript Keywords: text formatting, converts ASCII to PostScript PSFMT version 2.4 Psfmt is a text formatter which generates PostScript code directly. It was originally written to format text for memos and faxes, i.e. on "preprinted" paper. To simplify life for the users, the syntax is very similar to that of [nt]roff; in this way, the need to learn a new syntax was obviated. Some of the formatting features: + font and point-size changes + line filling and adjusting (also no-fill mode) + line centering and three-part titles + user-defined registers, strings and macros + nested lists + displays + multi-column output + conditional input + PostScript code inclusion The functionality of the program has grown with time (creeping featurism?) and the program is now quite powerful. The psfmt program itself does no formatting; it only generates PostScript code. It is thus the printer which does all the "heavy" work. This approach has several advantages and disadvantages. Advantages: - The psfmt program is very fast. - There is no need for font description files. Disks seem to fill up quickly with font information for troff, tex, X11, FrameMaker etc, etc. Psfmt does not add to this problem. - There is no restriction on font-usage. Since only the printer has to know about fonts, no font tables are needed. - Psfmt is free. Several others packages aren't. Disadvantages: - Some formatting capabilities are not possible (yet!), such as footnote handling and text-block control ("real" displays). - There is no provision for real tables or equation setting. psfmt is distributed free of charge; you can redistribute it and/or modify it under the terms of the GNU General Public License, a copy of which is provided in the file COPYING. To install this package, see the INSTALL file. The program should compile on any system with a C compiler with little or no problems, including DOS systems and Macintoshes, although only DOS has been tested (since I don't have access to others). It has been compiled and run on System V and BSD systems with *no* changes made. The HISTORY file gives some information about why the program was written in the first place, and the way in which is has evolved as well as plans for the future. Finally, the file PREPRINT gives some details on how to use this as it was originally intended, i.e. to format text within a "preprinted" page. The formatting uses only level 1 PostScript, but will probably be adapted to take advantage of features of level 2 printers sometime in the future. The generated code is *not* DSC compliant and can *not* be turned into EPSF. This is simply because it is the printer who does the formatting and so page breaks cannot be known in advance. The output of psfmt can be previewed successfully with GhostScript 2.5 or later (perhaps even 2.4, but not earlier). If you're interested and have any ideas, comments, bug reports or whatever, please mail me at the following address: alastair@cetia.fr