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