TCR is a compressed text file format. It's especially useful with Psion Series 3 and Series 5 machines: there are text viewers for both which can display TCR-compressed files directly (VReader5 and EBook for the 5, Reader for the 3). (There's nothing to stop you using it elsewhere, too, of course.) It's rather like Palm DOC format, except with better compression.
And TCR is also a pair of programs I've written to convert text files to and from this format! You can download the source to these two programs below; they're in bog-standard ANSI C (well, gcc) and should compile anywhere.
In addition, if the decompressor is launched with no parameters, it decompresses the standard input to the standard output, so it can be used in shell pipelines &c.
When Barry Childress came to write a text file viewer for the Psion Series 3, Reader3 (available on 3-Lib), he adapted the ZVR format slightly to make TCR (Text Compression for Reader). He also included a compression program called TCReader, which is very much faster than Ian's ZVRZ, but only runs on a PC.
The format has become quite popular in the Psion world, so that when Jean-Luc Damnet wrote his VReader5 viewer, he also included TCR support.
Meanwhile, although you could use TCR files on a Psion, you could only create them on Windows, which was very awkward for me as my home machines have never run Windows. Barry Childress wasn't keen on letting me see his source code, so in desperation I decided to write my own! (And don't I wish I hadn't :) Although this version uses some ideas from Ian's original ZVRZ, and some from interesting discussions with Peter Maud, it's all my own work, and (in my very biased opinion) is better than previous ones :)
This doesn't require that you let me know of any modifications, but if you've made any neat improvements, or have any other suggestions (anatomical or otherwise), I'd appreciate hearing.
Thanks are due to Ian Young, Barry Childress and Jean-Luc Damnet for their programs, to Peter Maud for explaining ZVRZ to me, to Steve Litchfield for putting previous versions on his 3-Lib library, and to Stephan Hradek for testing and ideas.
|v1.01||Fixed two rare bugs in the compressor. Decompressor now handles zero codes properly.|
|v1.02||Various improvements. The compressor is now slightly faster; the decompressor is about four times as fast.|
|v1.03||Fixed another rare bug in the compressor. (Perhaps they're not so rare after all?)|
|v1.04||No functionality changes. Fixed all compilation warnings, added a couple of compile flags, and tidied the code a bit. First GPL release.|
|TCR v1.04 (8KB)||– zipped source code for the compressor and decompressor.|
Last updated: 8/Jun/2003.