Annotation of researchv10no/cmd/dimpress/README, revision 1.1.1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.