The RTF file UDO saves isn't a Windows Help file. It is just the source code of a Windows Help file! You have to convert this source code with the Microsoft Helpcompiler to get a Windows Help file.
You can download the Microsoft Helpcompiler HC31.EXE from Microsoft's FTP server (ftp.microsoft.com) free of charge.
This can have two reasons:
When converting to Windows Help UDO will save an RTF file and a project file for the Microsoft Helpcompiler named .hpj. You have to start the HC by passing the name of this project file to get a Windows Help file.
This project file contains several information e.g. the title of the help file, code for adding additional buttons, the size of the main window when opening the help file.
UDO will overwrite this project file without previously asking you if you want it. So, if you have changed the project file and you want to protect your changes you have to write protect the project file.
UDO prints on every page (without the title page and the table of contents) a headline. In this headline the chapter name is printed inside a non-scrolling region. Thus you can see always the chapter name even if you scroll the text.
If you use the switch !no_headlines [win] inside the preamble no headlines will be printed.
If you use the command !ignore_headline inside a chapter in this chapter no headline will be printed.
If you want to create a link from another help file or a program to a help file that was made with UDO you have to know how UDO creates the context strings.
Windows Help doesn't allow to use special characters inside context strings. UDO creates the context strings in the following way:
An example with German words:
Description:
0x2D. The dash will be replaced by
_2D.
üinside
Einführungis printed in RTF files like
\'FC. The ASCII code of the backslash (
\) is
0x5C, so the backslash will be replaced by
_5C. The ASCII code of
'is
0x27, so the apostrophe will be replaced by
_27.
_
Thus the single letter ü
will be replaced by the really
long string _5C_27FC
wird. Maybe you want to
say that this is quite awkward but if UDO would simply replace the
ü
by FC
problems would appear very soon. Using the
upper way the chance that UDO creates a context string that is already
used is very small.
It is impossible to center tables in Windows Help
Windows Help doesn't allow it to layout complex tables like in RTF. It is impossible to tell Windows Help where to draw lines. It is only possible to tell Windows Help to print table cells with or without frames.
UDO doesn't know the width of the characters you use inside lists and tables. Thus UDO is forced to calculate with values so that even bold and italic capital letters will fit the cells. I think that it is better to have cells with a width that is too large than too small.
Sorry, there's no way to print them.
I don't know the reason but Windows Help won't use the fonts
Terminal
or MS LineDraw
. Windows Help will always use
another font if you want to use the upper fonts that contain the
graphic characters.
Thus UDO will replace the graphic characters of the IBM-PC
character set by +
,
–
or |
.
You can speed up the conversion if you write the source files with a Windows editor. In this case UDO doesn't have to convert the characters from the IBM PC character set into the Windows ANSI character set.
If you write source file with a Windows Editor you have to e.g. insert the command !code_source [iso] inside the preamble of your source file. If you forget to do this UDO will think that the source file was written with the IBM PC character set.
Using the switch !win_medium_compression or !win_high_compression you can tell the help compiler to compress the final Windows Help file up to 50 %. The help compiler will need a little bit more time to convert the RTF source file if you use the upper switches.