home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / laser / ffp11.arj / FFP.DOC next >
Text File  |  1992-05-11  |  41KB  |  808 lines

  1. SUMMARY
  2.  
  3.    FFP (Fast Fax Print utility) is an easy to use high speed program to print
  4.    out faxes, scanned, dithered and other monochromatic (black and white)
  5.    images on HP LaserJet III, IIIP, IIID, IIISi or other compatible printers
  6.    (PCL5 or higher is required). You do not have to have a fax card, scanner
  7.    or other devices. As a matter of fact, since FFP can print to a file, you
  8.    do not even have to have a printer.
  9.  
  10.    Typically, the images will be printed 6-12 times faster than your fax or
  11.    other software can print it (there may be exceptions, but I do not know
  12.    about them), and the program requires only about 26K free memory.
  13.  
  14.    FFP can print your images in either 1UP (portrait, 1 image/page), 2UP
  15.    (landscape, 2 images/page) or BOOKLET (special 2UP) format, supports
  16.    Duplex printing (prints on both sides of the paper for IIID and IIISi),
  17.    job separation (IIISi), LETTER and LEGAL size papers.
  18.  
  19.    FFP can print images stored in a variety of file formats:
  20.  
  21.    - Native BITFAX (.BFX) files
  22.    - Native OAFAX (.OAF or .IMG) files
  23.    - Compressed (Type 3[1D] & 32773) TIFF (.TIF) files (Intel/Motorola format)
  24.    - Uncompressed (Type 1 & 32771)   TIFF (.TIF) files (Intel/Motorola format)
  25.    - PCX (.PCX) files (as defined by ZSoft Corporation)
  26.  
  27.    FFP can also magnify/reduce your images horizontally and/or vertically.
  28.  
  29.  
  30. SHAREWARE
  31.  
  32.    This product is distributed as a SHAREWARE, and IS NOT FREE!
  33.    If you use it for other than evaluation purposes, you MUST REGISTER IT.
  34.    See LICENSING and REGISTRATION at the end of this document for details.
  35.  
  36.  
  37. CONTENTS
  38.  
  39.    FFP.EXE - The program itself     FFPORDER.EXE - How much does it cost?
  40.    FFP.DOC - This documentation                    Prints Order Form as well.
  41.  
  42.  
  43. DISTRIBUTION
  44.  
  45.    You are encouraged to distribute this package freely, provided you do not
  46.    include any part of it with commercial products. You must distribute the
  47.    package together with all the files, without any modification.
  48.  
  49.  
  50. DISCLAIMER
  51.  
  52.    This product is provided "AS IS". The author specifically disclaim all
  53.    warranties, either expressed or implied, including, but not limited to
  54.    implied warranties of merchantability and fitness for a particular purpose.
  55.    The entire risk as to the usability of the package is with you.
  56.    Should the program(s) and documentation prove defective you (and not the
  57.    author) assume the entire cost of servicing, repair or correction. The
  58.    author does not warrant that the functions contained in the program(s) will
  59.    meet your requirements or that the operation of the program(s) will be
  60.    uninterrupted or error free or that the program defects will be corrected.
  61. INSTALLATION
  62.  
  63. The program does not require any special installation. Simply copy it into a
  64. directory which is included in your PATH (see your DOS documentation), so that
  65. you can invoke it from any directory, without specifying the name of the
  66. directory (path) where the program resides.
  67.  
  68.  
  69.  
  70. INVOKING THE PROGRAM
  71.  
  72. At the DOS prompt type "FFP" optionally preceded by the path and followed by
  73. parameters. The command line syntax is this:
  74.  
  75.    [path]FFP [filespec][options] [filespec][options] ... [filespec][options]
  76.  
  77. [x] designates optional parameters, that is, you can omit them if you wish.
  78. The [filespec][options] parameters must be separated from each other by at
  79. least one blank.
  80.  
  81. The program displays all its messages on the standard output, therefore you
  82. can redirect it to any file or device. This redirection is specified by
  83. entering ">fileordevice" (without the quotes) anywhere on the command line,
  84. e.g. >MESSAGES.FFP tells DOS to send the program's messages to the file called
  85. MESSAGES.FFP in the current directory. Entering >NUL instructs DOS to send the
  86. program's messages to the NUL device, hence all messages will be discarded.
  87.  
  88. The program will optionally read from the standard input (more on this soon),
  89. therefore DOS redirection is also possible. This type of redirection is
  90. specified by entering "<fileordevice" (without the quotes) anywhere on the
  91. command line, e.g. <COMMANDS.FFP tells DOS that instead of the keyboard, read
  92. the COMMANDS.FFP as if its content was entered from the keyboard. Entering
  93. <NUL will result in reading from the NUL device, which means 'no input'.
  94.  
  95. Note, that the redirection specifications are NOT part of the command line and
  96. are eliminated by DOS before it passes the command line to a program. Thus, if
  97. only redirections are entered on the command line, it will appear to FFP that
  98. there are no parameters specified. See a DOS manual for more on redirection.
  99.  
  100. There are three (3) types of invocations:
  101.  
  102. 1. If you specify one or more parameters, and DO NOT specify the /+ option on
  103.    the command line, then the program interprets the command line, produce its
  104.    output and terminates.
  105.  
  106. 2. If you DO NOT specify parameters, then a help message will be displayed,
  107.    and you will be prompted to enter parameters from the standard input. Thus,
  108.    you can enter multiple command lines.
  109.  
  110. 3. If you specify parameters and among them the /+ option, then the command
  111.    line will be processed first, and you will be prompted for more.
  112.  
  113. If you use Windows, you usually invoke a DOS program by double-clicking on the
  114. program file. Windows will open a DOS session and invoke the program. (This is
  115. identical to invocation type 2 under DOS.) Since upon program termination
  116. Windows quickly closes the session, you have no time to verify whether the
  117. program was executed successfully or it was aborted for some reason. Therefore
  118. invoking FFP (and other DOS programs) from a dedicated DOS session makes a lot
  119. of sense. You can run FFP similarly under OS/2.
  120.  
  121. The combined use of the /+ option and the possibility of redirection gives
  122. you a very powerful tool for practically all kinds of situations.
  123.  
  124. Every line, that is read from the standard input (and not the original command
  125. line!) is verified whether the first nonblank character is a semicolon (;).
  126. If it is, then the line is treated as a COMMENT line. This is very useful when
  127. you create (and/or maintain) a list of files in a file and specify it as the
  128. standard input for FFP (e.g. FFP <IMAGE.ALL), that is, you can comment the
  129. files and/or options, separate groups of files and mark certain files that you
  130. do not want to print, without the need of deleting its name from the file.
  131.  
  132. Empty lines (containing only zero or more blanks) read from the standard input
  133. will result in displaying a help message (syntax and all options)
  134.  
  135. When the standard input is the keyboard, you can abort the processing any time
  136. by pressing Ctrl-C or Ctrl-Break (press and hold the "Ctrl" button while
  137. pressing the "C" or "Break" key). When you finished entering all the lines
  138. from the keyboard, press Ctrl-Z followed by an Enter to signal the end of
  139. input. (If Ctrl-Z is followed by other characters, it still means 'end of
  140. input'. If it is not the first character on the line, it has no such meaning.)
  141.  
  142.  
  143.  
  144. SYNTAX OF INVOCATION
  145.  
  146. "filespec" can be any pathname designating zero or more files. The ? and *
  147. wildcard characters are allowed. For example:
  148.  
  149.     PORTRAIT.PCX   - single file in the current directory
  150.     PICTURE.*      - all files with the name "PICTURE" and any extension
  151.                      in the current directory
  152.     *.TIF          - all TIFF files in the current directory
  153.     *.*            - all files in the current directory
  154.     \A*.*          - all files whose name begins with the letter A in the
  155.                      root directory of the current drive
  156.     A:\IMAGE\*.BFX - all files with the "BFX" extension in the "IMAGE"
  157.                      subdirectory on drive A
  158.     B:*.IMG        - all files with the "IMG" extension in the current
  159.                      directory on drive B
  160.  
  161. "options" is one or more options (described later). Each option begins with
  162. a '/' sign, followed by a letter and optionally the parameters. For example:
  163.  
  164.     /M             - single option
  165.     /OFILE/D/FB    - multiple options
  166.  
  167. The following is a sample invocation:
  168.  
  169.     C:\UTILS\FFP /FB  *.BFX/M1.2  D:\PIC*.TIF  PIC*.TIF/OBOOK/D
  170.  
  171. Explanation of the syntax:
  172.  
  173.     C:\UTILS\         tells DOS the name of the drive and directory where the
  174.                       program resides.
  175.     FFP               tells DOS to execute this program in the above directory
  176.     /FB               filespec is omitted, single option is given
  177.     *.BFX/M1.2        filespec and single option specified
  178.     D:\PIC*.TIF       filespec specified, no options given
  179.     PIC*.TIF/OBOOK/D  filespec and multiple options specified
  180.  
  181. COMMAND LINE INTERPRETATION
  182.  
  183. When the program is started, first it interprets the parameters you specified.
  184. Every option is remembered and every file that is described by the "filespec"
  185. is analyzed. If a file is not recognized (this topic will be discussed in
  186. detail later in this documentation) as a valid supported file, then it is
  187. omitted. If a file is recognized, then it is "marked" as a valid file and the
  188. options in effect determine how it will be printed. Therefore, it is important
  189. that the method be described BEFORE the files are specified. Currently, the
  190. only option that explicitly changes the method is the /M (magnification and/or
  191. reduction) option, but the /F (format) option can also imply magnification in
  192. certain cases (as it will be described later).
  193. For instance, in the sample invocation
  194.  
  195.     C:\UTILS\FFP /FB  *.BFX/M1.2  D:\PIC*.TIF  PIC*.TIF/OBOOK/D
  196.  
  197. the /FB option implies /M (or /M1,1) so the *.BFX files will not be magnified,
  198. but the D:\PIC*.TIF and PIC*.TIF files will be magnified by 20% in both
  199. horizontal and vertical directions.
  200.  
  201. When the program begins to interpret the command line, it assumes that you
  202. want to print the files in a certain way (called "default"). It means, that
  203. the program will automatically insert certain options before the first
  204. parameter, which you can override, of course. These IMPLICIT options are:
  205.  
  206.    /FD        - 1UP format on default size paper
  207.    /M1.3333   - Magnify the image by 33.33% in both directions
  208.    /OLPT1     - Send output to LPT1 (printer #1)
  209.  
  210. Hence, if you do not specify any options (only files) then they will be
  211. printed on LPT1 on the default paper and magnified by 33.33% in both
  212. directions, which is usually the largest safe format to print out faxes.
  213.  
  214. **** THE FILES WILL BE PRINTED IN THE ORDER IN WHICH THEY ARE ENCOUNTERED ****
  215.  
  216. Note, that lower and upper case letters are considered to be identical.
  217.  
  218. If, during scanning the command line, FFP finds an either syntactically or
  219. semantically invalid option or file specification (e.g. invalid/nonexistent
  220. path or invalid option), it displays an error message and ignores it.
  221.  
  222. If no files are specified or recognized, FFP displays "No files were selected"
  223. and terminates.
  224.  
  225. Once the printing begins, you can terminate it by hitting the Escape (Esc) key
  226. on the keyboard. The program will terminate immediately. Note, that neither
  227. Ctrl-C nor Ctrl-Break will be effective, so you cannot terminate the program
  228. in this phase using these key combinations.
  229.  
  230.  
  231.  
  232. OPTIONS
  233.  
  234. THE /+ OPTION
  235.  
  236. This option has meaning only on the original command line and has no effect
  237. when encountered on lines read from the standard input. This option tells FFP
  238. that it has to read further parameters from the standard input. Note, that
  239. the <NUL input redirection and the /+ option eliminate each other. (/+ tells
  240. that there is more to read, but <NUL means reading nothing).
  241. THE /D OPTION
  242.  
  243. This option specifies that the printout will be printed on a printer that can
  244. print on both sides of the paper (like the IIID or IIISi). This option will
  245. ensure proper binding and eliminates the manual intervention for booklet (/FB)
  246. printing. If the printer does not support duplex printing, then this option
  247. will be ignored and simplex printing mode is enforced. This will not affect
  248. 1UP or 2UP printing, but instead of a BOOKLET, the result will be a 2UP format
  249. printout, where the pages and images come out in different order.
  250. If this option is not given, then simplex printing will be enforced.
  251.  
  252.  
  253.  
  254. THE /F OPTION
  255.  
  256. This option specifies the format of the printout. The syntax is
  257.  
  258.                           /Fformat
  259.  
  260. where "format" is either D, S, L, 2, or B whose meaning is as follows:
  261.  
  262.    /FD   - 1UP format on default size paper (1 image/page)
  263.    /FS   - 1UP format on LETTER  size paper (1 image/page)
  264.    /FL   - 1UP format on LEGAL   size paper (1 image/page)
  265.    /F2   - 2UP     format on LEGAL size paper (2 images/page)
  266.    /FB   - BOOKLET format on LEGAL size paper (2 images/page)
  267.  
  268. Since nothing can prevent from specifying the format more than once on the
  269. command line(s), the last occurrence of this option will determine the real
  270. format of the printout. It should be noted, however, that the possible side
  271. effect of this option has to make you very cautious, therefore it is STRONGLY
  272. RECOMMENDED, that if you specify this option, specify it before any file
  273. specification. The side effect is the result of the following rule:
  274.  
  275. This option automatically changes the magnification ratio, unless an EXPLICIT
  276. /M option was given previously, in which case the option does not affect the
  277. specified magnification ratio.
  278.  
  279. If a /M option was NOT GIVEN EXPLICITLY before the /F option, then
  280.  
  281.      /FD , /FS and /FL  implies /M1.3333
  282.      /F2 and /FB        implies /M
  283.  
  284. This may look like a cumbersome rule, but in reality this rule follows the
  285. natural thinking. In many cases, you simply want to print your faxes in
  286. 'real size' (this is the default). To do this, the image has to be magnified.
  287. (How magnification is interpreted will be described later at the /M option.)
  288. However, if you want to print in 2UP or BOOKLET format, then the magnified
  289. image would rarely fit in the available frame. Therefore you may expect the
  290. program to realize that and automatically adjust the magnification ratio.
  291. In most cases most people will use one of the following invocations:
  292.  
  293.    FFP files files ... files
  294.    FFP /FB files files ... files
  295.  
  296. simply because in most cases LPT1 is the target printer, most people prefer
  297. printing on one side of the paper (even if it costs more) and most faxes will
  298. be of letter size, which is usually the default paper size, and most people
  299. want to print them in 'real size'. The second line is used to print the images
  300. in booklet format (optionally containing the /D option for Duplex printing).
  301. THE /O OPTION
  302.  
  303. This option specifies the destination of the printout. The syntax is
  304.  
  305.                           /O[output]
  306.  
  307. where "output" is either a pathname or not given or LPTn[:] (n=1,2,3).
  308.  
  309.    /OLPT1 or /OLPT1: prints on printer #1
  310.    /OLPT2 or /OLPT2: prints on printer #2
  311.    /OLPT3 or /OLPT3: prints on printer #3
  312.    /Opathname        prints to the file/device specified by "pathname"
  313.    /O                prints on printer #1 (same as /OLPT1 or /OLPT1:)
  314.  
  315. Since nothing can prevent you from specifying the destination more than once
  316. on the command line, the last occurrence of this option will determine the
  317. real destination of the printout.
  318.  
  319. "pathname" is the usual DOS pathname (see the DOS manual for more information)
  320. i.e. it has the format [drive:][\][dir\]...[dir\]filename[.[extension]], e.g.
  321. FFP.OUT or A:\PRINTOUT\FFP.1 or D:OUTPUT or \OUTPUT. or B:\IMAGES.PRT etc.
  322.  
  323. "pathname" can also be a DOS device (such as COM1, COM2, COM3, COM4, AUX, PRN,
  324. CON, NUL).
  325.  
  326. WARNING! Extra care should be taken when you want to send the printout to a
  327. DOS device (such as PRN) through DOS itself. The problem comes from the fact
  328. that certain codes may cause loss of data. For example, if you send the output
  329. to PRN (the default printer), then when EOF (end of file control code, decimal
  330. 26 or hexadecimal 1A) is sent to the printer, DOS may interpret it as a real
  331. EOF, and will ignore all characters until a newline code arrives. However, the
  332. data sent to the device is of binary nature, thus the printout will be garbled
  333. at certain places. Therefore, the program verifies, whether all data was sent
  334. to the destination file or device. If only part of the data was sent, then an
  335. error message is displayed and the program is aborted. If your output is sent
  336. to a file, then the target disk is probably full. If your output is a device
  337. (such as PRN), then the above described misinterpretation happened. Therefore,
  338. if the latter happens to be the case, stop sending the output to the device,
  339. and send it to a file instead, then use a program that can send the file to
  340. the target device without any interpretation. Note, that if /OPRN fails, then
  341. the COPY command will fail as well.
  342.  
  343. Sending the output to the NUL device (/ONUL) will not produce any output since
  344. all data sent to this device is discarded.
  345.  
  346. Sending the printout to a file has several advantages. First of all, to use
  347. the program, you do not actually have to have a suitable printer. You can
  348. prepare the printout that you need and send or take the output file to a
  349. friend who does have it. Also, you can include it in packages, and let the
  350. user print it (the size of the output is usually slightly bigger than the size
  351. of the original file if it was compressed, and much smaller if it was not).
  352.  
  353. Therefore, sending the output to a file makes it PORTABLE.
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361. THE /M OPTION
  362.  
  363. This option specifies the magnification ratio of the files specified after it.
  364. You can include this option anywhere on the command line as many times as you
  365. wish. Once this option appears on the command line, it will prevent FFP from
  366. automatically adjusting the magnification ratio upon the occurrence of the /F
  367. option(s). The explicitly specified magnification ratio is effective until
  368. another /M option appears. The syntax is:
  369.  
  370.                           /M[x][,[y]]
  371.  
  372. where 'x' determines the horizontal and 'y' determines the vertical
  373. magnification (or reduction). The following rules apply:
  374.  
  375.   1. if 'x' is not specified, then x=1 is assumed
  376.   2. if 'y' is not specified, then y=x is assumed
  377.   3. 'x' and 'y' must be positive decimal numbers ( syntax: [i][.[f]] )
  378.      between 0.0001 and 65535.9999 and no signs are allowed. The following
  379.      are valid numbers: 12 12. 12.0 12.100 1.2 0.01 .01 0012.1200 .0001
  380.   4. 'x' and 'y' are both verified if they are valid but only the first four
  381.      decimal digits are considered after the decimal point
  382.   5. Specifying negative or zero value will result in an error message and
  383.      the option will be ignored
  384.   6. Specifying a value that is greater than 65535.9999 will be treated as if
  385.      65535.9999 was given
  386.  
  387. Therefore, (≡ means 'identical to' and {n} means 'because of rule n')
  388. the following are VALID options:
  389.  
  390.    /M ≡ /M1 {1} ≡ /M,1 {1,2} ≡ /M1, {2} ≡ /M1.0000999 {2,4} ≡ /M1,1 {1,2}
  391.    /M,1.4567 ≡ /M1,1.4567 {1} ≡ /M1,1.456789 {4}
  392.    /M65536,100000 ≡ /M65535.9999,65535.9999 {6}
  393.  
  394. The following are INVALID options
  395.  
  396.    /M0 {5}   /M,0 {5}   /M3,-1 {5}   (zero or negative numbers)
  397.    /M0.00009999 {4,5}                (after tuncation the result is zero)
  398.    /M.1111HELLO {3}                  (invalid characters 'HELLO' in number)
  399.    /M+12        {3}                  (+ or - signs are not allowed)
  400.  
  401. The following command line
  402.  
  403.    FFP 1*.BFX /M 09*.BFX 08*.BFX /M1.2,.95 *.TIF /M.5 *.IMG *.OAF
  404.  
  405. will produce a 1UP (portrait) printout on the default paper on LPT1, where
  406.  
  407.    1*.BFX files will be magnified by 33.33% in both directions (remember, the
  408.           default is /M1.3333)
  409.    09*.BFX and 08*.BFX files will not be magnified because of /M (= /M1,1)
  410.    *.TIF files will be magnified horizontally by 20% and reduced to 95% of the
  411.           original length vertically because of the preceeding /M1.2,.95
  412.    *.IMG and *.OAF files will be reduced by 50% in both directions because of
  413.           the preceeding /M.5 option
  414.  
  415. Now it is time to discuss how magnification/reduction comes into the picture.
  416.  
  417. When you get a fax or use your fax machine as a copier, you will realize, that
  418. the quality of the image you get has become (sometimes dramatically) poorer.
  419. So, why is that 'somewhat poor quality'?
  420.  
  421. The reason for that lies in the RESOLUTION of the image.
  422. A graphic image consists of dots. The resolution is usually given in DPI
  423. (dots per inch). The higher the DPI, the better the resolution. Note, that
  424. the horizontal resolution is not necessarily equal to the vertical resolution.
  425. Unfortunately, the resolution varies from device to device.
  426.  
  427. A fax machine has 200x100 DPI (200 horizontal dots per inch and 100 vertical
  428. dots per inch) in normal mode and 200x200 in fine mode. (To tell the truth I
  429. am guessing here, but the numbers are approximately correct. Could not find
  430. any authentic information on that, and merely deducted the numbers from the
  431. operation of my fax software.) The resolution of a HP LaserJet is 300x300 DPI
  432. (but you can specify 150x150 or 75x75 DPI). IBM dot matrix printers have
  433. 216x216 DPI mode, EPSON dot matrix printers 180x180 DPI mode, your scanner
  434. 100x100, 200x200, 300x300 or 400x400 DPI modes, etc.
  435.  
  436. Alas, in case of some devices measuring the resolution in DPI would be
  437. meaningless. The best example for that is a monitor. Though you can calculate
  438. the DPI for a specific mode (640x480 or 320x200 dots on the screen), the
  439. result would be good for your kind of monitor only. Why? Because there are
  440. 12", 14", 16", 17" etc. monitors. Whose calculation is correct? What is the
  441. real size of the image?
  442.  
  443. So, to make a long story short, this is what FFP does:
  444.  
  445. The 'real size' (or /M1,y size) of every image is assumed to be expressed in
  446. the horizontal resolution of the printer. (In our case 300 DPI for HPLJ.)
  447.  
  448. Therefore, EVERY HORIZONTAL DOT IN THE IMAGE CORRESPONDS TO EXACTLY ONE
  449. HORIZONTAL DOT ON THE PRINTER when the /M1,y option is in effect. This means
  450. that if your image has 300 dots horizontally, then it will be exactly 1 inch
  451. wide when it is printed (assuming that the /M1,y option is in effect).
  452.  
  453. The VERTICAL RESOLUTION WILL BE AUTOMATICALLY ADJUSTED INTERNALLY, so your
  454. image will always be PROPORTIONAL, when the /Mx,x option is in effect (that is
  455. when the horizontal and vertical magnification ratios are the same).
  456. This means that magnifying only vertically will result in an elongated image.
  457.  
  458. Reduction is important when your image is too wide or too long.
  459. The maximum number of dots that can be printed horizontally and vertically
  460. (picture frame) by FFP per image depends on the output format (/F option):
  461.  
  462. Format  HoriMax  VertMax  Comments
  463. ------  -------  -------  ----------------------------------------------------
  464. /FD     N/A      N/A      Depends on the printable area of the paper
  465. /FS     2400     3200     Even if you load a longer paper (such as LEGAL)
  466. /FL     2400     4100     This is the longest page the HP LaserJet supports
  467. /F2     1728     2400     Standard FAX size (fine resolution)
  468. /FB     1728     2400     Standard FAX size (fine resolution)
  469.  
  470. The above table needs some explanation, and here it is.
  471.  
  472. For /FS and /FL the 2400x3200 and 2400x4100 represent the maximum logical page
  473. size that can be printed (or falls within the printable area).
  474.  
  475. Though "Standard FAX size" is 1728x2400 dots (see next paragraph for details!)
  476. there are machines which accomodate larger paper widths whilst maintaining the
  477. standard horizontal resolution. Note, that if the /FD, /FS and /FL formats are
  478. used with the /M (no magnification) option then these images can be printed
  479. easily, without first calculating the required magnification ratio.
  480.  
  481. As you see, the "Standard FAX size" is 1728 dots wide and 1200 dots long in
  482. normal resolution (i.e. a fax machine would use 200x100 resolution printing,
  483. or 200x200 resolution printing and simply duplicate every row), 1728 dots wide
  484. and 2400 dots long in fine resolution (i.e. a fax machine would use 200x200
  485. resolution printing). Again, I have no authentic information on that, but I am
  486. almost 100% sure that the number 1728 is correct. The 1200 and 2400 values
  487. come from my fax and scan software which insist on these values (and firmly
  488. reject anything that is not in 200 DPI horizontal resolution), so I just
  489. assume that they are right (though I learned not to trust very much; more on
  490. this topic later). Unfortunately, vertical page size is not an issue for real
  491. fax machines, since they print on continuous paper, and since I am not 100%
  492. sure that the vertical resolution of these builtin printers (and the scanners)
  493. is exactly 100 or 200 DPI, what can I do ... ?
  494.  
  495. Thus, assuming that 1200 (or 2400) is the 'magic number', a simple calculation
  496. gives the 'largest safe format' to print out faxes:
  497. It is safe to assume that the majority of the faxes and the default paper size
  498. in a HP LaserJet is of letter size. The printable area on a letter size paper
  499. is 3200 dots, while the incoming fax is 2400 dots in length (if it is a fine
  500. resolution fax, if it is normal, we can duplicate every one of the 1200
  501. lines), therefore, 2400 dots expanded to 3200 gives 1.3333 (3200/2400). Since
  502. (3200/2400)*1728 = 2304 which is less than 2400, the maximum number of dots on
  503. a line (on a LaserJet logical page), the incoming fax, magnified by 33.33% in
  504. both directions will nicely fit in the printable area.
  505. Now you know where the /M1.3333 default comes from ...
  506.  
  507. Should these conservative assumptions prove to be wrong, DON'T PANIC!
  508. All you have to do is to specify the magnification ratio (other good values
  509. are 1.3889, 1.4178 and 1.4545 depending on the expected width and length of
  510. the incoming faxes), or, better yet, create a batch file to print in 'true
  511. size' on the default paper call it FFPD.BAT (or whatever you feel appropriate)
  512. which consists of the single line
  513.  
  514.      FFP /M1.43 %1 %2 %3 %4 %5 %6 %7 %8 %9
  515.  
  516. and use that batch file for that purpose.
  517.  
  518. Do not be afraid to use /M (no magnification). Since the 200x100 normal fax
  519. resolution usually results in poor quality, I found that using /M resulted in
  520. crisper images, that were definitely easier on the eye than the ones obtained
  521. with /M1.3333 or greater magnification.
  522.  
  523.  
  524.  
  525. PRINTING BOOKLET ON NON-DUPLEX DEVICES
  526.  
  527. When you print a booklet on a printer that does not support duplex printing
  528. (such as the HP LaserJet III and IIIP), or you do not specify the /D option
  529. for a printer that can print on both sides of the paper, manual intervention
  530. is unavoidable. After printing on one side of the paper, you will be prompted
  531. by your printer to "FEED LEGAL". Then you have to place the papers back to the
  532. paper tray in REVERSE order (i.e. the last printed sheet first, the first
  533. printed sheet last), so that the printer will print on the other side of the
  534. paper. Since printers do differ from each other, you will have to find out how
  535. to do it on yours. On a IIIP, the best way to do this is to select the FRONT
  536. output tray and when you are prompted, put it back to the Multi-Purpose Tray
  537. with the already printed sides face up, without turning it to any directions
  538. (just like placing a bunch of papers on a lower bookshelf) and press Continue
  539. on the printer panel (press and hold "Alt" and press the "FORM FEED/Continue"
  540. button). Select the TOP output tray to get your printout in the proper order.
  541. Before FFP sends the data to the printer that is supposed to be printed on
  542. the other side of the already printed pages, it will display the following
  543. message to warn you that manual intervention is imminent:
  544.  
  545.       When the printer prompts you to "FEED LEGAL", place the sheets
  546.       back to the printer tray and press the "CONTINUE" button on the
  547.       printer's panel (if necessary).
  548.  
  549. Note, that (at least on the IIIP) the printer message "LOAD LEGAL" and the
  550. message "FEED LEGAL" have different meaning, and you have to act differently
  551. when they appear.
  552.  
  553. "LOAD LEGAL" means that your default paper size is different from what the
  554. program requests and you must place legal size paper into the input tray.
  555. When you have done that, press Continue (as described above) to allow the
  556. printer to continue its work (it will assume that you have placed the right
  557. size paper even if you put some other size paper in the input tray).
  558.  
  559. "FEED LEGAL" on the other hand will be the result of a printer command issued
  560. by FFP, meaning that you have to put back the printed papers as described
  561. above, because the other side is about to be printed.
  562.  
  563. Therefore, if you see "LOAD LEGAL" (or LOAD xxxxxxxx) that means that you are
  564. supposed to put more unused paper into the input tray (out of paper), whereas
  565. "FEED LEGAL" will prompt you to put your printed sheets back (feed manually).
  566.  
  567. NOTE, that other printers may prompt you differently. The above is true for
  568. the HP LaserJet IIIP and may or may not be true for other printers.
  569.  
  570.  
  571.  
  572. SUPPORTED FILE FORMATS
  573.  
  574. FFP currently supports the file formats that I think are most widely used.
  575. Note, that FFP will check the contents of every file to determine its type,
  576. rather than relying on the name of the filename extension. Therefore, FFP
  577. does not care, what the extension is. If the content of a file matches the
  578. format of one of the supported files, and the data in it seems to be valid
  579. (i.e. the file header and/or descriptors are correct), it will be printed.
  580. Since most of the supported file formats have a rather unique descriptor,
  581. chances are that only the good files will be printed if you select all the
  582. files on your hard drive. If you want to be safe, your file specifications
  583. should contain the proper extensions.
  584.  
  585. Generally, FFP is forgiving:
  586.  
  587. Erroneous files will be printed until an unrecoverable error occurs. FFP will
  588. try to continue processing making intelligent guesses, when data errors are
  589. encountered.
  590.  
  591. Erroneous TIFF files will be corrected, if contradictory and/or irrelevant
  592. tags are found or the tags are written in random order or the 'value' field
  593. of X and/or Y resolution tags contain zero, etc.
  594.  
  595. The following is a more or less detailed description of the supported file
  596. formats.
  597.  
  598.  
  599.  
  600.  
  601. 1. Native OAFAX (.OAF or .IMG) file format
  602.  
  603. Yes, I realize that this is not a widely used card in North America, but as
  604. the dealer said to me two years ago, it is popular in the Far East.
  605. More importantly, I have an OAFAX fax card and a matching scanner...
  606. Therefore it is obviously supported.
  607.  
  608.  
  609.  
  610. 2. Native BITFAX (.BFX) file format
  611.  
  612. Since virtually all cheap (under $100) fax cards come with BITFAX, which makes
  613. it one of the more widely used software, no shareware author can afford not to
  614. support it. Therefore, here we go ... When you send faxes, BITFAX will create
  615. a .BFX file, which will be sent and optionally saved. It is a good idea to
  616. save these files, just in case ...
  617.  
  618. Note, that the horizontal resolution is always assumed to be 200 DPI and the
  619. vertical resolution is always assumed to be 100 DPI. Since fine resolution
  620. faxes are apparently not supported by either the fax cards or the software,
  621. it is important to know, that they are considered to be long normal resolution
  622. images. Therefore, fine resolution images will be elongated vertically unless
  623. you specify the /Mx,y option where y = x/2.
  624.  
  625.  
  626.  
  627. 3. TIFF (.TIF) file format
  628.  
  629. TIFF is one of the most widely used file formats, primarily used for black and
  630. white (monochromatic) images (although it supports gray-scale and color images
  631. as well). Most scanner and many fax software will store the images in this
  632. format. Since today's faxed images are monochromatic, FFP supports only these.
  633.  
  634. These are the TIFF formats currently supported by FFP:
  635.  
  636.      - Type 1     (uncompressed)
  637.      - Type 32771 (uncompressed)
  638.      - Type 32773 ('Packbits' compression)
  639.      - Type 3     (Facsimile-compatible CCITT Group 3, 1D)
  640.  
  641. Both Intel and Motorola formats are supported, therefore you can print images
  642. that were generated on a Machintosh computer, without first converting them.
  643.  
  644. Restrictions: Only monochromatic images supported
  645.               Only single-strip images supported
  646.  
  647. Notes: I plan to support multi-strip images and more compression schemes if
  648.        there is a need for it, and gray scale and color images as well.
  649.  
  650.        Type 2 (a simplified Group 3, 1D) format is currently not supported,
  651.        because the TIFF V4.2 documentation is a bit ambigious.
  652.  
  653.        Type 3 (Group 3, 2D) and Type 4 (Group 4) formats are currently not
  654.        supported, partly because of the restriction regarding the number of
  655.        strips, partly because I doubt if there is a need for it. Oh, yes,
  656.        I do not have documentation on it, either ...
  657.  
  658.        Type 3 & 4 UNCOMPRESSED format is not supported, because I have no idea
  659.        what kind of format that could be ...
  660.  
  661. If the Xresolution tag is not given or its value field contains zero, 200 DPI
  662. horizontal resolution is assumed. If the Yresolution tag is not given or its
  663. value field contains zero, 100 DPI vertical resolution is assumed.
  664.  
  665.  
  666.  
  667. 4. PCX (.PCX) file format
  668.  
  669. PCX is a file format developed by ZSoft Corporation for the PC Paintbrush
  670. product family. Because of its simplicity, it is very popular and supported
  671. by most software that has to do something with graphics images (especially
  672. with black and white images). FFP also supports monochromatic PCX files.
  673.  
  674.  
  675.  
  676. LICENSING
  677.  
  678. If you use the program for other than evaluation purposes, you MUST REGISTER
  679. it. You must register as many copies as can be invoked or can trigger the
  680. invocation of the program simultaniously at any given time, in any case, even
  681. if the requests are processed sequentially or at a later time.
  682.  
  683. To make it more understandable:
  684. If you put the program on a network (so that anybody linked to it can trigger
  685. the invocation of the program) or you operate a bulletin board where people
  686. can execute the programs and get the result in some form (but NOT the program
  687. itself), or similar environments, you must register a copy for every terminal
  688. that can be linked to the server at any one time. This terminal can be a phone
  689. line or a connected computer or a computer terminal or any device that can be
  690. used to trigger the invocation of the program. (For example: If you operate a
  691. server which is connected to 5 local computer terminals and 3 remote terminals
  692. via a phone line, and all of these connections can be active at any given
  693. time, then you must register one copy each of the 8 terminals, plus 1 for the
  694. server itself, unless it is a standalone server being unable to trigger the
  695. invocation of the program, in which case you do not have to register a copy
  696. for it. If the setup of either of the above mentioned servers is such that for
  697. example no more than 4 (any 4 of 8) terminals can be active at any given time,
  698. you have to register only 4 copies for the terminals themselves (plus one for
  699. the server if it is not a standalone server.)
  700.  
  701. On the other hand, if you have a computer in your office, at home, and one or
  702. more portable computers, you have to register a single copy only, provided
  703. that there is no chance at any given time, that any two or more machines can
  704. trigger the invocation of the program.
  705.  
  706. The usage of the program in the first (server) case is therefore analogous to
  707. using the services of a library, where anyone can borrow a given copy of a
  708. book (up to the number of books bought by the library), but cannot keep it
  709. (has to return it to the library). In the second case, you buy the book for
  710. yourself, and you can take it with you wherever you go (but you have only one
  711. copy, therefore two or more people cannot read it simultaniously).
  712.  
  713. Evaluating the program is similar to browsing in a bookstore. You can read
  714. parts of a book, look at the pictures in it, but eventually you will have to
  715. decide whether to take it or not. If you decide to buy the book, then you can
  716. take it home and read it as many times as you wish. However, you cannot take
  717. it home for 'further evaluation'. Therefore, should you decide not to buy the
  718. program, you must destroy it.
  719.  
  720.  
  721. REGISTRATION
  722.  
  723. Registration of the program is highly encouraged. First of all, you will be
  724. reminded to register your copy every time you invoke the program and on every
  725. page you print (called 'bugging'). Secondly, the pricing had been setup in a
  726. way that it discourages 'reinventing the wheel' instead of registering the
  727. software. Thirdly, the program is REALLY useful and saves you a lot of time.
  728.  
  729. When you register the program, you will receive your registered copy or copies
  730. (without the bugging messages on the screen and the printout), a receipt (for
  731. tax deduction), and support. Even if you order more than one copies, only one
  732. diskette will be sent (unless you state otherwise), registered under your
  733. (company) name. In this case you can make copies of the diskette if necessary,
  734. but you cannot have more copies than that could trigger the invocation of the
  735. original or copied programs at any given time more times than the number of
  736. copies you paid for.
  737.  
  738. The more copies you buy, the more discount you get. The additional copies will
  739. be cheaper and cheaper. When you reorder (e.g. you add more terminals to your
  740. server), the additional copies will not be priced higher than the last copy
  741. you ordered. I call this pricing 'incremental'.
  742.  
  743.     1st copy ..........................................   $28
  744.     2nd, 3rd, 4th, 5th copy ...........................   $22 each
  745.     6th, 7th, 8th, 9th, 10th copy .....................   $18 each
  746.     11th, 12th, ... 20th copy .........................   $15 each
  747.     21st, 22nd, ... 50th copy .........................   $12 each
  748.     51st, 22nd, ... 100th copy ........................   $10 each
  749.     101st and each additional copy ....................   $ 8 each
  750.     Price is negotiable over 200 copies
  751.  
  752. * All applicable taxes are included
  753. * Shipping and handling of the first diskette is FREE for customers
  754.   in Canada and in U.S.A., for each additional diskettes add $1.
  755. * Please include $8 for the first diskette and $1 for each additional
  756.   diskette for shipping and handling outside Canada and U.S.A.
  757.  
  758. For example, 70 copies will cost you $916 (only cca. $13 per copy!), because
  759.  
  760.     1st copy ..........................  1 @ $28       ....  $ 28
  761.     2nd, 3rd, 4th, 5th copies .........  4 @ $22 each  ....  $ 88
  762.     6th, 7th, 8th, 9th, 10th copies ...  5 @ $18 each  ....  $ 90
  763.     11th, 12th, ... 20th copies ....... 10 @ $15 each  ....  $150
  764.     21st, 22nd, ... 50th copies ....... 30 @ $12 each  ....  $360
  765.     51st, 22nd, ... 70th copies ....... 20 @ $10 each  ....  $200
  766.                                                   Totalling  $916
  767.  
  768. When you order 50 additional copies, those will cost you $460, because
  769.  
  770.     71st, 72nd, ... 100th copies ...... 30 @ $10 each  ....  $300
  771.     101st, 102nd, ... 120th copies .... 20 @ $ 8 each  ....  $160
  772.                                                   Totalling  $460
  773.  
  774. To ORDER, please invoke the FFPORDER.EXE program and follow the instructions.
  775. Fill out the Order Form, when printed and mail to:
  776.  
  777.       Thomas Nagy               |     DO NOT FORGET TO INCLUDE YOUR CHECK
  778.       46 McMorran Cr.,          |     OR MONEY ORDER to Thomas Nagy (me)!
  779.       Thornhill, Ontario        |
  780.       L4J 2T5    CANADA         |     Amount payable in US or Canadian dollars
  781.  
  782. COMMENTS AND SUGGESTIONS
  783.  
  784. Comments and suggestions are WELCOME. You can attach these to your order form,
  785. send to me by mail, or simply leaving me a message on Canada Remote Systems.
  786. (CRS is Canada's largest bulletin board with over 8000 members and 100 phone
  787. lines, so you should have no problem finding a phone number suitable to you.)
  788. I will check my messages regularly and I will do my best answering them. All
  789. comments and suggestions automatically become my property, to prevent anyone
  790. from suing me for using his or her ideas, etc.
  791.  
  792.  
  793.  
  794. FUTURE ENHANCEMENTS
  795.  
  796. I plan to add support for more file formats, more options, friendlier user
  797. interface (for DOS, OS/2 and Windows), subject to positive response (orders).
  798. The most frequently asked enhancements will be implemented first, therefore
  799. I suggest that you let me know what would like to see. Your opinion counts!
  800.  
  801.  
  802.  
  803. ACKNOWLEDGEMENT
  804.  
  805. Every name appearing in this document is a trade mark, registered trade mark,
  806. some other type of mark, property and/or something else of their respective
  807. owners.
  808.