The RTF file UDO saves isn't a Windows Help file. It's 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:
The UDO source file contains errors. Please take a look at UDO's log file (suffix .ulw) and correct the errors you will find there. If the log file doesn't contain any error messages your source file may contain errors UDO hasn't detected.
The HC is working incorrectly. Take a look at the HC's error file (suffix .err). Unfortunately I can't tell you the sense of the errors printed in the error file in most cases.
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:
Special characters are printed in RTF form.
Blanks will be replaced by underscores.
All other characters except numbers and letters will be replaced by their hexadecimal value with a leading underscore.
Description:
The hexadecimal ASCII code of the dash is
0x2D
. The dash will be replaced by
_2D
.
The ü
inside Einführung
is 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
.
The blanks will be replaced by _
üwill be replaced by the really long string
_5C_27FCwird. Maybe you want to say that this is quite awkward but if UDO would simply replace the
üby
FCproblems would appear very soon. Using the upper way the chance that UDO creates a context string that is already used is very small.
It's impossible to center tables in Windows Help
Windows Help doesn't allow it to layout complex tables like in RTF. It's impossible to tell Windows Help where to draw lines. It's 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's 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.