[Lazarus] Help System with Chromium Embedded component

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Sun Oct 23 01:24:41 CEST 2016

On 2016-10-22 22:36, Mattias Gaertner via Lazarus wrote:
> Is this a problem of the CHM producer or the CHM viewer?

Both. The LaTeX-to-HTML conversion is definitely not great. Michael
would agree on this one. Then taking that already bad HTML and
converting in to CHM, makes the end result even worse. That doesn't do
any justices for Michael's hard work in writing the documentation and
having it beautifully presented (like the official PDF versions).

fpdoc's HTML output is designed for online viewing with a web browser.
What it generates and how it generates it is not always appropriate for
offline viewing, and doesn't take into account CHM viewers and how they
differ from web browsers like Firefox or Chrome. Hence my suggestion
that a dedicated CHM output writer is needed for fpdoc.

Viewing CHM files are also not equal with all CHM viewers. Although
LHelp's HTML component has improved much, it is not a match to
KCHMViewer, Microsoft's Help viewer or the likes - which use full blown
embedded web browser components. For example, take a look at how
Delphi's CHM help looks when viewed with KCHMViewer vs LHelp (1).

LHelp has other flaws too... slow loading times (though that has
improved), flaky search results, incomplete or missing TOC entries
(compared to what other CHM viewers show for the same CHM file), toolbar
arrow navigation that sometimes don't work, broken rendering of images
(2). Then there are also useful features missing that every dedicated
help viewer should have: ability for some user customisation like
adjusting the font size or page background colour, user annotations
(inline or otherwise), bookmarks, advanced search (match this but not
that, match phrases etc).

Many of LHelp's issues can be addressed, but LHelp doesn't receive much
love. I guess the major problem is that CHM is widely considered a
Windows-only file format, thus the default viewer is mostly Microsoft's
built-in help viewer (when Windows is the platform). Considering that
Lazarus promotes multi-platform support, other platforms need to live
with the failures of LHelp, or look elsewhere like KCHMViewer - but the
latter pulls in its own huge list of 3rd party dependencies.

[1] http://geldenhuys.co.uk/~graemeg/temp/kchmviewer_vs_lhelp.png
[2] http://geldenhuys.co.uk/~graemeg/temp/kchmviewer_vs_lhelp_2.png

This discussion is nothing new. I remember mentioning these same issues
some years ago.


fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal

My public PGP key:  http://tinyurl.com/graeme-pgp

More information about the Lazarus mailing list