home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 2 / goldfish_vol2_cd1.bin / files / comm / misc / elcheapofax / rcs / fax.n,v < prev    next >
Text File  |  1993-12-21  |  13KB  |  362 lines

  1. head    1.2;
  2. access;
  3. symbols
  4.     OCT93:1.2;
  5. locks;
  6. comment    @# @;
  7.  
  8.  
  9. 1.2
  10. date    93.06.11.16.33.37;    author Rhialto;    state Exp;
  11. branches;
  12. next    1.1;
  13.  
  14. 1.1
  15. date    93.06.11.14.53.53;    author Rhialto;    state Exp;
  16. branches;
  17. next    ;
  18.  
  19.  
  20. desc
  21. @@
  22.  
  23.  
  24. 1.2
  25. log
  26. @First real RCS checkin
  27. @
  28. text
  29. @.so User:msh/doc/an
  30. .TH "Fax" 1 "El Cheapo" "Olaf 'Rhialto' Seibert" "V29.05.93"
  31. .SH SYNOPSIS
  32. .nf
  33. ."savetabs off
  34.  
  35. Usage: iff2fax [-o fax-file (ilbm.g3)] [-r raw faxfile] [-a (append)]
  36.            [-sN skip N BODYs]
  37.            [-x/y x/y-offset (50)] [-v] [-i (invert)] iff-files
  38.  
  39. Usage: asc2fax [-o fax-file (ascii.g3)] [-r raw faxfile] [-a (append)]
  40.            [-x/y x/y-offset (50)] [-v] [-i (invert)]
  41.            [-f name.font] [-s fontsize] ascii-files
  42.  
  43. Usage: append [-o fax-file] fax-files
  44.  
  45. Usage: fax2iff [-o iff-file (fax.iff)] [-v] [-i (invert)] fax-files
  46.  
  47. Usage: faxsend [-f faxdevice] [-l loglevel] [-v] phone [files..]
  48.  
  49. Usage: faxrecv [-d queuedir/] [-f faxdevice] [-l loglevel] [-v] [-i]
  50. .fi
  51. .SH OVERVIEW
  52. El Cheapo Fax is a very cheap and simple package to send and receive faxes
  53. using your Amiga and a suitable (Class 2) Fax modem. It is not particulary
  54. user-friendly, nor is it blazingly fast. It just does everything I need. In
  55. fact, as you and I don't need facsimile at all, it does a lot more.
  56.  
  57. The basic way of using El Cheapo Fax is that you first create a fax data
  58. file from text or IFF ILBM source files, and later send this file to the
  59. receiving fax. Each fax page will be in a separate file.
  60.  
  61. In the other direction, you receive a fax file first, and afterwards you
  62. can convert it to a viewable IFF ILBM file.
  63.  
  64. The necessary software has partly been scraped together from various
  65. sources. See the section on copyright for full details. All original code
  66. is @@X(169) Copyright 1993 by Olaf Seibert, and All Rights are Reserved.
  67. The GNU General Public License applies to this software. The text of the
  68. GPL can be found in the file COPYING.
  69. .SH REQUIREMENTS
  70. - A Class 2 fax modem.
  71. .br
  72. - A 7 to 10 wire cable that connects TXD (2), RXD (3), RTS (4), CTS (5),
  73. DSR (6), GND (7) and DTR (20) and optionally Shield GND (1), DCD (8) and RI
  74. (22).
  75. .br
  76. - Large fonts. Suggested are 30+ high pixels for fixed-width fonts, 50+ for
  77. proportional fonts.
  78. .br
  79. - An IFF ILBM file viewer.
  80.  
  81. Currently,
  82. .I faxsend
  83. relies on RTS/CTS handshaking between the modem and the computer. It seems
  84. that this is not standard, but is at least supported by the Supra V32bis
  85. FAX modem, ROM version 1.200H.
  86. .SH LIMITATIONS
  87. Currently, no parameters can be chosen. Everything is fixed as 1728 pixels
  88. wide (in 215 mm), vertical resolution is fine (7.7 lines/mm), compression
  89. is 1-D Huffmann, no error correction mode, no binary file transfer. This,
  90. however, is purely a software matter, and thus fixable.
  91. .SH USAGE
  92. It is probably easiest to start at the Rexx script that glues together the
  93. functionality of the other programs.
  94.  
  95. Basically you write a text file interspersed with simple formatting
  96. parameter sets. Every block of text between parameters is processed to fax
  97. data. No text-fitting is currently done; you must make sure yourself that
  98. everything fits on the paper. You must have specific provisions for
  99. directing output for each page to a separate fax file.
  100.  
  101. Several options apply to more than one of the subprograms. It is therefore
  102. best to discuss them now. Generally, all options must be given before the
  103. input files.
  104.  
  105. .ul "-o fax-file
  106.     You must always select an output file.
  107.  
  108. .ul "-a
  109.     Append to output file, instead of overwriting it. Set by all2fax for
  110. all fileparts but the first.
  111.  
  112. .ul "-x/y x/y-offset
  113.     Normally, all fax data is offset by 50 pixels both horizontally and
  114. vertically. The x offset is needed to prevent any data to fall off the
  115. left edge of the paper.
  116.  
  117. The y offset is only needed for the first part of a fax page, if at all.
  118. Therefore,
  119. .I all2fax
  120. resets the -y option to 0 for every part after the first.
  121.  
  122. .ul "-v
  123.     Verbose. Some subprograms support this, some don't.
  124.  
  125. .ul "-i
  126.     Invert pixels before conversion. Probably only useful for converting
  127. ILBM images.
  128.  
  129. .ul "-r
  130.     Raw. Don't append an end-of-page marker to the output. This option is
  131. set initially, but reset for the very last part (this is detected by the
  132. end of file condition when reading its text).
  133.  
  134. The commands supported by all2fax are:
  135.  
  136. .ul "@@.args <args>
  137.     Process the preceeding file part by running it though asc2iff, and set
  138. the given arguments (in addition to those given earlier) for the next part.
  139. Most options will be left untouched and remain in effect for succeeding
  140. parts (exceptions are -a, -r, -y). Binary options (switches) can be reset
  141. with a double dash (as in --a).
  142.  
  143. .ul "@@.doit <args>
  144.     Set the given arguments, just as .args would, and process the
  145. preceeding file part with asc2iff.
  146.  
  147. .ul "@@.iff <args>
  148.     Process the given arguments, and run iff2fax with the relevant
  149. parameters.
  150.  
  151. .ul "@@.raw <args>
  152.     Run append with the relevant parameters plus those given here. Note
  153. that these are not processed in the usual fashion - these arguments are
  154. purely one-shot.
  155.  
  156. Append is used to append a previously created (raw) fax file to the output.
  157. This is useful for including output of FaxPrinter.
  158.  
  159. .ul "@@.rexx <cmd>
  160.     Execute the given rexx command.
  161.  
  162. .ul "@@.shell <cmd>
  163.     Execute the given shell command.
  164.  
  165. Now on to the information specific to the several subprograms.
  166.  
  167. .ul "asc2fax
  168.  
  169. .ul "-f any.font -s size
  170.  
  171. Select the font and size to be used. Remember that because of the
  172. resolution of a fax, you need quite large fonts. Suggested mininum sizes
  173. are 30+ pixels for fixed-with fonts, 50+ for proportional fonts. These
  174. will allow approximately 80 characters of text per line.
  175.  
  176. .ul "iff2fax
  177.  
  178. Iff2fax is for including ILBMs verbatim (or inverted). No scaling of any
  179. kind is done. To get scaled (and possibly dithered) pictures of appropriate
  180. size it is probably best to use the FaxPrinter.
  181.  
  182. This program would actually be more accurately named "ilbm2fax", but
  183. perhaps more general iff support will be provided in the future (though I
  184. doubt it). But in any case, iff2fax delves into complex IFF files and
  185. converts all FORM ILBMs that it finds, each on a separate page, respecting
  186. the -x/-y offsets.
  187.  
  188. Because faxsend doesn't support multiple-page fax files yet, you
  189. .ul "must
  190. use -r to suppress the page terminators in the case of IFFs with multiple
  191. ILBMs. This simply glues all pages underneath each other.
  192.  
  193. .ul "FaxPrinter
  194.  
  195.     This is not a stand-alone program, but is a standard Preferences
  196. printer driver instead. This enables you to create fax graphics from your
  197. favourite graphics or printing program (for example, DeluxePaint, ADPro,
  198. Post, Ghostscript). Colour graphics can be dithered this way, but please
  199. note that the fax data "compression" algorithm behaves very badly on
  200. dithered graphics (a single white or black pixel is encoded in a 6 or 3 bit
  201. sequence, respectively). You are advised to use black & white graphics
  202. whenever possible, unless you don't mind an enormous phone bill.
  203.  
  204. FaxPrinter is the only part of El Cheapo Fax that can generate low-density
  205. (i.e. non-fine) fax data. Therefore you should select a printer density of
  206. 4 or higher.
  207.  
  208. The -r(aw) switch is implemented by the "SPECIAL_NOFORMFEED" printer flag.
  209. Your printing program should enable you to set this, usually with an option
  210. like "no formfeed" or "don't eject paper".
  211.  
  212. Support for text output is completely absent from FaxPrinter. You can use a
  213. wordprocessor that prints text as grapics, or asc2fax.
  214.  
  215. When running on 2.0+, FaxPrinter uses an ASL file requester to get the
  216. name of the file to write in. When ASL is not available, the filename
  217. used will be FAX:faxrastportdump.
  218.  
  219. .SH VIEWING
  220. You can view a fax file by converting it to an IFF ILBM file (using
  221. fax2iff) and viewing it with your favourite picture viewer. It is
  222. recommended that it is capable of displaying very large pictures, and that
  223. you select a high resolution display mode (at least hires interlace).
  224. Mostra performs great for this.
  225.  
  226. Fax2iff can optionally invert the fax for you (-i), if your viewer program
  227. uses black as background and white as foreground color.
  228.  
  229. A PAL hires/interlace display mode has approximately the same aspect ratio
  230. as a fine mode fax. My monitor displays approximately 2.4 pixels/mm
  231. horizontally and 2.66 pixels/mm vertically, while a fine fax is 8 pixels/mm
  232. horizontally and 7.7 pixels/mm vertically. A fax will thus appear a bit too
  233. wide. An NTSC mode would be 2.4/2.01 and make the fax a bit too tall. In
  234. both cases, the fax will be over 3 times enlarged on screen.
  235. .SH SENDING
  236. You send a prepared series of fax files with faxsend. The parameters are
  237. simply the phone number to be called and the names of the files to send.
  238. Remember, only one page per file.
  239.  
  240. The phone number is given as a Hayes modem style dial string. It is simply
  241. appended to an ATDT command. Valid dial characters are:
  242.  
  243. .nf
  244. 0-9 Numeric Digits
  245. * # A-D Auxiliary Digits
  246. T   Tone Dialing
  247. P   Pulse Dialing
  248. ,   Pause for (S8) seconds, default is 2 seconds
  249. /   Pause 1/8 second in dialing sequence
  250. W   Wait for second Dial Tone
  251. .fi
  252.  
  253. The -l option allows you to select the verboseness of progress reporting.
  254. Values are from 1 to 8, 8 being most verbose. Default logging level is 5,
  255. which reports warnings and all more serious messages.
  256.  
  257. Specifying a level in the range 11-18 has the same effect as a level of
  258. 10 lower but also logs the resulting messages in the file "faxlog".
  259.  
  260. The serial device to be used for the faxmodem can be specified with -f
  261. unit/nameof.device. Default is -f 0/serial.device. Both parts of the string
  262. can be omitted.
  263.  
  264. .SH RECEIVING
  265. (currently untested!)
  266.  
  267. To receive faxes, you should start faxrecv. When it detects any input
  268. from the modem (presumably a RING message) it will attempt to answer the
  269. call in fax mode. There is no need (and in fact, you should not) set your
  270. modem to autoanswer mode.
  271.  
  272. Incoming faxes are written into subdirectories of a spool directory (-d
  273. option), with each page in a separate file, plus a LOG file containing
  274. session information. The given directory must end in a : or /.
  275. The default incoming directory is FAX:incoming/ .
  276.  
  277. To immediately answer the phone (if it is already ringing) specify the
  278. -i option. In this case, faxrecv answers the phone immediately after
  279. initialisation.
  280.  
  281. If you insist on auto-answer, and have some front-door program that can
  282. detect fax calls, double the -i option. In this case, the modem is not
  283. initialised, the phone not answered (because it already has been), and fax
  284. commands are issued immediately. This is experimental. For information,
  285. this would work with most faxes as follows: Give the commands AT +FCLASS=0
  286. +FAA=1 S0=(1-255). The fax will then eventually reply with "FAX" or
  287. "CONNECT speed".
  288.  
  289. .SH COPYRIGHTS
  290. Significant parts of this package have been lifted from other packages.
  291. The following copyrights apply:
  292.  
  293. For tofax.c (derived from Ghostscript 2.2's file gdevdfax.c):
  294. .nf;.in 0
  295. /*
  296.  *    Copyright 1992 DigiBoard, Inc. All rights reserved
  297.  *
  298.  * Permission to use, copy, modify, and distribute this software and its
  299.  * documentation for any purpose and without fee is hereby granted.
  300.  * This software is provided "as is" without express or implied warranty.
  301.  */
  302.  
  303. /* gdevdfax.c */
  304. /* DigiBoard, Inc. DigiFAX driver for Ghostscript. */
  305.  
  306.     and
  307.  
  308. /*************************************************************************
  309.     The rest of this file is a FAX encoding algorithm
  310.     derived from pbmplus.  It is not the normal DigiFAX algorithm.
  311.     The following copyright applies.
  312. **
  313. ** Copyright (C) 1989 by Paul Haeberli <paul@@manray.sgi.com>.
  314. **
  315. ** Permission to use, copy, modify, and distribute this software and its
  316. ** documentation for any purpose and without fee is hereby granted, provided
  317. ** that the above copyright notice appear in all copies and that both that
  318. ** copyright notice and this permission notice appear in supporting
  319. ** documentation.  This software is provided "as is" without express or
  320. ** implied warranty.
  321.  *************************************************************************/
  322. .fi;.in @@ni
  323.  
  324. For fromfax.c (derived from pbmplus' file g3topbm.c):
  325.  
  326. .nf;.in 0
  327. /* g3topbm.c - read a Group 3 FAX file and produce a portable bitmap
  328. **
  329. ** Copyright (C) 1989 by Paul Haeberli <paul@@manray.sgi.com>.
  330. **
  331. ** Permission to use, copy, modify, and distribute this software and its
  332. ** documentation for any purpose and without fee is hereby granted, provided
  333. ** that the above copyright notice appear in all copies and that both that
  334. ** copyright notice and this permission notice appear in supporting
  335. ** documentation.  This software is provided "as is" without express or
  336. ** implied warranty.
  337. */
  338. .fi;.in @@ni
  339.  
  340. For the printer driver, part of the code is a stripped-down version of
  341. Commodore's example printer driver for the HP Laserjet.
  342. @
  343.  
  344.  
  345. 1.1
  346. log
  347. @Initial revision
  348. @
  349. text
  350. @d19 1
  351. a19 1
  352. Usage: faxsend phone [files..]
  353. d21 1
  354. a21 1
  355. Usage: faxrecv -d queuedir/ -f faxdevice -l loglevel -v -i
  356. d229 3
  357. d247 1
  358. d256 4
  359. a259 1
  360. commands are issued immediately. This is experimental.
  361. @
  362.