Page Numbers: Yes   X: 530   Y: 10.5"   First Page: 1   Not-on-first-pageColumns: 1   Edge Margin: .6"   Between Columns: .4"Margins:   Top: 1.3"   Bottom: 1"Line Numbers: No   Modulus: 5   Page-relativeHeading: Not-on-first-pagel3175e12qk40(635)PrePress Manuall3175y756qk40\15f1XEROXPALO ALTO RESEARCH CENTERComputer Sciences LaboratoryJuly 3, 1977For Xerox Internal Use Onlyz18556l3033jc\f2 5f0 1b26Bi29I14b27BTo:			FileFrom:		Bob SproullSubject:		PrePress Manual (PrePress version 1.3)Filed on:	<GR-DOCS>PrePress.Earsz18556l3033j\f1 4f0 8f1 6f0 13f1 10f0 40f1PrePress is an Alto program for building and maintaining font directories of various sorts.  It was written to satisfy the needs of the Slot/3100 project by way of providing font directories for printing Press documents.  The primary input to the program is a set of "spline character definitions," usually created with the font editor Fred.  Various kinds of output may be generated by the program: scan-converted characters of any variety, spline and character dictionaries, readable listings that describe the contents of a dictionary, a "widths" file that provides character width information to programs that wish to format a document according to Press conventions.e12jThis documentation has two parts.  First is a simple "how to do it" section that gives the normal usage when spline files created with Fred need to be converted into font files for various devices (EARS, Alto, etc.).  The second section describes all the features of the program, and is somewhat obscure.e12j\198f1 4f0For a discussion of the various font formats manipulated by PrePress, as well as font naming conventions and normal locations of font files, see "Font Representations and Formats" (<GR-DOCS>FontFormats.Ears).e12j\181f1 9f0Operatione12c\bThe program is saved on <ALTO>PrePress.Run.  The command format for PrePress is "PrePress <com>/s <arg> <arg> <arg...>".  The command name is specified as <com> which may have switches.  Some arguments may require switches.  All command input may be in upper or lower case.  Command names may be abbreviated, as long as they remain unambiguous.PrePress is not a gold coin.  It is a program written for our private use in getting the Slot/3100 printer on the air.  Bugs will be fixed, but not with alacrity.e12j\24f1 6f0Simple case: How to do ite12c\bThere are three separate operations that need to be performed: (1) read the SF files produced by Fred into an internal format; (2) scan-convert characters given size and device specifications; and (3) write the characters into a file format suitable for the particular device.Reading SF Files:  PrePress will read the SF files that describe characters edited with Fred.  (These files are text files that look as if LISP generated them!)  PrePress will read any number of SF files and create a compact representation of a font on the file SDtemp.  The command is:   PrePress READSF <file1> <file2> .... <filen>The n SF files are read, and written into one directory on SDtemp.  After the READSF operation is complete, the SF files are no longer needed for PrePress operations.  All the information needed for subsequent calculations with the characters has been saved on the SDtemp file.Converting Characters: Armed with the SDtemp file that describes the spline outlines for a font, PrePress will convert that font for use on a number of devices, at a number of sizes, etc. The convert operation converts every character in the SDtemp description, and records it in a "character" dictionary file, CDtemp  The command is:   PrePress CONVERT <rotation>/R <incline>/I <size>/P <device>/DRotation is specified in degrees; the default is 0. Incline is a percentage slope (for fake italics); default is 0. Size is specified in points (to specify it in micas, use the /M switch instead).  The device is the name of the device for which you are generating characters (devices are: EARS, ALTO, XGP, DOVER).  If you wish to generate the font for a special resolution that does not correspond to one of the devices, say n/D, where n is 10 times the resolution of the device, measured in bits per inch. All numbers may be floating-point: 9.5/P will create a 9 1/2 point font. The command destroys any previous version of the CDtemp file; it leaves the SDtemp file intact.Looking at characters:  You may "look" at each of the characters in CDtemp with the command:   PrePress SHOWAfter each character is displayed, ?? is typed.  When carriage-return is typed, the next character is displayed.Making CU files:  The CDtemp file may be converted into a standard CU file for conversion to the other PARC formats.  The command:   PrePress MAKECU Font.Cuwill make the file Font.Cu.  This command leaves the CDtemp file intact.Example:  Suppose you have generated a METEOR font with Fred, and called the SF files METEORA.SF, METEORLA.SF, etc.  You wish to make a 10 point and a 12 point font for Slot.     PrePress READSF METEOR*.SF   PrePress CONVERT 10/P EARS/D   PrePress MAKECU METEOR10.CU   PrePress CONVERT 12/P EARS/D   PrePress MAKECU METEOR12.CUThis simple sequence will require some patience on the part of the user if the font is full!Warning:  Several mysterious files may appear on your disk.  You should realize that these are the stepchildren of PrePress, and can be deleted whenever you want.  They are: PrePress.Scratch, SDtemp and CDtemp.  SDtemp and CDtemp may be deleted, but the above discussion describes how they contain information you may wish to save.e12j\76f1 2f0 208f1 2f0 32f1 2f0 95f1 4f0 52f1 2f0 65f1i2f0 4I32f1 6f0 27i1I7i1I1f1 2f0 51f1 2f0 17f1 6f0 28f1 2f0 151f1 2f0 50f1 2f0 202f1 2f0 67f1i2f0 4I31f1 7f0 11f1 2f0 10f1 2f0 7f1 2f0 9f1 2f0 179f1 2f0 110f1 22f0 114i1f1I2f0 8i1I108f1 2f0 82f1 2f0 25f1 2f0 87f1 2f0 36f1 4f0 123f1 2f0 13f1 2f0 43f1 2f0 34f1 4f0 37f1 6f0 63f1 2f0 58f1 6f0 32f1 2f0 7f1 10f0 2f1 11f0 81f1 17f0 13f1 7f0 6f1 4f0 15f1 6f0 1f1 11f0 13f1 7f0 6f1 4f0 15f1 18f0 288f1 2f0 9f1 2f0 7f1 2f0 9f1 2f0Reference Manuale12c\b16BPrePress internally deals in three basic sorts of things: (1) spline encodings of characters, often called "splines," (2) bit-map representations of characters suitable for displaying or printing, and (3) tables containing width information.  File names are used to connote the contents:	SD,SDtemp,*.SD -- spline encodings	CD,CDtemp -- bit-map encodings of characters	*.AC -- files formatted just like CD,CDtemp, but saved by		the user because they contain a permanent record of a font	WD,WDtemp -- width tables	FONTS.WIDTHS -- a file formatted like WD, but containing widths		for many, many fonts, and distributed for use by text		editors and formattersIn addition, several sorts of files are used externally by PrePress:	*.SF -- spline encodings produced by the font editor Fred	*.AL -- font files for the Alto	*.CU -- "Carnegie Mellon" format font files	*.STRIKE -- font files suitable for use with BitBlt  Following are descriptions of the functions of PrePress listed by command name.e12j\290f1 2f0 1f1 2f0 7f1 2f0 22f1 2f0 1f1 2f0 43f1 2f0 30f1 2f0 1f1 2f0 81f1 2f0 1f1 2f0 22f1 12f0 26f1 2f0 179f1 2f0 57f1 2f0 31f1 2f0 43f1 6f0READSFe12\b6BThe READSF command reads SF files created by Fred and creates a compact description of the spline outlines on the file SDtemp.  Normally, the arguments to the command are the names of the files in SF format to be read.Update Option: If there is already an SDtemp file that contains an encoding of spline characters, and you wish only to update several characters, the /U switch may be used.  Any character outlines contained in the SF files given will replace previous versions contained in the original SDtemp file.  New characters in the SF files are handled in the normal way.  Suppose you have an SDtemp file that contains the encodings for the Helvetica font.  You edit a single character, producing a new SF file Helvetica101.sf.  To update, say   PrePress READSF/U Helvetica101.sfItalic Option: As the splines are read from the SF files, it is possible to add a "fake italic" cast to them by slanting each character to the right.  This is called incline, and is specified as a percentage of the y coordinate to add to the x coordinate.  For example,   PrePress READSF 20/I Helvetica*.sfwill give a 20% incline to all the characters; that is more than enough!  (Note: the <n>/I argument may appear anywhere after the READSF command; the value applies to all SF files listed after the switch.)Scale Option:  As with the incline feature, characters may be artificially "condensed" or "expanded" as they are read in from SF files.  The x and y scale factors may be set with the /X and /Y switches; normally the scale factors are 1.0.  Thus, to "condense" a font, you might say:   PrePress READSF 0.75/X Helvetica*.sfwhich has the effect of making each character only 3/4 as wide as specified in the SF files.  To "expand" a font, you might say 1.25/X.  The /Y switch will accomplish similar wonders in the Y direction, but should be used with extreme care, as values other than 1.0 confuse PrePress's understanding of the "point size" of a font.  (Note: the /X and /Y arguments may appear anywhere after the READSF command; the value applies to all SF files listed after the switch.)Errors:  Several kinds of non-fatal errors can be generated by READSF.  Warnings are generated if characters with different family names or different face designations are read.  A warning is also generated if a character is defined more than once (this warning can usually be ignored when using the /U switch).e12j\4f1 6f0 15f1 2f0 92f1 2f0 76f1 2f0 59f1 2f0 110f1 2f0 62f1 2f0 70f1 2f0 34f1 2f0 59f1 2f0 108f1 2f0 52f1 8f0 66f1 2f0 116i7I110f1 6f0 3f1 2f0 104f1 2f0 40f1 6f0 35f1 2f0 160f1 2f0 55f1 2f0 5f1 2f0 104f1 6f0 5f1 2f0 99f1 2f0 47f1 2f0 7f1 2f0 47f1 1f0 151f1 2f0 5f1 2f0 41f1 6f0 35f1 2f0 97f1 6f0 231f1 2f0CONVERTe12\bThe CONVERT command reads spline encodings from the file SDtemp, and writes scan-converted character encodings onto the file CDtemp.  The mandatory parameters to the CONVERT command are the size of the character desired and the resolution of the device for which the character is intended.Size parameter [mandatory]:  The desired point size of the font is specified with the /P switch.  Fractional point sizes are permitted.  If you prefer to specify sizes in micas (a mica is 10 microns), use the /M switch.Device parameter [mandatory]:  The resolution of the device for which the scan-converted character is intended may be specified in two ways: (1) by giving the name of a standard PARC device, or (2) by giving the resolution of the device (the units to use are 10 times the resolution measured in bits-per-inch).  In either case, the /D switch is used.  Current devices, and their numeric resolution equivalents are:	EARS	5000  (500 bits per inch)	ALTO	720  (to get 8.5 by 11 inch page on screen)	XGP	2000  (200 dots per inch)	DOVER	3500	(350 bits per inch)The /D switch sets resolutions in both directions.  The /E switch will set the resolution in the "y" direction only.  Thus the command PrePress CONVERT 12/P 3840/D 3000/E will convert for a horizontal resolution of 384 bits/inch and a vertical resolution of 300 bits/inch.e12j\4f1 7f0 46f1 2f0 66f1 2f0 39f1 7f0 204f1 2f0 121f1 2f0 188f1 4f0 150f1 2f0 83f1 4f0 28f1 4f0 46f1 3f0 28f1 5f0 31f1 2f0 50f1 2f0 86f1 7f0 3f1 3f0 4f1 2f0 5f1 2f0Rotation parameter [optional; default 0]:  Characters may be rotated as they are scan-converted.  The rotation is specified with the /R switch, and is given in degrees counter-clockwise about the origin of the character.  Thus 90/R specifies a rotation to "landscape" text, running up the page.Italic parameter [optional; default 0]:  Characters may be slanted as they are converted, giving a "fake italic" look to them.  The slant is specified as a percentage of the y coordinate that is to be added to the x coordinate, using the /I switch.  Thus   PrePress CONVERT 12/P EARS/D 20/Iwill slant all characters by 20%, which is ample!Errors:  There are no non-fatal errors in CONVERT.Caveat:  No claim is made that converting spline fonts to any size on any device yields anything usable.  Experience shows that fonts of 6 points or greater on devices with 500 bits per inch (Slot/7000) are acceptable.  Another way to say this is: if the "point size" dimension will occupy 40 or more bits on the device, CONVERT will generate useful characters.  However, you may scan-convert characters for a greater resolution and then varefully "sample" them (see SAMPLE, below).  Or you may manually retouch a scan-converted font (see EDIT, below).e12j\133f1 2f0 94f1 2f0 303f1 2f0 28f1 7f0 3f1 2f0 1f1 6f0 3f1 2f0 95f1 7f0 324f1 7f0 139f1 6f0 66f1 4f0SHOWe12j\bThis command allows the user to cycle through the scan-converted character encodings stored on CDtemp and display them on the screen.  Each character is displayed, its widths are typed, and the prompt ?? is given.  Typing carriage-return will proceed to the next character in the font.(Note: Because it is sometimes inconvenient to use the CDtemp file as input, a variant of the SHOW command can be used: the /S switch is used to specify the input file name -- in CDtemp format.  Thus:   PrePress SHOW Helvetica10b.cd/Swill show Helvetica10b.cd.)e12j\95f1 2f0 245f1 2f0 37f1 4f0 26f1 2f0 53f1 2f0 33f1 4f0 16f1 2f0MAKECUe12j\bThis command writes the scan-converted character encodings stored on CDtemp into a file in CU format.  (This kind of file is the input to many other font-processing steps, most notably the Compress program that builds EARS fonts.)  The single argument is the file name of the output file:   PrePress MAKECU Helvetica10b.Cu(Note: Because it is sometimes inconvenient to use the CDtemp file as input, a variant of the MAKECU command can be used: the /S switch is used to specify the input file name -- in CDtemp format.  Thus:   PrePress MAKECU Helvetica10b.cd/S Helvetica10b.Cuwill read Helvetica10b.cd and write a CU format file.)e12j\69f1 2f0 20f1 2f0 125f1 4f0 80f1 6f0 73f1 2f0 37f1 6f0 26f1 2f0 53f1 2f0 33f1 6f0 74f1 2f0MAKEALe12j\bThis command writes the scan-converted character encodings stored on CDtemp into a file in AL format, suitable for using on the Alto.  The argument is the file name for output:   PrePress MAKEAL Helvetica10b.al(The /S switch applies here as well; see the note above under MAKECU)e12j\69f1 2f0 20f1 2f0 97f1 6f0 23f1 2f0 55f1 6f0MAKESTRIKEe12j\bThis command reads the CDtemp file and constructs a strike format file on the specified output file:   PrePress MAKESTRIKE Helvetica10b.Strike(The /S switch applies here as well; see the note above under MAKECU)e12j\23f1 2f0 89f1 10f0 27f1 2f0 55f1 6f0READCUe12j\b6BThis command can be used to read a CU-format file into PrePress; the character encodings will be stored in the file CDtemp.  Users are warned that CU files do not contain as much information as ".AC" files.  As a result, READCU may slightly alter baseline and width values.The font is given the same name as the .CU file.  However, the size, rotation, and resolution settings are all defaulted to arbitrary values.  The wary user will employ the PrePress LIST command to examine the CDtemp file and the PrePress RENAME commands to fix it if necessary.e12j\35f1 2f0 79f1 2f0 29f1 2f0 47f1 2f0 23f1 6f0 88f1 2f0 140f1 4f0 24f1 2f0 27f1 6f0WIDTHe12j\bThis command is used to extract width information from the font stored on SDtemp or CDtemp, and write this information into a file WDtemp.  The purpose of this command is simply to extract and format the information.  The WIDTH command requires a single switch: /S to read SDtemp, /C to read CDtemp.  If widths are extracted from SDtemp, the width table is formatted to permit widths to be scaled for characters of any size and rotation; it they are extracted from CDtemp, the width table pertains to one size and rotation only.e12j\74f1 2f0 8f1 2f0 45f1 1f0 90f1 5f0 35f1 2f0 9f1 2f0 6f1 2f0 9f1 2f0 36f1 2f0 133f1 2f0READWIDTHSe12j\b10BThis command is used to read a text file that specifies some special widht information that you wish input to the PrePress world.  It will create a width  entry in the file WDtemp, which you can then use for whatever purpose.  The command format is:	PrePress READWIDTHS special.widthswhere special.widths is the name of the text file.  The file format consists of a number of nouns followed by values:	NAME fontname	SIZE pointsize	FACE facecode (e.g. BIR)	XL xlvalue	YB ybvalue	XW xwvalue	XH xhvalue	SCALE number	WIDTHS   (see below)The WIDTHS noun is followed by (character,width) pairs, terminated with the noun STOP.  A character may either be the individual character or its octal code (a number with 2 or more digits).  All the numbers given will be multiplied by the global SCALE factor (a floating-point number). For example:	A 104	72 230	STOPIf you wish all widths to be the same, the noun ALL followed by the value will give the widths.  Here is a sample file for the HyType printer:	Name HyType	Size 12	XL 0 YB -70 XW 254 YH 353	Widths		All 254		Stope12j\173f1 2f0 86f1 10f0 137f1 4f0 11f1 4f0 12f1 4f0 16f1 3f0 3f1 2f0 10f1 2f0 10f1 2f0 10f1 2f0 10f1 5f0 9f1 6f0 20f1 6f0 71f1 4f0 162f1 5f0 65f1 4f0 50f1 3f0 116f1 2f0 3f1 2f0 5f1 2f0 5f1 2f0IMPOSEWIDTHSe12j\b12BThis command is provided so that width information supplied viar READWIDTHS can be "imposed" on spline or character definitions.  This facility was added so that width information suitable for phototypesetter equipment could be imposed on a font, so that proof copies could be printed using our standard printing facilities.e12j\65f1 10f0The command name takes a single switch to determine which file to modifiy (IMPOSEWIDTHS/S modifies SDtemp; IMPOSEWIDTHS/C modifies CDtemp).  The widths are, of course, read from WDtemp.e12j\75f1 14f0 10f1 2f0 6f1 14f0 10f1 2f0 45f1 2f0RENAMEe12j\bThis command is provided so that various parameters of one of the temporary files (SDtemp, CDtemp or WDtemp) may be altered.  RENAME/S modifies the SDtemp file; RENAME/C the CDtemp file; RENAME/W the WDtemp file.  The modifications are specified with arguments and switches:	name/N	Change the family name to "name."	face/F		Change the face type to "face."	size/P		Change the size to "size" points.*	micas/M	Change the size to "size" micas.*	rot/R		Change the rotation to "rot."*	dev/D		Change the resolution according to "dev."*	dev/E		Change the resolution according to "dev."** Applies only to CDtemp or WDtemp file.e12j\83f1 2f0 6f1 2f0 8f1 2f0 23f1 8f0 14f1 2f0 11f1 8f0 5f1 2f0 11f1 8f0 5f1 2f0 79f1 2f0 40f1 2f0 39f1 2f0 43f1 2f0 39f1 2f0 37f1 2f0 49f1 2f0 64f1 2f0 8f1 2f0GROW and SHRINKe12j\bIn order to cope with the vagaries of positive and negative xerography, coupled with a finite spot size on printing devices, these two commands have been added.  They each read the CDtemp file, either grow or shrink all characters in the file, and rewrite it.  An optional parameter tells how many bits to grow (specified with the /D switch; default=1).  A typical use is as follows:   PrePress READSF Helvetica*.SF   PrePress CONVERT 12/P EARS/D   PrePress GROW 2/D   PrePress MAKECU Helvetica12.cu   Compress Helvetica12.cuA 12-point font is created by scan-converting splines; then each character is grown by 2 bits (to compensate for positive xerography and spot size); finally, the CU and EARS files are made.e12j\181f1 2f0 148f1 2f0 64f1 6f0 12f1 2f0 13f1 7f0 3f1 2f0 1f1 6f0 13f1 4f0 2f1 2f0 13f1 6f0 206f1 2f0 5f1 4f0ROTATEe12j\bThe PrePress ROTATE command is used to rotate characters that have already been scan-converted by 90 degrees (counter-clockwise).  The command reads all characters from CDtemp, rotates each one, and writes a new CDtemp file with the rotated font.e12j\13f1 6f0 150f1 2f0 41f1 2f0SCALEe12j\b5BThe PrePress SCALE command is used to make enlarged or reduced fonts by sampling carefully.  Each character in the CDtemp file is read, scaled, and replaced in a new CDtemp file.  The resolution is multiplied by a constant factor supplied with the /X switch (or /Y for the vertical direction).  For example, if you want a carefully-sampled 10 point font for a 300 bit/inch device, you might proceed as follows:	PrePress CONVERT 10/P 6000/D	PrePress SCALE 0.5/XThe resulting font will reside on CDtemp.  Normally, a bit in the new font will be made "black" if the sampling shows that its area is more that 50% occupied.  If you wish to alter this parameter, use percent/D.e12j\13f1 5f0 97f1 2f0 49f1 2f0 80f1 2f0 12f1 2f0 158f1 8f0 2f1 2f0 5f1 2f0 11f1 5f0 4f1 2f0 36f1 2f0 172f1 2f0ORBITFORMATe12j\b11BThe PrePress ORBITFORMAT command modifies the font in CDtemp in a devious way to reformat it for use with Orbit. Warning: After this command is executed, CDtemp will no longer be a proper "character" file for PrePress purposes.  However, it continues to have the same basic structure, and can be merged into dictionaries with the PrePress dictionary commands.  Unfortunately, there is presently no way to distinguish Orbit-format CDtemp files from others.The modifications made to CDtemp are restricted to the rasterDefn structure (see <GR-DOCS>FontFormats.Ears).  The structure is organized in the format expected by Orbit: First word is -height; second word is width-1; then comes the raster definition, packed into (height*width+15)/16 words; finally, there may be an extra word to make the entire entry an even number of words long. e12j\13f1 11f0 30f1 2f0 57i41f1 2f0 274f1 2f0 23I28f1 2f0 53f1 9f0EDITe12j\bThe PrePress EDIT command is designed to allow a user to edit interactively character sets that have already been scan-converted into a bit-map representation.  The need to edit such characters arises because the automatic scan-conversion facilities of PrePress (i.e., the CONVERT command) are inadequate for generating small fonts on low-resolution devices.   The EDIT command allows such characters to be retouched.The main function of the EDIT command is to read character descriptions from a file in the format of the CDtemp file, to permit changes to be made, and to write a new version of the character file.  The EDIT command is designed expressly to work in conjunction with character sets that have been created from spline descriptions: while editing a font set, a "background" character can be displayed.  The background character is usually created by scan-converting a font from splines at higher resolution than the "foreground" character.  Thus, if I wish to create and edit a 12-point Helvetica font, I might proceed as follows:   PrePress READSF Helvetica*.SF   PrePress CONVERT 12/P ALTO/D   COPY Helvetica12.ac _ CDtemp   PrePress CONVERT 48/P ALTO/D   PrePress EDIT Helvetica12.ac/BThe first two commands simply create a CDtemp file for a 12-point Helvetica by scan-converting from splines; without editing, this font is worthless.  The third command copies the result to the file named Helvetica12.ac which will thereafter contain the description of the font we are editing (the extension .AC is the conventional one for such files).  The fourth command will scan-convert the character set at four times the size we wish to edit (any multiple will do), and leave the results in CDtemp.  Now the EDIT command in the fifth line causes the editing facilities to be invoked on the file named Helvetica12.ac.  The characters in CDtemp will be used as background.The EDIT command causes a display to appear that consists of three parts: (1) a character matrix (with associated border areas); (2) a menu of available commands, and (3) an area where "sample" strings of text are displayed.  Most commands are effected with the aid of the mouse and the menu list; the keyboard is used only seldom.  In the description that follows, the term "to bug" means to move the cursor to the desired position, and to depress and then release any key on the mouse (the few instances where different mouse keys are used for different purposes are noted).The character matrix area is used to display the current character (foreground and background).  When the cursor lies in the area, individual bits of the character may be edited by depressing mouse keys: the first key turns bits on; the middle key complements bits; the last key turns bits off.  With the first and last keys, it is possible to "draw" across the area to cause several bits to be turned on or off.  This is the basic mechanism whereby characters are modified.Displayed in the "borders" surrounding the character matrix is width information.  The four tick marks together identify two locations of interest in the character matrix: the tick on the left, and the one on the bottom, if extended, will cross at the position in the character matrix of the "(0,0)" point, i.e. the baseline point where the character "begins."  The tick on the top and the one on the right, if extended, will cross where the character "ends," i.e. at the spot where the character to the right of this one in a string will start (this is sometimes called the "width" spot).  These tick marks may be moved by placing the cursor in the relevant border area and depressing any mouse key.  The two tiny square dots represent the positions that the right and top ticks should take on if the widths given in the spline representation are to be preserved (they are only displayed if there is a background character).The menu lists several operations, which can be activated by "bugging" the menu item.  The command word will be displayed in a black box whenever it is active.  We shall take up the commands in order:New Character.  This command is invoked in order to cease editing the character currently in the character matrix and to move to another character.  The user is prompted for input (by keyboard) of either (1) the character, followed by <carriage return>, or (2) the octal number of the character, followed by <carriage return>.  The character matrix display should change to reflect the newly selected character.Cancel modifications.  This command causes the current set of edits to the character in the matrix to be ignored.  The character is redrawn to correspond to its state just after the last "new character" command was given.Delete this char.  This command causes the character currently being displayed to be deleted from the font altogether.Shift background.  Often, the background character and the character you are working on are not quite aligned.  If you wish to shift the background character a little, choose this menu command.  After the command is activated, you are expected to "bug" two locations: first, a spot on the background character, and second, the place where you want that spot to be after the shift.  (The two bugged points simply specify a relative motion of the background.)Sample.  This command may be useful for generating a good approximation to the background character.  When the command is invoked, it causes several "sampled versions" of the character to appear below the menu area (if the background is a factor of x larger size than the foreground, x**2 sampled versions will appear).  The version thought to be "best" by the sampling process is underlined.  If you bug one of the sampled versions, it will replace the character currently in the matrix; the background character will also be redrawn, in order to correspond to the conditions under which it was sampled.  (Note: for Alto fonts of about 12 point size, this feature is almost useless.)Area.  This command computes the "area" of both foreground and background characters, measured in units of dots in the foreground.  The results are typed out, and can be used to help determine whether the current foreground character is more or less black than the background reference character.Grid.  This command causes a grid to appear which shows where dots in the foreground character lie.  This is useful for counting heights, etc.  The grid is turned off by selecting the Grid menu item a second time.Quit.  This command makes a new copy of the file being edited, which will contain the updated characters.  Until the Quit command is given, updated characters are stored on the file CDedits.  If the program should crash during an editing session, CDedits will nonetheless contain almost all the modifications that were made to characters.  If the PrePress EDIT ... command is immediately given again (the same file name, please!) the program will notice the old CDedits file, and will merge in the recorded changes before beginning the editing session.  (Note: if, for any reason, you wish to abort an editing session, you should delete the CDedits file created.)Show ABCD..., Show abcd..., Show !@#$, Show new words, Show words.  These commands cause current versions of characters from the file being edited to be displayed immediately below the character matrix.  This permits scrutiny of the characters under normal viewing conditions on the Alto.  All five "show" commands will display a string of 5 copies of the current character.  In addition, each one displays a "sample string."  For Show ABCD, the sample string is the upper case alphabet; for Show abcd, it is the lower case alphabet; for Show !@#$, it is the remaining special characters.  Show new words prompts the user for a string (terminated by <carriage return>) that will be displayed as the sample.  Show words re-displays the sample string last given to Show new words.If you don't want a background character to be displayed, say PrePress EDIT/N ....The size of a "dot" in the foreground area is defaulted to be a square 20 Alto screen units on a side.  To override this default, use the /D switch: PrePress EDIT 24/D xxx/B will make a "dot" 24 Alto units on a side.  The enlargement factor of the background characters (4 in the above example) must divide the dot size as specified in Alto units.Errors.  There are several kinds of errors that can be generated; almost all are delivered at the beginning of the session, and relate to validity of files, etc.e12j\13f1 4f0 256f1 7f0 85f1 4f0 75f1 4f0 76f1 2f0 96f1 4f0 434f1 6f0 12f1 2f0 13f1 7f0 3f1 9f0 4f1 4f0 18f1 2f0 17f1 7f0 3f1 9f0 13f1 4f0 15f1 2f0 41f1 2f0 268f1 2f0 186f1 2f0 15f1 4f0 124f1 2f0 38f1 4f0 4771f1 2f0 63f1 2f0 107f1 4f0 102f1 2f0 177f1 2f0 27f1 4f0 427f1 4f0 412f1 6f0 145f1 2f0 18f1 9f0 4f1 2f0Making .AL fontsWhen a font is complete, the results may be converted to AL format as follows:     PrePress MAKEAL Helvetica12.ac/S Helvetica12.alIn order to save the font, please save the Helvetica12.ac file (NOT the .AL file, which has much less information in it than the file edited by PrePress EDIT).  If you fail to save this file, you will be unable to make further modifications to the font.e12j\i17I58f1 2f0 35f1 6f0 98f1 3f0 86f1 4f0COORDINATEe12j\bThis command is provided for helping to "coordinate" a hand-made or retouched font set with the spline "masters."  For some applications, it is essential that the actual font symbols used (on, say, the Alto) are no bigger than the scaled spline symbols would be.  The Coordinate command helps to uncover the differences.The command prompts you for two file names: (1) the name of a "spline file," similar in construction to SDtemp; and (2) the name of a "character file," similar in construction to CDtemp (this file is usually the result of hand operations with the EDIT command).  The size and resolution parameters of the character file are crucial to the calculations used to decide whether the font is coordinated; if you wish to override these, you may specify the size with /P and resolution (times 10, as usual), with /D.  Thus	PrePress COORDINATE 10/P 720/Dwill coordinate a spline and character representation, but will assume the characters are to be used as a 10 point font on a device with 72 bits per inch resolution.The results of the Coordinate command are written on PrePress.Lst.  For each character, the following are given:e12j\426f1 2f0 73f1 2f0 66f1 4f0 210f1 2f0 43f1 2f0 19f1 10f0 3f1 2f0 4f1 2f01. The character width, followed by "s/b" and the spline width, converted into the resolution of the device.  If the spline width is smaller than the character width, the warning [width] is printed as well.  If the font is fully coordinated, all character widths will be < the spline widths.2. The coordinates of the edges of the black portions of the character, referred to the (0,0) point.  These have labels L (left), R (right), B (bottom), T (top); each prints the corresponding dimension for the character and then for the spline (scaled into the resolution of the device). If the font is fully coordinated, the box surrounding the character black will lie inside the box surrounding the spline black.l4233e12j\271u1U141f1 1f0 9f1 1f0 10f1 1f0 11f1 1f0DICTIONARIESe12c\bThe remaining commands are used to build and manipulate dictionaries that contain spline encodings, scan-converted character encodings, width encodings, or combinations of these.  For example, the WIDTH command can be used to (successively) build compact width tables for various fonts; these tables can then be welded into a "dictionary" of width information with the commands given below.  The dictionaries have three uses: (1) simply to hold information in one place, permitting easy backup of fonts; (2) to allow access by a printing program to spline and character encodings required to actually print a document; and (3) to deliver to formatting programs to provide width information.The dictionary commands generally operate by shuttling information between "temporary files" (CDtemp, SDtemp or WDtemp) and a "big" dictionary file.  By default, PrePress assumes that the dictionary file contains information of only one type ("SD" is the name of the spline encoding dictionary, "CD" that of the character encoding dictionary, and "WD" that of the width table dictionary).  However,  the name of the "big" file may be provided to any of these commands with the /B switch.  Thus   PrePress LIST DICT/Bwill list the contents of the dictionary file DICT.Since dictionaries may contain various kinds of information, it is helpful to be able to tell the information apart.  Spline encodings are always stored with size=0, to indicate that they may be scaled; character encodings always have non-zero size.  (Internally, the different kinds of information are kept ruthlessly separate; this separation does not always surface at the command level.)e12j\197f1 5f0 584f1 2f0 6f1 2f0 8f1 2f0 130f1 2f0 50f1 2f0 50f1 2f0 127f1 2f0 28f1 11f0 48f1 4f0LISTe12j\b4BThis command lists the contents of the dictionary file on the file PrePress.Lst.  Different kinds of information is provided for the different kinds of file parts:Spline encoding: width in x (fraction of point size); width in y; left edge of black information relative to (0,0) point; bottom edge; right edge; top edge.  (Note: if a size and resolution are specified in the command line with /P and /D, the dimensions will also be converted to device coordinates and listed.)Character encoding: width in x (bits); width in y; offset from (0,0) point to the left-most black of the character; offset in y to the bottom of the character; width; height.Widths: widths in micas.  If size=0, scaling of widths is permitted, and the number given should be multiplied by the size (in micas) and divided by 1000 to get the width in micas.LIST takes optional switches: /S to list SD; /C to list CD; /W to list WD.  If the /F switch is used, the dictionary listing will go very fast--only the header for each portion of the dictionary will be printed; the details of each character will be omitted.  Optionally, the name of the big dictionary may follow the LIST command, specified with the /B switch.e12j\394f1 2f0 5f1 2f0 434f1 4f0 26f1 2f0 9f1 2f0 2f1 2f0 9f1 2f0 2f1 2f0 9f1 2f0 10f1 2f0 233f1 4f0 29f1 2f0MERGEe12j\b5BThis command is used to merge the font encoding stored in one of the temporary files (SDtemp, CDtemp or WDtemp) into a big dictionary.  Any previous version in the big dictionary is deleted.  The temporary file to merge is specified with a switch to MERGE: /S to merge SDtemp; /C to merge CDtemp; /W to merge WDtemp.  The default names of the big dictionary depend on this switch:  /S uses SD, /C uses CD, /W uses WD.  This file name may be overriden with an argument with /B specified. (Note: if the temporary file is itself a dictionary, i.e. is composed of several segments, the right thing happens.)e12j\86f1 2f0 6f1 2f0 8f1 2f0 144f1 5f0 2f1 2f0 10f1 2f0 6f1 2f0 10f1 2f0 6f1 2f0 10f1 2f0 71f1 2f0 6f1 2f0 2f1 2f0 6f1 2f0 2f1 2f0 6f1 2f0 57f1 2f0SUPERCEDEe12j\b9BThis command is identical to MERGE except in the processing of width information.  If there is a width table in the temporary file that was generated from splines (size=0), it will supercede all width tables in the dictionary file.  This command is typically used as follows:  the MAXC program <PRESS>MAKEFW will make a dictionary file containing font widths for all EARS fonts on <FONTS>.  SUPERCEDE, given a dictionary of spline widths, will create a new widths dictionary that contains spline width information wherever possible.e12j\29f1 5f0 247f1 4f0 9f1 13f0 60f1 4f0 11f1 6f0 3f1 9f0DELETEe12j\b6BThis command is used to delete a font from a big dictionary.  The specification of the part to delete is accomplished with additional arguments and switches:	name/N	The family name is "name."	face/F		The face type is "face."	size/P		The size is "size" points.*	micas/M	The size is "size" micas.*	rot/R		The rotation is "rot."*	dev/D		The resolution is "dev."*** Applies only to fonts of scan-converted character encodings or width information extracted from such fonts. ** Applies only to fonts of scan-converted character encodings.The dictionary to use may be specified by a switch to DELETE (/S for SD, /C for CD, /W for WD) or by an argument with the /B switch.e12j\164f1 2f0 33f1 2f0 32f1 2f0 36f1 2f0 32f1 2f0 30f1 2f0 259f1 6f0 2f1 2f0 5f1 2f0 2f1 2f0 5f1 2f0 2f1 2f0 5f1 2f0 29f1 2f0EXTRACTe12j\b7BThis command extracts a font segment from a big dictionary, and writes it on SDtemp, CDtemp or WDtemp, according to whether the /S, /C or /W switch is specifed.  The specification of the part to extract is accomplished with additional arguments and switches as in DELETE, above.  The switch used establishes the default name of the dictionary (/S uses SD, /C uses CD, and /W uses WD); this may be overriden with an argument with the /B switch.e12j\77f1 2f0 6f1 2f0 8f1 2f0 31f1 2f0 2f1 2f0 4f1 2f0 124f1 6f0 74f1 2f0 6f1 2f0 2f1 2f0 6f1 2f0 6f1 2f0 6f1 2f0 51f1 2f0Trident diskse12j\b13BPrePress has facilities for dealing with files on the Trident disk.  If the /T switch is given immediately following "PrePress" in the command line, PrePress will look for all files first on the Trident disk; failing to find a file there, it will look on the normal Alto disk.The normal use of the /T switch is for merging individual fonts into large font dictionaries.  In this case, the Trident will contain the dictionary itself and the file PrePress.Scratch (this file is used during the merge operation, and grows as large as the final dictionary).  For example, we might:	TFU copy t:PrePress.Scratch _ s:PrePress.Scratch	PrePress ReadSF Logo.Sf	TFU copy t:Dict _ SDtemp	//Begin a dictionary	PrePress Convert 12/p Ears/d	PrePress/T Merge/c dict/b	//Merge characters into Trident dicitonary filee12j\76f1 2f0 222f1 2f0 280f1 3f0 72f1 3f0 15f1 2f0 65f1 2f0Dictionary exampleSuppose that you wish to build a dictionary of font files for use by the Slot/3100 printer.  You wish to include spline definitions for Helvetica, Times Roman and the Logo; you also wish to include scan-converted versions for quick reference: 10 point Helvetica, 10 and 12 point Times Roman, and 24 point Logo.  The file you wish to create is called G.e12j\i21IDelete GPrePress ReadSF HELVETICA.*-SF	Read Helvetica splinesPrePress Merge/S G/B	Merge SDtemp into G.PrePress Convert 10/P 3840/D	Make 10-point font at 384 bpi.PrePress Merge/C G/B	Merge CDtemp into G.PrePress ReadSF TIMESROMAN.*-SF	Read Times Roman into SDtemp.PrePress Merge/S G/B	Merge SDtemp into G.PrePress Convert 10/P 3840/D	Make 10-point font at 384 bpi.PrePress Merge/C G/B	Merge CDtemp into G.PrePress Convert 12/P 3840/D	Make 12-point font at 384 bpi.PrePress Merge/C G/B	Merge CDtemp into G.PrePress ReadSF LOGO.*SF	Read Logo into SDtemp.PrePress Merge/S G/B	Merge SDtemp into G.PrePress Convert 24/P 3840/D	Make 24-point font at 384 bpi.PrePress Merge/C G/B	Merge CDtemp into G.PrePress List G/B	Get summary listing to verify G.Gears/s PrePress.Lst	Print the summary listing.e12j(0,9984)\25f1 14f0 51f1 2f0 100f1 2f0 29f1 15f0 23f1 2f0 33f1 2f0 100f1 2f0 100f1 2f0 29f1 8f0 16f1 2f0 33f1 2f0 100f1 2f0Note that dictionaries may be merged into other dictionaries.  Suppose, for example, that the dictionary G constructed above is to be merged into another one, H:Copy CDtemp _ GPrePress Merge/C H/BThe initial copy is simply so that the merge operation will extract its input from the proper place.e12j\168f1 2f0Font Processing Procedures and Practicee12c(635)\b1. Procedure for updating Fonts.Widthse12j(0,3712)(1,10336)\bThe file Fonts.Widths contains width information extracted from a number of sources, and must be updated whenever width information changes.  The current version of Fonts.Widths is always stored on the MAXC directory <FONTS>, and can be incrementally updated.e12j\202f1 4f0 11f1 7f0Because Fonts.Widths is a PrePress font file, there are many possible ways of updating the file, or of altering it to contain private font information.  The procedures given below have been devised to mechanize the normal updating procedure.e12jCase 1: EARS fonts, not generated from spline representations, have changed.e12j\i8f1 4f0 64IThe altered font (.EP and .EL files) should be placed on the <FONTS> directory.  Then connect to your own directory (not <FONTS>), and run the program <PRESS>MAKEFW.  This program will read all relevant EARS fonts on <FONTS>, and write (on your directory) a file named Fonts.Widths.e12j\18f1 3f0 5f1 3f0 32f1 7f0 49i3I1f1 7f0 23f1 13f0 39f1 4f0 10f1 7f0 57f1 1f0Now the "spline widths" and miscellaneous other things must be merged into the Fonts.Widths created by MAKEFW.  To do this, use FTP to transfer to an Alto disk: <ALTO>PrePress.Run, the new Fonts.Widths, and <PRESSFONTS>SplineWidths.  This last file contains spline widths for all standard splines.  Then execute the commands:	Copy WDtemp _ SplineWidths;	PrePress Supercede/W Fonts.Widths/b;After this finishes, you may use FTP to transfer Fonts.Widths to <FONTS>, where it will be found by all users.e12j\103f1 6f0 19f1 3f0 30f1 6f0 40t1f1 12t0f0 93t1 21f1 2f0 93f1 3f0 13t0 12t1 4f1 7f0Case 2: A spline font has changed.e12j\t1iAssume that PrePress has left on the file SDtemp the compact spline representations for the new font.  Use FTP to retrieve <PRESSFONTS>SplineWidths and <FONTS>Fonts.Widths.  Then execute the Alto commands:	PrePress Width/s;	PrePress Merge/w SplineWidths/b;	Copy WDtemp _ SplineWidths;	PrePress Supercede/W Fonts.Widths/b;Then use FTP to put the updated SplineWidths back on <PRESSFONTS> and the updated Fonts.Widths on <FONTS>.e12j\t1 12t0 8t1 22f1 2f0 63f1 4f0 12f1 12f0 17f1 7f0 178f1 3f0 41f1 12f0 33f1 7f0If you add new spline fonts to the Press world, you should update the command file <PRESSFONTS>MakeSplineWidths.Cm, which contains commands to remake SplineWidths from scratch.e12j\t1 83f1 12f0Case 3: HyType widths have changed.e12j\t1i35IEdit the file <PRESSFONTS>HyType.Widths to contain the new information.  If you are introducing widths for a new print wheel, you may need to make a new text file.  The PrePress documentation contains information about how the file is formatted.  Then follow the procedure given in case 2, but substitute the command "PrePress ReadWidths HyType.Widths" for "PrePress Width/s".e12j\t1 14f1 12f0 143t0 8t12. Spline defintionse12j\t1b20BThe spline defintions for all of our fonts are saved on <PRESSFONTS>.  The SF files are archived.  If you modify a spline defintion and want to distribute it to the world, the following steps are necessary: (1) update Fonts.Widths as described above; (2) copy the SF files back to <PRESSFONTS> and archive them; (3) copy SDtemp for the new font to <PRESSFONTS> with a proper name (e.g., Gacha.SD for the regular font, GachaI.SD for italic, etc.); and (4) remake the font for the relevant devices.e12j\t1 56f1 12f0 7f1 2f0 55i38I94f1 2f0 15f1 12f0 28f1 2f0 25f1 12f0 33f1 2f0 30f1 2f03. EARS fontse12j\t1b3f1 4f0 6BEARS fonts are stored on the MAXC directory <FONTS>.  There is no standard procedure for making them; some were made long ago before controls were established.e12j\t1f1 4f0 25f1 4f0 11f1 7f0If fonts are constructed from splines, you will probably find that the GROW command can be used to improve the appearance of the fonts.  This is because the "positive xerography" used in EARS, together with a scanning spot size that may sometimes be larger than desirable combine to reduce the thickness of characters.  GROW will make the character rasters thicker to begin with, so that EARS' thinning is less objectionable.e18j\t1 71f1 4f0 112f1 4f0 129f1 4f0 64f1 4f0A typical font-creation task might look like:	Ftp maxc ret/c <PRESSFONTS>Gacha.Sd	PrePress Convert 10/p Ears/d	PrePress MakeCu Gacha10.Cu	Compress Gacha10.Cu	Ftp maxc conn/c FONTS xxxx st/c Gacha10.Ep Gacah10.Ele18j\t1 63f1 12f0 105f1 5f04. Slot/3100 fontse18j\t1b18BProcedures for making Slot/3100 fonts for use with Press are described in the Slot/3100 operations manual (<GR-DOCS>PressOps.Ears).  Alto command files for remaking the fonts from scratch are saved on <PRESSFONTS>FontCommands.Dm.e18j\t1 107f1 9f0 85f1 12f0e12j(635)APPENDIX -- Switch Summarye12c\bArgument switches:	name/N 	Family name of font.	face/F  	Face designation (see below).	size/P  	Size in points.	size/M 	Size in micas (mica = 10 microns).	rotation/R       	Rotation in degrees counter-clockwise.	device/D	Device name (EARS, ALTO, XGP).	resolution/D     	Resolution (10 times number of bits/inch).	resolution/E     	Vertical resolution (10 times number of bits/inch).	incline/I	Incline percentage (fake italics).	Xscale/X	X scale factor (READSF, SCALE).	Yscale/Y	Y scale factor (READSF, SCALE).	dictionary/B     	Dictionary file to use.Argument Switches for SHOW, MAKECU, MAKEAL, MAKESTRIKE only:	name/S	Source file name. CDtemp assumed if none specified.	name/O	Output file name. If no switch is specified,		'name' is assumed to be output file name.Defaults:	name/N 	None.	face/F  	MRR.	size/P  	None.	rotation/R       	0.	device/D         	None.	device/E         	/D setting.	incline/I         	0.	Xscale/X         	1.0.	Yscale/Y         	1.0.	dictionary/B     	(Governed by command switch).e12(0,3616)(1,7040)\241f1 4f0 2f1 4f0 2f1 3f0 77f1 1f0 130f1 13f0 29f1 13f0 69b32B34f1 2f0 85t1 1t0 166f1 2f0Command switches:	/F	List -- fast option	/C	Temporary file is CDtemp (WIDTH,RENAME,MERGE,EXTRACT)		Default dictionary is CD (LIST,MERGE,DELETE,EXTRACT)	/S	Temporary file is SDtemp (WIDTH,RENAME,MERGE,EXTRACT)		Default dictionary is SD (LIST,MERGE,DELETE,EXTRACT)	/U	ReadSF -- update option.	/W	Temporary file is WDtemp (RENAME,MERGE,EXTRACT)		Default dictionary is WD (LIST,MERGE,DELETE,EXTRACT)e12\19t1 3t0 1t2 20t0 22f1 2f0 6f1 26f0 2t1 1t0 23f1 2f0 2f1 25f0 24f1 2f0 6f1 26f0 2t1 1t0 23f1 2f0 2f1 25f0 53f1 2f0 6f1 20f0 2t1 1t0 23f1 2f0 2f1 25f0Face code summaryA face code consists of three characters.  The first is the weight of the font (M for medium, L for light, B for bold).  Second is the slope (R for regular, I for italic).  Third is the expansion (R for regular, C for condensed, E for expanded).  Default is MRR.Face codes (the 8-bit numbers) are computed as follows: sum the codes for the three attributes:e12j(635)\b18BWeight:	medium(M)	0	bold(B)	2	light(L)	4Slope:	regular(R)	0	italic(I)	1Expansion:	regular(R)	0	condensed(C)	6	expanded(E)	12e12j(0,6400)(1,9632)e12j(635)