Frame2html filter

Jon von Tetzchner Stephenson (
Thu, 18 Nov 1993 14:18:50 +0100

Frame 2 Html filter, version 0.8, 8th November 19993

This filter has been made as part of my work at Norwegian Telecom Research.
All rights to the filter belong to Norwegian Telecom Research.
The filter can be modified as long as the top lines of each source file
indicating the original source of the filter is kept. We would also
appriciate being sent information about bugs, bug fixes, etc.

The current version of the filter:

o Handles frame files and books.
o Is customable, through a tags file mapping frame tags to
logical tags used by the filter.
o All frame X-refs become html links.
o An index is automatically generated based on chapter
headings in the frame documents.
o The file structure of the frame document is kept in the
html document. Single frame files become single
html files. Frame books become multiple html files,
one html file for each frame file. FrameMaker generated
files are removed.
o Graphics and maths are separated to files, which are then
translated to postscript and ultimately gif.
o Tables are handled through the <pre> html tag.
o Italics and bold parts of paragraphs are handled.

Problems and bugs:

o Characters in frame not in html, including Greek character.
o Documents that are divided into sections using the FrameMaker
o FrameMaker documents which do not use tags and operate on
text directly.
o Very large pictures are not handled well (bigger than an A4).

This program was made for internal use only. I will try to make it portable,
but it is not unlikely that a few paths have to be changed.

Below is a list of environment variables that need to be set:

FRAME2HTMLTAGSFILE (e.g. /local/lib/frame2html.tags)
FRAME2HTMLPRINTFILE (e.g. /local/lib/printout.frame)

fm2html frame-file [title] [author]
Fm2html can take 3 parameters.
The first specifies the name of the file or book to translate.
The second optional parameter is the title of the file.
The third optional parameter is the author of the file.

The filter operates in the current version on
your local directory. It uses a lot of memory and will
very easily run out of space, unless you give it a lot
of swap space.

Some comments:

The tags file uses TABs to separate internal tags and
FrameMaker tags. To see a list of the internal tags,
have a look at the start of the trans-code.c file.

You may have to change the line in the start of the perl
scripts identifying the location of the perl interpreter.
Do this in the Makefile.

You will probably have to edit the directories in ps2gif
so that they show where the pnm and ppm filters lie. Other
programs that have to be available on your machine include
gs (GhostScript), FrameMaker (fmbatch), flex, yacc, cc and
gcc (I actually needed both to get it all compiled).


I would like to thank Geir Ivarsoey of Norwegian Telecom Research
and Duncan Fraser and Randy Roesler of MacDonald Detwiller for
their assistance in improving this program.




Use this program at your own risk.