You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[Dependencies and Tools](#dependencies-and-tools)
4
-
-[Cmake options](#cmake-options)
5
-
-[Debian](#debian)
4
+
-[CMake options](#cmake-options)
5
+
-[Qmake options](#qmake-options)
6
+
-[Building in Debian](#building-in-debian)
6
7
7
8
8
9
## Dependencies and Tools
9
10
10
-
- C++11 compiler
11
-
-`cmake` or `qmake`
12
-
-`git`
13
-
-`libzip-dev`
14
-
- SDK for `Qt4` or `Qt5` or `KDE4` or `KDE5`
11
+
- C++11 compiler which is supported by the [Qt SDK][1].
12
+
- Qt tools such as `moc` and the resource packer.
13
+
-`CMake` or `Qmake` to generate the build scripts. For builds I recommend CMake, and Qmake is mainly used as a QtCreator project.
14
+
- SDK for `Qt4`, `Qt5` or `KDE4`.
15
+
- The [CHMLib][2] library and headers for developing applications.
16
+
- The [libzip][3] library and headers for software development. When building this library from source you will need the [zlib][4] library.
17
+
-[Git][5]
15
18
16
-
When building with Qt5, QtWebKit QtWebKitWidgets are required and this may be a problem for versions above 5.5.
17
19
20
+
## CMake options
18
21
19
-
## Cmake options
22
+
-`FRAMEWORK=<Qt4 | Qt5 | KDE4>`, default is `Qt5`
23
+
-`USE_STATIC_CHMLIB=<ON | OFF>`, default is `OFF`
24
+
-`USE_WEBENGINE=<ON | OFF>`, default is `OFF`
25
+
-`chmlib_ROOT=<path_to_chmlib>`
26
+
-`libzip_ROOT=<path_to_libzip>`
27
+
-`CMAKE_PREFIX_PATH=<path_to_qt>` is the path to the Qt development package if it is simply unpacked or builds without installation. In my case, Qt version 5.5 is in /home/user/Qt and I use `-DCMAKE_PREFIX_PATH=~/Qt/5.5/gcc`
20
28
21
-
-`-DQT4_ONLY=ON` to build without KDE, only with Qt4
22
-
-`-DQT5_ONLY=ON` to build without KDE, only with Qt5
23
-
-`-DCMAKE_PREFIX_PATH=path_to_qt` is the path to the Qt development package if it is simply unpacked without installation. In my case, Qt version 5.5 is in /home/user/Qt and I use `-DCMAKE_PREFIX_PATH=~/Qt/5.5/gcc/`
29
+
For example, configure cmake to build which Qt 5.15 and WebEngine
Copy file name to clipboardExpand all lines: README.md
+19-59Lines changed: 19 additions & 59 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,30 +1,36 @@
1
1
# KchmViewer
2
2
3
+
This is a fork of the [kchmviewer](http://www.ulduzsoft.com/linux/kchmviewer) with some improvements.
4
+
3
5
-[Overview](#overview)
6
+
-[What's new](#whats-new)
4
7
-[Features](#features)
5
-
-[Installations](#installations)
6
-
-[Qt-only version](#qt-only-version)
7
-
-[KDE4 version](#kde4-version)
8
-
-[Usage](#Usage)
9
-
-[Bug reporting](#bug-reporting)
8
+
-[Getting KchmViewer](#getting-kchmviewer)
9
+
-[Usage](#usage)
10
10
-[Thanks](#thanks)
11
11
-[License](#license)
12
12
13
13
14
14
## Overview
15
15
16
-
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. It has full KDE4 support.
16
+
KchmViewer is a chm (MS HTML help file format) and epub 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. It has full KDE4 support.
17
17
18
18
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. It also correctly searches text in non-English help files, including Korean, Chinese and Japanese.
19
19
20
-
KchmViewer is written by [Georgy Yunaev](mailto:[email protected]), and is licensed under GNU GPL license.
20
+
KchmViewer is written by [Georgy Yunaev](https://github.com/gyunaev), and is licensed under GNU GPL license version 3.
21
+
22
+
23
+
## What's new
24
+
25
+
- Full support for QtWebEngine since Qt 5.9, including the ability to change page encoding.
26
+
- When building an application, it is possible to choose HTML engine: QtWebKit or QtWebEngine.
21
27
22
28
23
29
## Features
24
30
25
31
- Standalone viewer, depends on Qt4 or Qt5 only. Does not require KDE, GNOME or wxWidgets toolkit.
26
-
- Could be optionally built with KDE4 or KDE5 support, using KHTML and KDE dialogs.
27
-
- 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.
32
+
- Could be optionally built with KDE4 or KDE5 support, using KDE dialogs.
33
+
- Completely safe and harmless. JavaScript can be disabled in the settings, optionally warns you before opening an external web page, or switching to another help file.
28
34
- Correctly detects and shows encoding of any valid chm file.
29
35
- Correctly shows non-English chm files, including Cyrillic, Chinese, Japanese and others.
30
36
- Correctly searches in non-English chm files using chm built-in search index.
@@ -39,52 +45,11 @@ KchmViewer is written by [Georgy Yunaev](mailto:[email protected]), and is l
39
45
- Has complex search query support. You can use search queries like "lazy people" +learn -not.
40
46
41
47
42
-
## Installations
43
-
44
-
>Build with `Cmake` now supports both KDE and standalone versions. Refer to [BUILD.md](BUILD.md)</br>
45
-
>Also the `chmlib` library is included in the sources and therefore does not require an installed package with it.
46
-
47
-
Usually KchmViewer is distributed in source code archive, so you need to compile it first. It requires Qt version 4.4 or higher. Note that you need to install `qt4-devel` and `qt4-tools` packages (the last one might be included in `qt4-devel` in your distribution), not just qt package.
48
-
49
-
~~Also make sure you have `chmlib-devel` (some distros have it as `libchm-devel`) package installed. KDE build will check for its presence, but qmake does not have necessary functionality to do so. If you are getting errors regarding missing `chm_lib.h` file this means `chmlib-devel` is not installed.~~
48
+
## Getting KchmViewer
50
49
50
+
The application is currently distributed in source code and you need to build it on your computer. This will not take long.
51
51
52
-
### Qt-only version
53
-
54
-
To compile Qt-only version of KchmViewer, follow the procedure:
55
-
56
-
```
57
-
tar zxf kchmviewer-<version>.tar.gz
58
-
cd kchmviewer-<version>
59
-
qmake
60
-
make
61
-
```
62
-
63
-
The compiled binary is in bin/kchmviewer. You could copy it somewhere, or use it as-is. It does not require installation.
64
-
65
-
If `QtWebKit` module is not found, you will get the following error:
66
-
67
-
```
68
-
kchmviewwindow_qtwebkit.h:25:21: error: QWebView: No such file or directory
69
-
```
70
-
71
-
then you need to install the `QtWebKit` module.
72
-
73
-
74
-
### KDE4 version
75
-
76
-
To compile the version of KchmViewer with KDE4 support, follow the procedure:
77
-
78
-
```
79
-
tar zxf kchmviewer-<version>.tar.gz
80
-
mkdir build
81
-
cd build
82
-
cmake ..
83
-
make
84
-
sudo make install
85
-
```
86
-
87
-
For KDE version the installation is required, since the KHTML KIO slave cannot be used in place.
52
+
Go to the [build instructions page](BUILD.md).
88
53
89
54
90
55
## Usage
@@ -98,16 +63,11 @@ kchmviewer mychmfile.chm
98
63
for the rest of command-line options, see kchmviewer --help
-[Jed Wing](https://github.com/jedwing), the author of [chmlib](http://www.jedrea.com/chmlib/). This library is used by kchmviewer to access chm content.
70
+
-[Jed Wing](https://github.com/jedwing), the author of [CHMLib](http://www.jedrea.com/chmlib/). This library is used by kchmviewer to access chm content.
111
71
-[Razvan Cojocaru](https://github.com/rzvncj), the author of [xCHM](https://xchm.sourceforge.io/). I used some ideas and chm processing code from xCHM.
112
72
- Peter Volkov for various bug reports and improvement suggestions.
113
73
- All the users, who report bugs, and suggest features. You help making kchmviewer better.
0 commit comments