|
|
researchv10 Norman
Landscape mode has been added. Use the -l option to get it.
A few words of warning first. The i300 font and raster files have been
changed enough so you'll need to install the new versions on ALL systems
that can send you troff output files for post-processing. I guarantee
you'll have problems if troff and dimpress use different sets of
i300 font files, so install the new tables on all your systems as soon
as you're convinced things are working properly.
Check the definition of CFLAGS in makefile. If your system doesn't have
hardware floating point you'll need the -f option. If it's already
there and you've got hardware floating point you may want to get rid
of it, although it apparently doesn't hurt things.
I've included files that can be copied to /usr/pub and used with eqn.
You'll find them in ./TABLES/pub. Each of the files will only be installed
if it doesn't already exist in directory /usr/pub. I didn't do much at
all to the i300eqnchar file, so if you've already built one of your own
don't use mine!
Find out what version of the operating system is running on your
printer. 1.9 and later systems can use the new drawing routines in
impdraw.c. Everyone else should compile dimpress using draw.c. Just
change all occurrences of impdraw to draw in makefile, or replace
impdraw.c with draw.c before you compile things. In addition if you're
using the old drawing stuff make sure DX and DY are less than 5 or so,
otherwise pictures will come out dotted. Decreasing DX and DY improves
pictures drawn the old way, but increases the size and complexity of
the output files. You can set DX and DY on the command line (-P option
I think) so you may want to experiment a little to find the largest
value that gives reasonable pictures. A step size of 3 seems to be
decent on Imprint-10s. DX and DY only affect splines in impdraw.c.
If your printer is running a really old operating system you may have
problems with illegal instructions. The first place to look if there's
trouble is in routine initialize(). Take out the two lines that set
the pen diameter. I don't think they're legal on 1.7 or earlier
printers. Then make sure you call Imagen about upgrading your printer!
Sorry about setting the pen diameter in dimpress.c. Obviously it should
have been done in impdraw.c.
The Bell Laboratories logo is included in the new raster files. It's
only available in size 36 and can be accessed using \(Lb. In addition
the 10 line globe and AT&T are available as single characters so you
can build other logos if you want. They're know as characters \(L2
and \(LA respectively, and again are only available in size 36.
I've also included a version of the mm macros that will automatically
print the Bell Labs logo for device i300. I've only supplied it as
an example, and I don't suggest you install it. I made the changes
rather quickly and they're not guaranteed. Besides you may have your
own local version of the mm macros. An easy way of using the macros
that i included without actually installing them is to include the
file on the command line and omit all other macros. For example,
troff -Ti300 mmt file >file.t
will replace the -mm option. If file asks for the logo it should get
printed - provided you've installed the new font and raster files.
----------------------------------------
A bunch of stuff that can be used with printers that accept Impress, whether
they were made by Imagen or not. I've supplied raster files (in directory
TABLES/rasti300) that were built (using buildrast) from original versions
for the 8/300 as supplied by Imagen. They're written in Imagen's Rst format.
File rast.h describes their structure and should be a decent introduction
if you don't know anything about the raster files. I've also included font
and device files for troff and dimpress in directory TABLES/devi300. Again
they were built by buildrast at the same time the raster files were made.
If you've got PDQs on your system you'll want to take the binary files
from TABLES/PDQ/devi300 and install them too (probably in directory
/usr/lib/font/PDQ/devi300).
I've added printer resident fonts to dimpress. Most of the code can
be found in res.c. The ASCII files found in /usr/lib/raster/RESIDENT
describe the available resident fonts for different printers. Take a
look at ./TABLES/RESIDENT/a490 if you want an example. The member maps
were built by mkres, actually routine dump_data(), using the description
files supplied by Imagen. I changed things a little just to eliminate
the need for character codes greater than 127. The font and DESC files
for lucida (./TABLES/deva490) also came from Imagen and need to agree
with mapping file ./TABLES/RESIDENT/a490. Be careful if you decide to
make changes to any of these files.
----------------------------------------
You may have some changes to make to the source code I've supplied. Most
of them will have to be made in files init.h, dimpress.h or makefile. I'll
list the more obvious ones, although there undoubtedly are some I've forgotten.
FILES init.h and makefile only:
FONTDIR - Needs to be defined as the normal troff font directory
on your system. I've set it to "/usr/lib/font" which is
probably correct for your system. The font directory can
be set at run time (in dimpress and troff) using the -F
option. If you've got all your font files hidden somewhere
else make sure you make the change in both of these files.
BITDIR - You undoubtedly won't have this directory on your system,
and you may not have enough disk space to keep all the
new raster files here. I've defined it to be directory
"/usr/lib/raster". The post-processor (dimpress) will
look for new raster files for device "xxx" in directory
rastxxx located in BITDIR. The -B option can be used to
do run time setting of *bitdir. The makefile will try
to install all the raster files that I've supplied in
appropriately named directories located in BITDIR. The
raster files I've given you take up about 8000 blocks
so you'll need at least that much space wherever you
decide to put them.
If really hurting for disk space the best solution is
to start eliminating raster files in the largest point
size first. You'd save quite a bit of space by getting
rid of all the size 36 files, and that may be good
enough. Remember to update the RASTERLIST file to
reflect the available point sizes. Most of the output
you get will look OK, but troff assumes it can print
characters in any font in all the sizes listed in the
DESC file. 36 is in the list even though you may have
have eliminated the raster files. You could easily
change the DESC size list before running makedev and
things would improve - unless you're running PDQs.
In that case troff will usually use the binary files
I've supplied in ./TABLES/PDQ/devi300 and the change
you just made to the DESC file won't fix anything.
Also remember the logo is only available in a size
36 raster file. Things can easily get messed up so
make sure you understand what's going on before you
start to make changes just to save disk space.
If you're going to make a change be sure to do it in
both init.h and makefile.
FILE init.h only:
OLDBITDIR - This is the directory where you'll find the old Imprint-10
raster file directory rasti10. I've defined it to be
"/usr/lib/font/devi10" because that's where the DWB package
put them. Again you may have them somewhere else on your
system, and if you do you'll want to change this string,
otherwise the -Ti10 option won't work properly. You'll also
have problems if you're not keeping the raster files in
a directory that begins with "rast". The original version
of the post-processor was called dcan, and it expected
to find the raster files in /usr/lib/font/devcan. If
that's the program you've been running you'll probably
want to move the old raster files to a new directory.
IPR - Full pathname for the ipr program on your system. I've set
it to "/usr/bin/ipr" but that might not be right for you.
If your not running Imagen's spooling package you don't
have to worry about this guy - just make sure you always
call dimpress with the -t option.
FILE makefile only:
CFLAGS - The drawing routines use floating point, so if you're on
a system that doesn't have the hardware make sure you
include the -f option. I may already have added it
to your makefile, but I'd still suggest checking the
definition. If it's there it shouldn't hurt anything
even if you really don't need it.
BINDIR - Set to /usr/bin by default. It's where we'll put dimpress
after it's compiled - provided we're installing things.
PDQDIR - If you're running PDQs on your system you'll need special
binary versions of troff's font files. I've built them on
one of our systems using the ASCII files in TABLES/dev????.
If PDQDIR exists on your system the binary files from
TABLES/PDQ/dev???? will be copied to PDQDIR/dev????. I've
defined PDQDIR to be $(FONTDIR)/PDQ. If you're not running
PDQs don't worry because PDQDIR shouldn't be there.
OWNER - This will be the owner of any files we install.
GROUP - And this will be the group.
FILE dimpress.h only:
PR_INIT - This defines the default values to use with the printers
that are directly supported by dimpress. If you want to
add a new printer just make up an appropriate line (look
at the definition of Prdata) and add it to PR_INIT. The
list must be terminated by an entry that has NULL defined
for the value of prname, so make sure you don't put anything
after the current last line. You also may not agree with
some of the default values I've picked for the different
printers. If you don't change them in PR_INIT before you
compile dimpress.
The only difference between i240 and i10 is that when you
use -Ti10 dimpress looks in OLDBITDIR for a raster directory
called rasti10, while with -Ti240 it looks in BITDIR for
rasti240. The -Ti10 option should be used to run Imprint-10s
using the old raster files. That's the only option you'll
need to use if you've got OLDBITDIR defined properly.
PR_NUM - In dimpress.c pr_num refers to the line in PR_INIT (actually
the index in prdata[]) that will be used as the default
printer. I've got it set to zero, which means that the
8/300 will be the target printer, unless the -T option is
used. If you want a different default just change the
definition of PR_NUM.
That should be most everything that needs changing. Really the most important
thing for you to decide is where you want to keep the new raster files, and
that means making sure you've got enough space for about 8000 blocks in
directory BITDIR. Also if you're short on disk space you may want to make
sure you set INS=mv when you run the makefile to do the installation. That
will make sure the raster files will be moved instead of copied, so you'll
just have one set of raster files lying around. Obviously the makefile will
only work once if you move the raster files, but there's probably no other
reason to keep two copies around.
----------------------------------------
If you need the -f option and don't have it included in makefile just add
CFLAGS='-O -f' to the command lines given below - obviously before the
target names.
Once you've made all the required source code changes you can build and
install everything by typing,
make clobber install
or if you want to save disk space and only keep one copy of the raster files
define INS to be mv on the command line like,
make INS=mv clobber install
I've included clobber just to make sure dimpress is built and installed.
Either of these should compile dimpress and makedev, install dimpress in
BINDIR, build all the binary font files, which include files in TABLES/dev*
and in TABLES/rast*/dev*.
If you just want to compile and build all the required stuff but wait to
install things type
make all
I've already mentioned that not all the programs I've supplied will be
compiled when you mention targets 'all' or 'install'. You'll probably only
need the other programs if you want to do some work on the raster files.
In that case,
make allprogs
should take care of everything for you.
----------------------------------------
The programs included in this directory are:
dimpress troff post-processor that generates version 2.0 Impress
commands. Code came from di10 (originally dcan) and has
been extensively modified. It can now generate output using
raster files in either the old (versetec) or new (Imagen's)
format. Reasonable output will be produced on any printers
that accept Impress, independent of the resolution of the
raster files being used.
By default everything's set up for the 8/300, which is
known as device i300. If you want to use the program to
generate output for another device (like i10) just use add
the -Ti10 option to your command line. That should take
care of setting up most of the printer dependent variables.
The known printers are i300, i240, i480, and i10. i10 and
i240 are really the same printers, except that i10 assumes
everything is being run the old way (like di10). In other
words the raster files are the old format and they're hidden
away in the font directory. The i240 really just assumes the
raster files are in *bitdir/rast240.
The drawing routines have also been rewritten to take
advantage of graphics primitives available in Impress. You
should be able to use them if you're running 1.9 or any
newer versions. The new routines are in file impdraw.c
and that's the file used by makefile when you compile
dimpress. If you've got an older printer that doesn't
support the graphics commands change the makefile so it
uses draw.c instead.
A file called RASTDATA defines the format and resolution of
the raster files. dimpress expects to find it wherever it's
reading raster files. If the file can't be read dimpress
(routine rastsetup()) assumes the raster files are the old
format and 240 dpi resolution. It really should be an error
but RASTDATA is new and won't be part of the old raster file
directory unless you add it.
Right now RASTDATA can include two commands that are
understood by routine rastsetup(). The first is the string
"format" which should be followed by either "old" or "rst".
The second string is "resolution" which is followed by a
number that specifies the raster file resolution. Everything
else is skipped. Look at file TABLES/rasti300/RASTDATA if
you want an example.
The first example shows how you would replace di10 by
dimpress. In fact if you defined PR_NUM (dimpress.h) so
it chose i10 as the default printer you could omit the
-Ti10 string. That's not the way I've set things up but
you may want to do it on your system.
Examples: dimpress -t -Ti10 file > file.i10
dimpress -t -Ti300 file > file.i300
makedev Program that builds the binary font and device files from
the ASCII versions in TABLES/*. You undoubtedly already
have it available somewhere on your system, but I've
included it anyway just to be complete. I've heard there's
a new and better version of makedev floating around. This
one is the original program that may very well be out of
date by now. If you've got the new makedev use it to build
the binary font and device files.
Example: makedev DESC ? ?? (overkill but it works)
makemap Code taken from makei10, as supplied in DWB. It's used to
build ASCII font and device files for other typesetters,
like the APS-5, that can be used by dimpress when it's
trying to print files using the new raster files. The
real problem here is that dimpress (in routine put1())
assumes that the code field in the font files it's using
is also the glyph number for the character in any raster
files that are being used. That's probably not true unless
the raster files and the font files were generated together,
as was done for the i300 files. If dimpress used the normal
APS-5 files from /usr/lib/font/devaps you'd be guaranteed
to get garbage.
Obviously there are a bunch of different ways to get around
the mapping problem. I chose to hide extra font files, built
from the APS-5 and i300 files, in the raster file directory.
When dimpress tries to process a troff output file that
was generated for printing on device 'xxx' it first looks
for a devxxx directory in the raster file directory and
if it doesn't find it there then it uses the normal devxxx
directory in /usr/lib/font.
I've used makemap to generate ASCII font and device files
for the APS-5 and i10. You'll find them in directory
TABLES/rasti300/devaps and TABLES/rasti300/devi10. That
means you'll be able to do APS preview work using the new
raster files.
If you want to do the same kind of thing for another printer,
say the 202, you'll need to do the following.
1: Make a dev202 directory in TABLES/rasti300
2: Build a FONTMAP file for the 202. Look at the ones in
TABLES/rasti300/devaps or TABLES/rasti300/devi10.
3: Compile makemap.
4: Move makemap to directory TABLES/rasti300 and then change
into that directory.
5: Run makemap using a command line something like,
makemap -mi300 -Ssource_dir -Fbinary_dir 202
where source_dir is where the ASCII files for the 202
can be found (minus string "/dev202") and binary_dir is
the directory where makemap can find the binary font
files for i300.
readrast Simple program that reads raster files in Imagen's Rst
format and dumps bitmap and other glyph information to
stdout in ASCII. Individual glyphs can be selected using
the -o option. If none are selected all the glyphs in each
of the input files will be displayed (and that can take a
long time).
Example: readrast -o1,5,7-10 R.8 I.14
printrast Another simple program that reads raster files in Imagen's
format and writes Impress commands needed to display glyph
bitmaps and other info on an Imagen printer. Output goes
to stdout. A simple document header is prepended to the file
if the -H option is used. The resolution of the printer we
want to use to print the file should be specified using the
-r option. Raster files are all assumed to be in the current
directory (actually ".").
Example: printrast -H -r300 R.10 I.10 B.10 CW.18 >xxx
buildrast A fairly involved program that reads an ASCII control file
and raster files supplied directly from Imagen (Rst format
and Tex character set) and builds raster and font files that
that troff and dimpress use. It built all the files you'll
find in directories rasti300 and devi300 using RASTi300 as the
control file. In fact the last three programs were all used
to build the tables for the 8/300. printrast generated hard
copy listings of the characters available in Imagen's raster
files and that was used to build file RASTi300. buildrast
then read RASTi300 and the original raster files and used
them to put together the new files.
Individual fonts or sizes can be selected using the -f and
-s options respectively. If neither is used all the fonts in
all the point sizes listed in RASTi300 (or whatever file is
the argument) will be built. troff's ASCII files are only
built when the current size that buildrast is working on is
equal to the unitwidth value set in RASTi300. The DESC file
is built at the end after all the raster files have been
finished.
RASTi300 that you'll find in this directory calls for some
fonts that aren't part of the normal software distribution
tape that Imagen supplies and so probably won't work for
you. If you're trying to build your own raster files use
RASTi300 instead.
The program doesn't handle the spacewidth command properly.
If you use it to build font files you'll want to add an
appropriate spacewidth definition to the CW font file
after everything has been built. You'll also want to make
your own RASTERLIST file.
In the example below the original raster files are assumed
to be in the current directory. All the new stuff will be
put in directories ./devi300 and ./rasti300. If you're keeping
Imagen's raster files somewhere else, which might not be
all that unusual because they take up at least 17,000
blocks, use the '-S dir' option to set the directory.
Example: buildrast RASTi300
You'll probably only need to compile dimpress and makedev unless you want
to work on the raster files.
----------------------------------------
Most of the missing characters have been added to the raster files.
The logo \(Lb is only available in size 36 as are the globe \(L1
and the AT&T \(LA. If you want to build up your own logo you can
use L1 and LA to do it. The only problem is finding a reasonable
font to use for writing the company name. I'm not sure what the
best choice is - maybe Bold.
The Roman, Italic, Bold, Bold Italic, and Constant Width fonts are all
fairly close to what you might expect, but you may not be all that happy
with the rest of the raster files (in particular Helvetica and Palatino).
In most cases dimpress can replace di10, although there are a few
differences in the way the options are handled. The important changes are,
1: The -x and -y options set offsets in inches rather than pixels, as was
the case in di10.
2: The -f option used to set the raster table directory has been changed to
-B.
3: The -e, -b, -h, -H, -L, and -S options in di10 have been removed.
If you expect to replace dcan by dimpress you'll have a little more work
to do. dcan looked for raster files in /usr/lib/font/devcan. If you expect
things to work you'll have to move those files into a directory named
rasti10. Once that's been done make sure OLDBITDIR (file init.h) is
properly defined. The -Ti10 option should then work properly.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.