Unofficial (Preliminary) HTML Help Specification

Edited by

Paul Wise

Jed Wing

Licence

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free SoftwareFoundation; with no Invariant Sections or Cover Texts. A copy of the license is included in the section entitled GFDL. It is worth noting that the Debian project does not consider the GFDL a free licence and so when an appropriate (free, copyleft) replacement is found, this document will be relicenced if possible.

The copyright holders make no representation about the suitability of this specification for any purpose. It is provided “as is” without expressed or implied warranty. Please verify it's claims before use.

Abstract

This is chmspec-0.1. This is documentation on MS' current generation of help systems (HTML Help). HTML Help is a documentation system from MS that relies on HTML, XML and a filesystem that is used in storing multiple HTML & other files in a single file and involves LZX compression.


Table of Contents

Status of this document
1. About the Specification
1.1. Reading the specification
1.2. Organisation
1.3. Conventions
1.4. Contributions
1.5. Copyright
2. Introduction
2.1. Help systems
2.2. MS' help systems
2.3. HTML Help
2.4. HTML Help links
3. HTML Help features
3.1. Preface
3.2. Menu
3.3. Toolbar
3.4. Navigation pane
3.4.1. Index
3.4.2. Search
3.4.3. Favourites
3.4.4. Custom tabs
3.5. Information types
3.6. Text popups
3.7. Context-sensitive help
3.8. Subsets
3.9. Samples
3.10. Merged help
3.10.1. Collections
3.10.2. Merge Files
4. Files
4.1. Preface
4.2. Content
4.3. Authoring
4.4. Settings
5. Formats
5.1. Preface
5.2. ITSF format
5.2.1. Preface
5.2.2. Titbits
5.3. ITSF internal file formats
5.3.1. Preface
5.3.2. Internal file formats
5.4. CHS format
5.5. XML formats
5.5.1. Preface
5.5.2. COL format
5.5.3. hhcolreg.dat format
5.6. INI formats
5.6.1. Preface
5.6.2. HTML Help Project (HHP) format
5.6.3. HTML Help Samples (HHS) format
5.6.4. SFL format
5.7. Sitemap (HTML) formats
5.7.1. Preface
5.7.2. HTML Help Contents (HHC) format
5.7.3. HTML Help index (HHK) format
5.8. Other formats
5.8.1. Alias files
5.8.2. Text popup files
5.8.3. Header files
5.8.4. Full text search stop list file
6. Miscellaneous
6.1. GUIDs
6.1.1. Preface
6.1.2. {5D02926A-212E-11D0-9DF9-00A0C922E6EC}
6.1.3. {4662DAAF-D393-11D0-9A56-00C04FB68BF7}
6.1.4. {4662DAB0-D393-11D0-9A56-00C04FB68B66}
6.1.5. {8FA0D5A8-DEDF-11D0-9A61-00C04FB68BF7}
A. GNU Free Documentation License
A.1. PREAMBLE
A.2. APPLICABILITY AND DEFINITIONS
A.3. VERBATIM COPYING
A.4. COPYING IN QUANTITY
A.5. MODIFICATIONS
A.6. COMBINING DOCUMENTS
A.7. COLLECTIONS OF DOCUMENTS
A.8. AGGREGATION WITH INDEPENDENT WORKS
A.9. TRANSLATION
A.10. TERMINATION
A.11. FUTURE REVISIONS OF THIS LICENSE
A.12. ADDENDUM: How to use this License for your documents
I. References
Glossary

List of Tables

1.1. A breakdown of the bits in an LCID.
1.2. Styles used in this document.
1.3. Contributors to this CHM specification. Please send your fixes, suggestions, content & anything else to the Pabs.
2.1. MS' help systems (MVPs, 19??; Far, 19??; Winterhoff, 19??)
2.2. More info on MS' help systems (MVPs, 19??; Far, 19??; Winterhoff, 19??)
5.1. The format of #SYSTEM entries.
5.2. An explanation for each of the #SYSTEM codes. *Not present in files with "Compatibility=1.0".
5.3. The format of the code 4 #SYSTEM entry.
5.4. The format of the code 8 #SYSTEM entry.
5.5. The format of the #IDXHDR file.
5.6. The format of the #WINDOWS header.
5.7. The format of each #WINDOWS entry.
5.8. Flags used to specify which values are valid.
5.9. The format of the #TOCIDX header.
5.10. 20/28 byte structures
5.11. 16 byte structures
5.12. The format of the #TOPICS file entries.
5.13. The format of the #URLSTR entries.
5.14. The format of the #URLTBL blocks.
5.15. The format of the #URLTBL block entries.
5.16. The format of the #IVB file.
5.17. The format of the #IVB entries.
5.18. The format of the #SUBSETS header.
5.19. The format of the $FIftiMain header.
5.20. WLC entries
5.21. Leaf node header
5.22. Leaf node entries
5.23. Example leaf node entries
5.24. Example WLC entries.
5.25. Index node entries
5.26. Conversions
5.27. The format of the $OBJINST header.
5.28. The format of the $OBJINST listing entries.
5.29. The first entry
5.30. bit 2. Only present when "Full text search stop list file" has been specified in the HHP.
5.31. bit 2 entries
5.32. bit 3
5.33. The second entry
5.34. The format of the BTree header.
5.35. The format of the BTree listing blocks header.
5.36. The format of the BTree listing block entries.
5.37. The format of the BTree index blocks header.
5.38. The format of the BTree index block entries.
5.39. The format of the $HHTitleMap entries.
5.40. The format of the $TitleMap entries.
5.41. The format of the windowtype entries.
5.42. The format of the #KEY_DATA file.
5.43. The header of the CHS format.
5.44. The format of the subset entries.
5.45. Meta-data elements in the COL XML format.
5.46. Location sub-elements
5.47. LocationHistory subelements
5.48. Explanations for all the different [OPTIONS] that are displayed and preserved by HHW.
5.49. Summary of the arguments for each [WINDOWS] entry.
5.50. Buttons to put in the HH toolbar.
5.51. Navigation pane styles.
5.52. Global HHC properties.
5.53. Information types in the global properties.
5.54. Properties for HHC items.
5.55. Global properties of the HHK format.
5.56. Information types of the HHK format.
5.57. Item properties of the HHK format.