I've already written the major chuck of a CHM viewer - to the point I have a native Windows viewer using nothing but the WebBrowser ActiveX control.
The secondary problem is how to display the HTML + JavaScript needed for a CHM viewer. I've started work on this several times, and so far the *best* (in terms of existing compatability with IE's CSS/JS/HTML 'features') has been KJs and KHtml from the KDE project.
Gecko doesn't cut it - it's quite slow, bulky and worst of all too strict on standards compliance. Nothing you want in a Windows system component. Well, not the last one anyway :)
However KHTML and KJS -are- tied to the QT library. It's quite possible to decouple them (the embedded konq suite already does this to some extent, as does WebCore from Apple's Safari project)... however it is somewhat time consuming. Using WebCore can probably greatly speed this up of course.
I ran into two other problems. First, I have gotten a Windows-native KHTML/KJS viewer running - however splitting it into an API mapping to the existing dll structure is complicated... and I know next to nothing about writing ActiveX objects.
The second is that I never could get an answer from Alexandre as to adding C++ code to WINE itself. It would be possible to write it as a seperate non-core implementation, but many of these DLLs also have non-browser related APIs that need to be in WINE itself. Again, diverting api calls between the versions in WINE and our browser versions is complicated and in this case plain ugly.
Anyway, that's all rather off-topic... we can already build a CHM viewer, it's displaying the HTML/JS that's the problem :)
- Ender
http://www.scummvm.org/ | "Amen! Attempts to eradicate humour from http://www.quakesrc.org/ | our distribution should be ignored with http://www.enderboi.com/ | extreme prejudice" - cjwatson@debian.org
On Wed, 28 May 2003, Pabs3 wrote:
Date: Wed, 28 May 2003 03:07:52 -0400 From: Pabs3 pabs3@bonedaddy.net To: wine-devel@winehq.com Subject: Wine folks interested in a CHM spec?
Hi wine peeps,
Just wondering if Wine folks are implementing a chm viewer and if you would be interested in a specification on the internal files of CHMs and even relicencing some of the code for my chm decompiler.
all at http://bonedaddy.net/pabs3/hhm/
BTW; please cc me in replies since, while i'm subscribed i don't want to get heaps of other wine discussion & so i've turned off mail delivery.
Bye, Pabs
This mail sent through IMP: http://horde.org/imp/