[jsword-devel] Sword drivers
Mark Goodwin
jsword-devel@crosswire.org
16 Oct 2002 21:15:10 +0100
It occurs to me it would be a good idea to document this kind of stuff
on the wiki for the benefit of those who join the list after these
dicussions.
I've started a Todo list:
http://sword.sourceforge.net/cgi-bin/twiki/view/Jsword/ToDo
MarkG
On Wed, 2002-10-16 at 21:00, Troy A. Griffitts wrote:
> Hey guys. The best place to look is in the sword drivers and helper
> classes. The driver are found at the lowest level in the modules/ tree,
> e.g. sword/src/modules/texts/ztext/ztext.cpp
> Most of these drivers use common functionality found in utility classes
> located in sword/src/modules/common, e.g. zverse.cpp-- used for
> read/write access to compressed files indexed by 'verse'. Also, there
> is a class hierarchy in here LZSSCompress::SWCompress and
> ZipCompress::SWCompress. These are the implementations of sword's
> SWCompress interface that the ztext and zstr compress classes use for
> compression. Also SWCipher which has a base implementation using
> sapphire encryption but is the interface for en/deciphering text for
> locked modules.
>
> the sword engine allow hooks for filtering the text of the modules in
> various places. Implementations of these hooks can be found in:
>
> sword/modules/filters
>
> Current hooks include:
>
> rawFilter (3 modes that should probably be split into 3 different hooks):
> before write sync-- mostly used by encipher filter
> after read cache-- mostly used by decipher filter
> on getText of an entry-- mostly used by text encoding (utf8, etc)
>
> stripFilter-- to allow a filter that removes all tags and markup.
> Prepares an entry for searching.
>
> renderFilter-- to allow a filter to place markup appropriate for the
> frontend renderer (html, rtf, etc).
>
> SWFilter is the interface. SWBasicFilter is a helper implementation.
> Classes found in sword/src/modules/filters are the useful
> implementations. These should be easy to convert into java. They
> aren't pretty, but need to be fast, as they process alot of text at a
> low level in the api.
>
>
> Hope this gives some good insight into the underlying workings of the
> engine.
>
> -Troy.
>
>
>
> Mark Goodwin wrote:
> > On Wed, 2002-10-16 at 17:58, Mark Goodwin wrote:
> >
> >>Hello people.
> >>
> >>Plain text Sword drivers are now working.
> >
> >
> > I should perhaps add that whilst the plain text drivers work, they are
> > not complete....
> >
> > We're still missing useful implementations of findPassage, getStartsWith
> > and listWords. This means that searches do not work on sword modules.
> > I've not taken a look at what's involved in implementing this
> > functionality.
> >
> > Also, there's currently no support for locked, or compressed Sword
> > modules. Compressed sword modules may be compressed with either Zip, or
> > LZSS compression. There is support (as you all know) for zip files in
> > the java.util.zip package, for LZSS, I found this:
> >
> > http://home.tiscali.cz:8080/~cz210552/lzss.html
> >
> > I've not checked out the license or the code yet, but it features on a
> > page of "Open Source" programs. The license may, or may not be GPL
> > compatible, and the code may, or may not be any good.
> >
> > I've not looked at locked modules yet, Perhaps Troy could point us in
> > the direction of some documentation for these?
> >
> > Finally, it would be good if we could write Sword modules as well.
> >
> > So then, there's lots of work still to be done. Unfortunately I won't
> > have time to do much for at least the next week and a half. Hopefully
> > the information above is helpful to someone who will ;-)
> >
> > MarkG
> >
> > _______________________________________________
> > jsword-devel mailing list
> > jsword-devel@crosswire.org
> > http://www.crosswire.org/mailman/listinfo/jsword-devel
>
>
> _______________________________________________
> jsword-devel mailing list
> jsword-devel@crosswire.org
> http://www.crosswire.org/mailman/listinfo/jsword-devel