We'd like to store a bunch of shorter strings (error messages and the like) in compressed format in RAM/ROM in a microcontroller. Currently we are Huffman-coding the strings, but I've been looking for a Lempel-Ziv (LZ) style dictionary-based library to do this.
I want to take a collection of strings, compress them and generate a common dictionary, and then at runtime decompress strings on demand using the dictionary. But all the C-based LZW, LZ77, etc. libraries I've found want to do compression and decompression of a single stream of characters.