Hi,
the changes, we discussed at our devolpers meeting are implemented in zimlib
and zimwriter. I was already able to create the wikipedia-de.zim and the full
text index wikipedia-de-x.zim. Both files are slightly larger due to the
additional title including the index for it.
The zint compression is also changed. As announced it is similar to utf-8. The
full text index data is slightly smaller.
I did not use this zint compression in the directory entry since it is really
not worth the trouble. I prefered simpler directory entries to make
implementation of alternatives (Java, C#) simpler.
As Manuel already mentioned I changed the way, zim files are opened. The zimlib
read the whole pointer list into memory when the file was opened. This is not
done any more. The memory usage is now reduced quite significantly, so that I
can do a full text search even on the Nanonote with 32MB RAM. I implemented
this also in trunk.
Currently I'm working on porting zimreader to the new library. Porting is
necessary since we decided to drop th qunicode feature. But it is still very
simple since I just need to replace all references to qunicode strings with
simple strings.
Also I'm looking at the API of lzma. The documentation is quite confusing, but
I'm making some progress here also. I promised to implement the file changes
until end of this year and since I'm actually through, maybe I can add lzma
compression also.
I also decide to drop support for zlib and bzip2 compression as soon as lzma
is working. This reduces the external dependencies. I see no advantage in
supporting multiple compression methods. What do you think?
Tommi