Table of contents


NAME

lptops - convert a text file into a PostScript file

SYNOPSIS

lptops [ -author ] [ -bottom=# ] [ -cnum ] [ -clip[=num] ] [ -copyright[=num] ] [ -e[=num] ] [ -font=font(s) ] [ -i=# ] [ -left=# ] [ -landscape[=num] ] [ -m[=num] ] [ -manpage[=num] ] [ -n[=[tb][lcr]num] ] [ -o[#] ] [ -p=# ] [ -pages=#,#,#,... ] [ -pages=#-#,#-#,#-#,... ] [ -pages=#-#-#,#-#-#,#-#-#,... ] [ -paper=name ] [ -paper=name,#,#,#,#,#,# ] [ -quiet[=num] ] [ -reverse[=num] ] [ -right=# ] [ -snum ] [ -scribe[=num] ] [ -top=# ] [ -version ] [ -wrap[=num] ] [ -y=# ] < infile > outfile lptops [ options ] file1 file2 ... > outfile

DESCRIPTION

lptops converts normal text files into PostScript for printing on a PostScript printer or typesetter, or any other PostScript-compatible output device. It supports:

The source code distribution for lptops is in the public domain.

The Adobe TranScript system provides a program of similar intent, known as enscript(1L), but with only a small subset of the capabilities of lptops.


SPECIFICATION OF DIMENSIONAL VALUES

In the descriptions in the OPTIONS section below, physical dimensions described as # may be specified as a single number with an optional fractional part, and a required two-letter unit designator. Possible forms are:
#.##bp	 big point (1in	= 72bp)		 [120.000/Pbp cpi]
#.##cc	 cicero	(1cc = 12dd)		 [  9.381/Pcc cpi]
#.##cm	 centimeter			 [  4.233/Pcm cpi]
#.##dd	 didot point (1157dd = 1238pt)	 [112.569/Pdd cpi]
#.##in	 inch				 [  1.667/Pin cpi]
#.##mm	 millimeter (10mm = 1cm)	 [ 42.333/Pmm cpi]
#.##pc	 pica (1pc = 12pt)		 [ 10.038/Ppc cpi]
#.##pt	 point (72.27pt	= 1in)		 [120.450/Ppt cpi]
#.##sp	 scaled	point (65536sp = 1pt)	 [  7.893/(Psp/1000000)	cpi]
The bracketed values give the number of characters per inch (cpi) for a point size of P units with the default fixed-width Courier font. For example, with point size 8bp, there are 120/8 = 15 characters per inch. With point size 1000000sp, there are 7.893 characters per inch.

OPTIONS

On all operating systems, lptops option names are distinguished from file names by the presence of an initial hyphen (dash, minus sign). On TOPS-20 and VAX VMS, following the conventions of those systems, an initial slash also indicates an option. In this documentation, we will use only the hyphen form.

Options can be supplied in an initialization file, and on the command line; command-line settings override initialization file settings. See the INITIALIZATION FILE section below.

To process a file whose name begins with a hyphen, hide the hyphen behind a directory path. For example, on UNIX, the file name -foo.bar could be written as ./-foo.bar.

A command-line argument consisting of a single hyphen is taken as a reference to the standard input file, rather than as an illegal option. UNIX and MS DOS, at least, lack a way of referring to the standard I/O units by a file name, so the hyphen convention is commonly used in UNIX software. A hyphen can be used anywhere a file name can be used, but only the first instance can usefully supply data to lptops.

Letter case in option names is ignored, but is significant in option values. Long option names may be abbreviated to the minimum unique prefix.

Option descriptions with [=num] following the option name can have an optional integer value. If the value is omitted, then the option if set if it was previously unset, and unset if it was previously set. If an integer value is provided, then a zero value unsets the option, and a non-zero value sets it, independent of any prior setting of the option. Instead of an integer value, you may specify a string value of yes or true to set the option, or no or false to unset it. The string values may be abbreviated, and letter case is not significant.

For options that take a value, that value must be supplied in the same argument, separated from the option name by a colon or equals sign. The separator character may be preceded and followed by an arbitrary number of spaces and tabs, provided suitable shell quoting is supplied to protect the spaces from being interpreted as argument separators. If the value begins with a non-letter, the separator can be omitted. For example, -p:10bp, -p=10bp, '-p 10bp"' and -p10bp are equivalent. However -fHelvetica is illegal because the value starts with a letter; it must be written as -f:Helvetica, -f=Helvetica, or '-f Helvetica'. -author Display an author credit on stderr.

-bottom=#
Set the bottom margin to # (default: 1.0in).
-cnum
Print num copies of each page (default: 1).
-clip[=num]
Clip long lines at column boundaries and page margins. Normally, such lines are permitted to extended into the next column, or into the right margin. See the -wrap option for an alternative.
-copyright
Display the program copyright on stderr.
-e[=num]
Use Adobe PostScript standard character set encoding instead of the default ISO8859 Latin-1 encoding. The two encodings are equivalent in the lower 128 characters of the 256-character set, and the output is somewhat smaller if the default ISO8859-1 encoding is suppressed by this option, so pure-ASCII sites may wish to make this the default (see the INITIALIZATION FILE section below).
-font=font
(short form) Set the output PostScript font name. The option value is the full PostScript name, or an abbreviation for the full name from the tables below. The default is Courier, a fixed-width typewriter font. Computer program listings and output are usually best displayed in such a font, so that the output resembles the screen images.

The following 13 fonts are available on most PostScript printers. The second column provides font abbreviations used by this and earlier versions of lptops; the third column contains ditroff(1L) font abbreviations, and the fourth column, Adobe TranScript font abbreviations. Any of these abbreviations may be used to specify a font name.

	     _______________________________________
	     Font		     Alternate Names

	     Courier		     C	    C	  C
	     Courier-Bold	     CB	    CB	  CB
	     Courier-BoldOblique     CBO    CD	  CD
	     Courier-Oblique	     CO	    CO	  CO
	     Helvetica		     H	    he	  he
	     Helvetica-Bold	     HB	    He	  He
	     Helvetica-BoldOblique   HBO    HE	  HE
	     Helvetica-Oblique	     HO	    hE	  hE
	     Symbol		     S	    S	  S
	     Times-Bold		     TB	    R	  ti
	     Times-BoldItalic	     TBI    BI	  TI
	     Times-Italic	     TI	    I	  tI
	     _______________________________________
The remaining fonts are available only on enhanced printers, such as the Apple LaserWriter Plus.
	 ______________________________________________
	 Font				Alternate Names

	 AvantGarde-Book		AGB	ag   ag
	 AvantGarde-BookOblique		AGBO	aG   aG
	 AvantGarde-Demi		AGD	Ag   Ag
	 AvantGarde-DemiOblique		AGDO	AG   AG
	 Bookman-Demi			BD	Bo   Bo
	 Bookman-DemiItalic		BDI	BO   BO
	 Bookman-Light			BL	bo   bo
	 Bookman-LightItalic		BLI	bO   bO
	 Helvetica-Narrow		HN	hn   hn
	 Helvetica-Narrow-Bold		HNB	Hn   Hn
	 Helvetica-Narrow-BoldOblique	HNBO	HN   HN
	 Helvetica-Narrow-Oblique	HNO	hN   hN
	 NewCenturySchlbk-Bold		NCSB	Nc   Nc
	 NewCenturySchlbk-BoldItalic	NCSBI	NC   NC
	 NewCenturySchlbk-Italic	NCSI	nC   nC
	 NewCenturySchlbk-Roman		NCSR	nc   nc
	 Palatino-Bold			PB	Pa   Pa
	 Palatino-BoldItalic		PBI	PA   PA
	 Palatino-Italic		PI	pA   pA
	 Palatino-Roman			PR	pa   pa
	 ZapfChancery-MediumItalic	ZCMI	ZC   ZC
	 ______________________________________________

The ditroff(1L) and TranScript abbreviations are identical, except for the Courier and Times fonts. For convenience, matches of option values with the full font name, and the first abbreviation, ignore letter case. The second and third abbreviations are based on two-letter mnemonics, where upper-case in the first letter indicates bold, and upper-case in the second letter indicates italic, so letter case is significant for them.

Only the Courier fonts are fixed-width fonts. The others are proportionally spaced and tabular material will not line up properly. The Courier fonts have a width equal to 0.6 of their point size, so to fill a line W inches wide with up to N characters, one must have point size <= (W/(0.6 * N * 72)) = (W*120)/N bp. Equivalently, with a point size P bp, the output spacing is 120/P char/inch.

If you specify a bold, italic, or bold-italic font name for the normal font in the -font option, lptops will use different styles for the remaining fonts. For example, -font=Palatino-Bold would use Palatino-Bold for normal text, and Palatino-Roman for bold text.

-font=normal,bold,italic,bolditalic,typewriter
(long form) Define a new font family. Because of its length, this option would normally not be specified on the command line; see the INITIALIZATION FILE section below.

The option value consists of 5n font names, separated by space, tab, or comma. If white space is present in a command-line argument, it may be necessary to supply suitable shell quoting to prevent interpretation of the spaces as argument separators.

The five typeface styles must be complete case-sensitive PostScript font names. Up to three additional aliases can be provided immediately following each font name, and the same number of aliases must be provided for each style. Aliases make it convenient to have shorter names for popular fonts.

Up to 100 additional families can be defined; if necessary, that limit can be increased at compile time when lptops is built.

The five typeface styles should come from the same font family, since it is usually considered bad typographic practice to mix font families in running text. However, lptops does not prevent such mixing.

Here are some examples. The backslash-newline is provided here to indicate a line break for readability; it is not present in the actual option. Spaces in the option values are for readability; quoting of the complete value is not necessary (or even possible) for options in an initialization file, but would be required in command-line use.

-font=Courier,C,C,C, \
      Courier-Bold,CB,CB,CB, \
      Courier-Oblique,CO,CO,CO, \
      Courier-BoldOblique,CBO,CD,CD, \
      Courier,C,C,C

This is equivalent to the default Courier font family, with a short name, a ditroff(1) name, and a TranScript name for each style.

-font=Utopia-Regular,  Utopia-Bold,  Utopia-Italic, \
      Utopia-BoldItalic, Courier

This defines the Utopia family, with no aliases for the long font names; a subsequent -font=Utopia-Regular option would be needed to select the font.

-font=CharterBT-Regular,BCH,  CharterBT-Bold,BCHB,  \
      CharterBT-Italic,BCHI, \
      CharterBT-BoldItalic,BCHBI,  \
      Courier10PitchBT-Roman,BCHT

This defines the Bitstream Charter family, with a single alias for each long font name.

-i=#
Set the top margin to # for the initial page (e.g. for use with letterhead paper). If not specified, the value given for the top margin will be used; see the -t option below.
-landscape[=num]
Use landscape mode (horizontal page orientation, with printing parallel to the longest page edge). The default is portrait mode (vertical page orientation, with printing parallel to the shortest page edge).

The same result can be obtained by choosing a landscape paper type; see the description of the -paper option.

-left=#
Set the left margin to # (default: 1.0in).
-m[=num]
Produce multiple column output (num columns) (default: 1). In multiple column mode, formfeeds cause column breaks instead of page breaks.
-manpage[=num]
Input is from nroff(1). Overstruck text will be displayed in a bold font, and underlined text in a normal font with underlining. The underlining works correctly with proportionally-spaced fonts as well as fixed-width ones. The nroff sequences <+><backspace><o> and <o><backspace><+> will be displayed as a bullet character from the PostScript Symbol font. <ESCape><7> and <vertical tab> (reverse line feed), <ESCape><8> (reverse half line feed), and <ESCape><9> (half line feed) sequences are recognized and handled.

Since UNIX manual pages formatted by nroff(1) are intended for screen display, best results will be obtained if a fixed-width font, such as the default Courier, is chosen. If you want to typeset manual pages, you should use ditroff(1L) or groff(1L) instead, since those programs can produce PostScript directly, and will use proportional fonts for the -man format.

-n[=[tb][lcr]num]
Number the output pages. The margin in which the number is placed can be selected by the letters t (top) or b (bottom), and the position of the number can be further specified by l (left), c (center), or r (right). The number is placed by default in the center of the top margin. If num is given, start numbering with that value, and otherwise with 1. If an initial top margin value is given with the -i option, numbering will be omitted on the first page if it is at the top, on the assumption that the top margin modification accounts for a letter head.

Pages are unnumbered if this option is not specified.

-o[=#]
Outline pages (and columns) with a line that is # units wide. A narrow line of 0.4pt width is assumed if # is omitted; this particular width is what TeX uses in typesetting.
-p=#
Set the font point size (default: 10bp). The baseline skip (the spacing between successive character baselines) is conventionally chosen to be 6/5 of this value, so that with 10bp type, we have 12bp between lines, or 6 lines/inch, the same as standard printer output.
-pages=#,#,#,...
Select pages to be output. Each entry in the comma-separated list is a page number, or a page range, or a page range and page step. Numbers within an entry can be separated by any character other than a digit or comma. For example, -pages=1,7,10-12,20:30:2 would select pages 1, 7, 10, 11, 12, 20, 22, 24, 26, 28, and 30. If multiple -pages options are specified, their effect is cumulative. The previous example could be written equivalently as -pages=1 -pages=7 -pages='10 up to 12' -pages='20 to 30 by 2'. The order of multiple -pages options, and page ranges, is not significant; thus -pages=1:20:2 -pages=2:20:2 would print all pages from 1 to 20 consecutively, not odd-numbered pages followed by even-numbered pages. To accomplish the latter, you must run lptops twice.
-paper=name
(short form) Select a paper size by name. The standard sizes available are:
______________________________________________________________________
Name		   Width   Height   Name		Width	Height
A		   8.5in     11in   A3L			420mm	 297mm
B		    11in     17in   A4L			297mm	 210mm
C		    17in     22in   A5L			210mm	 148mm
D		    22in     34in   A6L			148mm	 105mm
E		    34in     44in   A7L			105mm	  74mm
Computer-1411	    14in     11in   A8L			 74mm	  52mm
Legal		   8.5in     13in   A9L			 52mm	  37mm
Letter		   8.5in     11in   A10L		 37mm	  26mm
US-Legal	   8.5in     14in   B0		       1000mm	1414mm
A-L		    11in    8.5in   B1			707mm	1000mm
Computer-1411-L	    11in     14in   B2			500mm	 707mm
Legal-L		    13in    8.5in   B3			353mm	 500mm
Letter-L	    11in    8.5in   B4			250mm	 353mm
US-Legal-L	    14in    8.5in   B5			176mm	 250mm
COM10		   4.1in    9.5in   B6			125mm	 176mm
DL		   110mm    220mm   B0L		       1414mm	1000mm
Executive	  7.25in   10.5in   B1L		       1000mm	 707mm
Monarch		   3.9in    7.5in   B2L			707mm	 500mm
A4Small		   210mm    297mm   B3L			500mm	 353mm
Ledger		    11in     17in   B4L			353mm	 250mm
LetterSmall	   8.5in     11in   B5L			250mm	 176mm
Note		   8.5in     11in   B6L			176mm	 125mm
A0		   841mm   1189mm   C0		       1294mm	 916mm
A1		   594mm    841mm   C1			916mm	 647mm
A2		   420mm    594mm   C2			647mm	 458mm
A3		   297mm    420mm   C3			458mm	 323mm
A4		   210mm    297mm   C4			323mm	 229mm
A5		   148mm    210mm   C5			229mm	 161mm
A6		   105mm    148mm   C6			161mm	 114mm
A7		    74mm    105mm   Octavo		  5in	   8in
A8		    52mm     74mm   Sixmo		6.5in	   8in
A9		    37mm     52mm   Quarto		  8in	  10in
A10		    26mm     37mm   Foolscap		8.5in	  13in
A0L		  1189mm    841mm   Government-legal	8.5in	  13in
A1L		   841mm    594mm   Folio		8.3in	  13in
______________________________________________________________________

Letter case is not significant in matching paper names. Default left, right, top, and bottom margins are 25mm for paper sizes given in millimeters, and 1in for sizes in inches.

-paper=name,#,#,#,#,#,#
(long form) Define a paper name, and its width, height, left margin, right margin, bottom margin, and top margin. If the margin values are omitted, then 1in values are assumed. Up to 25 extra paper sizes can be specified to supplement the built-in ones.
-quiet[=num]
Set quiet mode. Suppress display of status and warning messages on stderr. Error messages are never suppressed.
-reverse[=num]
Produce pages in reverse order, from last to first. This order is appropriate for printers that stack output face up, such as the original Apple LaserWriter. Most newer printers stack face down, and some can do it either way, so this option is a good candidate for local customization; see the INITIALIZATION FILE section below.
-right=#
Set right margin to # (default: 1.0in).
-snum
Set special handling. Use the manual feed tray for the first num pages of the output. If N multiple copies are in effect (see option -c), then N*num sheets must be fed manually. If num is omitted, then all pages are to be fed manually.
-scribe[=num]
Turn Scribe-like bold and italic requests (@b[...] and @i[...]) into bold or italic text. As a convenient extension to Scribe's facilities, underline requests of the form @u[...] are also recognized, as well as @h[...] for bold-italic, and @t[...] for typewriter text. The letter following the @ may be in either case, and string delimiters may be matching braces, square brackets, parentheses, angle brackets, apostrophes, quotation marks, or back accents. The delimiting characters may not occur in the string.

To get a single @ in the output, use @@ in the input. If this option is not specified, then @ characters have no special significance, and need not be doubled.

Control characters other than tab are forbidden between the string delimiters; thus, a single @b[...] cannot be used to print an entire paragraph in bold text.

-top=#
Set the top margin to # (default: 1.0in).
-version
Display the program version string on stderr.
-wrap[=num]
Wrap long lines at column boundaries and page margins. Normally, such lines are permitted to extend into the next column, or into the right margin. When this option is selected, line wraps will cause generation of additional lines, which may introduce additional page breaks; this can interfere with the appearance of a document that has already been paginated. See the -clip option for an alternative. Effective use of this option requires access to Adobe font metric files; see the FONTS section for details.
-y=#
Set the interline spacing (baseline skip, or leading) to #. The default value is 1.2 times the point size.

INITIALIZATION FILE

Before reading any command-line options, lptops looks for an initialization file in the AFMPATH search path (see the ENVIRONMENT section below). This file is by default called lptops.ini, but an installer can change its name at compile time. On IBM VM/CMS, the period in the file name is replaced by a space.

The initialization file can contain comments, empty lines, and option settings.

Comments go from percent to end-of-line, except that a percent prefixed by a backslash is reduced to a literal non-comment-starting percent.

Option settings must be complete on a single logical line, and can be used to supply site-dependent customizations. Usually, additional font family settings would be placed in the initialization file, because they require a long option value that is inconvenient to provide on the command line.

A long logical line can be written as multiple physical lines by breaking at a backslash-newline; those two characters are deleted when the line is joined to the next line. Line collapsing happens before comment stripping, so if a line with a comment is continued, all following continuation lines are part of the comment.

Here is a simple example. Notice the use of backslash-newline to wrap long lines, and that space between option names and values is permissible.

% /u/sy/beebe/tex/ndvi/lptops.ini,
% Wed Jun  2 22:30:23 1993
% Edit by Nelson H. F. Beebe <beebe@sunrise>
% This is a sample lptops initialization file for local
% customization.
% [02-Jun-1993]

% define Bitstream Charter font family
-f  CharterBT-Regular, BCH, \
    CharterBT-Bold, BCHB,   \
    CharterBT-Italic, BCHI, \
    CharterBT-BoldItalic, BCHBI, \
    Courier, BCHT

% define Bitstream Courier font family
-f  Courier10PitchBT-Roman, BC,   \
    Courier10PitchBT-Bold, BCB,   \
    Courier10PitchBT-Italic, BCI, \
    Courier10PitchBT-BoldItalic, BCBI, \
    Courier10PitchBT-Roman, BCT

% define Adobe Utopia font family
-f  Utopia-Regular, U, \
    Utopia-Bold, UB,   \
    Utopia-Italic, UI, \
    Utopia-BoldItalic, UBI, \
    Courier, UT

% define URW Antiqua family (only Roman available)
-f =    URWAntiquaT-RegularCondensed, AntiqReg, \
        URWAntiquaT-RegularCondensed, AntiqReg, \
        URWAntiquaT-RegularCondensed, AntiqReg, \
        URWAntiquaT-RegularCondensed, AntiqReg, \
        Courier, UT

% define URW Grotesk family (only bold available)
-f =    URWGroteskT-Bold, GroteBo, \
        URWGroteskT-Bold, GroteBo, \
        URWGroteskT-Bold, GroteBo, \
        URWGroteskT-Bold, GroteBo, \
        Courier, UT

% define URW Nimbus Roman family (only Roman available)
-f =    NimbusRomanNo9L-Regular, NimbuRo, \
        NimbusRomanNo9L-Regular, NimbuRo, \
        NimbusRomanNo9L-Regular, NimbuRo, \
        NimbusRomanNo9L-Regular, NimbuRo, \
        Courier, UT

% define URW Nimbus Sans family (only Roman available)
-f =    NimbusSansL-Regular, NimbuSa, \
        NimbusSansL-Regular, NimbuSa, \
        NimbusSansL-Regular, NimbuSa, \
        NimbusSansL-Regular, NimbuSa, \
        Courier, UT

-f  Utopia-Regular      % change default font

-p  11bp                % change default point size

-reverse 0              % no page sorting needed

FONTS

lptops supports all the fonts commonly available in PostScript printers. They are tabulated in the description of the short form of the -font=name option in the OPTIONS section above. Additional ones can be added to the built-in list through the long form of the -font option.

All the built-in font names are assumed to be printer-resident; font families defined by the long form of the -font option are assumed to require downloading. However, because some PostScript printers have additional resident fonts beyond the standard set known to lptops, if a downloadable font file cannot be found, the font is assumed to be printer-resident, and execution will silently continue. In such a case, the output PostScript will contain suitable comments that identify the needed fonts, so that spooling software that supports Adobe's Document Structuring Conventions version 3.0 can supply the missing fonts.

Correct support of the -wrap option requires access to Adobe font metric (.afm) files. If no font metric file can be found, metrics suitable for the default Courier font are assumed. Positioning of individual characters on the line after the first character is left to the PostScript interpreter, so absence of correct font metrics only means that some line wrapping decisions will be wrong; the text of each line will still be properly positioned.

The lptops distribution includes font metric files for all the built-in fonts, as well as for a few publicly-distributable downloadable fonts. Most PostScript-producing software packages will be accompanied by Adobe font metric files. Sun systems with OpenLook installed contain font metric files and downloadable fonts in the directories /usr/openwin/lib/fonts/afm and /usr/openwin/lib/fonts. Adobe font metric files are freely available from the Adobe electronic mail file server, ps-file-server@adobe.com; send a message with the text help to get started.

Font metric files and downloadable font files are searched for in the AFMPATH search path, or if that environment variable does not exist, in a search path set by the installer at compile time.

Downloadable fonts may be in either ASCII (.pfa) or binary (.pfb) formats. Binary data from font files is converted to hexadecimal so that the output PostScript files remain completely portable across operating systems and output devices.

PostScript font files can be converted between binary and ASCII formats with t1ascii(1L) and t1binary(1L), decoded into human-readable documented PostScript commands with t1disasm(1L), and reassembled into binary or ASCII formats with t1asm(1L). Details on PostScript font encoding can be found in the Adobe black book, Adobe Type 1 Font Format, Adobe Systems, Inc. (1990).


FONT MAPPING

By default, font file names are constructed by appending extensions .afm, .pfa, or .pfb to the PostScript font names, producing long names in mixed letter case. While this is satisfactory on newer UNIX systems with extended file systems, mixed case and long file name lengths may not be acceptable on older UNIX systems, or on other operating systems.

lptops therefore supports a simple facility that permits mapping long PostScript font names to shorter system-dependent file names through a mapping file, afmfonts.map, that is looked for in the AFMPATH search path.

The mapping file can contain comments, empty lines, and mapping lines.

Comments go from percent to end-of-line, except that a percent prefixed by a backslash is reduced to a literal non-comment-starting percent.

A long logical line can be written as multiple physical lines by breaking at a backslash-newline; those two characters are deleted when the line is joined to the next line. Line collapsing happens before comment stripping, so if line with a comment is continued, all continuation lines are part of the comment.

Mapping lines each contain a font name and a file name, separated by white space, and optionally, an equals sign or a colon. The file name need not contain a directory path, since it will be searched for in the AFMPATH search path. An explicit directory path prevents the AFMPATH from being used. The file extensions can normally be omitted, since they will be supplied automatically. If file extensions are supplied, they must be separated from the base name by a period, since the last period in the file name marks the location of an extension.

Here is a simple example of a mapping file:

% /u/sy/beebe/tex/ndvi/new/afm/afmfonts.map,
% Wed Apr 28 19:20:47 1993
% Edit by Nelson H. F. Beebe <beebe@sunrise>
%
% This file is adapted from the Adobe TranScript
% package mapping file, afmfiles.upr.    lptops
% can recognize the syntax of that file, but this
% one is more readable.  It provides a mapping
% from PostScript font names to local pathless
% file names.  The file names need not carry
% extensions, although if one is supplied, it
% should be .afm for compatibility with Adobe
% TranScript mapping files.
%
% The set here is suitable for use on systems,
% such as PC DOS, with 8+3 file naming
% limitations.
%
% [28-Apr-1993]

AvantGarde-Book                 = AvGarBk
AvantGarde-BookOblique          = AvGarBkO
AvantGarde-Demi                 = AvGarDe
AvantGarde-DemiOblique          = AvGarDeO
...lines omitted...
NewCenturySchlbk-Bold           = NewCenBo
NewCenturySchlbk-BoldItalic     = NewCenBoI
NewCenturySchlbk-Italic         = NewCenI
NewCenturySchlbk-Roman          = NewCenRo
...lines omitted...
ZapfChancery-MediumItalic       = ZapChaMeI
ZapfDingbats                    = ZapDing

% Bitstream Charter, Bitstream Courier, and Adobe
% Utopia are publicly-available fonts in PostScript
% .pfa and .pfb format.  We follow the TranScript
% conventions above to make short file names for these
% fonts.

CharterBT-Regular               = BCharReg
CharterBT-Bold                  = BCharBo
CharterBT-Italic                = BCharI
CharterBT-BoldItalic            = BCharBoI

Courier10PitchBT-Bold           = BCouBo
Courier10PitchBT-BoldItalic     = BCouBoI
Courier10PitchBT-Italic         = BCouI
Courier10PitchBT-Roman          = BCou

Utopia-Regular                  = UtopiReg
Utopia-Bold                     = UtopiBo
Utopia-Italic                   = UtopiI
Utopia-BoldItalic               = UtopiBoI
The mapping file is portable across all operating systems on which lptops runs.

On IBM VM/CMS, which uses a space instead of a period for the file extension, lptops will internally replace the mapping file extension period by a space. If extensions are supplied in the mapping file, a period, rather than a space, must be supplied in the mapping file for parsing to be correct.

If compatibility with Adobe TranScript is required, the file extension in the mapped file names should always be supplied as .afm. lptops will substitute .pfa or .pfb as needed.


ENVIRONMENT

AFMPATH
Search path for the initialization file, (lptops.ini), font mapping file, (afmfonts.map), Adobe font metric (.afm) files, and for downloadable fonts in PostScript ASCII (.pfa) and binary (.pfb) formats.

On UNIX, the search path is a colon-separated list of directories. On other operating systems, the search path follows the conventions of those systems.

Local compile-time customizations permit changing the names of environment variables, initialization file, and mapping file, and allow the provision of a separate environment variable for the initialization file search path, so lptops at your site may differ from the names documented here. If so, complain to the installer who forgot to update these manual pages!

FILES

*.afm
Adobe font metric files.
*.pfa
ASCII Type 1 PostScript font files for printer downloading.
*.pfb
Binary Type 1 PostScript font files for printer downloading.
afmfonts.map
Font mapping file for associating long case-sensitive PostScript font names with host-dependent file names; see the FONT MAPPING section above.
lptops
Executable program (UNIX).
lptops.exe
Executable program (non-UNIX).
lptops.ini
Startup file; see the INITIALIZATION FILE section above.

SEE ALSO

ditroff(1L), enscript(1L), groff(1L), nroff(1), t1ascii(1L), t1asm(1L), t1binary(1L), t1disasm(1L).

AUTHOR

Nelson H. F. Beebe, Ph.D.

Center for Scientific Computing

Department of Mathematics

University of Utah

Salt Lake City, UT 84112

USA

Tel: +1 801 581 5254

FAX: +1 801 581 4148

Email: beebe@math.utah.edu (Internet)

Original manual page by R. P. C. Rodgers, Computer Applications in Laboratory Medicine Project, UCSF, San Francisco, CA 94143. Rewritten for lptops versions 2 and 3 by NHFB.