Having done that, PDF spec is in many ways much saner and better designed than plenty of "APIs" modern JS jockeys create.
The original spec is a bit ugly because they were saving bytes in the format (using things like single letters for dictionary keys), but some things are actually quite well thought out (Appearance Streams are great for forward and backward compatibility and are probably no. 1 reason why nothing managed to replace PDF.)
> Appearance Streams are great for forward and backward compatibility and are probably no. 1 reason why nothing managed to replace PDF.
I've been wondering why they took that approach. Do you know their original reasoning? And how does it help compatibility?