Difference between revisions of "chm"

From Free Pascal wiki
Jump to navigationJump to search
(New page: Package CHM is a set of units distributed with FPC 2.2.2 and newer that allow to read/write .chm compressed html help files on multiple platforms. There are two projects that read these, t...)
 
Line 8: Line 8:
  
 
# chmbase - some structures, constants and helper funcs (compare and compression streaming helpers)
 
# chmbase - some structures, constants and helper funcs (compare and compression streaming helpers)
# chmfilewrite - TChmProject, a class that describes a CHM project in the form of a XML description. Can be used to generate CHMs easily.
+
# chmfiftimain - the unit that is responsible for reading and writing the search index of chms (TChmSearchReader, TChmSearchWriter)
# chmreader - the base CHM reader
+
# chmfilewriter - TChmProject, a class that describes a CHM project in the form of a XML description. Can be used to generate CHMs easily.
 +
# chmreader - the base CHM Reader
 
# chmsitemap - Support for sitemaps (toc and index, the unit helps transforming these xml files to collections)
 
# chmsitemap - Support for sitemaps (toc and index, the unit helps transforming these xml files to collections)
 
# chmspecialfiles - Streaming helpers for special index files in the chm
 
# chmspecialfiles - Streaming helpers for special index files in the chm
 
# chmtypes - CHM helper class types.
 
# chmtypes - CHM helper class types.
 +
# chmwriter - the base CHM Writer.
 
# fasthtmlparser - Base skeleton of a html parser.
 
# fasthtmlparser - Base skeleton of a html parser.
 +
# htmlindexer - Contains classes that TChmWriter uses to parse and index the contents of html files for searching
 
# htmlutil - helperfunctions. Mostly getting info out of html/xml tags.
 
# htmlutil - helperfunctions. Mostly getting info out of html/xml tags.
 
# paslznonslide - (de)compression routines
 
# paslznonslide - (de)compression routines

Revision as of 23:22, 15 November 2008

Package CHM is a set of units distributed with FPC 2.2.2 and newer that allow to read/write .chm compressed html help files on multiple platforms. There are two projects that read these, the textmode IDE ( 2.2.2 not yet), and the Lazarus chmhelp package (which features a separate helpsystem, connected over TCPIP). The original author is Andrew Haines, but some parts are by others (specially Lars/z505).

It is expected that in the next FPC release, chm will replace the doc-html archive with its thousands of separate htmls.

The package is pure pascal, and thus portable in principle (and seems to have had endianess fixes). 64-bit status not known yet.

Units

  1. chmbase - some structures, constants and helper funcs (compare and compression streaming helpers)
  2. chmfiftimain - the unit that is responsible for reading and writing the search index of chms (TChmSearchReader, TChmSearchWriter)
  3. chmfilewriter - TChmProject, a class that describes a CHM project in the form of a XML description. Can be used to generate CHMs easily.
  4. chmreader - the base CHM Reader
  5. chmsitemap - Support for sitemaps (toc and index, the unit helps transforming these xml files to collections)
  6. chmspecialfiles - Streaming helpers for special index files in the chm
  7. chmtypes - CHM helper class types.
  8. chmwriter - the base CHM Writer.
  9. fasthtmlparser - Base skeleton of a html parser.
  10. htmlindexer - Contains classes that TChmWriter uses to parse and index the contents of html files for searching
  11. htmlutil - helperfunctions. Mostly getting info out of html/xml tags.
  12. paslznonslide - (de)compression routines
  13. paslzxcomp - (de)compression routines
  14. paslzx - (de)compression routines

Files

Besides the library units, there are also two endprograms:

  • chmls - lists contents of a chm
  • chmcmd - creates CHM starting from a XML (TCHMProject class) (?)

See also