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