|
|
|
1. OVERVIEW
|
|
|
|
|
|
|
|
KchmViewer is a chm (MS HTML help file format) viewer, written in C++. Unlike most existing CHM viewers for Unix,
|
|
|
|
it uses Trolltech Qt widget library, and does not depend on KDE or Gnome. However, it may be compiled with full
|
|
|
|
KDE support, including KDE widgets and KIO/KHTML.
|
|
|
|
|
|
|
|
The main advantage of KchmViewer is extended support for non-English languages. Unlike others, KchmViewer in most
|
|
|
|
cases correctly detects chm file encoding, correctly shows tables of context of Russian, Korean, Chinese and
|
|
|
|
Japanese help files, and correctly searches in non-English help files (search for MBCS languages - ja/ko/ch is
|
|
|
|
still in progress).
|
|
|
|
|
|
|
|
KchmViewer is written by Georgy Yunaev (gyunaev@ulduzsoft.com), and is licensed under GNU GPL license. Please
|
|
|
|
do NOT use this email for bug reporting; see below.
|
|
|
|
|
|
|
|
2. FEATURES
|
|
|
|
|
|
|
|
- Standalone viewer, depends on Qt only. Does not require KDE, Gnome or wxWindows toolkit.
|
|
|
|
- A KDE viewer can be compiled optionally, with KIO slave, KHTML and K*Widget support.
|
|
|
|
- Completely safe and harmless. Does not support JavaScript in any way, optionally warns you before opening an
|
|
|
|
external web page, or switching to another help file.
|
|
|
|
- Correctly detects and shows encoding of any valid chm file.
|
|
|
|
- Correctly shows non-English chm files, including cyrillic, chinese, japanese and others.
|
|
|
|
- Correctly searches in non-English chm files using chm built-in search index.
|
|
|
|
- Shows an appropriate image for every TOC entry.
|
|
|
|
- Has complete chm index support, including multiple index entries, cross-links and parent/child entries in index.
|
|
|
|
- Persistent bookmarks support. Allows to store bookmarks even if "Favorites" window was not enabled for this chm
|
|
|
|
file. Also stores the screen position for every bookmark. You can also edit/delete bookmarks.
|
|
|
|
- For any opened chm file, stores the last opened window, search history, bookmark history, font size and so on, so
|
|
|
|
when you open this file again, everything is always on the place.
|
|
|
|
- Has easy and powerful search-in-page support.
|
|
|
|
- Allows to increase or decrease the font size, so physically handicapped people can read texts easily.
|
|
|
|
- Has standard Back/Forward/Home navigation.
|
|
|
|
- Can print the opened pages on a standard printer (usually via CUPS).
|
|
|
|
- Has complex search query support. You can use search queries like "lazy people" + learn -not.
|
|
|
|
|
|
|
|
|
|
|
|
3. INSTALLATION
|
|
|
|
|
|
|
|
Usually kchmviewer is distributed in source code archive, so you need to compile it first. It compiles with Qt 3.x,
|
|
|
|
but recommended Qt version is 3.3.4 and above. This is due to font resizing bug existing in previous Qt versions,
|
|
|
|
so if you use pre-3.3.4, you will have problems with font sizes. Note that you need to install qt3-devel package,
|
|
|
|
not only qt package.
|
|
|
|
|
|
|
|
3.1. Qt-only version
|
|
|
|
|
|
|
|
To compile Qt-only version of kchmviewer, follow the simple procedure:
|
|
|
|
|
|
|
|
> tar zxf kchmviewer-<version>.tar.gzi
|
|
|
|
> cd kchmviewer-<version>
|
|
|
|
> ./configure
|
|
|
|
> make
|
|
|
|
> sudo make install
|
|
|
|
|
|
|
|
The last step is optional; you can use kchmviewer binary without installation.
|
|
|
|
|
|
|
|
3.2 KDE version
|
|
|
|
|
|
|
|
This procedure will create the Qt-only executable, which does not use KDE. If you want to compile executable
|
|
|
|
for KDE, add --with-kde to configure options. For KDE version, 'make install' is required to work with KHTML
|
|
|
|
browser. Note that you need tdelibs-devel package installed.
|
|
|
|
|
|
|
|
> tar zxf kchmviewer-<version>.tar.gz
|
|
|
|
> cd kchmviewer-<version>
|
|
|
|
> ./configure --with-kde
|
|
|
|
> make
|
|
|
|
> sudo make install
|
|
|
|
|
|
|
|
3.3 x86-64 version
|
|
|
|
|
|
|
|
To compile kchmviewer version for x86-64, make sure that you have installed 64-bit qt and qt-devel libraries,
|
|
|
|
and specify the path to them with --with-qt-libraries= configure switch:
|
|
|
|
|
|
|
|
> tar zxf kchmviewer-<version>.tar.gz
|
|
|
|
> cd kchmviewer-<version>
|
|
|
|
> ./configure --with-qt-libraries=/usr/lib/qt3/lib64 [--with-kde (optional)]
|
|
|
|
> make
|
|
|
|
> sudo make install
|
|
|
|
|
|
|
|
If you experience any link error, make sure you have all 64bit libraries installed. Look careful on error
|
|
|
|
messages; usually they point you to right direction.
|
|
|
|
|
|
|
|
|
|
|
|
4. USAGE
|
|
|
|
|
|
|
|
Usage of kchmviewer is simple:
|
|
|
|
|
|
|
|
> kchmviewer mychmfile.chm
|
|
|
|
|
|
|
|
for the rest of command-line options, see kchmviewer --help
|
|
|
|
|
|
|
|
|
|
|
|
5. BUG REPORTING
|
|
|
|
|
|
|
|
Please use kchmviewer@ulduzsoft.com for bug reporting.
|
|
|
|
|
|
|
|
|
|
|
|
6. THANKS
|
|
|
|
|
|
|
|
Thanks to:
|
|
|
|
- Jed Wing, the author of chmlib. This library is used by kchmviewer to access chm content.
|
|
|
|
- Razvan Cojocaru, the author of xchm. I used some ideas and chm processing code from xchm.
|
|
|
|
- All the users, who report bugs, and suggest features. You help making kchnviewer better.
|
|
|
|
|
|
|
|
|
|
|
|
7. LICENSE
|
|
|
|
|
|
|
|
kchmviewer is distributed under GNU GPL license.
|
|
|
|
Copyright (C) 2004-2007 Georgy (George) Yunaev
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to the Free Software
|
|
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
|