commit: Major Printing improvements.


Subject: commit: Major Printing improvements.
From: Martin Sevior (msevior@mccubbin.ph.unimelb.edu.au)
Date: Sat Jul 14 2001 - 14:03:30 CDT


Major improvements to our Printing under Unix. Much, much faster and way
less memory intensive.

We, or rather I, have been very cavilier about allocating high resolution
fonts. This consumes vast amounts of memory on the X server. The amount of
memory scales as the square of the size of the font since the X-server
builds an in memory pixmap of the entire font set requested. When printing
these font sizes can be greater than 1000!

This code fixes that.

However we still allocate fonts > 300 every time we ask for a new font or
s new font size. This is also very wasteful although convinient. It is
also why it takes about a second to change the font size on a region of
highlighted text. I think I can fix this by using the Type 1 font metrics
instead of the the gdk font sizes for doing layout.

I've also made some changes to enable Numbered Headings to be inserted
before the first heading. I'll finish this off later.

Also I put in code to delete all our font classes and to unreferences our
allocated upon exit. I've noticed a few crash on exit bugs so I'll take
this code out if these can't be resolved.

Cheers

Martin

PS. Gnome-print and Print-Preview are a joy to use now!

CVS: ----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: src/af/gr/unix/gr_UnixGraphics.cpp
CVS: src/af/gr/xp/gr_Graphics.cpp src/af/gr/xp/gr_Graphics.h
CVS: src/af/util/xp/ut_misc.cpp src/af/util/xp/ut_misc.h
CVS: src/af/xap/unix/xap_UnixApp.cpp
CVS: src/af/xap/unix/xap_UnixFont.cpp
CVS: src/af/xap/unix/xap_UnixFont.h
CVS: src/af/xap/unix/xap_UnixFontManager.cpp
CVS: src/af/xap/unix/xap_UnixPSGraphics.cpp
CVS: src/af/xap/unix/gnome/xap_UnixGnomePrintGraphics.cpp
CVS: src/text/ptbl/xp/pd_Document.cpp
CVS: src/text/ptbl/xp/pd_Document.h
CVS: src/text/ptbl/xp/pt_PT_Styles.cpp
CVS: ----------------------------------------------------------------------



This archive was generated by hypermail 2b25 : Sat Jul 14 2001 - 14:04:23 CDT