|
|
1.1 ! root 1: ! 2: Landscape mode has been added. Use the -l option to get it. ! 3: ! 4: ! 5: A few words of warning first. The i300 font and raster files have been ! 6: changed enough so you'll need to install the new versions on ALL systems ! 7: that can send you troff output files for post-processing. I guarantee ! 8: you'll have problems if troff and dimpress use different sets of ! 9: i300 font files, so install the new tables on all your systems as soon ! 10: as you're convinced things are working properly. ! 11: ! 12: Check the definition of CFLAGS in makefile. If your system doesn't have ! 13: hardware floating point you'll need the -f option. If it's already ! 14: there and you've got hardware floating point you may want to get rid ! 15: of it, although it apparently doesn't hurt things. ! 16: ! 17: I've included files that can be copied to /usr/pub and used with eqn. ! 18: You'll find them in ./TABLES/pub. Each of the files will only be installed ! 19: if it doesn't already exist in directory /usr/pub. I didn't do much at ! 20: all to the i300eqnchar file, so if you've already built one of your own ! 21: don't use mine! ! 22: ! 23: Find out what version of the operating system is running on your ! 24: printer. 1.9 and later systems can use the new drawing routines in ! 25: impdraw.c. Everyone else should compile dimpress using draw.c. Just ! 26: change all occurrences of impdraw to draw in makefile, or replace ! 27: impdraw.c with draw.c before you compile things. In addition if you're ! 28: using the old drawing stuff make sure DX and DY are less than 5 or so, ! 29: otherwise pictures will come out dotted. Decreasing DX and DY improves ! 30: pictures drawn the old way, but increases the size and complexity of ! 31: the output files. You can set DX and DY on the command line (-P option ! 32: I think) so you may want to experiment a little to find the largest ! 33: value that gives reasonable pictures. A step size of 3 seems to be ! 34: decent on Imprint-10s. DX and DY only affect splines in impdraw.c. ! 35: ! 36: If your printer is running a really old operating system you may have ! 37: problems with illegal instructions. The first place to look if there's ! 38: trouble is in routine initialize(). Take out the two lines that set ! 39: the pen diameter. I don't think they're legal on 1.7 or earlier ! 40: printers. Then make sure you call Imagen about upgrading your printer! ! 41: Sorry about setting the pen diameter in dimpress.c. Obviously it should ! 42: have been done in impdraw.c. ! 43: ! 44: The Bell Laboratories logo is included in the new raster files. It's ! 45: only available in size 36 and can be accessed using \(Lb. In addition ! 46: the 10 line globe and AT&T are available as single characters so you ! 47: can build other logos if you want. They're know as characters \(L2 ! 48: and \(LA respectively, and again are only available in size 36. ! 49: ! 50: I've also included a version of the mm macros that will automatically ! 51: print the Bell Labs logo for device i300. I've only supplied it as ! 52: an example, and I don't suggest you install it. I made the changes ! 53: rather quickly and they're not guaranteed. Besides you may have your ! 54: own local version of the mm macros. An easy way of using the macros ! 55: that i included without actually installing them is to include the ! 56: file on the command line and omit all other macros. For example, ! 57: ! 58: ! 59: troff -Ti300 mmt file >file.t ! 60: ! 61: ! 62: will replace the -mm option. If file asks for the logo it should get ! 63: printed - provided you've installed the new font and raster files. ! 64: ! 65: ! 66: ---------------------------------------- ! 67: ! 68: ! 69: A bunch of stuff that can be used with printers that accept Impress, whether ! 70: they were made by Imagen or not. I've supplied raster files (in directory ! 71: TABLES/rasti300) that were built (using buildrast) from original versions ! 72: for the 8/300 as supplied by Imagen. They're written in Imagen's Rst format. ! 73: File rast.h describes their structure and should be a decent introduction ! 74: if you don't know anything about the raster files. I've also included font ! 75: and device files for troff and dimpress in directory TABLES/devi300. Again ! 76: they were built by buildrast at the same time the raster files were made. ! 77: If you've got PDQs on your system you'll want to take the binary files ! 78: from TABLES/PDQ/devi300 and install them too (probably in directory ! 79: /usr/lib/font/PDQ/devi300). ! 80: ! 81: I've added printer resident fonts to dimpress. Most of the code can ! 82: be found in res.c. The ASCII files found in /usr/lib/raster/RESIDENT ! 83: describe the available resident fonts for different printers. Take a ! 84: look at ./TABLES/RESIDENT/a490 if you want an example. The member maps ! 85: were built by mkres, actually routine dump_data(), using the description ! 86: files supplied by Imagen. I changed things a little just to eliminate ! 87: the need for character codes greater than 127. The font and DESC files ! 88: for lucida (./TABLES/deva490) also came from Imagen and need to agree ! 89: with mapping file ./TABLES/RESIDENT/a490. Be careful if you decide to ! 90: make changes to any of these files. ! 91: ! 92: ! 93: ---------------------------------------- ! 94: ! 95: ! 96: You may have some changes to make to the source code I've supplied. Most ! 97: of them will have to be made in files init.h, dimpress.h or makefile. I'll ! 98: list the more obvious ones, although there undoubtedly are some I've forgotten. ! 99: ! 100: ! 101: FILES init.h and makefile only: ! 102: ! 103: FONTDIR - Needs to be defined as the normal troff font directory ! 104: on your system. I've set it to "/usr/lib/font" which is ! 105: probably correct for your system. The font directory can ! 106: be set at run time (in dimpress and troff) using the -F ! 107: option. If you've got all your font files hidden somewhere ! 108: else make sure you make the change in both of these files. ! 109: ! 110: BITDIR - You undoubtedly won't have this directory on your system, ! 111: and you may not have enough disk space to keep all the ! 112: new raster files here. I've defined it to be directory ! 113: "/usr/lib/raster". The post-processor (dimpress) will ! 114: look for new raster files for device "xxx" in directory ! 115: rastxxx located in BITDIR. The -B option can be used to ! 116: do run time setting of *bitdir. The makefile will try ! 117: to install all the raster files that I've supplied in ! 118: appropriately named directories located in BITDIR. The ! 119: raster files I've given you take up about 8000 blocks ! 120: so you'll need at least that much space wherever you ! 121: decide to put them. ! 122: ! 123: If really hurting for disk space the best solution is ! 124: to start eliminating raster files in the largest point ! 125: size first. You'd save quite a bit of space by getting ! 126: rid of all the size 36 files, and that may be good ! 127: enough. Remember to update the RASTERLIST file to ! 128: reflect the available point sizes. Most of the output ! 129: you get will look OK, but troff assumes it can print ! 130: characters in any font in all the sizes listed in the ! 131: DESC file. 36 is in the list even though you may have ! 132: have eliminated the raster files. You could easily ! 133: change the DESC size list before running makedev and ! 134: things would improve - unless you're running PDQs. ! 135: In that case troff will usually use the binary files ! 136: I've supplied in ./TABLES/PDQ/devi300 and the change ! 137: you just made to the DESC file won't fix anything. ! 138: Also remember the logo is only available in a size ! 139: 36 raster file. Things can easily get messed up so ! 140: make sure you understand what's going on before you ! 141: start to make changes just to save disk space. ! 142: ! 143: ! 144: If you're going to make a change be sure to do it in ! 145: both init.h and makefile. ! 146: ! 147: ! 148: FILE init.h only: ! 149: ! 150: OLDBITDIR - This is the directory where you'll find the old Imprint-10 ! 151: raster file directory rasti10. I've defined it to be ! 152: "/usr/lib/font/devi10" because that's where the DWB package ! 153: put them. Again you may have them somewhere else on your ! 154: system, and if you do you'll want to change this string, ! 155: otherwise the -Ti10 option won't work properly. You'll also ! 156: have problems if you're not keeping the raster files in ! 157: a directory that begins with "rast". The original version ! 158: of the post-processor was called dcan, and it expected ! 159: to find the raster files in /usr/lib/font/devcan. If ! 160: that's the program you've been running you'll probably ! 161: want to move the old raster files to a new directory. ! 162: ! 163: IPR - Full pathname for the ipr program on your system. I've set ! 164: it to "/usr/bin/ipr" but that might not be right for you. ! 165: If your not running Imagen's spooling package you don't ! 166: have to worry about this guy - just make sure you always ! 167: call dimpress with the -t option. ! 168: ! 169: ! 170: FILE makefile only: ! 171: ! 172: CFLAGS - The drawing routines use floating point, so if you're on ! 173: a system that doesn't have the hardware make sure you ! 174: include the -f option. I may already have added it ! 175: to your makefile, but I'd still suggest checking the ! 176: definition. If it's there it shouldn't hurt anything ! 177: even if you really don't need it. ! 178: ! 179: BINDIR - Set to /usr/bin by default. It's where we'll put dimpress ! 180: after it's compiled - provided we're installing things. ! 181: ! 182: PDQDIR - If you're running PDQs on your system you'll need special ! 183: binary versions of troff's font files. I've built them on ! 184: one of our systems using the ASCII files in TABLES/dev????. ! 185: If PDQDIR exists on your system the binary files from ! 186: TABLES/PDQ/dev???? will be copied to PDQDIR/dev????. I've ! 187: defined PDQDIR to be $(FONTDIR)/PDQ. If you're not running ! 188: PDQs don't worry because PDQDIR shouldn't be there. ! 189: ! 190: OWNER - This will be the owner of any files we install. ! 191: ! 192: GROUP - And this will be the group. ! 193: ! 194: ! 195: FILE dimpress.h only: ! 196: ! 197: PR_INIT - This defines the default values to use with the printers ! 198: that are directly supported by dimpress. If you want to ! 199: add a new printer just make up an appropriate line (look ! 200: at the definition of Prdata) and add it to PR_INIT. The ! 201: list must be terminated by an entry that has NULL defined ! 202: for the value of prname, so make sure you don't put anything ! 203: after the current last line. You also may not agree with ! 204: some of the default values I've picked for the different ! 205: printers. If you don't change them in PR_INIT before you ! 206: compile dimpress. ! 207: ! 208: The only difference between i240 and i10 is that when you ! 209: use -Ti10 dimpress looks in OLDBITDIR for a raster directory ! 210: called rasti10, while with -Ti240 it looks in BITDIR for ! 211: rasti240. The -Ti10 option should be used to run Imprint-10s ! 212: using the old raster files. That's the only option you'll ! 213: need to use if you've got OLDBITDIR defined properly. ! 214: ! 215: PR_NUM - In dimpress.c pr_num refers to the line in PR_INIT (actually ! 216: the index in prdata[]) that will be used as the default ! 217: printer. I've got it set to zero, which means that the ! 218: 8/300 will be the target printer, unless the -T option is ! 219: used. If you want a different default just change the ! 220: definition of PR_NUM. ! 221: ! 222: ! 223: That should be most everything that needs changing. Really the most important ! 224: thing for you to decide is where you want to keep the new raster files, and ! 225: that means making sure you've got enough space for about 8000 blocks in ! 226: directory BITDIR. Also if you're short on disk space you may want to make ! 227: sure you set INS=mv when you run the makefile to do the installation. That ! 228: will make sure the raster files will be moved instead of copied, so you'll ! 229: just have one set of raster files lying around. Obviously the makefile will ! 230: only work once if you move the raster files, but there's probably no other ! 231: reason to keep two copies around. ! 232: ! 233: ! 234: ---------------------------------------- ! 235: ! 236: ! 237: If you need the -f option and don't have it included in makefile just add ! 238: CFLAGS='-O -f' to the command lines given below - obviously before the ! 239: target names. ! 240: ! 241: Once you've made all the required source code changes you can build and ! 242: install everything by typing, ! 243: ! 244: ! 245: make clobber install ! 246: ! 247: ! 248: or if you want to save disk space and only keep one copy of the raster files ! 249: define INS to be mv on the command line like, ! 250: ! 251: ! 252: make INS=mv clobber install ! 253: ! 254: ! 255: I've included clobber just to make sure dimpress is built and installed. ! 256: Either of these should compile dimpress and makedev, install dimpress in ! 257: BINDIR, build all the binary font files, which include files in TABLES/dev* ! 258: and in TABLES/rast*/dev*. ! 259: ! 260: If you just want to compile and build all the required stuff but wait to ! 261: install things type ! 262: ! 263: ! 264: make all ! 265: ! 266: ! 267: I've already mentioned that not all the programs I've supplied will be ! 268: compiled when you mention targets 'all' or 'install'. You'll probably only ! 269: need the other programs if you want to do some work on the raster files. ! 270: In that case, ! 271: ! 272: ! 273: make allprogs ! 274: ! 275: ! 276: should take care of everything for you. ! 277: ! 278: ! 279: ---------------------------------------- ! 280: ! 281: ! 282: The programs included in this directory are: ! 283: ! 284: ! 285: dimpress troff post-processor that generates version 2.0 Impress ! 286: commands. Code came from di10 (originally dcan) and has ! 287: been extensively modified. It can now generate output using ! 288: raster files in either the old (versetec) or new (Imagen's) ! 289: format. Reasonable output will be produced on any printers ! 290: that accept Impress, independent of the resolution of the ! 291: raster files being used. ! 292: ! 293: By default everything's set up for the 8/300, which is ! 294: known as device i300. If you want to use the program to ! 295: generate output for another device (like i10) just use add ! 296: the -Ti10 option to your command line. That should take ! 297: care of setting up most of the printer dependent variables. ! 298: The known printers are i300, i240, i480, and i10. i10 and ! 299: i240 are really the same printers, except that i10 assumes ! 300: everything is being run the old way (like di10). In other ! 301: words the raster files are the old format and they're hidden ! 302: away in the font directory. The i240 really just assumes the ! 303: raster files are in *bitdir/rast240. ! 304: ! 305: The drawing routines have also been rewritten to take ! 306: advantage of graphics primitives available in Impress. You ! 307: should be able to use them if you're running 1.9 or any ! 308: newer versions. The new routines are in file impdraw.c ! 309: and that's the file used by makefile when you compile ! 310: dimpress. If you've got an older printer that doesn't ! 311: support the graphics commands change the makefile so it ! 312: uses draw.c instead. ! 313: ! 314: A file called RASTDATA defines the format and resolution of ! 315: the raster files. dimpress expects to find it wherever it's ! 316: reading raster files. If the file can't be read dimpress ! 317: (routine rastsetup()) assumes the raster files are the old ! 318: format and 240 dpi resolution. It really should be an error ! 319: but RASTDATA is new and won't be part of the old raster file ! 320: directory unless you add it. ! 321: ! 322: Right now RASTDATA can include two commands that are ! 323: understood by routine rastsetup(). The first is the string ! 324: "format" which should be followed by either "old" or "rst". ! 325: The second string is "resolution" which is followed by a ! 326: number that specifies the raster file resolution. Everything ! 327: else is skipped. Look at file TABLES/rasti300/RASTDATA if ! 328: you want an example. ! 329: ! 330: The first example shows how you would replace di10 by ! 331: dimpress. In fact if you defined PR_NUM (dimpress.h) so ! 332: it chose i10 as the default printer you could omit the ! 333: -Ti10 string. That's not the way I've set things up but ! 334: you may want to do it on your system. ! 335: ! 336: Examples: dimpress -t -Ti10 file > file.i10 ! 337: dimpress -t -Ti300 file > file.i300 ! 338: ! 339: ! 340: makedev Program that builds the binary font and device files from ! 341: the ASCII versions in TABLES/*. You undoubtedly already ! 342: have it available somewhere on your system, but I've ! 343: included it anyway just to be complete. I've heard there's ! 344: a new and better version of makedev floating around. This ! 345: one is the original program that may very well be out of ! 346: date by now. If you've got the new makedev use it to build ! 347: the binary font and device files. ! 348: ! 349: Example: makedev DESC ? ?? (overkill but it works) ! 350: ! 351: ! 352: makemap Code taken from makei10, as supplied in DWB. It's used to ! 353: build ASCII font and device files for other typesetters, ! 354: like the APS-5, that can be used by dimpress when it's ! 355: trying to print files using the new raster files. The ! 356: real problem here is that dimpress (in routine put1()) ! 357: assumes that the code field in the font files it's using ! 358: is also the glyph number for the character in any raster ! 359: files that are being used. That's probably not true unless ! 360: the raster files and the font files were generated together, ! 361: as was done for the i300 files. If dimpress used the normal ! 362: APS-5 files from /usr/lib/font/devaps you'd be guaranteed ! 363: to get garbage. ! 364: ! 365: Obviously there are a bunch of different ways to get around ! 366: the mapping problem. I chose to hide extra font files, built ! 367: from the APS-5 and i300 files, in the raster file directory. ! 368: When dimpress tries to process a troff output file that ! 369: was generated for printing on device 'xxx' it first looks ! 370: for a devxxx directory in the raster file directory and ! 371: if it doesn't find it there then it uses the normal devxxx ! 372: directory in /usr/lib/font. ! 373: ! 374: I've used makemap to generate ASCII font and device files ! 375: for the APS-5 and i10. You'll find them in directory ! 376: TABLES/rasti300/devaps and TABLES/rasti300/devi10. That ! 377: means you'll be able to do APS preview work using the new ! 378: raster files. ! 379: ! 380: If you want to do the same kind of thing for another printer, ! 381: say the 202, you'll need to do the following. ! 382: ! 383: 1: Make a dev202 directory in TABLES/rasti300 ! 384: ! 385: 2: Build a FONTMAP file for the 202. Look at the ones in ! 386: TABLES/rasti300/devaps or TABLES/rasti300/devi10. ! 387: ! 388: 3: Compile makemap. ! 389: ! 390: 4: Move makemap to directory TABLES/rasti300 and then change ! 391: into that directory. ! 392: ! 393: 5: Run makemap using a command line something like, ! 394: ! 395: makemap -mi300 -Ssource_dir -Fbinary_dir 202 ! 396: ! 397: where source_dir is where the ASCII files for the 202 ! 398: can be found (minus string "/dev202") and binary_dir is ! 399: the directory where makemap can find the binary font ! 400: files for i300. ! 401: ! 402: ! 403: readrast Simple program that reads raster files in Imagen's Rst ! 404: format and dumps bitmap and other glyph information to ! 405: stdout in ASCII. Individual glyphs can be selected using ! 406: the -o option. If none are selected all the glyphs in each ! 407: of the input files will be displayed (and that can take a ! 408: long time). ! 409: ! 410: Example: readrast -o1,5,7-10 R.8 I.14 ! 411: ! 412: ! 413: printrast Another simple program that reads raster files in Imagen's ! 414: format and writes Impress commands needed to display glyph ! 415: bitmaps and other info on an Imagen printer. Output goes ! 416: to stdout. A simple document header is prepended to the file ! 417: if the -H option is used. The resolution of the printer we ! 418: want to use to print the file should be specified using the ! 419: -r option. Raster files are all assumed to be in the current ! 420: directory (actually "."). ! 421: ! 422: Example: printrast -H -r300 R.10 I.10 B.10 CW.18 >xxx ! 423: ! 424: ! 425: buildrast A fairly involved program that reads an ASCII control file ! 426: and raster files supplied directly from Imagen (Rst format ! 427: and Tex character set) and builds raster and font files that ! 428: that troff and dimpress use. It built all the files you'll ! 429: find in directories rasti300 and devi300 using RASTi300 as the ! 430: control file. In fact the last three programs were all used ! 431: to build the tables for the 8/300. printrast generated hard ! 432: copy listings of the characters available in Imagen's raster ! 433: files and that was used to build file RASTi300. buildrast ! 434: then read RASTi300 and the original raster files and used ! 435: them to put together the new files. ! 436: ! 437: Individual fonts or sizes can be selected using the -f and ! 438: -s options respectively. If neither is used all the fonts in ! 439: all the point sizes listed in RASTi300 (or whatever file is ! 440: the argument) will be built. troff's ASCII files are only ! 441: built when the current size that buildrast is working on is ! 442: equal to the unitwidth value set in RASTi300. The DESC file ! 443: is built at the end after all the raster files have been ! 444: finished. ! 445: ! 446: RASTi300 that you'll find in this directory calls for some ! 447: fonts that aren't part of the normal software distribution ! 448: tape that Imagen supplies and so probably won't work for ! 449: you. If you're trying to build your own raster files use ! 450: RASTi300 instead. ! 451: ! 452: The program doesn't handle the spacewidth command properly. ! 453: If you use it to build font files you'll want to add an ! 454: appropriate spacewidth definition to the CW font file ! 455: after everything has been built. You'll also want to make ! 456: your own RASTERLIST file. ! 457: ! 458: In the example below the original raster files are assumed ! 459: to be in the current directory. All the new stuff will be ! 460: put in directories ./devi300 and ./rasti300. If you're keeping ! 461: Imagen's raster files somewhere else, which might not be ! 462: all that unusual because they take up at least 17,000 ! 463: blocks, use the '-S dir' option to set the directory. ! 464: ! 465: Example: buildrast RASTi300 ! 466: ! 467: ! 468: ! 469: You'll probably only need to compile dimpress and makedev unless you want ! 470: to work on the raster files. ! 471: ! 472: ! 473: ---------------------------------------- ! 474: ! 475: ! 476: Most of the missing characters have been added to the raster files. ! 477: The logo \(Lb is only available in size 36 as are the globe \(L1 ! 478: and the AT&T \(LA. If you want to build up your own logo you can ! 479: use L1 and LA to do it. The only problem is finding a reasonable ! 480: font to use for writing the company name. I'm not sure what the ! 481: best choice is - maybe Bold. ! 482: ! 483: The Roman, Italic, Bold, Bold Italic, and Constant Width fonts are all ! 484: fairly close to what you might expect, but you may not be all that happy ! 485: with the rest of the raster files (in particular Helvetica and Palatino). ! 486: ! 487: In most cases dimpress can replace di10, although there are a few ! 488: differences in the way the options are handled. The important changes are, ! 489: ! 490: ! 491: 1: The -x and -y options set offsets in inches rather than pixels, as was ! 492: the case in di10. ! 493: ! 494: 2: The -f option used to set the raster table directory has been changed to ! 495: -B. ! 496: ! 497: 3: The -e, -b, -h, -H, -L, and -S options in di10 have been removed. ! 498: ! 499: ! 500: If you expect to replace dcan by dimpress you'll have a little more work ! 501: to do. dcan looked for raster files in /usr/lib/font/devcan. If you expect ! 502: things to work you'll have to move those files into a directory named ! 503: rasti10. Once that's been done make sure OLDBITDIR (file init.h) is ! 504: properly defined. The -Ti10 option should then work properly. ! 505:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.