home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume20 / epf / part01 / README < prev   
Encoding:
Text File  |  1989-10-24  |  7.5 KB  |  179 lines

  1. In these days of cheap laser printers, can there be anyone who uses an
  2. Epson LQ dot matrix device to produce text with Greek and other special
  3. characters, equations, and relatively complex tables, yet that is clean
  4. enough for submission to a journal?  If you are among the hard-core few
  5. who find the Epson useful, read on.
  6.  
  7. These programs provide the following:
  8.  
  9. (1) Nroff driver tables for LQ-1500-compatible printers, for Elite and
  10. Pica modes.  There is an essentially complete set of nroff special
  11. characters (Greek, math, etc).  Neqn and tbl work properly.  The nroff
  12. drivers (/usr/lib/term/tabepson*) are compiled from "tabepson*.c" and
  13. "code.epson".
  14.  
  15. (2) The nroff output must be processed before printing, first by the
  16. UNIX filter "col", to convert reverse movements to the half and full
  17. line forward movements allowed by the Epson, and then by "epf", to
  18. convert the driver codes to Epson LQ-1500 printer control strings for
  19. user-defined characters.
  20.  
  21. (3) If text contains both (a) reverse line feeds and (b) bold or italic
  22. font in a reverse line-feed section, then bold and italic must be
  23. implemented by overstriking, rather than by Epson "font" changes.  This
  24. is because "col" processing changes the ordering of characters.  The
  25. "nobs" filter handles overstriking like "col" handles carriage
  26. movements; it is needed for printers than cannot overstrike a character
  27. with itself, and is generally convenient for reducing chatter.
  28.  
  29. (4) Miscellaneous:  Test files (specialgrk, specialtbl, specialeqn1,
  30. specialeqn2).  Man pages (epf.1, nobs.1).  Mk.code.list (shell script 
  31. gives a table of the non-ascii special characters -- showing nroff
  32. notation, description, tabepson code, SO-SI code).  Epseqnchar
  33. (/usr/pub/eqnchar modified to use the tabepson driver table). A
  34. prototype lp interface script ("epson").
  35.  
  36.  
  37. Code from the following public domain sources was used:
  38.  
  39. (1) John Nellen, Delft Univ. of Technology 
  40. ..!{decvax,philabs}!mcvax!dutesta!john 
  41. Newsgroups: net.sources
  42. Subject: Epson filter to type nroff Non-ASCII char's (no 1 of 4)
  43. Date: 30 Oct 85 09:54:20 GMT
  44.  
  45. This package is not in the comp.sources archives.  It is on simtel20.arpa.
  46.  
  47. The LQ-1500 user-defined characters were taken over without change. A
  48. few math symbols were added.  This code is in matrix.h.  The generating
  49. programs and pictures are in the Matrix directory.  The graphics designed
  50. by John Nellen are notably good.
  51.  
  52. The code for the driver tables ("tabepson.c" and "code.epson") was
  53. rewritten.  In order to get compatiblity with "col", and thus the
  54. capability of using "tbl" and "neqn", all special characters not
  55. obtained from the printable ascii set are represented by strings of the
  56. form SO-<single printable char>-SI; half-line forward and reverse line
  57. movements are represented by ESC-[789]; printer setup and reset is
  58. minimal (better to do this in the "lp" interface); bold and italics are
  59. implemented by overstriking; the horizontal and vertical motions
  60. possible with the Epson are described properly in parameter values used
  61. by tbl and eqn.
  62.  
  63. The filter for translating the driver table code to Epson LQ printer
  64. control strings ("epf.c") was rewritten, to be compatible with the
  65. driver tables and with "col".  
  66.  
  67.  
  68. (2) The "nobs" filter, which handles overstriking, is loosely based on:
  69.  
  70.     comp.sources.misc: Volume 3, Issue 44
  71.     Submitted-By: "A. Nonymous" <chad@anasaz.UUCP>
  72.     Archive-Name: nobs
  73.  
  74. It is fully compatible with "col" (SO-<char>-SI and ESC-[789]), and
  75. with "epf".
  76.  
  77.  
  78. (3) Compilation of the driver tables relies on the package by
  79. Bruce Townsend (bnr-vpa!bruce)    Phone:    (613) 726-3008:
  80.  
  81.     Subject:  v13i069:  Nroff driver table utility
  82.     Newsgroups: comp.sources.unix,comp.text
  83.     Posting-number: Volume 13, Issue 69
  84.     Archive-name: nroff-driver
  85.  
  86. The two files needed for making the driver tables ("table.c" and
  87. "table.h") are included here.  The full sources can be obtained from the
  88. comp.sources.unix archives, and they are well worth acquiring (elbat, a
  89. disassembler for nroff drivers; table.5, the man page; and other
  90. goodies).
  91.  
  92.  
  93. COMMENTS:
  94.  
  95. Tested with sysV.rel2 only.  The driver tables appear to be compatible
  96. with our cs department's nroff, running under BSD4.3.
  97.  
  98. Some thought might to be given to configuration of the printer and printer
  99. port.  This can be done by building configuration commands into the
  100. interface in /usr/spool/lp, or if this is not possible, by wrapping them
  101. in a shell script.  It may be convenient also to wrap "col", "nobs",
  102. "epf", etc, into the interface or a shell script.  A prototype
  103. lp interface, "epson", is included.
  104.  
  105. The "col", "nobs", and "epf" filters signicantly increase the size of
  106. the output from nroff, if there are reverse carriage movements or
  107. user-defined characters, or worse, overstruck user-defined characters.
  108. "Epf" expands each such character to a 105-byte printer control sequence
  109. and "col" and "nobs" work by adding half-spaced or overwriting with
  110. largely space-filled lines.  Generally the raw nroff output should be
  111. piped through the filters directly to a printer.  The test targets of
  112. the makefile, however, generate intermediate files, for inspection
  113. during testing.
  114.  
  115. The widths of the user-defined characters are significantly greater than
  116. the 1/12" of Epson Elite mode.  They are close to 1/10" and thus more
  117. suitable for Epson Pica mode.  For best-looking results, use
  118. unidirectional printing.  And if using user-defined characters heavily,
  119. better not use Elite mode.
  120.  
  121. There are control characters in the makefile, in the script
  122. "nroff.to.epson", and in "epseqnchar". For the first two files, 
  123. mnemonics for the control characters are given in a makefile comment.
  124. For the latter, compare "epseqnchar" and "epseqnchar.ctl", the latter
  125. obtained as:
  126.     cat -v epseqnchar >epseqnchar.ctl
  127.  
  128. The Townsend package and the driver table code provided here are for the
  129. "old" nroff version, with compiled tables in /usr/lib/term.  For
  130. interconversion between old and new styles, see:
  131.  
  132.     Subject:  v15i046:  Tools for nroff graphics on dot-matrix printers
  133.     Newsgroups: comp.sources.unix
  134.     Submitted-by: snark!eric (Eric Raymond)
  135.     Posting-number: Volume 15, Issue 46
  136.     Archive-name: nroffgraphics (2 parts)
  137.  
  138. For packages for MX80 compatibles, see the above distribution and also the
  139. following one, obtainable from simtel20.arpa:
  140.  
  141.     From: "Thomas E. Tkacik" <tet@uvaee.uucp>
  142.     Newsgroups: net.sources
  143.     Subject: UNIX PC epson printer driver for nroff
  144.     Date: 18 Feb 86 16:28:15 GMT
  145.  
  146. This driver implements Epson bold and italic modes, rather than using
  147. overstriking for them.
  148.  
  149.  
  150. TESTING:
  151.  
  152. (1) Create two files in "/usr/lib/term" that you can write upon, that
  153. can be recognized as tab files by nroff, and that do not conflict with
  154. system file names (makefile defaults are tabepstst and tabepstst-12).
  155. If the default names are not used, redefine T and T12.  Uncomment the
  156. lines marked "careful" in the *.tab targets.
  157.  
  158. (2) Identify a device in LP and LP12 that can pass a file through to an
  159. LQ-type printer, without altering it.  The makefile default is
  160. ">/dev/epson".  If you use it, you probably will have to configure the
  161. printer ports by hand, to put them into raw mode.  The drivers put the
  162. printer into pica or elite mode, but do no other configuration.  The
  163. file "epson" is a printer interface script that has options for printer
  164. configuration and calls a routine to configure the printer ports.
  165.  
  166. (3) run:     make test test12
  167.  
  168.  
  169.  
  170. Would appreciate learning of improvements.
  171.  
  172. Cheers,
  173.  
  174. John Rupley
  175.  uucp: ..{uunet | ucbvax | cmcl2 | hao!ncar!noao}!arizona!rupley!local
  176.  internet: rupley!local@megaron.arizona.edu
  177.  (H) 30 Calle Belleza, Tucson AZ 85716 - (602) 325-4533
  178.  (O) Dept. Biochemistry, Univ. Arizona, Tucson AZ 85721 - (602) 621-3929
  179.