Frame 2 Html filter ==================================================== 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 code can not be included in a commercial product. 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
 html tag.
	o Italics and bold parts of paragraphs are handled.
	o The converter can be set up so that FrameMaker saves
	  in HTML 'directly'.

Problems and bugs:

	o Characters in frame not in html, including Greek character.
	o Documents that are divided into sections using the FrameMaker
		'frame'.
	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).
	o Only anchored frames are handled well. Other graphics may be lost.
	o Some colour figures are not translated well.

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.

Acknowledgement:

	I would like to thank Geir Ivarsoey of Norwegian Telecom Research,
	Duncan Fraser and Randy Roesler of MacDonald Detwiller, Daniel K.Schneider of
	TECFA (Educational Technologies and Learning), 
	Jan van der Steen of Computer Lab, Amsterdam,
	Stephen Martin of LSI Logic Corporation of Canada,  
	Russ Rew of UCAR Unidata Program, 
	Michael McIlrath of MIT,	
	Anthony Thyssen of Griffith University,
	Eric Richards of Intel Supercomputer Systems Division,
	Roar Smith of L. M. Ericsson A/S,
	Kjetil Ullaland of University of Bergen,
	Rob Kooper, Bob Jackson, Phil Hooper, Yen Lee and John Silva
	for their assistance in improving this program. 

Availability:

	ftp bang.nta.no:pub/fm2html.tar.v.0.n.m.Z.


Disclaimer:

	Use this program at your own risk.


----------------------------------------------------------------------------


Below is a list of environment variables that can be set:

	MIF2GIFPRINTSETTINGSFILE (e.g. /local/lib/mif2gif.printsettings)
	MIF2HTMLTAGSFILE (e.g. /local/lib/htags)
	DOCUMENTLANGUAGE (US OR NO, US is default. This results in "Innhold" being
			  used instead of "Table of Contents", etc.)

Useage: 
	See the man page.

Warning:
	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 files describe the connection between FrameMaker
	tags and the internal tags of the filter. These internal
	tags are mapped to HTML tags. When the filter program is 
	run, it checks whether there exists a file called .htags,
	where  is the name of the file or book to 
	translate. If no such file is found, the filter checks whether
	the MIF2HTMLTAGSFILE environment variable is set. If
	it is, the corresponding file is used. If the environment
	variable is not set, then the default file is used. The
	default file is $LIBDIR/htags.

	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 tags 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 must edit the destination location for files 
	(LIBDIR and BINDIR) to a suitable
	directory. Then run 'make install'.
	
	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 and cc.

	You can included links to other html documents in your FrameMaker
	document by using Markers of the type 'Hypertext'. The marker
	text is assumed to be an URL, e.g. "http://www.nta.no/".
	Any text following the marker (until the end of the line or until
	another marker or such in the text) becomes a link in your HTML
	file to the file given by the marker text. Tip: To avoid having too
	much text highlighted, have a marker (not Hypertext)
	denoting the end of the text to be highlighted. FrameMaker newlink,
	openlink and gotolink are now supported.
	
	Any paragraphs of the type 'TITLE' will become the title of
	the document and will be moved to the top of the document
	(or of the book document, if the file being translated
	is a book). 
	
	Have a look at the Demo.bok, Demo1.doc and Demo2.doc files to get an
	idea of what can be achieved.

	It is possible to save FrameMaker documents in HTML directly (Do save
	the file as a FrameMaker document as well, though). Here is what must
	be done:

		1. Make a .fminit2.0 or such directory.
		2. Edit the MifWrite shell script or copy the
	           one provided to the .fminit2.0 directory.

	After that you can save HTML documents by:

		1. Choose 'Save As'.
		2. Select 'Maker Interchange Format'.
		3. Change the file extension to '.html'.
		4. Save.

	The output from the converter will come in the directory from which 
	FrameMaker was started.
	
	When converting MAC documents, make sure that the documents are
	converted correctly from MAC to UNIX format. Especially consider
	end of line characters. If these are incorrect, you will get
	a scanner overflow.

	When converting books: remember to do a update the book before
	doing a translation. Otherwise some of the references and links
	may be incorrect.


Frequently asked questions:

	o Where can I find the pbmplus (pnm and ppm filters) package?

		See a list of locations given by archie in "WhereToFindPbmPlus"
		and "WhereToFindNetPbm". It is recommended that you use netpbm
		as it is more recent.
	
	o Where can I find flex?

		See a list of locations given by archie in "WhereToFindFlex"

		

-----------------------------------------------------------------------------------

Jon Stephenson von Tetzchner
Norwegian Telecom Research
E-mail : jons@hal.nta.no