[sword-devel] task

Helmer Krämer sword-devel@crosswire.org
Sun, 9 Sep 2001 17:52:57 +0200

On Fri, 7 Sep 2001 02:31:06 -0700
"Chris Little" <chrislit@chiasma.org> wrote:

Since I've never commited any code to this project yet, feel free to scold
me if I'm doing anything wrong ;)

> Ciphering of LD texts--
> This shouldn't be too difficult since you'd be mimicking functionality
> in the RawText/RawCom classes in RawLD/RawLD4
One would have to write some tool to cipher the texts and make 
{RawLD,RawLD4} rawFilter() each read entry, right?

> Ciphering + compression (on LD, Bibles, & commentaries)--
> Ultimately I'd like ALL texts to be compressed on the site, though I
> guess we could do a client-side util to uncompress for people who really
> think the speed improvement is that much more important than disk space
> lost.
> Implement SCSU (de)compression drivers--
> SCSU is the Standard Compression Scheme for Unicode
> (http://www.unicode.org/unicode/reports/tr6/), which compresses Unicode
> streams by using the fact that most characters in a string come from the
> same code pages and therefore repeat a lot of information.  Basically,
> if you use SCSU and then ZIP the result, you'll get something smaller
> than either of the compression schemes alone would produce.  I'll have
> SCSU (along with UTF-8/16/32) code from ICU in CVS sometime pretty soon,
> but it'll still need to be worked into the library.

I'm willing to do it, so here's my idea (just for discussion):
AFAIK, deciphering is done via rawFilter(). What about doing 
{zlib,SCSU}decompression the same way? We could add a config parameter
that describes the type of compression of the module data and addRawFilter()
the relevant filters. Thus we'd have {zlib,SCSU}compression available for
all type of modules at once.

This would of course imply that we can only compress one entry at a time,
probably resulting in bigger compressed files....