HomeAusgabeformateUDO (Universal Document)Windows Help Vs. 4 (WinHelp4)
Handbuch UDO > Ausgabeformate Index

Windows Help (WinHelp)

WinHelp meint, dass *.rtf und *.hpj keine Hilfedatei sei?

Weder die eine noch die andere Datei ist eine fertige Hilfedatei für Windows. UDO erzeugt nur die Quelltexte einer Hilfedatei, welche noch mit einem Hypertext-Compiler (HC.EXE, HC31.EXE, HCP.EXE) übersetzt werden muss.

Woher bekomme ich den Hypertext-Compiler?

Den Hypertext-Compiler HC31.EXE können Sie kostenlos vom FTP-Server von Microsoft (ftp.microsoft.com) herunterladen.

Warum will der HC einfach keine HLP-Datei erzeugen?

Dafür kann es zwei Gründe geben:

  1. Der UDO-Quelltext enthält Fehler. Schauen Sie sich also zunächst die Fehlermeldungen von UDO in der Datei mit dem Suffix .ulw an, beseitigen Sie etwaige Fehler und konvertieren Sie dann den UDO-Quelltext neu. Falls UDO keine Fehlermeldungen ausgibt, so kann es dennoch sein, dass der Quelltext Fehler enthält, UDO diese Fehler aber nicht erkannt hat.
  2. Der HC macht Murks. Beachten Sie die Fehlerprotokoll-Datei mit dem Suffix .err, die vom HC angelegt wird. Leider kann ich keine Hilfestellung zu den Fehlermeldungen des HC geben, da ich in den meisten Fällen selbst nicht weiss, was da schiefläuft.

Wofür ist die Datei mit dem Suffix .hpj?

UDO erzeugt automatisch eine zum Hypertext gehörende Projektdatei mit das Suffix .hpj, das dem HC übergeben werden muss, um aus dem Quelltext eine fertige WinHelp-Datei zu erstellen.

In dieser Projektdatei befinden sich Informationen wie der Titel des Hypertextes, die zusätzlichen Schaltflächen, die Ausmaße des Fensters nach dem Öffnen des Hypertextes usw.

UDO überschreibt vorhandene Projektdateien ohne Rückfrage. Wenn Sie manuelle Änderungen an einer Projektdatei vorgenommen haben und diese beibehalten möchten, schreibschützen Sie die Projektdatei.

Wie werden hier die Kopfzeilen erzeugt?

UDO erzeugt auf jeder Seite (mit Ausnahme der Titelseite und des Inhaltsverzeichnisses) eine Kopfzeile. In dieser befindet sich der Name des jeweiligen Kapitels. Kopfzeilen werden als non-scrolling-regions angelegt, dass Sie auch nach dem Scrollen der Seite immer noch den Kapitelnamen erkennen können.

Durch den Schalter !no_headlines [win] wird die Ausgabe von Kopfzeilen unterdrückt.

Wie werden die Kontextstrings ermittelt?

Falls Sie von anderen WinHelp-Dateien auf eine mit UDO erzeugte WinHelp-Datei verzweigen möchten, müssen Sie den Kontextstring des Kapitels kennen.

WinHelp erlaubt in Kontextstrings keine Sonderzeichen. UDO wandelt daher die Namen der Kapitel folgendermaßen in Kontext-strings um:

  1. Zunächst werden wie sonst auch Sonderzeichen durch die RTF-Schreibweise ersetzt.
  2. Leerzeichen werden in Unterstriche umgewandelt.
  3. Alle anderen Zeichen (ausgenommen Ziffern und die Buchstaben des Alphabets) werden durch Ihren hexadezimalen Wert in großer Schreibweise mit einem vorangehenden Unterstrich ersetzt.

Beispiel:

UDO:     !node LaTeX-Einführung Teil 1
WinHelp: #{footnote # LaTeX_2DEinf_5C_27FChrung_Teil_1}

Erläuterungen:

  1. Das Minuszeichen entspricht ASCII 0x2D, daher wird es durch _2D ersetzt.
  2. Das ü in Einführung lautet in RTF-Schreibweise \'FC. \ entspricht 0x5C, wird also durch _5C ersetzt. ' entspricht 0x27, wird also durch _27 ersetzt.
  3. Die Leerzeichen werden durch _ ersetzt.

Sie sehen, dass aus einem ü die ziemlich lange Zeichenfolge _5C_27FC wird. Dies scheint auf den ersten Blick mehr als umständlich und doppelt gemoppelt zu sein, bringt aber den Vorteil, dass die Vergabe von gleichen Kontextstrings bei ähnlichen Kapitelnamen ziemlich unwahrscheinlich wird. Würde aus dem ü nur FC gemacht, wären Probleme vorprogrammiert.

Warum werden Tabellen nicht zentriert?

Entweder ist dies wirklich nicht möglich, Tabellen zentriert auszugeben, oder aber ich habe bei meiner viertägigen Suche die entscheidende Möglichkeit übersehen.

Warum werden in Tabellen keine Linien angezeigt?

Die Tabellenfunktionen von WinHelp sind ziemlich mager. So ist es unmöglich, Linien frei in einer Tabelle zu platzieren. Es ist nur möglich, jede Tabellenzelle mit oder ohne Rahmen darzustellen.

Warum sind die Einrückungen bei Listen und Tabellen so groß?

UDO kennt die Zeichenbreiten der benutzten Zeichensätze nicht. Daher benutzt es einen konstanten Wert für jedes Zeichen. Damit ist die Einrückung auch bei kursiver fetter Großschrift passend, bei reiner Proportionalschrift ist die Einrückung und auch die Breite der Tabellenspalten etwas zu groß, was jedoch eher zu verschmerzen ist, als eine zu geringe Einrückung oder Spaltenbreite.

Wie kann ich DOS-Grafikzeichen darstellen?

Leider gar nicht.

WinHelp weigert sich, die Fonts Terminal und MS LineDraw zur Anzeige des Textes zu verwenden. Stattdessen benutzt WinHelp einen Ersatzfont aus der Roman-, Script- oder Symbol-Familie, die leider alle keine DOS-Grafikzeichen enthalten.

UDO ersetzt daher DOS-Grafikzeichen durch die ASCII-Zeichen +, und |, um z.B. DOS-Screenshots halbwegs realistisch darzustellen.

Warum sollte ich die Quelltexte mit einem Windows-Editor schreiben?

Sie können die Laufzeit von UDO positiv beinflussen, wenn Sie Quelltexte für eine Windows-Hilfe gleich im Windows-Zeichensatz schreiben. UDO braucht in dem Falle keine aufwendige Zeichensatzkonvertierung vornehmen.

Achten Sie hierbei darauf, dass Sie z.B. den Schalter !code_source [iso] benutzen, um UDO anzuzeigen, dass die Texte nicht im DOS-Zeichensatz erstellt wurden.

Warum sollte ich die WinHelp-Dateien komprimieren?

Mit den Schaltern !win_medium_compression und !win_high_compression sorgen Sie dafür, dass der Help-Compiler die WinHelp-Datei komprimiert. Dadurch können Sie die Größe der Datei bis zu 50 % verringern, wobei sich allerdings die Laufzeit des Help-Compilers, besonders bei der hohen Komprimierungsrate, verlängert.


Copyright © www.udo-open-source.org (Kontakt)
Letzte Aktualisierung am 19. Mai 2014

HomeAusgabeformateUDO (Universal Document)Windows Help Vs. 4 (WinHelp4)