[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Compressed Postscript bitmat format.



    Date: Wed, 5 Apr 89 09:54:29 PDT
    From: felix@Warbucks.AI.SRI.COM (Francois Felix INGRAND)


    I am writing a report and I am including some hardcopies of the Lisp
    Machine screen (Postscript format) in it. To avoid any cutting/pasting,
    I include the "postscript file" in my document (using the \special
    command with LaTeX/dvips).

    Unfortunately, each screen dump is approximately 220 K...
    Considering that I will have 60 screen dumps... It makes 12 Mega of
    pictures for this report... (that I have to keep under postscript
    format for inclusion)

    I had a quick look to the format used in this screen dump, and it
    looks like it is not compressed at all. When I run it thru "compress"
    I get a 91.08% compression rate (after all, these screens are almost white).

    I was just wondering if anybody have already written, in lisp for the
    Lisp Machine side, and in postscript for the printer side, a small
    "compressor".

    Thanks in advance,

    Felix


Part of the new image support subsystem was an investigation of
run-length encoding for PostScript images.  This gets from 1/3 to 1/2
storage savings on typical screen images.  Unfortunately, it takes 3 1/2
times as long to print because of the increase in the number of calls to
the image proc (which is hard to avoid without increasing storage
allocation).

The compression is now enabled when you do Write Image File ... (format)
PostScript or choose File as the destination type from Function 0 Q.  It
will not be under other circumstances, including the former hack of
(setq *default-bitmap-printer* '(:file "foo.lgp2")), which cannot be
distinguished from some kind of funny spooling route.  

We have a version of the system that runs in 7.2.  It is loadable from a
binary file that I can send via email.  It isn't *small*, the file is
very large (on the order of 10e5 bytes), as we had to include support
from other systems.  Let me know if you would like me to send this to
you.