Adobe is the firm who designed and owns the PostScript language.
The patent that printer manufacturers must pay to Adobe is the
main reason why PostScript printers are so expansive.
- AFM file
AFM stands for Adobe Font Metrics. These files contain everything one
needs to know about a font: the width of the characters, the available
- Code Set
Another filter (application) which a2ps may call to process some files.
This feature is especially meant for page description files (see section 4.10 Your Delegations).
- Document Structuring Conventions
Because PostScript is a language, any file describing a document can
have an arbitrary complexity. To ease the post-processing of PostScript
files, the document should follow some conventions. Basically there are
two kinds of conventions to follow:
- Page Independence
- Special comments state where the pages begin and end. With these
comments (and the fact that the code describing a page starts and ends
somewhere, which is absolutely not necessary in PostScript), very simple
programs (such as
psselect etc.) can post process
- Special features may be needed to run correctly the file. Some comments
specify what services are expected from the printer (e.g., fonts, duplex
printing, color etc.), and other what features are provided by the file
itself (e.g., fonts, procsets etc.), so that a print manager can decide
that a file cannot be printed on that printer, or that it is possible if
the file is slightly modified (e.g., adding a required font not known by
the printer) etc.
The DSC are edited by Adobe. A document which respects them is said to
be DSC conformant.
a2ps follows all the DSC.
To print Duplex is to print double-sided. There are two ways to
print Duplex depending whether the second face is printed upside-down or
- DuplexTumble is suitable when (if it were to be bound) the document
would be bound along the short edge (for instance when you are printing
- DuplexNoTumble corresponds to binding along the long edge of the medium.
A typical case is when printing one-up.
Association of human readable characters, and computers' internal
numbered representation. In other words, they are the alphabets, which
are different according to your country/mother tongue. E.g.: ASCII,
Latin 1, corresponding to Western Europe etc.
To know more about encodings, see 6.1 What is an Encoding.
gs for short, is a full PostScript interpreter running under many
various systems (Unices, MS-DOS, Mac etc.). It comes with a large set
of output formats allowing many different applications:
- It can be used either to view PostScript files (in general thanks to a
graphic interface such as
- To may useful languages/formats: PDF, rewriting in portable PostScript
or Encapsulated PS etc.
- to a printer dedicated language, e.g., PCL. In particular, thanks to
ghostscript, you may print PostScript files on non PostScript
A virtual style given to some text. For instance, Keyword,
Comment are faces.
Everything that goes around the page and is not part of the text body.
Typically the title, footer etc.
Many objects used in a2ps, such as encodings, have both a key and a name.
The word name is used for a symbol, a label, which is only meant
to be nice to read by a human. For instance `ISO Latin 1' is a name.
a2ps never uses a name, but the key.
A key is the identifier of a unique object. This is information
that a2ps processes, hence, whenever you need to specify an object to
a2ps, use the key, not its name. For instance `latin1' is the
unique identifier of the `ISO Latin 1' encoding.
- Logical page
Cf. Virtual page.
- left hand side
- See P-rule.
Official name (by Adobe) given to the output physical support. In other
words, it means the description of a sheet, e.g., A4, Letter etc.
- See Key.
A single side of a sheet.
- Page Description Language
A language that describes some text (which may be enriched with
pointers, pictures etc.) and its layout.
roff and others are such languages. A file written in
those languages is not made to be read as is by a human, but to be
transformed (or compiled) into a readable form.
- PFA file
PostScript Font in ASCII format. This file can be directly down loaded
to provide support for another font.
- PFB file
PostScript Font in Binary format. In PFA files there are long sequences
of hexadecimal digits. Here these digits are represented by their
value, hence compressing 2 characters in a PFA into 1 in the PFB. This
is the only advantage since a PFB file cannot be directly sent to
printer: it must first be decompressed (hence turned into a PFA file)
before being used.
PostScript is a page description language designed for
Raster output devices. It is even more powerful than that:
roff, but as TeX and LaTeX, it is
truly a programming language which main purpose is to draw (on sheets).
Most programs are a list of instructions that describes lines, shades of
gray, or text to draw on a page. This is the language that most
Note that the fact that PostScript is a programming language is
responsible of both its success and its failure. It is a big win for
the PostScript programmer who can easily implement a lot of nice visual
effects. It is a big loss because the page descriptions can have an
arbitrary complexity, hence rendering can be really slow (remember the
first Laser you had, or even
PDF has been
invented by Adobe to remedy these problems).
PostScript is a trademark of Adobe Systems Incorporated.
- PPD file
- PostScript Printer Description file
- These files report everything one needs to know about a printer: the known
fonts, the patches that should be down loaded, the available memory, the
trays, the way to ask it duplex printing, the supported media, etc.
PostScript has pretended to be a device independent page description
language, and the PPD files are here to prove that
device independence was a failure.
Set of (PostScript) procedures.
PostScript being a language, a typical PostScript program (i.e. a
typical PostScript file) consists of two parts. The first part is
composed of resources, such as fonts, procsets, etc. and the second part
of calls to these procedures. The first part is called the
prologue, and the second, the script.
Pretty printing rule. It is composed of a left-hand side,
(lhs for short), and a right-hand side, (rhs). The
lhs describes when the rule is triggered (i.e., the pattern of text to
match), and the rhs specifies the pretty printed output.
See section 7.5.5 P-Rules, for more semantical details, and see 7.6.5 Syntax for the P-Rules, for implementation.
psutils} is a set of tools for PostScript post processing written
by Angus Duggan. They let
you resize the frame into which the page is drawn, reorder or select
pages, put several pages onto a single sheet, etc. To allow the
psutils to run correctly, the PostScript files must be DSC
conformant, and the bad news is that many PostScript drivers produce
files which are not. For some common cases (e.g., Micro$oft tools),
Angus Duggan included in the package some tools (named
to fix typical problems.
fixps is a collection of recipes on
when to run what
- Raster Image Processor
- The hardware and/or software that translates data from a high-level
language (e.g., PostScript) into dots or pixels in a printer or
- Raster Output Device
Behind these words is hidden the general class of devices which have
Pixels that can be addressed individually: Laser, Ink or Dot printers,
but also regular screens etc. It is typically opposed to the class of
devices which plot, i.e., have a pen that they move on the paper.
- right hand side
- See P-rule.
- See Raster Image Processor.
The physical support of the printing: it may support one or two pages,
depending on your printing options.
- Style sheet
Set of rules used by a2ps to give a face to the strings of a
file. In a2ps, each programming language which is supported
is defined via one style-sheet.
- Virtual page
Area on a physical page in which a2ps draws the content of a file.
There may be several virtual pages on a physical page. ("virtual page"
is the name recommended by Adobe).