From febfb54585fb9d7a0ef804fc22a93c3579704829 Mon Sep 17 00:00:00 2001 From: John Tytgat Date: Mon, 18 Aug 2008 20:02:59 +0000 Subject: Pencils-down last merge from Adam Blokus's PDF branch for his GSoC project. Merged revisions 5118-5155 via svnmerge from svn://svn.netsurf-browser.org/branches/adamblokus/netsurf ........ r5130 | adamblokus | 2008-08-15 20:43:43 +0200 (Fri, 15 Aug 2008) | 2 lines Added docs for loosening and adding paged output. ........ svn path=/trunk/netsurf/; revision=5156 --- Docs/07-loosening | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Docs/07-loosening (limited to 'Docs/07-loosening') diff --git a/Docs/07-loosening b/Docs/07-loosening new file mode 100644 index 000000000..b9c3dd55e --- /dev/null +++ b/Docs/07-loosening @@ -0,0 +1,31 @@ +Loosening content for printing +============================== + +The role of functions placed in loosen.c is rearranging the printed content in +such a way that it will fit in the page width. The methods were chosen +according to the look of different pages after applying them, not on the base of +any standards. + + +Loosening passes +---------------- + +The page content is loosened in three passes. The next pass is applied only +if the previous didn't give a satisfying result. The later a pass is applied +the bigger interference in the page arrengement it means. + +In the first pass the changes are applied to those elements which don't have +a chance to get entirely into the visibile scope of width - words which are +too long for the available page width, objects positioned beyond the page +borders and objects to big to fit a page. + +The second pass handles too big tables. The tables can be divided into two kinds +- those responsible for page layout and those used only for holding data. For +both of them some routines are used. Text in the cells is shrunken and broken, +if this doesn't help the table cells are changed into inline containers as the +table is problably a layout one. + +The third pass removes all margins and paddings. This saves a lot of space but +makes also the page much less readable, for this reason it is the last step of +loosening. + -- cgit v1.2.3