@database FinalCalc.hyper
@font topaz.font 8                                                                                                              

@remark Warning!  Do not edit this file!

@index Main

@$VER: FinalCalc.part6.guide 1.04 (14 February 1996)
@author "Khalid Aldoseri"
@(c) "Copyright © 1995-1996 Khalid Aldoseri"


@node Main "Printers & Printing..."
@toc "FinalCalc:guide/main.guide/Main"
@{b}@{u}
	Printers & Printing:
@{uu}@{fg highlight}
	@{" > " link part6.1} Introduction to Printing
	@{" > " link part6.2} Print Jobs
	@{" > " link part6.3} Printers & Print Settings
	@{" > " link part6.4} Outline Fonts
	@{" > " link part6.5} Previewing Print Jobs
	@{" > " link part6.6} Page Breaks
	@{" > " link part6.7} The Spooler
	@{" > " link part6.8} The Spool Path
@endnode

@node part6.1 "Introduction to Printing..."
@toc "Main"
FinalCalc allows you to print data or graphs from the current project to a
printer as one or more pages.  This is done as a three step process:

@{b}1.	@{u}Define a Print Job:@{ub}@{uu}
	A Print Job is a definition of what to print (a sheet range or a graph)
	and how to print it.  (number of pages, formatting, grid, margins, etc.)

@{b}2.	@{u}Define Printer Type and Output Destination:@{ub}@{uu}
	Define the type of printer to print to (Postscript printer, HP Laserjet,
	Preferences, or a text-only printer) and the system address for that
	printer (PRT:, SER:, PAR: or a file).

@{b}3.	@{u}Print:@{ub}@{uu}
	Do the print.  FinalCalc sends the print job to a local print spooler that
	does the print job in the background.
@endnode

@node part6.2 "Print Jobs..."
@toc "Main"
@{b}@{u}
	Print Jobs:
@{uu}@{fg highlight}
	@{" > " link part6.2.1} Print Jobs List
	@{" > " link part6.2.2} The Print Job
	@{" > " link part6.2.3} Printing a Print Job
	@{" > " link part6.2.4} Graph Print Jobs
@endnode

@node part6.2.1 "Print Jobs List..."
@toc "part6.2"
@{b}@{u}@{fg highlight}Print Jobs List:@{ub}@{uu}@{fg text}
A 'Print Job' is a definition of what to print (either a data range or a graph
from the current project), and how to print it (number of pages, formatting,
grid, margins, etc.)

FinalCalc allows you to define multiple print jobs in a project.  This makes
it easy to build many different print outs (or reports) and to access them
quickly and easily.

Print Jobs can also be printed in batches, where you select a number of print
jobs to print in a specific sequence, or all the print jobs in the project,
allowing sequencing of page numbers across the jobs.

The Print Jobs requester controls all aspects of Print Jobs.  It shows a list
of all Print Jobs currently defined.  From it, you can do the following
actions:

-@{b}@{u}	Define a new print job:@{ub}@{uu}
	Click on the 'New' button.  This will create a new print job and then allow
	you to define it.  If the current project has graphs defined, you will be
	asked whether you want a graph or a sheet data print job.  A Sheet Print Job
	defaults to the currently highlighted range on the current sheet.

-@{b}@{u}	Edit a print job:@{ub}@{uu}
	Click on the 'Edit' button.  This will bring up the 'Edit Print Job'
	requester, which allows you to edit the print job parameters.

-@{b}@{u}	Clone a print job:@{ub}@{uu}
	Click on the 'Clone' button.  This will create a copy of the selected job
	with ".copy" added to its title.

-@{b}@{u}	Delete a print job:@{ub}@{uu}
	Click on the 'Delete' button.  Removes the selected job from the jobs list.

-@{b}@{u}	Select multiple jobs for printing:@{ub}@{uu}
	The 'select', 'deselect', 'all' and 'clear' select and deselect jobs for
	printing.  To select a job for printing, click on the 'Select' button.  It
	will show as '(selected)' in the print jobs list.  To deselect a job, use
	the 'Deselect' button.  The 'All' button selects all jobs, and the 'Clear'
	button clears all selections.

-@{b}@{u}	Rearrange print jobs order:@{ub}@{uu}
	The 'up', 'down', 'top' and 'bottom' buttons move the current job up, down,
	to the top, or bottom of the print jobs list.  This allows you to set the
	order in which they will be printed if multiple jobs are selected.

-@{b}@{u}	Print a job:@{ub}@{uu}
	Click on the 'Print' button.  This will print the selected job(s).  If no
	jobs were selected, then the currently highlighted job will be printed.
	The 'Print' requester will come up to allows you to define printer type
	and destination, along with other print settings.

-@{b}@{u}	Preview a job:@{ub}@{uu}
	Click on the 'Preview' button.  This will show you a preview of what the
	currently selected print job will look like on paper.
@endnode



@node part6.2.2 "The Print Job..."
@toc "part6.2"
@{b}@{u}@{fg highlight}The Print Job@{ub}@{uu}@{fg text}

The Print Job is a collection of settings that control how your data will
be printed.  The 'Edit Print Job' requester controls those settings.

@{b}@{u}@{fg highlight}Print Job Settings:@{ub}@{uu}@{fg text}

-@{b}@{u}	Paper Size and Type:@{ub}@{uu}
	The Paper Size is defined as the paper's width and height in inches.  You
	can either directly enter those values, or use the Paper Type definition
	to select a standard paper size.  Click on the 'Pick' button and you will
	get a list of standard paper sizes to select from.

	The Default paper size, when selected, will use the paper size defined in
	your global print settings.  This will also disable the paper width and
	height gadgets, but will show the default value in them.  If you need to
	enter direct values in those gadget again, select any other standard paper
	type to re-enable them.

-@{b}@{u}	Print Margins:@{ub}@{uu}
	The print margins are defined as the distance (in inches) from the sides of
	the paper to the actual printing area.  You can define the left, right, top
	and bottom margins.

-@{b}@{u}	Default Font Size:@{ub}@{uu}
	The default font size is the basic width and height of the default font to
	use for printing.  It is defined as CPI (characters per inch) and LPI (lines
	per inch).  The default values for those are 10 CPI and 6 LPI.  Changing
	these values effectively scales all the print job.  It is recommeneded,
	however, that you use the Zoom Ratio controls instead for fine control over
	job width and height scaling.

-@{b}@{u}	Zoom Ratio:@{ub}@{uu}
	The zoom ratio allows you to scale the print output in the X (width) and
	Y (height) directions.  The default value for these is 1, which means that
	the scale used will be exactly the size defined in the Default Font Size
	CPI and LPI (as described above).  Changing it to a value less than 1 will
	shrink the output in the selected direction.  Changing it to a value larger
	than 1 will expand the output in the selected direction.

	The X (width) and Y (height) zoom ratios have Locks.  The default mode is
	to have them both locked.

	If they are unlocked, the zoom ratios are automatically adjusted before
	printing the job to fit the number of pages wide and high as specified
	by the user and displayed in the Print Estimates.  This allows you, for
	example to insert and delete rows, change column widths, etc., and still have
	the number of pages wide and high stay the same for the print job.
	FinalCalc will rescale the output as necessary to get the number of pages
	requested.

	When you edit either zoom ratio, that ratio's lock is automatically
	activated.  This prevents the automatic 'autofit' being applied to the
	print job when printing it.  Using 1 Page AutoFit or Range AutoFit turns
	the locks off.

	You can also have only one of the locks active, e.g. if you have Width (X)
	lock unlocked and Height (Y) locked, you can force the print job to be
	always 1 (or more) pages wide and as many pages high as the job requires.

-@{b}@{u}	Auto-Fit:@{ub}@{uu}
	The AutoFit feature calculates the correct X and Y zoom ratio values (as
	defined above) that would make the current print job fit in a specified
	number of pages.

	To use AutoFit, click on the '1 Page' button and X and Y zoom ratios will
	be changed to values that will make the print job fit in one page.  The
	X and Y locks will also be unlocked.

	If you want to set a specific number of pages wide and high, click on the
	'Range' button and enter the numbers in the 'AutoFit Multiple Pages'
	requester.

-@{b}@{u}	Data Range to Print:@{ub}@{uu}
	Defines the source of the data to printed.  This should be defined as a
	spreadsheet range.  This can be a normal range (e.g. A1:Z100), a range name
	(e.g. SALES), or a 3D range reference (e.g. B_A1:B_Z100)  If it contains more
	than one sheet, the print job will only use the first sheet in the specified
	range.

-@{b}@{u}	Sideways Printing:@{ub}@{uu}
	A Print Job can be set to print in 'sideways' mode.  i.e. the page will be
	printed in a landscale format.  The 'Sideways' button toggles this mode
	between off (portrait) and on (landscape) print orientation.

-@{b}@{u}	Output Estimates:@{ub}@{uu}
	As you edit the print job, the 'Output Estimates' box in the requester will
	constantly show you FinalCalc's current estimates of what the job will look
	like.  It shows the number of characters per line, number of lines per page,
	and total pages that job will result in, and how many pages wide and high
	the job currently is.

-@{b}@{u}	Page Headers and Footers:@{ub}@{uu}
	A Page Header is a single line that gets printed at the top of each page in
	the print job.  You can define the header by clicking on the 'Header' button.
	The header consists of three strings, left, center, and right.  These
	strings are placed to the top left, top center, and top right of the page.

	Simply enter a string in any of the three gadgets.  You can enter any text
	you like.  Special tokens (that start with a % sign) are replaced by specific
	entries like the current date, time or page.  @{"Appendix 5" link "FinalCalc:guide/appendix5.guide/Main"} contains a full
	description of these tokens.  To access a list of these tokens in FinalCalc,
	click in the [?] gadget next to the header string gadgets.  This will bring
	up the 'Edit Header/Footer String' requester, which allows you to directly
	paste tokens into the header strings.

	The 'Edit Header/Footer String' requester shows you the tokens available and
	a simple description of each.  To use it, simply select the token you need
	and click on 'Add' to add the token to the string.  The 'Delete' button
	the last word in the string, and the 'Clear' button clears the entire string.
	As you edit the string, it is evaluated and a sample output of what the header
	will look like is shown below the string entered.

	When you are done with the requester, click on 'Paste' to enter the string
	back into the Edit Header requester.

	The Page Footer is identical to the Page Header except that it is printed at
	the bottom of every page.  To access it, click on the 'Footer' button in the
	Edit Print Job requester.

-@{b}@{u}	Page Titles:@{ub}@{uu}
	Page Titles are columns that appear at the left or right of every page,
	or rows that appear at the top or bottom of every page in the print job.
	To define Page Titles, click on the 'Titles' button in the Edit Print Job
	requester.  The 'Edit Page Titles' requester will come up.  In it, you can
	define the following:
  
	Top:
	The start and end row of the provided range are used to define the
	titles range.  These titles are printed at the top of each page.

	Bottom:
	The start and end row of the provided range are used to define the
	titles range.  These titles are printed at the bottom of each page.

	Left:
	The start and end column of the provided range are used to define the
	titles range.  These titles are printed at the left of each page.

	Right:
	The start and end column of the provided range are used to define the
	titles range.  These titles are printed at the left of each page.

	In all the above, you must enter a sheet range, (e.g. A1:B1 or A1:A10).
	Column Titles (left and right) ignore the row number in the range, and Row
	titles (top and bottom) ignore the column number in the range.

	Page titles support 3D ranges (e.g. A_A1:A_B1), so you can have titles from
	different sheets.  Note, however, that FinalCalc uses the column widths from
	the sheet the main data range is on, not the specified titles ranges in order
	to keep the printing aligned.

-@{b}@{u}	Column and Row Grid:@{ub}@{uu}
	The Column and Row Grid is a thin dotted line that is drawn between columns
	and/or rows.  The grid is controlled by the 'Show Column Grid' and 'Show Row
	Grid' toggle gadgets in the 'Other Print Job Settings' requester, which is
	called by the 'Other' button in the Edit Print Job requester.

-@{b}@{u}	Column and Row Names:@{ub}@{uu}
	You can have the name of each column (e.g. A, B, AZ) printed at the top of
	the page, or the number of each row printed at the left of each page by
	turning on the 'Show Column Names' and 'Show Row Names' options in the
	'Other Print Job Settings' requester.

	If a column has a title, the then title of that column will show up instead
	of its name.

-@{b}@{u}	Ignore Sheet Format:@{ub}@{uu}
	By default, the print job will duplicate all the sheet data's format.  You
	can, however, force it to ignore some of the sheet's format.  The following
	sheet format objects can be set to 'ignore':

	Lines:
	Ignores Lines and Borders when printing.

	Fonts:
	Different font types and sizes will be ignored, only the default
	font will be used.

	Styles:
	Text styles will be ignored. This includes bold, italics, reverse
	and shaded cells.  (Underline is not ignored)

	Colors:
	Print all cells in the default color.

-@{b}@{u}	Show Margins:@{ub}@{uu}
	The Show Margins option (accessed from the Edit Other Print Job Settings
	requester) prints dotted lines across the margins in each page allowing
	you to see where the margins are and what the visible 'print area' of your
	printer is.  The header and footer margins are also shown.

-@{b}@{u}	Page Numbering:@{ub}@{uu}
	The current page number is a running count of the current page being printed
	in a print job.  It can be shown on a page in its header and footer as
	described in the @{"Page Headers and Footers" link part6.2.2 91} section.

	The default numbering starts at page 1 for the first page printed in a job
	and is incremented by 1 for each page.  FinalCalc allows you to control
	what the page number starts at and how it is incremented using the following
	print job settings:  (All these settings are in the 'Edit Other Print Job
	Settings' requester)

	-	Start Numbering at:

		This defines the first page number for the job.  It defaults to 1.  This
		value can be automatically adjusted by FinalCalc in two situations:

		1.	The Print Page Offset number in the 'Print' requester is
			set to a number other than 0.  This offset will be added
			to the start page number.

		2.	Multiple print jobs are selected for printing.  The total
			number of pages printed in the jobs previous to this one
			will be added to the start page number.

	-	Page Count Step:

		The Page Count Step defines the step that is added to the page count every
		time it is incremented.  This defaults to one page, unless changed by
		the Page Count Increment Options (as described below).

		For example, if the first page number is 1, and the Page Count Step is set
		to 2, the page numbers will be 1, 3, 5, 7, 9, etc.

	-	Page Count Increment Control:

		The Page Count Increment Control defines when and if the page count is
		incremented.  It defaults to incrementing at the end of every page.  The
		following options are available:

		1.	Every Page:
			Increments the page number after every page printed.

		2.	Every Page 'High':
			Increments only at the end of a series of pages 'wide'.
			e.g. if a print job prints 2 pages wide by 3 high, the page
			count will only be incremented after the 2nd, 4th and 6th page.

		3.	End of job only:
			Increments page count at the end of the job only.  This works
			with the 'Sequence page numbers across jobs' option.

		4.	Never:
			The page count is never incremented.


-@{b}@{u}	Postscript Include File:@{ub}@{uu}
	The Postscript Include File is a PostScript (PS) file that is inserted into
	each page in the current job.  The PS file is executed before FinalCalc
	renders its own page.  This allows you to print company logos, background
	images, specialized images, etc.  The PS file can be in Encapsulated
	Postscript (EPSF) format.  

	To set the Postscript Include File, click on the 'Include' button in the
	Edit Print Job requester, you will get the 'Edit Page Include File' requester
	(show above) and then enter the name of the PS file to include in the Include
	File gadget.

	You can also scale, shift and rotate the included PS image to make it
	fit in your page.

	Scale X:
	Scales the include image to a smaller or larger size horizontally.
	e.g. 2 makes it twice the size, 0.5 makes it half the size.
	Using a negative scale value, e.g. -1, reverses the image.
	Note that after scaling, it is often necessary to use the Shift
	 values below to get the image into the required position on the page.

	Scale Y:
	Scales the include image to a smaller or larger size vertically.
	e.g. 2 makes it twice the size, 0.5 makes it half the size.
	Using a negative scale value, e.g. -1, reverses the image.
	 Note that after scaling, it is often necessary to use the Shift
	values below to get the image into the required position on the page.

	Shift X:
	Moves the image horizontally by X inches.  e.g. -1 shifts the image
	one inch to the left, 0.5 shifts the image half an inch to the right.

	Shift Y:
	Moves the image vertically by X inches.  e.g. -1 shifts the
	image one inch to the top, 0.5 shifts the image half an inch
	to the bottom.

	Rotate:
	Rotates the image.  Takes the number of degrees to rotate the
	image on the page.  (from 0 to 359 degrees).
@endnode

@node part6.2.3 "Printing a Print Job..."
@toc "part6.2"
@{b}@{u}@{fg highlight}Printing a Print Job:@{ub}@{uu}@{fg text}
To print a print job, select the job in the @{"Print Jobs" link part6.2.1 13} requester.  Next, click
on the 'Print' button.  The Print requester will come up.  Select your printer
type, output destination, and other print settings.  Next, click on the
'Print' button.  A status window will come up while the job is being built
and then sent to the @{"Print Spooler" link part6.7}.  You can abort the print job as long as
the status window is still up by hitting the Escape key or clicking on the
'Abort' button.  Once the status window goes, the job is then handled by
the spooler.  To abort it at that point, use the spooler's Abort button.

To print multiple jobs, select all the jobs you want to print in the Print
Jobs requester and then click on 'Print'.
@endnode

@node part6.2.4 "Graph Print Jobs..."
@toc "part6.2"
@{b}@{u}@{fg highlight}Graph Print Jobs:@{ub}@{uu}@{fg text}
A Graph Print Job is a print job that prints a single graph on a single page.
To add a Graph Print Job simply use the Print Jobs requester and hit 'New'.
If any graphs have been defined in the current project, you will be asked if
you want to add a normal Job or a Graph Print Job.

In the Print Job requester, graph jobs have "(graph)" appended to their
name and act exactly like Sheet Data Print Jobs except for the following
differences:

-	Editing a Graph Print Job brings up the Edit Graph Print Job requester.
	You have to define the name of the graph to attach to the print job here.

-	All graph jobs are printed as one page.

-	You cannot print a Graph in Text Only mode.

-	Several Settings in the 'Other Print Job Settings' requester are not
	available since these only apply to normal Jobs.

If the Graph name defined in the Graph Print Job is not a valid graph name or
was not defined, FinalCalc will complain when you try to print the job.
@endnode


@node part6.3 "Printers & Print Settings..."
@toc "Main"
@{b}@{u}
	Printers & Print Settings:
@{uu}@{fg highlight}
	@{" > " link part6.3.1} The Print Requester
	@{" > " link part6.3.2} Printer Types
	@{" > " link part6.3.3} B&W, Grayscale & Color Printing
	@{" > " link part6.3.4} Print Colors
	@{" > " link part6.3.5} Default Paper Size
@endnode


@node part6.3.1 "The Print Requester..."
@toc "Main"
FinalCalc directly supports PostScript and LaserJet printers as well as the
normal Preferences printer drivers.  You can select the printer type from
the Print requester, which controls the printer type and other print settings.
It is called by hitting the 'Print' button in the 'Print Jobs' requester to
print a job or jobs.

@{b}@{u}@{fg highlight}The Print Requester:@{ub}@{uu}@{fg text}

The Print requester comes up in two different modes, depending on whether one
or multiple jobs have been selected for printing.

The Print Requester controls the following settings:

-@{b}@{u}	Printer Type:@{ub}@{uu}
	The type of printer connected to your system.

-@{b}@{u}	Printer Options:@{ub}@{uu}
	Specific options for the selected printer type.  This is available for
	Preferences and HP Laserjet printers only.

-@{b}@{u}	Color Mode:@{ub}@{uu}
	Print the job in black & white, grayscale or color mode.

-@{b}@{u}	Output Path:@{ub}@{uu}
	The system device or file to send the print output to.  This can be any valid
	system device or file name.

	The Output Path can be a real printer attached to the SER: or PAR: ports, or
	any file name.  If no output is defined, the user is asked for the
	destination when the print job is actually printed.

	The Output Path is ignored when printing to a Preferences printer.  The
	output in that mode is always sent to the printer selected in Preferences.

	When directing output to a file, note that the output is real printer codes
	when either Postscript or HP LaserJet printers are selected, and ASCII text
	when Text Only is selected.

-@{b}@{u}	Number of copies:@{ub}@{uu}
	The number of copies to print of each page in the job.

-@{b}@{u}	Range of pages to print:@{ub}@{uu}
	By default all pages are printed in the job.  If you set this mode to Range,
	and enter start and end page numbers in the 'From' and 'To' gadgets, only the
	selected range of pages in the job will be printed.

-@{b}@{u}	Page Number Offset:@{ub}@{uu}
	This is a fixed number that is added to all page numbers being printed.  It 
	defaults to zero.

-@{b}@{u}	Sequence Page Numbers Across Jobs:  (only in multiple-job mode)@{ub}@{uu}
	By default, the starting page number for each job is the one defined
	in the job's settings.  If the Sequence Page Numbers Across Jobs is
	turned on, however, page numbering will continue across jobs, i.e.
	if job 1 ends at page 11, job 2 will start at page 12.

	Note that the the Starting Page Number defined in the print job defintion
	is always added to the current page number, minus one.  Thus, if you start
	numbering at page 20, for example, all jobs starting with the current one
	onwards will be affected by that, thus the starting page number is additive
	when sequence page numbers is on.

-@{b}@{u}	Output All Jobs To Single File:  (only in multiple-job mode)@{ub}@{uu}
	By default, if multiple jobs are printed to a file, multiple files are
	generated using the filename plus a ".001" ending.  In Text Only mode,
	however, if you turn Output All Jobs To Single File option on, all
	the output will be sent to a single file.  (This option is of no real
	use in modes other than Text Only and it is ignored by those modes.)


Once the print settings are confirmed, you can do one of the following actions:

-	Hit the 'Print' button.  This sends the job(s) to the print spooler, which
	then sends it to the Output destination selected.

-	Hit the 'Exit' button.  No printing is done, but the settings are stored.

-	Hit the 'Preview' button.  A preview of what the job will look like is
	shown on the screen.
@endnode

@node part6.3.2 "Printer Types..."
@toc "Main"
@{b}@{u}@{fg highlight}Printer Types:@{ub}@{uu}@{fg text}

There are 4 printer types that can be selected:

@{b}1.	@{u}Preferences Printer:@{ub}@{uu}
	The current printer selected in the Workbench Printer Preferences.  All
	printing is done as a graphics dump and is affected by the Preferences
	PrinterGfx settings.

	The 'Options...' button in the Print requester allows you to set the print
	density (from 1 - 7).  The exact meaning of the density depends on the
	currently selected preferences printer driver.
   
	The job is always sent to the currently selected output port in Preferences.
	This is normally the serial or the parallel port.

	If the selected preferences printer driver supports color output, setting
	the print mode to Color (from the Print requester) will send a color
	printout to the printer.

@{b}2.	@{u}Text Only:@{ub}@{uu}
	Prints out the print job as simple ASCII text with no special formatting
	other than the use of spaces to align cells.  A form-feed character is sent
	after every page.

	The output is sent to the destination selected in the 'Output' gadget in
	the Print requester.  This can be a file or a printer.

@{b}3.	@{u}Postscript Printer:@{ub}@{uu}
	Prints to any printer that supports the Postscript page description language.

	The output is sent to the destination selected in the 'Output' gadget in
	the Print requester.  This can be a file or a printer.

	The output is formatted as Postscript Level 2 output.  The output has the
	traditional Level 2 postscript header.  This makes the output postscript
	files easier to import into other programs.

	If the print mode is set to Color (from the Print requester), FinalCalc will
	print the job in color.  If the printer does not support color, it will show
	the printout in grayscale.  You must have a Level 2 Postscript printer to
	use Color mode.  Level 1 Postscript printers do not support the color
	commands and will most likely ignore the entire job.

@{b}4.	@{u}LaserJet printers:@{ub}@{uu}
	Prints to any printer that supports Hewlett Packward LaserJet or DeskJet
	printer command language.

	The output is sent to the destination selected in the 'Output' gadget in
	the Print requester.  This can be a file or a printer.

	The 'Options...' button in the Print requester allows you to set the type
	of printer (Deskjet, Laserjet II, Laserjet IIp, Laserjet III, Laserjet 4L,
	or Laserjet 4), and density of printout in dots-per-inch (75, 100, 150, 200,
	300 or 600).

	This mode does not support color printouts.  If you want to print on a
	color HP printer, use the Preferences setting.


Generally, the best printer type is Postscript if you have a printer that
supports Postscript.  FinalCalc internally generates its output in Postscript
and then converts it to a format acceptable to Preferences and Laserjet
printers.  This conversion process takes some time.  Printing to a Postscript
printer does not need this conversion process, and is very quick.
@endnode

@node part6.3.3 "B&W, Grayscale & Color Printing..."
@toc "Main"
@{b}@{u}@{fg highlight}BW, Grayscale & Color Printing...@{ub}@{uu}@{fg text}

The Color mode in the Print requester selects how colors in a print job are
handled.

-@{b}@{u}	B&W mode:@{ub}@{uu}
	All objects in the print job are printed as black.  The color of the objects
	is ignored.

-@{b}@{u}	Grayscale mode:@{ub}@{uu}
	Objects in the print job are printed as a selected shade of gray based on
	their color's value.  The actual grayscale value used is defined by the
	Print Colors setting, as decribed below.

-@{b}@{u}	Color mode:@{ub}@{uu}
	Objects in the print job are printed in the color they were set to in the
	project.  The actual color values used are defined by the Print Colors
	settings, as described below.
@endnode

@node part6.3.4 "Print Colors..."
@toc "Main"
@{b}@{u}@{fg highlight}Print Colors:@{ub}@{uu}@{fg text}

When FinalCalc prints in Grayscale or Color modes, it decides the grayscale
level or color value of each cell in the project as its prints it based on
a conversion table of screen to printer colors.  This list can be edited
by the user.

To access this list, use the 'Settings - Print - Print Colors' menu.  It
will bring up the Printer Colors requester.  It allows you to control how
colors are printed on a printer.  Select a color to edit, and the Edit Print
Color requester comes up.

From this, you can set the mixture of CYMK (cyan, yellow, magenta, and black)
for the selected color, as well a Gray, which is a percentage of black that is
used when printing in Grayscale mode.
@endnode

@node part6.3.5 "Default Paper Size..."
@toc "Main"
@{b}@{u}@{fg highlight}Default Paper Size:@{ub}@{uu}@{fg text}

The Default Paper Size is defined as the width and height of the printer
paper in inches.  It is used by all print jobs that are set to the 
'Default' size.  It makes easier to share projects between different paper
types without having to manually change the paper type in every print job.

To set the Default Paper Size, use the 'Settings - Print - Default Paper Size'
menu.  It will bring up the Default Paper Size requester.

To set a print job to the Default Paper Size, use the Pick gadget in the Edit
Print Job requester and select 'Default'.  The width and height gadgets
will show the default size and will be disabled.  The current paper size
will be shown as 'Default'.
@endnode


@node part6.4 "Outline Fonts..."
@toc "Main"
@{b}@{u}
	Outline Fonts:
@{uu}@{fg highlight}
	@{" > " link part6.4.1} What are Outline Fonts?
	@{" > " link part6.4.2} Types of Outline Fonts Supported
	@{" > " link part6.4.3} Outline Font Paths
	@{" > " link part6.4.4} Outline Fonts List
	@{" > " link part6.4.5} Editing an Outline Fonts List Entry
	@{" > " link part6.4.6} Paste Outline Font Requester
	@{" > " link part6.4.7} Automatic Outline Font Entry Generation
@endnode

@node part6.4.1 "What are Outline Fonts?..."
@toc "part6.4"
@{b}@{u}@{fg highlight}What are Outline Fonts?@{ub}@{uu}@{fg text}

An Outline Font is a file that describes how a printer font looks like.
FinalCalc uses outline fonts when printing in order to achieve the best
print quality possible on your printer.

FinalCalc supports several different types of outline fonts.  To use an
outline font, it must be placed in one of the directories pointed to by
your Outline Fonts Paths.

FinalCalc uses normal Amiga bitmap fonts (the ones font in the FONTS:
directory) for its display, and it has a 'translation table' that tells it
what Outline font to use for each Amiga bitmap font when printing.

Outline Fonts are used in the following actions:

a. Printing to a Preferences or a Laserjet printer.
b. Previewing a print job.
c. Printing a font that doesn't exist in a Postscript printer.
@endnode

@node part6.4.2 "Types of Outline Fonts Supported..."
@toc "part6.4"
@{b}@{u}@{fg highlight}Types of Outline Fonts Supported:@{ub}@{uu}@{fg text}

FinalCalc supports the following types of outline fonts:

a.	Softwood Font Files (in Nimbus-Q format).  These are the fonts included in
	the FinalCalc release disks.  More font sets are available from Softwood.

b.	Postscript Type1 and Type 3 fonts:  
	 These are standard Postscript font files.  FinalCalc can handle ASCII and
	 binary formats of these fonts as well as encoded fonts.   

c.	Macintosh ATM font files.
@endnode

@node part6.4.3 "Outline Font Paths..."
@toc "part6.4"
@{b}@{u}@{fg highlight}Outline Font Paths:@{ub}@{uu}@{fg text}

FinalCalc looks for its Outline Fonts in the Outline Font Paths.  These define
places on your system where the outline fonts are stored.

To edit your Outline Font Paths, use the 'Settings - Print - Outline Fonts Paths'
menu.  This will bring up the 'Outline Fonts Paths' requester.

You can define up to three different locations.  These are searched in
order to find a font.  You can also define an extension that is appeneded to
the font name when looking for the font.  For example, most Postscript Type 1
fonts come have an extension of ".PFB".  You simply define the extension for
this path as ".pfb" and FinalCalc will be able to see the fonts in that
directory.

The names of the files in the Fonts Paths must match the font name they
contain.  For example, if a font is named 'Helvetica', the name of the file
that contains the font must have the same name, or the same with with the
defined extension for the path the file is in.  FinalCalc will attempt to
repair name conflicts if it can by renaming the file.  This means you can
can simply drop MS-DOS fonts into an outline font path without having to
rename them and FinalCalc will fix them into the correct file names.


If you need more than 3 paths for your outline fonts, you can use the AmigaDOS
multiple assign feature to assign multiple paths to a single assign.  For
example:  The Shell command "Assign FCFONTS:  path1 path2 path3"  will make
a single assign name FCFONTS: that contains three paths.  You can then use
FCFONTS: as one of your Outline Font Paths and all of its sub-paths will be
scanned by FinalCalc.
@endnode

@node part6.4.4 "Outline Fonts List..."
@toc "part6.4"
@{b}@{u}@{fg highlight}Outline Fonts List:@{ub}@{uu}@{fg text}

The Outline Fonts List is the translation list FinalCalc uses to decide which
outline font to use for each display font.  To access this font, use the
'Settings - Print - Outline Fonts List' menu.  The 'Outline Fonts List'
requester will come up.


The requester shows the translation list.  From it you can do the following
actions:

-	Edit a translation list entry.

-	Define a new translation list entry.

-	Delete an entry.

-	Save the translation list to your configuration.  The list will then be
	used in future FinalCalc sessions.
@endnode

@node part6.4.5 "Editing an Outline Fonts List Entry..."
@toc "part6.4"
@{b}@{u}@{fg highlight}Editing an Outline Fonts List Entry:@{ub}@{uu}@{fg text}

The 'Edit Outline Font' requester edits an Outline Fonts List entry.  Each
entry contains the following settings:

@{b}a.	@{u}Amiga Font Name:@{ub}@{uu}
	 This is the name of the Amiga bitmap font.  This is the base name of the
	 entry, and the entry is used to replace this display font with the outline
	 font defined in this requester.

@{b}b.	@{u}Postscript Printer Font Names: (Box 1)@{ub}@{uu}
	This defines the font names to replace for the bitmap font when printing
	to a Postscript printer.  These names can be fonts in the Outline Fonts
	Paths, or printer built-in fonts.

	The font names define the 4 forms of the font:  Normal, bold, italic, and
	bold/italic.

	The 'Download' toggle switch decides whether the font is downloaded to
	the printer or not during printer.  If the font selected is not a resident
	printer font, (i.e. it is in the Outline Fonts Paths), the Download toggle
	_MUST_ be set to ON.

@{b}c.	@{u}Preview/Preferences/Laserjet Font Names: (Box 2)@{ub}@{uu}
	This defines the font names to replace for the bitmap font when printing to
	a Preferences or Laserjet printer, or when Previewing a print job.

	The font names define the 4 forms of the font:  Normal, bold, italic, and
	bold/italic.


The requester also contains several 'tool' gadgets that aid in entering its
contents:

-@{b}@{u}	Paste Outline Font button:@{ub}@{uu}
	The Paste Outline Font button is the [?] button next to each font name entry.
	It brings up the 'Paste Outline Font' requester (described in 6.3.5 below)
	which allows you to paste a font name from the Outline Fonts Paths into the
	gadget it is attached to.

-@{b}@{u}	Copy:@{ub}@{uu}
	Copies the four font names from Box 1 (the Postscript Printer box) to Box 2
	(the Prefs/Laserjet/Preview Font Names box) or vice-versa.

-@{b}@{u}	Fill:@{ub}@{uu}
	Reads the first font name in the box (the 'normal' font) and scans the
	fonts paths to find the bold, italic and bold/italic formats of the font.
	If font names are found that look like the bold, italic and bold/italic forms
	of the selected font, they are filled into the box.  If the name in the
	'normal' gadget was not the base form of the font and the base form of the
	font was found, that is replaced with the correct name, too.

	The first time Fill is used, the Font Paths are scanned to read the Outline
	Fonts list.

-@{b}@{u}	View:@{ub}@{uu}
	Shows a preview of what the font looks like.  It will show one or more forms
	of the font.  You can abort the preview at any time by hitting the Escape
	key.
@endnode

@node part6.4.6 "Paste Outline Font Requester..."
@toc "part6.4"
@{b}@{u}@{fg highlight}Paste Outline Font Requester:@{ub}@{uu}@{fg text}

The 'Paste Outline Font' requester is called when the [?] button next to an
outline font name is used in the 'Edit Outline Font' requester.

The requester's main job is to select a font from the Outline Font Paths into
the [?] gadget that called it.  The requester comes up in one of two modes
depending on what [?] gadget called it:

@{b}a.	@{u}Outline Fonts Paths only:@{ub}@{uu}
	In this mode, it shows only the fonts in the Outline Fonts Paths.

@{b}b.	@{u}Outline Fonts Paths and Adobe standard fonts:@{ub}@{uu}
	 In this mode, it shows the fonts in the Outline Fonts Paths, plus set of
	 standard Adobe fonts names.  These are marked with 'Printer Font' in the
	 list to identify them.


The first time the requester is called up, it will scan through the defined
Outline Fonts Paths to find the fonts, which might take a while.  A status
window is shown while this is happening, showing you the fonts found so far.
The list is buffered, and FinalCalc will not scan the paths again unless the
paths have been changed.

The requester has two other functions:

-@{b}@{u}	Outline Font Preview:@{ub}@{uu}
	You can preview any printer outline font installed in the Outline Fonts
	Paths.  Just select a font and click on the 'View' button.  A screen will
	come up with a font preview that will show the font name and all the
	characters in the font in a table format.

	You can abort the preview at any time by hitting the Escape key.

-@{b}@{u}	Amiga Bitmap Font Builder:@{ub}@{uu}
	The Amiga Bitmap Font Builder reads any outline font in the Font Paths and
	builds a standard Amiga font from it and installs it in your Fonts:
	directory.  You can select the sizes to generate.

	To use this feature click on the 'Build' button in the Paste Outline Font
	requester.  Another requester will come allowing you to define the name for
	font to use, the name for the Amiga font to build, and the sizes to build.

	The process goes through the following steps:

	1.	The outline font is read and internally decoded.

	2.	The characters in the font are scanned and their 'bounding boxes' (the
		physical limits of each characters) are determined.

	3.	A new sub-directory in Fonts: will be created if necessary.

	4.	The bitmap fonts are generated size by size.  The fonts are then saved
		to the sub-directory under Fonts:.

	5.	Once all the sizes have been generated, a #?.font file will be generated
		under Fonts: so that the system can access the new font.

	Notes:

	a.	The font sizes generated are limited to a maximum size of 255.

	b.	Since this changes your Fonts: directory, any other program that buffers
		the Fonts: directory will need to be informed of the changes.
@endnode

@node part6.4.7 "Automatic Outline Font Entry Generation..."
@toc "part6.4"
@{b}@{u}@{fg highlight}Automatic Outline Font Entry Generation:@{ub}@{uu}@{fg text}

When the user selects a new font for a cell or a format tag, if that font
does not exist in the Outline Fonts List, the user is informed and asked
whether he wants to select another font.  If the user insists on that font,
he/she is then asked whether he wants the new font to be added to the
Outline Fonts List, and if he agrees, the Define New Outline Font requester
comes up allowing him to do so.

The user is only warned once that the font selected does not exist in the
Outline Fonts List.  After that, using that font again for other cells in
the same project will not cause the warning to come up anymore.

The same is done for any string gadget in any requester that asks for a
font.  (e.g. Graph Titles and Legends fonts.)
@endnode


@node part6.5 "Previewing Print Jobs..."
@toc "Main"
@{b}@{u}@{fg highlight}Previewing Print Jobs:@{ub}@{uu}@{fg text}

Any Print Job can be previewed on the screen before printing.  This shows a
very accurate representation of what the print job will look like when it is
printed.  To view a Print Job, use the 'Preview' button from the Print Jobs
requester or the 'Preview' button from the Print requester.

The Preview opens up its own screen and starts rendering the page(s).  You can
quit at any time during the rendering by hitting the Escape key.

When the rendering is done, you can hit any key or click any mouse button
to exit the preview mode.


@{b}@{u}@{fg highlight}Preview Screen Mode:@{ub}@{uu}@{fg text}

The Settings Display Preview menu allows you to define the type of screen used
the Print Preview screen.  You can select the screen mode, width and height.
These settings can be saved using the Settings Global Save Settings menu.

If you define a width and/or height that is larger than the screen, the screen
can be scrolled around by moving the mouse.  This allows for very large preview
screen.  (This does require a lot of chip RAM, however.)

A recommended preview screen size is 1100 pixels wide by 800 pixels high.  This
gives a good resolution for previewing.


@{b}@{u}@{fg highlight}Color Print Preview:@{ub}@{uu}@{fg text}

If the Printer mode is set to Color, Print Previews will come up on an 8-color
screen in color.  This is generally very close to the color output when
printing to a color printer.  Color Print Preview only works if the print
output is one page.  If it is more than one page, Preview goes back to B&W mode.
@endnode

@node part6.6 "Page Breaks..."
@toc "Main"
@{b}@{u}@{fg highlight}Page Breaks:@{ub}@{uu}@{fg text}

A Page Break is a marker on a column or row in the sheet that defines where a
new page starts when printing.  The marker is shown as a small dot in the row
or column title in the sheet view.

Page Breaks override the automatic page break mechanism during printing and
forces FinalCalc to break pages according to the user's selection.


@{b}@{u}@{fg highlight}Setting & Clearing Page Breaks:@{ub}@{uu}@{fg text}

Any column or row in a sheet can be set as a 'break'.  This defines it as
a vertical or horizontal page break.  The Settings Page Breaks menu contains
the following items that control page breaks:

-@{b}@{u}	Toggle Column Break:@{ub}@{uu}
	Sets/Clears the current column as a vertical break point.   A small
	marker in the column title (at the bottom left of the title) indicates
	if there is a break set at that column.

-@{b}@{u}	Toggle Row Break:@{ub}@{uu}
	Sets/Clears the current row as a horiztonal break point.   A small
	marker in the row number (at the top right of the number) indicates
	if there is a break set at that row.

-@{b}@{u}	Clear All Breaks:@{ub}@{uu}
	Clears all column and row breaks from the current sheet.


@{b}@{u}@{fg highlight}Page Breaks vs. AutoFit:@{ub}@{uu}@{fg text}

Page Break and AutoFit have opposite effects.  For this reason, Page Breaks
are only applied if the X or Y Zoom Locking is ON.  i.e. if X zoom locking is
off, column breaks are ignored.


@{b}@{u}@{fg highlight}Page Break Control in Print Jobs:@{ub}@{uu}@{fg text}

For each Print Job, you can select whether to use or ignore Page Breaks.
The 'Other Print Job Settings' requester, the 'Page Break Handling' box
contains the following options:

@{b}1.	@{u}Hard Breaks:@{ub}@{uu}
	The page is always stopped at the row/column break, and a new page is
	started.

@{b}2.	@{u}Soft Breaks:@{ub}@{uu}
	FinalCalc looks forward to see if another break occurs down the same page,
	and if so, ignores the break.  This allows you to set points where you
	advise the program it is possible to break.

@{b}3.	@{u}Ignore Breaks:@{ub}@{uu}
	Page breaks are totally ignored.
@endnode

@node part6.7 "The Spooler..."
@toc "Main"
@{b}@{u}@{fg highlight}The Spooler:@{ub}@{uu}@{fg text}

All Printing in FinalCalc is diverted through a background print spooler.
When a print job is selected to be printed, FinalCalc simply generates the
output pages and stores them in a temporary directory in your RAM: disk.

The Spooler runs independantly of FinalCalc itself.  Whenever FinalCalc adds
a job to the spool list, it informs the spooler of that.  FinalCalc then
returns to the user interface, so it is not locked out while the print is
running.

The spooler sends each print job to the appropriate destination in order of
the job being delivered to it.

You can view the current spool job list from the Print Spool Control requester.
(Project Print Spool Control menu).  It shows the spool job list and the
following information about each job:

-	Title of job, normally the Print Job title, or the sheet title.

-	Printer type:  Postscript, HP Laserjet, Text Only or Preferences.

-	Destination

-	Start and end page numbers

-	Status:  which is one of the following:
	- Printing      Job currently being printed
	- On Hold       Job put on hold, will not be printed until hold is removed.
	- Killing       Job will be killed when the requester is closed.
	- Aborting      Job is being aborted.
	- Aborted       Job was aborted.
	- <blank>       Job is waiting for its turn to be printed.


From the Print Spool Control requester, you can do the following to a spool job:

@{b}@{u}	Abort:@{ub}@{uu}
	Aborts the job currently being printed.  It flags the background
	print task to abort the job.  A confirmation requester comes up
	before the job is aborted.  In some modes, like Laserjet or
	Preferences printing, the abort might take a few minutes.  FinalCalc
	simply signals the background print task to abort the job.

@{b}@{u}	Hold:@{ub}@{uu}
	Puts a job on hold.  The job will not be printed until the hold
	is removed by using the Hold button again.

@{b}@{u}	Kill:@{ub}@{uu}
	Flags a job to be killed.  You can toggle this off, but the job
	will be killed when you close the Spool Control requester.


While the print spooler is active, a "Printing" indicator will show up in
the title bar of all FinalCalc screens.

If you close FinalCalc while the spooler is still running, or has some jobs
on hold, the Spool Control requester will come up to show you the current
status and allow you to kill jobs or remove them from hold.  The requester
will go away and the program will quit only when all jobs have been done
or killed.


@{b}@{u}@{fg highlight}Printer Status Detection:@{ub}@{uu}@{fg text}

If the output is set to PAR:, PRT: or a Preferences printer, FinalCalc
attempts to find out the status of the printer before sending a print job.

If the printer is off, offline, not connected, out of paper, or is in use
by another program, the Spooler will wait until the printer is ready and
available before trying to send the job.  The Spooler Control requester
displays one of the following messages during that time:

  - Printer is off or not connected.
  - Printer is offline.
  - Printer is out of paper.
  - Printer is busy.

This enables you to Abort the current print job even if the printer is
offline or not connected.  You can, in fact, start a print job even before
you turn the printer on and the Spooler will wait until the printer is
online and ready.

If the Spooler is waiting for the printer, the 'Printing' indicator in the
screen titlebar will change to 'Printer Off', 'Printer Offline', 'Paper Out',
or 'Printer Busy'.
@endnode

@node part6.8 "The Spool Path..."
@toc "Main"
@{b}@{u}@{fg highlight}The Spool Path:@{ub}@{uu}@{fg text}

When FinalCalc is printing a job, the job is first stored in a place called
the Spool Path.  This normally defaults to a temporary directory in the RAM
disk, which means that it will use up RAM when doing so.

You can, however, set the Spool Path to point to a disk device where the
spool jobs will be stored.  This reduces the memory requirements of FinalCalc
when printing, but uses space on your hard disk.

To set the spool path, add the following tooltype to the FinalCalc or
FinalCalc.FPU program icon:

  @{fg highlight}spoolpath=@{fg text}work:myspoolpath

where @{fg highlight}work:myspoolpath@{fg text} is the directory to store spool and preview files in.
This will be used the next time you run FinalCalc.  To revert back to using
the RAM disk for spool jobs, simply delete the tooltype.  

The contents of the spoolpath directory will be deleted when FinalCalc shuts
down.  As FinalCalc deletes a spool job from the Spool Path once it is done,
this generally does not grow too large unless you print many jobs over a
short period of time.

FinalCalc also checks to see how much space is available on the destination
device when printing a print job to the spooler.  If it is set to the default
Spool Path (the RAM disk), it will abort the job if free RAM drops below 100k.
If it is set to a path on a disk device, it will abort the job if free space
on the device drops to below 20k.  In either case, you will be informed of
that.
@next "FinalCalc:guide/part7.guide/Main"
@endnode
