This was the second attempt to encode run length data (first attempt used
huffman encoding). The results were not as optimal huffman encoding would
provide, but the encoder/decoder is much simpler.
The data lengths were encoded using variable length numbers, similar to those
used in MIDI files. Instead of 7 bits per group, the optimal bits per group
were determined emperically:
bits per group dejiko puchiko
6 6083 5229
5 5268 4560
4 4765 4050
3 4224 3844
2 4014 3558
1 4456 4000
Encoding assumed alternating run/space data, synchronized after newlines.
Thus every line must begin with at least one whitespace.
Second try, and I realized that I don't have the time and space to do what
I wanted in the beginning :P