\input texinfo    @c -*-texinfo-*-
@comment %**start of header
@setfilename makertf.rtf
@set VERSION 1.02
@paragraphindent none
@comment %**start of header
@ifinfo
Readme File for @code{makertf} version @value{VERSION}.

Copyright (C) 1994, 1995 Christian Schenk

Permission is granted to make and distribute verbatim copies of
this file provided the copyright notice and this permission notice
are preserved on all copies.

@ignore
Permission is granted to process this file through TeX and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual).

@end ignore
Permission is granted to copy and distribute modified versions of this
file under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this manual
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Free Software Foundation.
@end ifinfo

@titlepage
@title Makertf
@author Christian Schenk

@page
@vskip 0pt plus 1filll
Copyright @copyright{} 1994, 1995 Christian Schenk

Permission is granted to make and distribute verbatim copies of
this file provided the copyright notice and this permission notice
are preserved on all copies.

Permission is granted to copy and distribute modified versions of this
file under the conditions for verbatim copying, provided that the entire
resulting derived work is distributed under the terms of a permission
notice identical to this one.

Permission is granted to copy and distribute translations of this file
into another language, under the above conditions for modified versions,
except that this permission notice may be stated in a translation approved
by the Free Software Foundation.
@end titlepage

@ifinfo
@node top, What is makertf?, (dir), (dir)
@unnumbered @code{makertf}

This is the Readme File for @code{makertf} version @value{VERSION}.
@end ifinfo

@menu
* What is makertf?::            What is @code{makertf}?
* makertf Invocation::          How to Run @code{makertf}
* Help Project Files::          Help Project Files
* makertf limits::              @code{makertf} Limititations
* Help Compiler Limits::        Help Compiler Limititations
* Makeinfo patches::            Changes to @file{makeinfo.c}
* Getting makeinfo::            How to get @code{makeinfo}
* Copying::                     Distributing @code{makertf}
* Author::                      Where to send comments
@end menu

@node  What is makertf?, makertf Invocation, top, top
@unnumberedsec What is @code{makertf}?

@code{makertf} is a program for converting @dfn{Texinfo} files into
@dfn{Rich Text Format} (RTF) files. The Windows Help Compiler takes RTF
files as input. Therefore you can use @code{makertf} to convert Texinfo
documents into Windows Help Files. It is assumed that you are somewhat
familiar with the Texinfo documentation system.

@code{makertf} is based on @code{makeinfo}, which is a part of the
Texinfo documentation system.

@node makertf Invocation, Help Project Files, What is makertf?, top
@unnumberedsec How to Run @code{makertf}

@code{makertf} accepts most of the command line options available for
@code{makeinfo}. Here is a list of the most common options (extracted
from the @code{makeinfo} manual):

@need 100
@table @code
@item -D @var{var}
Cause @var{var} to be defined.  This is equivalent to 
@code{@@set @var{var}} in the Texinfo file.

@need 150
@item -I @var{dir}
Add @code{dir} to the directory search list for finding files that are
included using the @code{@@include} command.  By default,
@code{makertf} searches only the current directory.

@need 150
@item --output @var{file}
@itemx -o @var{file}
Specify that the output should be directed to @var{file} and not to the
file name specified in the @code{@@setfilename} command found in the Texinfo
source.  @var{file} can be the special token @samp{-}, which specifies
standard output.

@need 100
@item --verbose
Cause @code{makertf} to display messages saying what it is doing.
Normally, @code{makertf} only outputs messages if there are errors or
warnings.@refill

@need 100
@item --version
Report the version number of this copy of @code{makertf}.@refill
@end table

For example, the next command converts the Texinfo file
@file{makertf.texi} into the RTF file @file{makertf.hlp}:

@example
makertf -o makertf.rtf makertf.texi
@end example

@node Help Project Files, makertf limits, makertf Invocation, top
@unnumberedsec Help Project Files

The Windows Help Compiler reads its input from a so-called @dfn{Help
Project File} (HPJ File). An HPJ File contains (among other things) the
name of an RTF file, the title of the Help File and the context string
of the contents topic.

For example, this is the HPJ File for @file{makertf.hlp}:

@example
[options]
title=Readme File for Makertf @value{VERSION}
compress=yes
contents=top
	
[files]
makertf.rtf
@end example

The Help file can then be compiled with the command @samp{hc31 makertf}.
See the documentation for the Windows Help Compiler for detail
information.

@node makertf limits, Help Compiler Limits, Help Project Files, top
@unnumberedsec @code{makertf} Limititations

The current version of @code{makertf} produces garbage if the Texinfo
source contains a node command (@code{@@top} or @code{@@node}) which is
not followed by any of the sectioning commands (@code{@@unnumberedsec},
@code{@@section}, @dots{}).

@node Help Compiler Limits, Makeinfo patches, makertf limits, top
@unnumberedsec Help Compiler Limititations

It may happen that the Windows Help Compiler aborts when the RTF file is
very large. For example, when you try to compile the GCC Manual,
@code{hc31} gives up with the message @samp{Paragraph exceeds limit of 64K}.
When you see this message, you have to shorten the paragraph in question.

@node Makeinfo patches, Getting makeinfo, Help Compiler Limits, top
@unnumberedsec Changes to @file{makeinfo.c}

Changes to the source code of @code{makeinfo} are listed in the file
@file{makertf.pat}, which is distributed together with
@code{makertf}. If you have the Patch Utilty, then you can apply the
patches with the following command (provided file @file{makeinfo.c} is
in the current directory):

@example
patch < makertf.pat
@end example

@node Getting makeinfo, Copying, Makeinfo patches, top
@unnumberedsec How to get @code{makeinfo}

@code{makeinfo} (on which @code{makertf} is based) is part of the
Texinfo documentation system.  You can get Texinfo from host
@file{prep.ai.mit.edu} using anonymous FTP.

@node Copying, Author, Getting makeinfo, top
@unnumberedsec Distributing @code{makertf}

@code{makertf} is free software within the meaning of the GNU General
Public License (see the file @file{COPYING}).

@node Author,  , Copying, top
@unnumberedsec Where to send comments

Please send suggestions and bug reports to the following address:

@format
Christian Schenk
Richard-Wagner-Str. 49
10585 Berlin
Germany

e-mail: cschenk@@gs.detewe.de (Internet)
@end format

@bye
