You can bypass these limitations only with a trick:
the use of the
special-command.
Fortunately a possibility was envisioned in the DVI File Format,
to incorporate non-standardized things in the DVI file too.
For this, the
special command is available.
Everything that follows the command within accolades is taken
up in the DVI file without changes. This way driver dependant
commands can get past the TEX program into the DVI file.
The particular driver can evaluate the
special-string and
bind for example a graph into the current page.
The disadvantage of this method should not be kept secret though.
As sson as you start working with
special-strings, the DVI file
is not portable anymore. That means, that you cannot transfer this
file to an arbitrary computer and expect, that the output there
will be exactly the same, as on your own system.
However, this limitation does not weigh that heavy altogether,
since in the worst case the
special-strings are
just ignored and the text is printed without
graphics just the same anyway.
How does SpecialHostwork?
SpecialHost uses the possibility of multitasking and message transfer of
the AMIGA, to evaluate the
special-strings in the most flexible
manner possible. SpecialHost is started parallel to the particular
driver (ShowDVI or DVIprint) and waits for an incoming message
of the driver. Should the driver encounter a
special-string when
evaluating a DVI file, then it passes this unchanged to the SpecialHost-
program together with some further information like the resolution
of the picture at the time.
The task of the SpecialHost program is to get the message of
the driver and to evaluate the
special-string.
If the name of an IFF file is given
in the string, the program loads the
picture stipulated, and adjusts it to the
selected resolution (reduces or enlarges it).
After that, it passes the bitmap created on
to the driver. This only has to copy it into
its own bitmap, in which it keeps an entire TEXpage.
But why a private program for the evaluation of the
special-string?
This solution is in my view considerably more flexible,
as that of building a complete evaluation of the
special-string
into every driver. Because a solidly defined interface between
the drivers and the SpecialHost-program exists, the programs can be
developed indepently from eachother, without encountering
greater difficulties.
This way you can for example redefine the format of the
special-string
or build new skills into the SpecialHost-program like that of evaluating
of color- or vectorgraphics, without having to change even
a bit in the drivers. Or in case I change something in the
drivers and someone has written an own version of
the SpecialHost-program, no trouble should arise,
when these programs cooperate.
I publish the entire source of the SpecialHost-program, so that the advantage can be of some importance. Perhaps somebody, who knows his way around in graphic processing and is interested can extend the program.