# Postscript files distributed with Ghostscript

## Table of contents

> - Generally used system files
> - More obscure system files
> - PDF-specific system files
> - Display PostScript-specific system files
> - Art and examples
> - Utilities
> - Development tools
> - Odds and ends

For other information, see the Ghostscript overview.

## Generally used system files

These files are found in the `lib` subdirectory of the Ghostscript source distribution.

`gs_*_e.ps`

  These files define the Encodings known to Ghostscript. All of them except `gs_std_e.ps` and `gs_il1_e.ps` are loaded only if referred to.

  PostScript Encodings:
    `gs_ce_e.ps`, `gs_il1_e.ps`, `gs_std_e.ps`, `gs_sym_e.ps`.
  PDF Encodings:
    `gs_mex_e.ps`, `gs_mro_e.ps`, `gs_pdf_e.ps`, `gs_wan_e.ps`.
  Non-standard Encodings:
    `gs_dbt_e.ps`, `gs_il2_e.ps`, `gs_ksb_e.ps`, `gs_wl1_e.ps`, `gs_wl2_e.ps`, `gs_wl5_e.ps`.
  Pseudo-encodings:
    `gs_css_e.ps`, `gs_lgo_e.ps`, `gs_lgx_e.ps`, `gs_mgl_e.ps`.

`gs_btokn.ps`
  `gs_init.ps` reads this in if the `btoken` feature is included in the configuration. It provides support for binary tokens.

`gs_ccfnt.ps`
  `gs_init.ps` reads this in if the `ccfonts` feature is included in the configuration. It provides support for compiled fonts.

`gs_cff.ps`
  Load CFF (compressed) fonts.

`gs_cidcm.ps`
  Code for recognizing font names of the form CIDFont-CMap (or CIDFont--CMap) and creating the font automatically.

`gs_cidfn.ps`
  `ProcSet` for implementing `CIDFont` and `CIDMap` resources.

`gs_cmap.ps`
  `ProcSet` for implementing `CMap` resources.

`gs_dscp.ps`
  Code to compensate for badly written PostScript files by setting Orientation according to the DSC comments.

`gs_epsf.ps`
  Allow the interpreter to recognize DOS EPSF file headers, and skip to the PostScript section of the file.

`gs_fonts.ps`
  `gs_init.ps` reads this in. It initializes Ghostscript's font machinery and provides some utility procedures that work with fonts.

`gs_frsd.ps`
  Support for the PostScript LanguageLevel 3 `ReusableStreamDecode` filter.

`gs_init.ps`
  Ghostscript reads this automatically when it starts up. It contains definitions of many standard procedures and initialization for a wide variety of things.

`gs_lev2.ps`
  `gs_init.ps` reads this in if the Ghostscript interpreter includes Level 2 PostScript functions. It contains definitions of procedures and miscellaneous initialization for the Level 2 functions.

`gs_ll3.ps`
  Initialize PostScript LanguageLevel 3 functions.

`gs_res.ps`
  `gs_init.ps` reads this in if the Level 2 resource machinery is included. Currently, this is the case for all Level 2 configurations.

`gs_setpd.ps`
  Implementation of the `setpagedevice` operator.

`gs_statd.ps`
  `gs_init.ps` reads this in. It creates a dummy `statusdict` and some other environmental odds and ends for the benefit of PostScript files that really want to be printed on a LaserWriter.

`gs_trap.ps`
  Stub support for the PostScript LanguageLevel 3 "In-RIP trapping" feature.

`gs_ttf.ps`
  Support code for direct use of TrueType fonts.

`gs_typ32.ps`
  Initialization file for Type 32 fonts.

`gs_typ42.ps`
  Support code for Type 42 fonts (TrueType font in a PostScript "wrapper").

`gs_type1.ps`
  `gs_init.ps` reads this in if the Ghostscript interpreter includes Type 1 font capability (which it normally does).

## More obscure system files

These files are found in the `lib` subdirectory of the Ghostscript source distribution.

`font2c.ps`
  Convert a PostScript Type 0 or Type 1 font to C code that can be compiled and linked into Ghostscript; see the documentation on fonts for how to do this.

`gs_agl.ps`
  Contains the mapping from Adobe glyph names to Unicode values, used to support TrueType fonts.

`gs_cmdl.ps`
  This file is not used yet. Eventually it will replace C code that parses the Ghostscript command line.

`gs_diskf.ps`
  This file implements the `-dDISKFONTS` feature (`diskfont.dev`). See the the usage documentation for a description of this feature.

`gs_fform.ps`
  A usable but imperfect PostScript implementation of Form caching.

`gs_kanji.ps`
  This file provides support for the Wadalab free Kanji font. It is not included automatically in any configuration.

`gs_pdfwr.ps`
  This file contains some patches for providing information to the `pdfwrite` driver. It is included only if the `pdfwrite` driver is included.

`gs_pfile.ps`
  This file provides runtime support for packed fonts. It is not included automatically in any configuration.

`gs_rdlin.ps`
  A tiny patch for systems with built-in readline support.

`ht_ccsto.ps`
  A default stochastic CMYK halftone. This file is in the public domain.

`stcolor.ps`
  Configure the (Epson) `stcolor` driver

## PDF-specific system files

These files are found in the `lib` subdirectory of the Ghostscript source distribution.

`gs_l2img.ps`
  The `ProcSet` that emulates the PostScript Level 2 "`image`" operator on Level 1 systems.

`pdf_base.ps`
  Utilities for interpreting PDF objects and streams.

`pdf_draw.ps`
  The interpreter for drawing-related PDF operations.

`pdf_font.ps`
  Code for handling fonts in PDF files.

`pdf_main.ps`
  Document- and page-level control for interpreting PDF files.

`pdf_ops.ps`
  Definitions for most of the PDF operators.

`pdf_sec.ps`
  PDF security (encryption) code.

`pdfopt.ps`
  A PDF linearizer ("optimizer").

`pdfwrite.ps`
  Support for writing PDF files. Currently used only by the linearizer, but potentially useful for other kinds of PDF-processing utilities.

`gs_icc.ps`
  Support for ICC color profiles. These are not a standard PostScript feature, but are used in the PDF interpreter, as ICC profiles may be embedded in PDF files.

## Display PostScript-specific system files

These files are found in the `lib` subdirectory of the Ghostscript source distribution.

`gs_dpnxt.ps`
  NeXT Display PostScript extensions.

`gs_dps.ps`, `gs_dps1.ps`, `gs_dps2.ps`
  `gs_init.ps` reads these in if the `dps` feature is included in the configuration. They provide support for various Display PostScript and Level 2 features.

## Art and examples

These files are found in the `examples` subdirectory of the Ghostscript source distribution.

`alphabet.ps`
  Prints a sample alphabet at several different sizes.

`annots.pdf`
  A sample file with a wide variety of PDF "annotations".

`colorcir.ps`
  A set of nested ellipses made up of colored bars.

`doretree.ps`
  A 3-D image produced by a modeling program. This file is in the public domain.

`escher.ps`
  A colored version of a hexagonally symmetric Escher drawing of interlocking butterflies. Can be printed on monochrome devices, with somewhat less dramatic results.

`golfer.ps`
  A gray-scale picture of a stylishly dressed woman swinging a golf club.

`grayalph.ps`
  Grayscaled text test pattern.

`ridt91.eps`
  The RIDT '91 logo. Note that since this is an EPS file, you will have to add "`-c showpage`" at the end of the command line to print it or convert it to a raster file.

`snowflak.ps`
  A rectangular grid of intricate colored snowflakes. (May render very slowly.)

`tiger.ps`
  A dramatic colored picture of a tiger's head.

`vasarely.ps`
  Colored rectangles and ellipses inspired by Victor Vasarely's experiments with tilting circles and squares.

`waterfal.ps`
  Prints text in a variety of different sizes, to help evaluate the quality of text rendering.

## Utilities

For more information on these utility programs, see the comments at the beginnings of the files. The ones marked (*) have batch files or shell scripts of the same name (like `bdftops` and `bdftops.bat`) to invoke them conveniently.

These files are found in the `lib` subdirectory of the Ghostscript source distribution.

`addxchar.ps`
  A utility to add Central European and other Adobe extended Latin characters to a Type 1 font.

`align.ps`
  A test page for determining the proper margin and offset parameters for your printer.

`bdftops.ps` *
  A utility for converting BDF fonts to outline form: see the documentation on fonts.

`bench.ps`
  A file useful for running benchmarks.

`caption.ps`
  A file for putting a caption in a box at the bottom of each page, useful for trade show demos.

`cid2code.ps`
  A utility for creating maps from CIDs to Unicode, useful when substituting a TrueType font for an Adobe font.

`docie.ps`
  An emulation of the CIE color mapping algorithms.

`errpage.ps`
  A file that you can put in front of your own files to make Ghostscript (or a PostScript printer) produce an informative error page if something goes wrong during the processing of your file(s).

`font2pcl.ps`
  A utility to write a font as a PCL bitmap font.

`gslp.ps` *
  A utility for doing "line printing" of plain text files.

`gsnup.ps`
  A file that you can concatenate in front of (very well-behaved) PostScript files to do N-up printing. It is deliberately simple and naive: for more generality, use `psnup` (which, however, requires DSC comments).

`jispaper.ps`
  A file that makes the `b0` through `b6` procedures refer to JIS B paper sizes rather than ISO B.

`impath.ps`
  A utility for reconstructing outlines from bitmap images, used by `bdftops`.

`landscap.ps`
  A file that you can put in front of your own files to get them rendered in landscape mode.

`level1.ps`
  A file that turns off any Level 2 features.

`packfile.ps`
  A utility for compressing fonts into a single file.

`pdf2dsc.ps`
  A utility to read a PDF file and produce a DSC "index" file.

`pf2afm.ps` *
  A utility for producing AFM files from PFA, PFB, and optionally PFM files.

`pfbtopfa.ps` *
  A utility to convert PFB (binary) font files to PFA (text) format.

`prfont.ps`
  A utility to print a font catalog.

`printafm.ps`
  A utility to print an AFM file on standard output.

`ps2ai.ps`
  A utility for converting an arbitrary PostScript file into a form compatible with Adobe Illustrator. NOTE: `ps2ai` doesn't work properly with Adobe's Helvetica-Oblique font, and other fonts whose original `FontMatrix` involves skewing or rotation.

`ps2ascii.ps` *
  A utility for extracting the ASCII text from PostScript source files. It redefines many operators. For more information, see the comments in the file.

`ps2epsi.ps` *
  A utility for converting an arbitrary PostScript file into EPSI form.

`quit.ps`
  A file containing just the word "`quit`". (The `-c` switch now makes this unnecessary; this file exists for backward compatibility.)

`rollconv.ps`
  A utility for converting files produced by Macromedia's `Rollup` program to a Type 0 form directly usable by Ghostscript.

`showpage.ps`
  A file containing just the word "`showpage`". (The `-c` switch now makes this unnecessary; this file exists for backward compatibility.)

`stocht.ps`
  A file that installs the StochasticDefault halftone as the default, which may improve output quality on inkjet printers. See the file for more information.

`viewcmyk.ps`
  A utility for displaying CMYK files.

`viewgif.ps`
  A utility for displaying GIF files.

`viewjpeg.ps`
  A utility for displaying JPEG files.

`viewmiff.ps`
  A utility for displaying MIFF files.

`viewpbm.ps`
  A utility for displaying PBM/PGM/PPM files.

`viewpcx.ps`
  A utility for displaying PCX files.

`waterfal.ps`
  A utility to print a "waterfall" of fonts at different sizes.

## Development tools

These files are found in the `lib` subdirectory of the Ghostscript source distribution.

`acctest.ps`
  A utility that checks whether the interpreter enforces access restrictions.

`decrypt.ps`
  A utility for decrypting the `eexec` section of a font.

`image-qa.ps`
  A comprehensive test of the image display operators.

`markpath.ps`
  A utility for showing the points on a path.

`pcharstr.ps`
  A utility for printing out the `CharStrings` and `Subrs` in a Type 1 font.

`ppath.ps`
  A couple of utilities for printing out the current path, for debugging.

`pphs.ps`
  A utility to print the Primary Hint Stream of a linearized PDF file.

`traceimg.ps`
  Trace the data supplied to the `image` operator.

`traceop.ps`
  A utility for tracing uses of any procedure or operator for debugging.

`type1enc.ps`
  The Type 1 font format encryption and decryption algorithms, written in PostScript.

`uninfo.ps`
  Some utilities for printing out PostScript data structures.

`unprot.ps`
  A prologue to disable access checking.

`viewps2a.ps`
  A utility for displaying the output of `ps2ascii.ps`.

`wftopfa.ps`
  Convert a Wadalab (Japanese) base font to `.PFA` (or `.PFB`) format.

`winmaps.ps`
  A utility for creating mappings between the Adobe encodings and the Microsoft Windows character sets.

`wrfont.ps`
  A utility for writing out an unprotected Type 1 font, such as the standard Ghostscript fonts.

`zeroline.ps`
  A utility for testing how interpreters handle zero-width lines.

## Odds and ends

These files are found in the `lib` subdirectory of the Ghostscript source distribution.

`lines.ps`
  A test program for line joins and caps.

`markhint.ps`
  Draw the hints for a Type 1 font.

`showchar.ps`
  Show a character's outline and rasterized forms.

`stcinfo.ps`
  Print and show parameters of the (Epson) `stcolor` driver.

`type1ops.ps`
  The Type 1 font format opcodes.

Copyright © 1996, 2000 Aladdin Enterprises. All rights reserved.

This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of the license contained in the file LICENSE in this distribution. For more information about licensing, please refer to http://www.ghostscript.com/licensing/. For information on commercial licensing, go to http://www.artifex.com/licensing/ or contact Artifex Software, Inc., 101 Lucas Valley Road #110, San Rafael, CA 94903, U.S.A., +1(415)492-9861.

Ghostscript version 7.05, 22 April 2002