VERSION 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  1. ------------------------
  2. Version 3.3.2 7/7/92
  3. ------------------------
  4. 1: Added UTF support for Plan 9. Only signigficant source code changes were
  5. in dpost.utf (font.h, font.c, dpost.c). Added common/rune.[hc] so code
  6. can be compiled elsewere. Remove RUNELIB in commmon/rune.h if fullrune(),
  7. chartorune(), and runetochar() are available on your system. Original
  8. DWB 3.3 dpost source is in directory dpost. You should select dpost or
  9. dpost.utf in postscript.mk. Both compile and install a program called
  10. dpost so don't pick both!
  11. 2: dpost can read old or UTF troff output. Default is whatever is assigned
  12. to READING (file common/gen.h). You get one or the other, unless troff
  13. tells dpost what encoding to use (currently x E UTF).
  14. 3: Most other translators passed bytes through and so only needed slightly
  15. modified proglogues and a new encoding scheme (psencoding/UTF.enc). It
  16. works for Latin1, but still needs a bit more attention. Prologue changes
  17. were easy and only involved adding lines like,
  18. /show {show} bind def
  19. /stringwidth {stringwidth} bind def
  20. Guarantees text procedures used in prologues aren't operators and can be
  21. successfully redefined in UTF.enc. Unbinding means a small but probably
  22. not noticeable speed penalty. You may not want to include those changes
  23. on other system.
  24. 4: Operator redefinitions means dpost should work in it's own dictionary
  25. (rather than userdict). Not implemented yet, but should be easy. Only
  26. potential problem is with picture inclusion when dpost reads UTF.enc.
  27. ------------------------
  28. Version 3.3.2 5/15/92
  29. ------------------------
  30. 1: postio now outputs all unrecognized status reports - primarly for spooler
  31. accounting purposes.
  32. 2: The makefiles also enable the selection of alternate stream module names
  33. for streams based DKHOST support in postio.
  34. 3: dpost now assumes the optional fifth token in a font mounting command
  35. (e.g. x font 2 R /usr/me/font/R) is the full pathname of the font. troff
  36. outputs the pathname when a .fp request contains a third argument that
  37. begins with a / as in .fp 1 R /usr/me/font/R.
  38. 4: By request Latin1's - character has been changed from minus to the smaller
  39. hyphen character. Added \(dq and \(bs (for " and \ characters) to devpost
  40. and devLatin1 tables. Also added \(!! and \(?? to devpost tables.
  41. 5: Helvetica-Light and Helvetica-LightOblique tables are included as HL and
  42. HK in devpost and devLatin1, even though fonts aren't generally available.
  43. Also copy H to HM during an install of devpost and devLatin1 tables.
  44. 6: LH is a horizontally arranged color Lucent logo with text which replaces the AT&T logo.
  45. LV is a vertically arranged monochrome AT&T logo with text.
  46. FA is a horizontally arranged monochrome Lucent logo with text (low res.).
  47. L1 is a monochrome AT&T logo, no text.
  48. LA is a monochrome AT&T text.
  49. 7: Included L1 and LA outlines in devpost and devLatin1. Adjusted LA scaling
  50. so size of "AT&T" matches what's in LV. Original PostScript came
  51. from Matthijs Melchior.
  52. 8: Included the "symmetric clippath" version of roundpage.ps as Nroundpage.ps
  53. in directory postscript/psfiles. Move it to roundpage.ps if you want it to
  54. be the default.
  55. 9: Added a few lines of code to dpost for handling current implementation of
  56. the portrait/landscape mode macros.
  57. 10: The man page for download now documents the -r option and notes that -p
  58. is for Unix 4.0 lp.
  59. ------------------------
  60. Version 3.3.1 4/30/91
  61. ------------------------
  62. 1: buildtables stuff has been cleaned up and is now a user level command.
  63. Uses shell.lib files that are installed with font tables. The devpost
  64. tables were built on a version 47.0 PS-810. The devLatin1 tables were
  65. built on a version 51.7 PS-820.
  66. 2: The devLatin1 tables provide support for the ISO Latin1 alphabet on
  67. PostScript printers.
  68. 3: All translators support different text font encoding schemes using the
  69. -E option and *.enc files installed in POSTLIB. The ISO Latin 1 alphabet
  70. is supported with file /usr/lib/postscript/Latin1.enc.
  71. 4: printfont prints a table of the available (encoded) characters in one
  72. or more PostScript fonts. It also understands the -E option.
  73. 5: grabit and hardcopy are two new programs that may be of interest to the
  74. more serious PostScript programmer. grabit resembles ==, but produces
  75. output that's usally easier to read. hardcopy redirects output from
  76. PostScript file output operators (or procedures) to paper. It's useful
  77. if you don't have direct access to a printer.
  78. 6: Prologues and programs are stored together. Other common PostScript files
  79. are now in the psfiles directory.
  80. ------------------------
  81. Verions 3.3 4/16/90
  82. ------------------------
  83. 1: The package is now included in DWB. Version numbers are a bit misleading.
  84. The one in postscript.mk refers to the DWB package.
  85. 2: dpost (and troff) now read ASCII font tables. makedev and the old binary
  86. format are gone.
  87. 3: The devpost directory came directly from the DWB package. The font tables
  88. originally distributed with this package are in directory devopost. They
  89. are not installed. If possible we recommend you use the devpost tables.
  90. The old tables can be installed by adding devopost to the TARGETS list in
  91. file postscript.mk.
  92. 4: dpost recognizes two new fields in font tables. Entries for the full
  93. PostScript font look like,
  94. fontname Times-Roman
  95. The fontname field is helps manage host resident fonts, the DocumentFonts
  96. comment, and is used to define font name abbreviations like the ones in
  97. dpost.ps. A font table entry that looks like,
  98. named in prologue
  99. disables the runtime abbreviation for the font - dpost assumes it's already
  100. in the prologue.
  101. 5: Extra font tables included in DWB 3.0's devpost font collection are in
  102. directory devpost.add. They included here, but should probably not be
  103. used.
  104. 6: Bracket building has been fixed and tested on a wide range of PostScript
  105. printers. It will likely still not work on many clones. Real problem
  106. appears to be with Adobe's braceleftbt character.
  107. 7: Most of the special tuning code for device emulation has been removed.
  108. Emulation still works, but there may be cases where it's not as good as
  109. earlier versions.
  110. 8: Several problems with color and reverse video printing have been fixed.
  111. 9: buildtables directory has been cleanup up. The template files in directory
  112. buildtables/devpost.data were used to build the devpost tables.
  113. 10: postplot and download are two new programs. postplot is for the System V
  114. plot package only. Both were written for the Unix 4.0 lp package.
  115. 11: postgif is also relatively new - it came from Chi Choy.
  116. 12: The translators now rotate clockwise when printing in landscape mode. If
  117. you want the old behavior set ROTATION to -1 in postscript.mk.
  118. 13: forms.ps has been cleaned up some. Better behavior when you print 2
  119. landscape pages on one sheet.
  120. 14: Handling of Datakit code for System V has been changed some. Makefiles
  121. now expect to find libdk.a and dk.h in standard places (e.g /usr/lib and
  122. /usr/include). Set DKHOST to TRUE in postscript.mk to get Datakit support
  123. on System V.
  124. If you're stuck and need to have things behave as they did in the past
  125. take a look at file postio/postio.mk. Define DKHOSTDIR and uncomment
  126. three lines and the behavior should be close to what it was.
  127. 15: Picture inclusion and color macros are gone. They're included in the DWB
  128. package, and not here.
  129. ------------------------
  130. Version 3.2 11/27/89
  131. ------------------------
  132. 1: Implemented height and slant requests in dpost.
  133. 2: Modified the behavior of all translators so save objects are no longer left
  134. on the stack. The original implementation was a mistake and occasionally
  135. (e.g. picture inclusion with forms.ps) resulted in invalid restores.
  136. 3: Fixed the mistake in the external declaration of mesg in postio/slowsend.c.
  137. 4: The malloc() call in postdmd (routine dimensions()) is only made if patterns
  138. is positive.
  139. 5: Changed definition of De in draw.ps so savematrix is loaded with the CTM
  140. whenever De is executed. Original implementation didn't work with forms.ps
  141. because the CTM is changed with each page image. (4/29/89)
  142. 6: Flush stdout when postio is invoked with the -t option - just convenient
  143. not necessary. (4/30/89)
  144. 7: Included a man page for the picture inclusion macros - file man/mpictures.5.
  145. (5/6/89)
  146. 8: Added BoundingBox code to dpost - still needs to go in other translators.
  147. Most of the work is done in common/bbox.c. (5/7/89)
  148. 9: Fiddled with the bracket building stuff in dpost.ps so things finally look
  149. decent. Was particularly bad on the typesetter.
  150. 10: dpost now generates a PageBoundingBox comment and ps_include.c accepts
  151. the comment. Added -B option to enable/disable the BoundingBox calculations.
  152. -Bon to enable and -Boff to disable. On by default now, but that may change.
  153. Add similar code to the rest of the translators (6/20/89).
  154. 11: Fixed ps_include.c so it properly handles %%BeginGlobal and %%EndGlobal.
  155. Added braces and compare page.start to page.end instead of 0.
  156. 12: Added xymove(hpos, vpos) for \X'PS ...' request - near the end of devcntrl().
  157. Must output position info for following PostScript.
  158. 13: Added a call to endtext() immediately before the oput() call for \N'...'
  159. requests. Without it spacing often messed up with -e2 but not -e0.
  160. ------------------------
  161. Version 3.1 11/15/88
  162. ------------------------
  163. 1: postio can run as one or two processes (-R option) and can establish an
  164. interactive connection with a postscript printer (-i option). Parsing of
  165. status reports has been improved. The status query mechanism can be disabled
  166. using the -q option. An exit status of 1 implies a system error (eg. can't
  167. open the line) while 2 usually means there was an error in the PostScript
  168. file. By default postio runs as a single process. The -B, -R, and -q options
  169. can be used to speed things up some. A version of the program (previously
  170. supplied in postio.tmp) that can help if you seem to be having flow control
  171. problems can be obtained using the -S option. It's not generally recommended
  172. and should only be used as a last resort!
  173. 2: Several widthshow encoding schemes have been added to dpost and can reduce
  174. print time by 20% or more. The method used to encode lines of text can be
  175. changed on the command line using the -e option. Level 0 produces output
  176. essentially identical to previous versions of dpost. The default can be
  177. changed by modifying the definition of ENCODING in ./Makefile. At present
  178. only level 0 is thoroughly tested, although level 2 (ie. -e2) may be the
  179. default and is undoubtedly worth a try.
  180. 3: dpost now supports color selection and reverse video. Access in troff is via
  181. the stand-alone macro package ./macros/color. Examples are,
  182. .so /usr/lib/macros/color
  183. .CL red "this prints in red"
  184. .CL "white on black" "and this prints white text on a black background"
  185. The postscript procedures that handle color and reverse video can be found
  186. in ./postscript/color.ps. Additional colors can be added to the colordict
  187. dictionary defined in ./postscript/color.ps.
  188. 4: The dpost drawing routines have been improved and have been moved from the
  189. prologue (ie. ./postscript/dpost.ps) to ./postscript/draw.ps. That file is
  190. only included if needed. Drawing routines now support the ability to group
  191. a series of drawing commands together as a single path. May be useful for
  192. future versions of pic that wish to fill regions with colors or gray levels.
  193. Access is via the new "x X BeginPath" and "x X DrawPath" device control
  194. commands. In addition there's some complicated PostScript code in file
  195. ./postscript/baseline.ps, that can be used to set text along an arbitrary
  196. curve. It's terribly confusing and I doubt anyone will have the patience to
  197. bother to figure it out.
  198. 5: A simple picture packing troff preprocessor (picpack) has been included and
  199. the code needed to recover pictures and text has been added to dpost. The
  200. program is designed to supplement to the original picture inclusion mechanism,
  201. and should ONLY be used when absolutely necessary. Using dpost to pull picture
  202. files into a document is strongly recommended and will always be the more
  203. efficient and portable approach. picpack simply provides a way to combine
  204. pictures and text in a single file before dpost is executed. It may help in
  205. a distributed printing environment where the user runs everything through
  206. troff while a spooling daemon (eg. lp) handles the postprocessing. There
  207. are serious disadvantages to this approach, with perhaps the most important
  208. being that troff output files (when picpack is used) will likely result in
  209. files that can no longer be reliably passed through other important post-
  210. processors like proof.
  211. 6: Code to handle host resident PostScript fonts in dpost has been tested and
  212. finally works. The -H option points dpost to a host resident font directory,
  213. which by default is NULL. Host resident font files stored in that directory
  214. must be assigned a name that corresponds to the one or two character troff
  215. font name. Width tables must also be built (see buildtables/README), the new
  216. binary font files must be installed in /usr/lib/font/devpost, and a mapping
  217. definition from troff's name to the PostScript font name must be added to
  218. ./postscript/dpost.ps.
  219. 7: The default pattern length in postdmd has been reduced to from 10 to 6 bytes.
  220. Printers with fast processors (eg. PS-810s) often benefit from a further
  221. reduction, while optimal performance on slower printers (eg PS-800s) may
  222. require larger pattern sizes. The pattern length can be set using the -b
  223. option. Increasing the pattern size usually increases the size of the output
  224. file.
  225. 8: Line drawing in posttek and postbgi includes code that automatically ties
  226. lines to device space coordinates when you select a non-zero width. Helps
  227. eliminate the variation in line thickness that many observed. The default
  228. line width in posttek and postbgi is still 0 (which gets 1 pixel). If you
  229. want a different default change the definition of variable linewidth in files
  230. ./postscript/posttek.ps and ./postscript/postbgi.ps.
  231. 9: Defocused lines in posttek have been fixed.
  232. 10: postbgi now supports color and can be used to translate most PRISM (color
  233. BGI) jobs. Special device specific tuning needed for many PRISM jobs can be
  234. enabled by using the -P"/prism true" option. Missing pieces (eg. subroutines)
  235. needed for translating PRISM jobs, have also been implemented.
  236. 11: postreverse can reverse the pages in documents that conform to Adobe's 1.0
  237. or 2.0 file structuring conventions, and it works with all the translators in
  238. this package. The new version is backwards compatible, but files produced by
  239. the new translators should not be passed through old versions of postreverse.
  240. The likely result will be no output at all. If you choose to do a partial
  241. installation put the new postreverse up first!
  242. 12: All translators attempt to conform to Adobe's Version 2.0 file structuring
  243. conventions. dpost output falls short, but only in the interest of efficiency.
  244. Passing dpost output through postreverse (perhaps with the -r option) produces
  245. a minimally conforming PostScript file.
  246. 13: All the translators now support three options that pass arbitrary PostScript
  247. through to the output file. The -P and -C options add a string and the
  248. contents of a file respectively immediately after the prologue. It's assumed
  249. whatever is added is legitimate PostScript - there is no checking. In each
  250. case the added PostScript code becomes part of the job's global environment.
  251. The -R option can be used to request special action (eg. manualfeed) on a
  252. global or page basis. The argument should be "request", "request:page", or
  253. "request:page:file". If page is given as 0 or omitted the request applies
  254. globally. If file is omitted the lookup is in /usr/lib/postscript/ps.requests.
  255. The collection of recognized requests can be modified or extended by changing
  256. /usr/lib/postscript/ps.requests.
  257. 14: PostScript code (from Johnathan Shopiro) that produces bolder versions of the
  258. Courier fonts has been included in file postscript/fatcourier.ps. The file
  259. can be added to individual prologue files (eg. dpost.ps) or pulled in as
  260. needed using the -C option.
  261. 15: postmd is a new program that can be used to display a large matrix as a gray
  262. scale image. May help if you're looking for patterns in a large matrix. A very
  263. optimistic estimate suggests you can display up to a 600x600 matrix (with five
  264. different shades of gray) on 300dpi printer using 8.5x11 inch paper.
  265. 16: What's available in buildtables has been cleaned up and works well with the
  266. new version of postio. It can be used to have PostScript printers build troff
  267. width tables for both printer and host resident fonts.
  268. 17: The PostScript bind operator has been applied to all procedures that are
  269. expected to be executed more than once. Redefined save and restore procedures
  270. are no longer needed and saverestore.ps is not included in this package.
  271. 18: The bizarre PostScript code used to get to the upper left corner of a page
  272. in old versions of dpost.ps and postprint.ps has been replaced by something
  273. that's at least slightly more comprehensible. All prologues have also been
  274. changed so picture inclusion (eg. including a pic picture that's been run
  275. through troff and dpost) should work better than previous versions. Still
  276. missing (from most translators) is the %%BoundingBox comment and even when
  277. it's put out (by postdmd) only the dimensions are correct - sorry!
  278. 19: The careless mistake in the DKHOST section of postio that some noticed belongs
  279. to me (not Allan Buckwalter) and has now been fixed.
  280. 20: By default all prologues still use the current clipping path to determine page
  281. dimensions, but that behavior can be disabled by setting boolean useclippath
  282. (in each prologue) to false. In that case the page dimensions will be taken
  283. from array pagebbox, which by default is initialized to 8x11 inch paper. The
  284. -P options (in each translator) can change useclippth and pagebbox.
  285. 21: New in the misc directory is sample lp support from Maryann Csaszar and a
  286. simple program that converts host resident font files obtained from a Macintosh
  287. to a format that works on Unix.