[sword-devel] HowTo: create ztext module?

L.Allan-pbio paraclete at bibleinverse.org
Tue May 9 06:19:07 MST 2006

Greg Hellings wrote:
> This brings up another interesting question (in my opinion).  Why 
> are
> there several standard modules which are distributed without
> compression?  Things like the the ASV, the Vulgate and the WEB are 
> all
> distributed in uncompressed format.  Might it be beneficial for us 
> to
> zip those up (especially the ASV and WEB, which I would imagine are
> both popular modules?) and distribute them in a ztext format?  Are
> there any advantages to having them in rawtext rather than ztext,
> except for minor performance advantages?  Just curious!

I can think of several reasons for rawtext (non-compressed):

1. The installation files can be quite a bit smaller and thus take 
less time to download. This is an issue for people with slooooooow, 
unreliable, and possibly expensive Internet connectivity with POTS 
modems, such as those people in the 3rd world. The NSIS installer can 
compress rawtext with lzma, whereas the ztext will only compress a 
neglible amount, if at all. Lzma tends to have much slower 
decompression speed than zlib, but its compression ratio is almost 
always signficantly better (smaller compressed files).

For example, LcdBibleStarterKitSetup_WEB.exe (rawtext with some markup 
and embedded notes) is about 1.41mb (executable, documentation, and 
WEB OT+NT), whereas LcdBibleStarterKitSetup_AKJV.exe (ztext with 
minimal markup) is about 1.75mb.

2. Search speed can be significantly faster. Displaying a chapter 
typically doesn't take long at all, since only a small number of 
verses are being dealt with. RawText vs ZText is a "who cares". 
However, non-Lucene searching of the entire Bible text involves 
fetching 31,000+ verses (more for searches that span multiple texts.)

3. It is easier to debug/examine a module. You can use a text editor 
to directly look at something that seems amiss (or if you want to 
learn how something is done). With ztext, you have to run a utility 
like mod2vpl and look at the result.

If you asume that all end-users have a reasonably modern computer, 
then ztext is probably better, overall. LcdBible (Lowest Common 
Denominator) has a "niche" of working well on "dinosaur" computers 
(such as those donated to missionaries in the 3rd world), and rawtext 
is preferred, IMHO.

More information about the sword-devel mailing list