EmbroidePy / pyembroidery

pyembroidery library for reading and writing a variety of embroidery formats.
MIT License
195 stars 35 forks source link

HUS format writing #75

Closed tatarize closed 5 years ago

tatarize commented 5 years ago

I've mapped out most of the formatting. I can actually read the format currently. However, that is done with copyrighted code, so that's a non-starter. Well, deobfuscated and ported code still properly derived from a copyrighted source, still a non-starter. I still need to study the code to figure out precisely what it's doing so I write the functionality without using any of Robert Jung's code, also time is no longer a thing that matters to compress a few k of bytes, so modern code might be faster. It also means I might cheat and not do a lot of compression searching, since the code is ultimately LZSS I could, in theory, just give everything in its direct character formulation. The bit he had a patent (now expired) on is actually kinda cryptic. And the format itself bears a lot of similarity to zip-DEFLATE. The ARJ compression is a lot like ZIP-deflate but also had an expired patent to do with hash tables for the huffman coding which is in the code here, which was licensed to Greenleaf (with slightly different values and a smaller sliding window) which belonged to a guy, who sold it to a guy, then died, who then died. I think the rights, if there are any belong to a personal trainer in Texas. Since the patent is expired and wouldn't cover the formatting anyway the way to write this is to solve how the formatting works and just code up that part. Especially as most of the underlying workings are pointless. It just needs to produce something compatible.

tatarize commented 5 years ago

Addressed by #76